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.
I think it would be interesting to get a team of software people together to write and build a fully open source, and open hardware Tesla controller, to replace the existing controller in one's car, much like this smartphone project.

Or perhaps even better, get one of the companies producing EVs, to have the open source community supply the controllers for their cars.

... Knowing that the open source community can out-do the secret corporate community.

Just look at the open source GNU/Linux project and how huge it has become. ... And btw, for those that don't know, my understanding is that this is what Tesla runs internally anyway.
 
Had one emmc unsoldered from a spare MCU. Reads fine, all 4 partitions. No fsck errors. Wrote it on 64gig new Swissbit. Expanded fs. All looks good.
I could have the new chip soldered back on that spare board, but I cannot test if it works. Cant power up an MCU just by 12V with no ext. cables and hardware. This whole center units comes from a salvage car, just for spares.

But until here everything works.
So I now consider going directly to my working MCU from my car. Lets see if a new chip will work. Will take over a week (shipping to the solder ship 2 times)

Sounds interesting. Remember, that it you just bitcopy / klone a 8 gig onto a 64 gig, you still only have a 8 gigi space availeble... As I remember due to the partisions
 
  • Like
Reactions: goRt
I got the actual chip of my MCU today back from desoldering. This time it is recognized by computer, but ddrescue fails to get anything out of it. Is there any other way to get the image? The IC computer card has a similar chip and IIRC someone had extracted an image from that and got the MCU to run with it.

Seems that the service center is a bit nearer again.
 
  • Informative
Reactions: davidc18
I got the actual chip of my MCU today back from desoldering. This time it is recognized by computer, but ddrescue fails to get anything out of it. Is there any other way to get the image? The IC computer card has a similar chip and IIRC someone had extracted an image from that and got the MCU to run with it.

Seems that the service center is a bit nearer again.
What kind of emmc reader are you using? Does Linux still see the partitions on the emmc?
 
My 2 cents...

There's no point in premptively replacing the eMMC before it fails. Any replacement will fail eventually as well.

If you have root, there are steps you can take to reduce damage to the eMMC: logging to tmpfs, actively cooling the MCU using the A/C are two I use.

If you have root it is also possible to recover from black screen eMMC failures caused by squashfs corruption, provided the corruption does not prevent the kernel, network or ssh from starting..

I have done this on my MCU (which was "dead" for 5 months last year) could guide someone with root through doing it on another MCU.

I suspect Tesla will eventually have to address gradual fleetwide MCUv1 failure, I'm somewhat shocked no one has sued them over it yet.

I didn't read the whole thread, but if any of you have root and a dead MCU that's black hmu. If it's color cycling after a couple of reboots, emmc might have gotten completely toasted.
 
My 2 cents...

There's no point in premptively replacing the eMMC before it fails. Any replacement will fail eventually as well.
Fair enough. But you do extend the lifetime of the MCU with another ~5 years.

My current MCU1 is from September 2013, so almost 6 years now. I am expecting it to fail any moment and I want to prevent that from happening.

In the meantime I can also root the MCU, but that's just because I want to see how everything works in action :)

I tried with allsocket usb 3.0 reader and with moorc emate socket-adapter stack inserted to a transcend usb sd reader.

I'm afraid only the disk is recognized, and not the partitions.
This might become a slowchat, but the disk size is recognized by your computer, but it doesn't show any partitions on it? That's not good news.
 
  • Informative
Reactions: davidc18
I got the actual chip of my MCU today back from desoldering. This time it is recognized by computer, but ddrescue fails to get anything out of it. Is there any other way to get the image? The IC computer card has a similar chip and IIRC someone had extracted an image from that and got the MCU to run with it.

Seems that the service center is a bit nearer again.

Iirc: the ic does have the same p1/p2 (firmware) partitions as the mcu but on p3 (var) it lacks the car/vpnkeys which you need if you want your car online/talking to Tesla’s servers again.
The only useful bits you will get out of ic dump is the gateway config file.
 
