How to determine firmware version of brick?

Is it possible to determine the firmware version that the logic board has installed? I might be wrong about how the firmware operates, but the word ‘firmware’ to me usually implies flashing the BIOS. I know what version of ‘firmware’ the OS portion of the HDD has installed, but I’m not sure that it matches the BIOS and I’m still hoping I can revive the unit without repartitioning, etc.

Background - I made the boneheaded mistake of trying to run 

sudo apt-get install -f <whatever>

 and was left with an SSH session where only bash built-ins would even run. No ls, no cat, no sudo. I tried to revive the system as best I could while the SSH session was still open using the errors reported and using this guide to abuse shell built-ins to recover a system in this state. But I ran out of time and had to close the connection (on a laptop). After this the system would power up but stay at white light LED indefinitely.

So I popped the HDD into a spare linux machine and confirmed the drive looks fine - all data there and the OS RAID partitions were easily browsable. So I reimaged the OS RAID partition with rootfs.img from several different firmware versions (I really don’t know whch one I was running as I’ve updated a few times but not sure when last), but still no luck. Am I wrong in assuming there’s a BIOS update as well when we talk about ‘firmware’? Am I missing some steps after reimaging the OS partition? Any help would be very appreciated.

I suspect the flash contains the Barebox boot loader. I googled ‘mycloud boot loader’ and had a lots of hits, including:

http://community.wd.com/t5/WD-My-Cloud/Hardware-hacking/td-p/733364/page/2

https://github.com/utessel/mycloud

Fortunately, I’ve never had to play with any of this…

1 Like

You cant modify bootloader from OS (No drivers for SPI flash in kernel, so microchip with bootloader not accessable)

http://community.wd.com/t5/WD-My-Cloud/How-to-unbrick-a-totally-dead-WD-My-Cloud/td-p/631217 (Also my comment on page #4)

Also use Search on forums.

Since I originally bricked the device, I’ve tried reimaging the disk several times using dd and several different images, including some known good virgin disk images. However, after connecting everything back again I will now always get the red light after waiting a few minutes. According to the WD manual, the red light indicates one or more of the following:

Disk SMART failure

Data volume does not exist

System volume does not exist

System thermal shutdown (75° C)

None of these seem likely, though. I’ve imaged using dd so the data and system volumes shoudl be good (they are mountable and look fine when attached to another device). I haven’t seen any SMART errors, and I’m not running hot.

Are there any options left to me to diagnose this before trying to attach a serial to USB and diagnose the boot sequence?

I ended up soldering leads on the main board and captured the boot log. I managed to find only one other boot log to compare to ( here) but comapring the two hasn’t given me much insight. On the surface it seems like my issue is that the AHCI SATA loader is trying and failing to get port 0 to respond. I’ve posted the full boot log here, but I’ll post the last bit here in hopes that someone can point me in the right direction. Thanks.

Hit any key to stop autoboot: 0
init_sata:
serdes: 24Mhz ref clk
Serdes 1 : CMU OK
Serdes 1 : Lane OK 
Serdes 2 : CMU OK
Serdes 2 : Lane OK 
cap 0x6f26ff81 port_map 0x3 n_ports 2
P#SERR 0x4050002
IS 0x0
Port 0 control: 0x300
Port 0 status: 0x123
P#SERR 0x0
IS 0x1
Port 1 control: 0x300
Port 1 status: 0x0
GHC 0x80000000
GHC 0x80000002
ahci_init_one: SUCCESS

SATA Controller Info:
AHCI 0001.0300 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part 
Enter start port: 0
Port 0 status: 123
cmd_slot = 0xb06000
Device not ready. BSY, DRQ or ERR in TFD!
Can not start port 0
timeout exit!
sataenv: GPT header not found
timeout exit!
sataenv: partition 7 not an environment
timeout exit!
sataenv: GPT header not found
timeout exit!
sataenv: partition 8 not an environment
timeout exit!
GPT header not found
Bad Magic Number
arg1 char: s
Barebox-C2K >/

By log: HDD not found. (No WD HDD info in log), or no partitions on HDD.

Disasemble device, connect HDD direct to PC. Follow this:  Google drive link

Fox_exe, thanks, but I’m sure the HDD is fine. I don’t have the text dump with me right now, but I’ve checked the drive several times. The partitions as reported by parted match the partition layouts I’ve read, and those partitions were created with `dd using an image from 4TB WD MyCloud retrieved from a brand new device. The drive is mountable, all the data on the drive appears intact, and scanning revealed no bad blocks.

I have a sinking feeling that the motherboard SATA controller is damaged.

I will try imaging a new drive tonight to see if the same error occurs on a different drive.

You would be doubly unlucky if you had mucked up the OS with the apt-install at the same time that the SATA controller failed, and I think it’s very unlikely that the corrupt OS would have caused the SATA controller to damage itself.

So, since your HDD is working when connected to another computer, my suspicion would be that you have damaged something whilst dismantling the unit.  This might be something as simple as a misplaced SATA connector. Or you could have damaged the PCB, or it’s possible that you have fried some I/O driver with an ESD (static)…

I’d look carefully at the SATA connections at both ends. I note that the drive seems to plug directly to the PCB (or vice versa), without a connecting cable; is it possible that you stressed the connector when removing the drive?