ewaldc / My-Book-Live

Kernel patches and Debian release for Western Digital My Book Live
41 stars 7 forks source link

How did you reflash the NOR? #21

Closed twelho closed 6 months ago

twelho commented 7 months ago

Thanks for your efforts in keeping the MBL alive @ewaldc! This is not an issue with the repo per se, just a question you might be able to answer:

While experimenting with getting an old MBLD to accept non-WD disks, I managed to erase the existing u-boot and then crash the device before getting to write the new version. As one would expect, the hardware is pretty dead right now without a working u-boot. From the README, it sounds like you've encountered this exact situation before, would you be willing to elaborate a bit on how you succeeded in your nothing-to-lose reflashing effort? The MBLD has an SST39VF040 NOR chip on board for hosting the firmware, I presume the MBL uses the same chip? Since it's pretty much a raw NOR flash chip, what kind of hardware did you use for performing the reflash?

ewaldc commented 7 months ago

In my case the issue was that I managed to kill the NOR flash by modifying/reflashing it too many times during development. I knew the risks but was hoping on something like a 100k flash count but mine died in far less than 10K flashes. My board was a prototype board with the flash soldered, I got it for free while living in California... I saw that on (some?) newer boards in comes in a PLCC socket. I soldered it off with a heatgun (left side first and then right). An ex-colleague working at a (large) semiconductor company reflashed it for me . Soldering it back on was a nightmare even after watching many videos... Haven't looked into reflashing it myself, but maybe using a PLCC32 to DIP32 adapter it can be flashed with cheap hardware and an OS like Noridc Semi Zephyr.

twelho commented 6 months ago

Thanks so much for responding! Definitely an interesting setup you had with the prototype board. In the case of the MBLD, at least my revision has the raw NOR chip soldered and not in a convenient PLCC socket, so I would need to go through a similar process to carefully desolder it. However, I sadly don't have access to a semiconductor lab/fab with the (rather expensive) tools to reflash this kind of memory, so unless I want to go down the endless rabbit hole of manually wiring up the address and data buses, I think this unit is done for. At this point the hardware is so old that it might just be better to spare that effort. Still, godspeed to you in maintaining this repo, it's one of the last bastions of this hardware.