After connecting the sd reader dmesg gives the following:

Code:
[98655.396676] sd 6:0:0:0: Attached scsi generic sg1 type 0
[98656.437560] sd 6:0:0:0: [sdb] 15155200 512-byte logical blocks: (7.76 GB/7.23 GiB)
[98656.439075] sd 6:0:0:0: [sdb] Write Protect is off
[98656.439078] sd 6:0:0:0: [sdb] Mode Sense: 21 00 00 00
[98656.440572] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

And while ddrescue is running I get plenty of errors like:
Code:
[99404.114939] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[99404.114948] sd 6:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[99404.114953] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Incompatible medium installed
[99404.114960] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 e7 3f 80 00 00 08 00
[99404.114965] print_req_error: I/O error, dev sdb, sector 15155072
[99404.114975] Buffer I/O error on dev sdb, logical block 1894384, async page read

So no partitions (lsblk lists only sdb as well). Ddrescue ran overnight and didn't recover a single byte. I guess next step is to send the chip to professional data recovery. Hope it's just the emmc interface toasted and the NAND itself could still be read.

LuckyLuke: If you don't mind me asking, what can be done with gateway config file?
 
Was the chip cleaned or are the bga balls still on there? Could be that there is a bad connection somewhere so the reader cannot access the chip correctly.
I have not used these allsocket/USB adapters myself btw, I used a RT809h programmer. Side note: I ran into some reading/writing difficulties as well with that programmer, but tweaking the voltage a bit (from the GUI software) solved that.

If you have the gw cfg then you could in theory use a donor mcu (or the small tegra pcb) and make the new mcu and gw (which are in that same small pcb) think it is your car. This would require root and be a last resort if your emmc is beyond repair and you can’t or won’t have Tesla replace your mcu for big €’s.

Trying to save your old emmc’s content would be first path to walk though, if you manage that you can have your car up again fairly easy.
 
I asked the chip to be reballed. All balls at least seem to be well in place (didn't come loose by slight scraping with a needle). If one of the leads were disconnected, I shouldn't get any information out of it? This was already in 1-bit mode.

Not sure I fully understood how the process would go. Rooting and writing the replacement tegra would still need desoldering the emmc on that particular board? And then the config file from ic would be applied on that chip?

Anyways, with my success rate on these desolderings, I'm likely handing the problem over to Tesla if data recovery on this chip fails. Then again, you always learn by doing difficult things...
 
  • Informative
Reactions: Akikiki
The desoldered chip here was only cleaned, not reballed. It shows up under Linux as sdb1 2 3 and 4
Using an Allsocket SD adapter and a transcend usb3 SD reader
Allsocket set to 1.8V
Did you try a new emmc in your setup to format and read that to see if the setup is fine ?


Replacing my working Emmc because its just a 1:1 copy, no repair needed. If the chip goes bad, a repair might be complicatd, so its just 10min reading and 10min writing. New chip has better specs than the old one and will live longer
 
The desoldered chip here was only cleaned, not reballed. It shows up under Linux as sdb1 2 3 and 4
Using an Allsocket SD adapter and a transcend usb3 SD reader
Allsocket set to 1.8V
Did you try a new emmc in your setup to format and read that to see if the setup is fine ?


Replacing my working Emmc because its just a 1:1 copy, no repair needed. If the chip goes bad, a repair might be complicatd, so its just 10min reading and 10min writing. New chip has better specs than the old one and will live longer
Indeed, you should see those 4 partitions on the chip when you connect it to Linux.
 
My 2 cents...

There's no point in premptively replacing the eMMC before it fails. Any replacement will fail eventually as well.
Sad Sack, be advised that replacing a cheaply-made chip with an industrial-grade one, is not comparable to replacing like-for-like.

A removed chip -must- be reballed, to read. All flux must be removed with 95%+ iso alcohol. Do not touch the pads. I say again: Do not touch the pads.
 
  • Informative
Reactions: davidc18