Update Firmware Error: Device does not have enough space for upgrade. (370002)

I tried to update My Cloud Gen 1 from v03.04.01-230 to v04.05.00-315, but always get the error message “Device does not have enough space for upgrade. (370002)”. Actually, it should have enough space, here is the df output:

/dev/root 1.9G 970M 856M 54% /
tmpfs 23M 456K 23M 2% /run
tmpfs 40M 4.0K 40M 1% /run/lock
tmpfs 10M 0 10M 0% /dev
tmpfs 5.0M 0 5.0M 0% /run/shm
tmpfs 100M 208K 100M 1% /tmp
ramlog-tmpfs 20M 3.8M 17M 19% /var/log
/dev/sda4 2.7T 2.2T 484G 83% /shares
WDMyCloud:~#

I have tested several attempts:

  1. System only Factory Restore
  2. 40 second reset
  3. SSH update like this “/usr/local/sbin/updateFirmwareFromFile.sh /shares/Public/sq-040103-421-20150217.deb”
  4. update the first 4.x firmware

All attempts failed with the same “not enough space” error message.
The device was auto-updated to v4.x firmware before, then I downgraded to the last v3.x firmware following the post
Easy method to downgrade to previous version of the firmware

Does anybody have any ideas what could happen to my device? Are there any solutions I could try? I have searched the forum, and there were some similar topics without final solutions.
Any help is appreciated!

1 Like

Hi,

Try performing a quick factory restore which will erase all the data on the drive and reset all the settings back to default. Just make sure you have a backup of your data in a different device before you do this. Then try updating the firmware manually.

Are there any other possible solutions without losing my data? As you seen, backupping 2.2T data is a tough work.

Not sure about the V3 firmware. But the v4 firmware when upgrading the firmware. Basically does a df on the datavolume and subtracts the used space from the partition size. If the result is less that 3000000 you get and
error=“failed 201 "not enough space on device for upgrade"”

Not sure about the 370002 error. On the V4 firmware the firmware upgrade scripts are in the /usr/local/sbin directory.
dfout=df | grep /DataVolume
avail=echo "$dfout" | awk '{print $2-$3}'
if [ “${avail}” -lt “${fwUpdateSpace}” ]
fwUpdateSpace=“3000000”
fwUpdateSpace is defined in /etc/nas/config/share-param.conf

You need to look for something similiar on V3