Mounting USB Drive Partitions on a Wanadoo Livebox (Inventel DV4210) Wireless ADSL Modem Router



The Wanadoo branded Inventel Livebox has a USB Master port available for us to use. Helpfully the firmware already contains some entries within /dev and /mnt as well as a couple of the files needed to allow use of the USB port. What we do need is to copy some more files over and then load them in the correct order to allow access to most styles of USB drives as extra storage (for more programs ?) and possibly then share the storage to others on the network.

The method I used is as follows,

  • If required, use a modified cfgsave.dwb file to allow access to a command prompt.
  • Build and install a serial port adapter. A schematic for the adapter is available here. No opening of the box required.
  • On the version of the firmware that I am currently using (v5.02.2-uk) there is enough space available on the ffs partition to allow me to copy the following files to /etc. This means that they should survive a reboot. If your version of firmware does not have the space on the ffs you can copy them to /var but you will need to recopy them if the Livebox is rebooted. If you also install the files for using NFS storage, I do not think you will have enough space on the ffs partition (/etc directory) and the ramdrive (/var directory). One of these groups of files might need to be stored on the other storage medium.
  • Change directory to the directory of your choice.
  • Using wget or ftp, copy scsi_mod.o,, sd_mod.o and usb-storage.o to the directory of your choice.
  • If you are only looking to mount ext2 formatted storage, that's all the files you need, unless the firmware version is greater than v5.02.2-uk in which case you need to download ext2.o as it is no longer included in the firmware image.
  • If you need fat32 support you need to get these files as well, nls.o, fat.o and vfat.o.
  • You now need to load the drivers in order.
  • Ensure that you are in the directory of your choice.
  • If you want ext2 support,
  • If you want fat32 support,
  • You should now be able to mount the partitions on the USB device. The available mount points seem to be limited so I have been using the nfs mount points. Command for mounting is 'mount -t fstype device_to_mount mount_point' where fstype is either ext2 or vfat, device_to_mount can be /dev/sda1, /dev/sda2, /dev/sda3 or whatever the partition is (could be just /dev/sda) and the mount_point can be /mnt/nfs/nfsa, /mnt/nfs/nfsb, etc. Typing 'df' should now show the amount of free disk space on all mounted partitions and should include those of the USB device. Once you have finished using the device and unmounted all the partitions on it, you should be able to unplug the device and then if you want, remove all the drivers you have loaded with 'rmmod modulename' for each module in reverse order.
  • See mounts and modules for screendumps.
  • If you wanted to, you could create a script file in /etc/init.d and have it called during the boot process to automatically install the drivers and mount the partitions. This would obviously depend on where you managed to copy the module files to.
  • All the files that you need to copy to the Livebox were compiled using this source code, provided by Belkin for their F5D7633 ADSL Modem/Router which uses the same Broadcom device. I just changed the config file to build the USB/SCSI/NFS modules and then did a 'make PROFILE=96348GW' and copied the files I wanted from targets/96348GW/modules/lib.... except for nls.o which came from the sgibcm_2_4_17/linux/fs/nfs directory. I have just verified that this config file builds the required modules and that they load and function correctly. The config file needs to be copied as .config into the sgibcm_2_4_17/linux directory. You also need to change the Makefile in that directory to add -mlong-calls to line 105 in the CFLAGS. If you don't, doing insmod with nls.o results in an error. To compile the code, change to the root of the source and type 'make PROFILE=96348GW'. You also need the cross-compile toolset. The version I use came from uclibc-crosstools-mips-0.9.12-5p1.i386.rpm which was part of the bcm963xx_2.14L.02DT_consumer_release.tar.gz code released by Sinus 1054/ HHT (Sinus 1054)/ Siemens SE515. All these sources appear to be identical. I obtained mine from within the Siemens source code but the Sinus one is probably easier to download.

  • Andy Potter.