USB flash drive not appearing on NSLU2

I am trying to resurrect some Linksys/Cisco NSLU2s. (Yes, I know that these devices are woefully out of date but this is an educational experiment). I have managed to flash OpenWrt 18.06.5 and everything is running just fine except that I cannot see USB Flash drives. I followed this https://openwrt.org/docs/guide-user/storage/usb-drives-quickstart but ls -al /dev/sd* shows nothing. Any suggestions as to how this can be made to work? Thank you.

Do they appear at least in lsusb?

lsusb command is not found

root@OpenWrt:~# lsusb
-ash: lsusb: not found

opkg update ; opkg install usbutils

OK. I installed usbutils:

root@OpenWrt:~# opkg install usbutils
Installing usbutils (007-9) to root...
Downloading http://downloads.openwrt.org/releases/18.06.5/packages/armeb_xscale/base/usbutils_007-9_armeb_xscale.ipk
Installing libusb-1.0 (1.0.22-1) to root...
Downloading http://downloads.openwrt.org/releases/18.06.5/packages/armeb_xscale/base/libusb-1.0_1.0.22-1_armeb_xscale.ipk
Configuring libusb-1.0.
Configuring usbutils.

root@OpenWrt:~# lsusb
unable to initialize libusb: -99
root@OpenWrt:~# ls -al /dev/sd*
ls: /dev/sd*: No such file or directory

Does the directory /dev/bus/usb exist?
Can you find anything related to the USB host controller in the dmesg output?

These are just some general ideas since I am not familar with this hardware.

/dev/bus does not exist (much less /dev/bus/usb). As to dmesg output:

root@OpenWrt:~# dmesg|grep usb
[   24.460658] usbcore: registered new device driver usb
[   26.238884] usbcore: registered new interface driver usb-storage

Tried everything shown here https://openwrt.org/docs/guide-user/storage/usb-installing to get USB to work.

root@OpenWrt:~# opkg list-installed | grep usb
kmod-usb-core - 4.9.198-1
kmod-usb-ehci - 4.9.198-1
kmod-usb-storage - 4.9.198-1
kmod-usb2 - 4.9.198-1
kmod-usb3 - 4.9.198-1
libusb-1.0 - 1.0.22-1
usbutils - 007-9

Still get:

root@OpenWrt:~# lsusb
unable to initialize libusb: -99

Anyone have any idea how I can get USB Flash to be recognized on NSLU2 running OpenWRT 18.06?

The USB bus doesn't seem to be recognised. It could be faulty.
Have you tried some other OS to verify that it works?

Right before loading Openwrt, it worked fine with unslung.

The wiki says you have to install kmod-usb2-pci and possibly kmod-usb-ohci-pci.

3 Likes

OK. I have now installed those 2 packages. I have a USB flash drive inserted.
This looks promising:

root@OpenWrt:~# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@OpenWrt:~# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/3p, 12M

Is there something else I need to do to be able to access it? Does it need to be explicitly mounted?

OK. It is now accessible! Is there a way to expand the utility of the NSLU2 by using the USB storage for swap?

Next you need kmod-usb-storage and a kmod-fs- driver for the filesystem(s) on the drive.

Running swap on a USB flash drive is possible but not really recommended due to low speed and rapid wearout.

1 Like