My Cloud OS5 Firmware 5.27.157 Problems

Further investigation revealed that the My Cloud OS5 memory test is a fraud.

The dashboard calls a CGI compiled binary program named “smart.cgi”, which then calls another compiled binary program named “sys_diag”, and this is where things get interesting.

  • diagnostics.html > diagnosticsDiag.js > smart.cgi > sys_diag

The WD “sys_diag” compiled binary program does NOT actually test the memory at all, it merely calls the “dmidecode” Linux program and gets the size of all installed memory modules.

  • dmidecode -t 17 | grep "Size: "

The problem definitely exists within the WD “sys_diag” compiled binary program, because it’s XML output indicates a memory error, yet the “dmidecode ” Linux program output is fine.

  • # cat "/var/www/xml/sys_diag.xml"
<config>
<sys_diag>
        <rtc>passed</rtc>
        <usb1>not exist</usb1>
        <usb2>not exist</usb2>
        <usb3>not exist</usb3>
        <hdd1>passed</hdd1>
        <hdd2>passed</hdd2>
        <hdd3>not exist</hdd3>
        <hdd4>not exist</hdd4>
        <memory>failed</memory>
        <temperature>passed</temperature>
        <fan>passed</fan>
</sys_diag>
</config>

The debug output of the WD “sys_diag ” compiled binary program seems to think that 2 + 2 = 0, which seals the deal. WD and their so-called developers borked it yet again.

  • # /usr/sbin/sys_diag -d
Size:  [2]  [GB]
Size:  [2]  [GB]
total size = 0 MB
memory size= 0M
memory status: failed

Lastly, here’s the “dmidecode” Linux program output when executed manually from the command line.

  • # dmidecode -t 17 | grep "Size: "
        Size: 2 GB
        Size: 2 GB

For comparison, here’s the full output of the “dmidecode” Linux program, which clearly shows that the memory is fine., despite not being properly tested.

  • # dmidecode -t 17
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x000D, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x000B
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2 GB
        Form Factor: DIMM
        Set: None
        Locator: A1_DIMM0
        Bank Locator: A1_BANK0
        Type: DDR3
        Type Detail: Unknown
        Speed: 1600 MT/s
        Manufacturer: InnoDisk
        Serial Number: XXXXXXXX
        Asset Tag: A1_AssetTagNum0
        Part Number: M3SW-2GSJCL0C-QDM
        Rank: 1
        Configured Memory Speed: 1066 MT/s
        Minimum Voltage: 1.35 V
        Maximum Voltage: 1.5 V
        Configured Voltage: 1.35 V

Handle 0x000F, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x000B
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2 GB
        Form Factor: DIMM
        Set: None
        Locator: A1_DIMM1
        Bank Locator: A1_BANK1
        Type: DDR3
        Type Detail: Unknown
        Speed: 1600 MT/s
        Manufacturer: InnoDisk
        Serial Number: XXXXXXXX
        Asset Tag: A1_AssetTagNum1
        Part Number: M3SW-2GSJCL0C-QDM
        Rank: 1
        Configured Memory Speed: 1066 MT/s
        Minimum Voltage: 1.35 V
        Maximum Voltage: 1.5 V
        Configured Voltage: 1.35 V