Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Preventive eMMC replacement on MCU1

This site may earn commission on affiliate links.
This time I have errors. First emmc from a salvage unit was fine, all 4 partitions without errors.

Now I have the emmc from my (working) car here. Made a copy with dd, so far so good.
Wrote that onto a new emmc and fsck shows errors in 3 var and 4 home. var can be repaired, but fsck always quits on P4.
The partitions can be mounted.
Gparted also quits when trying to repair.
(original emmc is untouched, always working with a copy)

Anbody got some help on how to repair the FS ?
 
Last edited:
Old chip was working (car was driving with no issues, 2018.50.6).
dd if=/dev/sdb full image, not separate partitions.
New chip is a Swissbit 16gig. Tried a 64gig Swissbit before with an image from another emmc
Setup here worked before.

EDIT
fsck from util-linux 2.29.2

/dev/sdb4 has been mounted 49 times without being checked, check forced.

/dev/sdb4: Resize inode not valid.


/dev/sdb4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.

(i.e., without -a or -p options)



fsck shows hundreds of inode and block error
 
Last edited:
Looks like I'm joining the club.... May 2013 Model S w/ 145K miles (and commensurate hours on the MCU).

I had read here (and on that other forum) the failing eMMC threads previously, and figured I'd tackle this pre-emptively. Time didn't allow, coupled with the fact that my screen started developing bubbles. Rumor had it a revised LCD screen was coming soon, so I thought I'd kill 2 birds with one stone and do the eMMC replacement and LCD at the same time. Looks like I waited too long.

I thought I'd see some obvious signs (map loading issues, etc...) that might tell me failure was imminent, but nothing major until yesterday. My A/C condenser fans seemed to be running for no reason, even after parked. Did a scroll-wheel reboot and got out of the car. Came back a few hours later and black MCU. No soft-reboots possible. Pulled the 12v battery, and still no go. In retrospect I did notice a few days ago that my browser was locked up even after a reboot. But it was hung on TeslaWaze, which the browser struggles with anyway, and with Tesla's last "oopsie" of inadvertently killing browser functionality with a software update (the traffic polling interval bug), I didn't give it enough thought.

Incidentally, while the car was initially drivable with the MCU dead, it now no longer is after pulling the 12v. It now wants authentication from either the fob or the phone app, and neither work.

As this thread mentions, it's unfortunate that it seems there's been some effort to squash information sharing on this matter. Thanks for those who have (past or present). And it sucks if you've suffered some retribution as a result. That having been said, some of the info is still available online from several sources.... especially those that were once posted to static web pages, as opposed to on forums (hint hint).

Current plan of action:

1- Order Allsocket MMC programmer and replacement Swissbit eMMC chip

2- Kill 12V, disassemble dash, remove MCU

3- Have local phone repair shop de-solder original eMMC chip

4- Use ddrescue on Linux to (hopefully) read partitions 1-4 on original Hynix eMMC

5- Write partitions to new eMMC. Check for errors. Expand partitions, check for errors again

6- Consider adding some secret-sauce in /var and /home in order to facilitate expanded logical access increase reliability by reducing log writes (see question below)

7- Install new eMMC (see question below)

8- Reinstall MCU, reconnect 12v, boot

9- Rejoice


Any thoughts/concerns/suggestions on the above?


Questions:

  1. Anybody have a good phone repair shop they want to recommend in either the NoVA or Bethesda MD areas?
  2. Does anybody have some secret-sauce recipes they are interested in sharing via PM?
  3. Has anybody successfully found a board-mount eMMC socket/carrier to use on the Tesla PCB? I'd like to avoid multiple un-soldering/re-soldering if I don't get it right the 1st (or 8th) time.
  4. Any other flash-chip-rescue pointers appreciated...

In order to help give back: I've been collecting a private cache of the info I've found online... I'm happy to share via PM for those in the same predicament.

Thanks...
 
partition4 (mounted on /home) can be empty, it will get rebuilt on boot.
Only need apn file added there in /tesla/.Tesla/car with the correct apn in it so the cell connection will work:

-rw-r--r-- 1 tesla tesla 10 2019-06-23 05:20 cell_apn

# pwd
/home/tesla/.Tesla/car
# cat cell_apn
tesla.m2m

^^ this is for EU cars, for US cars the apn is different.
(setting the apn could also be done afterwards if you have dev mode or root)
 
Thank you.
Found more errors. P1 (main) has errors, got a fresh one. var is repaired and someone showed me a script to rebuild home.
Did not know that home will be rebuild on reboot if needed
First time doing this is of course always harder and I need to brush up linux skills to level 1000
 
  • Like
Reactions: scaesare
Other situation:
What is needed to use an MCU board from another Tesla to work in your own ? (given that you can modify the emmc)
Key files
Car equipment
country/region settings like apn
What else ?
(also given that the OS is not too far out)
 
