Upgrade Problems

Greetings,

I have a WD My Cloud running v04.04.02-105.

I tried manually upgrading and auto upgrading the firmware but received:
“Device does not have enough space for upgrade. (370002)” in both instances.

I also followed the KB Guide:
http://support.wdc.com/knowledgebase/answer.aspx?ID=13179

This did not work either. Just kept getting the same error.

Finally, I did some digging and discovered that the scripts WD uses to check the available space on /DataVolume was not working properly.

Specifically, the script calls the linux utility “df”
As we can see in this…

/usr/local/sbin/updateFirmwareFromFile.sh on line 202:
dfout=df | grep /DataVolume

Unfortunately, my version of df on the device (GNU coreutils) 8.23 did not output anything for DataVolume because it considered it a dummy file system, and without the “-a” flag, it would omit those results, thus causing the dfout variable to be null and thus invoking this error.

So, I got around this to upgrade by modifying three lines:

/usr/local/sbin/updateFirmwareFromFile.sh on line 202:
dfout=df | grep /DataVolume
TO:
dfout=df -a | grep /DataVolume

/usr/local/sbin/updateFirmwareToLatest.sh on line 59:
dfout=df | grep /DataVolume
TO:
dfout=df -a | grep /DataVolume

/usr/local/sbin/getDataVolumePercentUsed.sh on line 13:
dfout=df | grep /DataVolume
TO:
dfout=df -a | grep /DataVolume]

Incidentally, I was able to perform an auto upgrade after these modifications from the UI to v04.04.04-101.
It should be noted, that after upgrading to this version, the df utility was downgraded to (GNU coreutils) 8.13 and does show all of the volumes without needing the -a flag.

Have you modified the GNU coretils, then, or is this a ‘stock’ MyCloud firmware?

Or are you saying v04.04.02-105 was a duff build?

Nice bit of debugging, whatever the case…

I do not recall ever modifying the GNU coreutils package, but that may have been done by an add-on or something similar. If anyone with firmware v04.04.02-105 could verify what df version they have, it may shed light on the circumstances too… I thought I had added a 3rd party cloud backup solution months ago, but am unable to recall what steps I took to try and implement it, and since I had not used it - I simply do not remember if anything was ever actually implemented or just a failed attempt at trying something different.

Either way, I noticed quite a few people reporting similar issues so I wanted to provide everyone with some feedback on findings for a workaround. The other workaround avoiding script modification would be to simply replace df with the other version too… I like modifying the script instead, which provides future compatibility, but I’m different lol

I’m on version 04.04.00-303 a df --version shows 8.13. A df does show
the /DataVolume.

I also have a system running version 04.04.02-105 df --version shows 8.13
It also shows /DataVolume

Sounds like PersiusOne must have installed a later version whilst installing some package. A demonstration of the problems of fiddling with embedded Linux…

I’m not certain that I consider this a problem. Embedded Linux systems are, in their nature, designed to be modified and explored by people who desire to learn more about the environments which integrate with their lives.

This is why I purchase products like this, so that I can learn and explore with them, and share some of my experiences with others to, hopefully, allow everyone to have the courage enabling them explore their own environments and learn from them as well.

I understand why some people may consider fiddling with embedded Linux a problem but I would challenge everyone to try it anyway. There is no better way to learn.

I would consider the gen2 more of an embedded Linux than the gen1.
To me the gen1 is a small computer running Linux. When you look at
how the system is implemented. It has the look and feel of a regular Linux
system. With the gen 1 system you can compile packages and run them
as long as you compiled with 64k pagesize. The gen 2 system makes it
very hard to compile a package and run it. The gen2 uses busybox to
keep the size of Linux small.

No they aren’t. They are built using linux to make a consumer product, not a general-purpose linux computer.

The fact that they can be used as a general-purpose linux computer is a testament to linux, and the developer’s decision to include a login facility, like SSH.

Play with it by all means, but understand that by doing so, you can break things. Don’t complain if you do. Also understand that this embedded linux has been built with a non-standard 64k page size, so you can’t install or update packages from standard repositories.

I login via SSH, make changes to the running services, and have installed non-standard packages. I keep a careful record of what I’ve done…

What I am suggesting, is that I could have purchased a cloud device which did not have these abilities but I choose products like this because I can learn with them instead of the alternatives.

I am also not complaining about this product and have no problems with people who choose to modify them to their liking. I did not post here to complain, rather share my experiences so others may learn as well. I see that a lot of people have a tendency to be negative about responding to people who modify their systems, which is counter-productive.

I’m not trying to be negative, and my comments weren’t aimed personally at you.

I’m trying to be realistic about the issues of modifying embedded Linux in a consumer product; it is easy to break it, because the embedded system is written to use a particular kernel and packages, and may not be built conventionally.

There are plenty of examples of people complaining that their device doesn’t work, because they decided to to apt-update and bricked their device. We point out their error and point them at the unbricking guides.

The MyCloud has enough problems of its own that are legitimate targets of complaint… Some of which need to be fixed via SSH and tinkering with linux. See my opening comments on my Twonky FAQ thread.

RaspberryPies are cheap, well documented, and have a huge range of learning and project support material all over the web.

1 Like

I love the Raspberry PI Project and own several for that reason as well, very solid.

1 Like