Intial observations

At the end of 2007, I got three Western Digital MyBook World 500 GB Network Attached Storage units. As it turns out, these contain a 200 MHz ARM9 with 32 MB RAM, and connections to network and USB connection as well as a 2.4 GB partition off a large disk, in a convenient small package. They are designed to go on the network and operate as file servers. However, they actually run Linux on the inside, and there is a hardware-hacking or a software-hacking option available, to make it run an ssh server, and thus making the insides available.

I found a lot of useful info about the device on this site http://mybookworld.wikidot.com and so far I've got the software hack working on both the devices that I've unpacked.

The hardware hacking consists of wiring up level-translators to an internally available serial port. This appears as /dev/ttyS0 in the configuration, and is apparently running a shell right away, judging from the ps output.

Further discoveries

There is a C compiler on board, this is gcc 3.4.2. The presence of the C compiler makes it a really seriously interesting device, suitable for running servers and other localized software hacking.

The variant of vi in there isn't exactly super-capable, but it is sufficient for editing scripts and test programs. It is missing the u(ndo) and !(filter) commands amongst others, so it is not perfect. Chances are it has limitations on file-size as well.

The test programs reveals it is running a 32-bit, little-endian mode, (ARMs can run either big-endian or little-endian, contrast to the picotux that runs big-endian). The kernel version is 2.6.17.14.

In several respects, this device reminds me of a bigger, stronger cousin of the Picotux. As for GPIO, there is the USB port, and it ought to be possible to finagle something there, serial or parallell converters for example. So far, it appears that the serial-port-converter is not working, but there are indications that parallell-port or printer connections may operate, as there are device files /dev/usb/lp0 thru /dev/usb/lp7 Character, major 180, minor 0-7. /proc/devices indicate that 180 are usb and 189 are usb_device. Next will be to get the source for this distro from WD and have a closer look at what is and what isn't included, and how this can be put to use.

Limitations discovered

There is a file-size limit of 2147483647 which is the largest positive signed 32-bit number, 0x7fffffff. When a project is full of scanned-in files, the backup size is larger than this, so this will not do unmodified; chances are that the back-ups will have to be done in parts, where scanned-in files are excluded from the main compression job and just copied as-is (they are already compressed).

This also limits us to store ISO files off of DVDs as these can be bigger then 2 GiB

the size limit is based on copying from an outside host. It may be a limitation of the SAMBA system or the operating system itself (if the values used with fseek() and ftell() turn out to be 32-bit values, this is where the problem may be.)

Speed when copying numerous files is not too great either -- we have a number of source files from 2004 onwards being copied, and that has been going on for 5 weeks now, with still 28 months to go....

Continue to A Second Look

Go back to Western Digital MyBook World Edition index page

Skip ahead to On using the I2C interface

Go up to the index page