OK, MCU ist working again.
Long story short (see my previous posts)
MCU was fine but I decided to change the emmc before it dies. Desoldered the emmc in a Mac/phone shop. Copied all data from it and found 3 of the 4 partitions having bad superblocks and errors. P4 /home unfixable with fsck.
Copied the whole image to a new emmc
Got a new P1 (same, but without errors) from someone (thx!), copied that with dd to P1
Left P2 (with update) as it was
Fsck on P3 /var, was repaired
mkfs ext32 on P4, mounted it and installed some new empty folders
as su:
mkdir -p tesla/.Tesla/cache
mkdir -p tesla/.Tesla/car
mkdir -p tesla/.Tesla/data
mkdir -p tesla/.Tesla/images
mkdir -p tesla/.Tesla/share
mkdir -p tesla/.Tesla/tmp
chown -R 1111:1111 tesla
mkdir -p browser/.Tesla/car
chown -R 2222:2222 browser

plus the apn setting from LuckyLuke (post above)
in /home/tesla/.Tesla/car
nano cell_apn
entry:
tesla.m2m

Dont know if all that was needed, but it worked.
Had the new chip soldered into the MCU board, got it back 2h ago
Put everything back together. Connected 12V battery and the IC bootet up. MCU screen black
Me pants got wet
Waited 30min just to be sure in case it needed time to boot/reinstall
Pressed reboot on steering wheel...and a fresh 2018.50.6 (same as before, no change) came up.
This is a clean install of an unmodified tesla OS, no changes, no root, no mods except a new chip. Tesla cant complain about that, no secrets here, no security broken. Just a car owner who does the service by himself.

thx to the people who helped

I also cut 2 holes into the plastic under the 2 MCU fans (bottom) so they can suck a bit of fresh air into the MCU
When you remove the MCU unit you will see that the 2 bottoms fans do not really have an air intake.
 
Last edited:
Other situation:
What is needed to use an MCU board from another Tesla to work in your own ? (given that you can modify the emmc)
Key files
Car equipment
country/region settings like apn
What else ?
(also given that the OS is not too far out)

Swapping the mcu (or only the Tegra board) can be done, I have actually done this myself (with some help) before I managed to get my emmc swapped and programmed correctly. The steps you mentioned are not far from what is needed.

If you use a donor mcu or Tegra board in your car you will need to program the correct gateway config file (it’s basically just a text file with your cars VIN, birthdate and exact hw configuration) on the donor gateway and put your car (vpn) key files on the donor emmc’s partition3 (/var). Having a good backup of your old (original) emmc’s partition3 is essential if you want to do this.

The firmware version difference of the donor mcu/board can be corrected relatively easy once you have done the gw config&keys and the new mcu/board is functional in the car.
 
Well, well... what do we have here?

2019-08-11_14-47-23_037_small.png

2019-08-11_14-46-59_253_small.png
 
OK, MCU ist working again.
Pressed reboot on steering wheel...and a fresh 2018.50.6 (same as before, no change) came up.
This is a clean install of an unmodified tesla OS, no changes, no root, no mods except a new chip. Tesla cant complain about that, no secrets here, no security broken. Just a car owner who does the service by himself.

Next time you desolder the emmc to replace it in a few more years, root it... I can help you keep the MCU going even with corruption. It's also a good idea because you can disable the insane amount of write logging to /var/log and implement an automatic cooling script to run the AC when the tegra boards go over 70C.

(My MCU "died" last June and has been resurrected 3 times through software hacks)
 
I'm wondering what to do myself at this point with my 2013 P85 with 115k miles. My MCU screen is leaking adhesive pretty badly and it's only a $700 difference between replacing just the screen and the entire MCU. Is the extra money worth it?

Sadly, I would say that the extra $700 is worth it unless you know that the MCU was replaced in the last year or two.

When you buy a MCU, or touchscreen, out of warranty it comes with a 4-year warranty. So that $700 gets you a new MCU that is guaranteed for 4 more years. (No mileage limit.)

How much does it cost someone to do the replacement of the eMMC? (I know that the parts are cheap, but how much are they paying for a cell phone repair shop to desolder/resolder the chip? And then how many hours of disassembly/reassembly of their car? And how many days of downtime with the back and forth?)

And of course you can request to keep your old MCU and you should be able to sell it to recover most, if not all, of that extra $700. (After all it is working just with a bad screen...)
 
Last edited:
Next time you desolder the emmc to replace it in a few more years, root it... I can help you keep the MCU going even with corruption. It's also a good idea because you can disable the insane amount of write logging to /var/log and implement an automatic cooling script to run the AC when the tegra boards go over 70C.

(My MCU "died" last June and has been resurrected 3 times through software hacks)

More detail please on the software.
 
Sadly, I would say that the extra $700 is worth it unless you know that the MCU was replaced in the last year or two. When you buy a MCU, or touchscreen, out of warranty it comes with a 4-year warranty. So that $700 gets you a new MCU that is guaranteed for 4 more years. (No mileage limit.)

How much does it cost someone to do the replacement of the eMMC? (I know that the parts are cheap, but how much are they paying for a cell phone repair shop to desolder/resolder the chip? And then how many hours of disassembly/reassembly of their car? And how many days of downtime with the back and forth?) And of course you can request to keep your old MCU and you should be able to sell it to recover most, if not all, of that extra $700. (After all it is working just with a bad screen...)

Interesting... what is the warranty period for a screen replaced under warranty at no charge?