The Linksys NSLU2 (a.k.a. SLUG) was a network attached storage device based on the IXP42x processor clocked at 133/266MHz. Is provided with a 2.0A 5V power supply.
NOTE: the boardfile support for NSLU2 was deleted along with the rest of IXP4xx from OpenWrt, but was brought back on 2023-05-25 using kernel v6.1 and purely device tree and some rewritten and modernized device drivers. OpenWrt support is under development. You can find preview images of kernel v6.6.x and a working OpenWrt snapshot rootfs with LuCI and KSMBD on this webpage. NSLU2 supports only external hard disk or USB boot media as the internal flash is just 8 MB and the flash image will just contain the kernel.
Version/Model | Launch Date | S/N | OpenWrt Version Supported | Model Specific Notes |
---|---|---|---|---|
vx | 2006-07 | - | Kamikaze 7.06 | 133MHz; can be easily “de-underclocked” |
vy | 2006-07 | - | Kamikaze 7.06 | 266MHz |
Please check out the article flash.layout. It contains an example and a couple of explanations.
The NSLU2 at one point had an active user community around it at http://www.nslu2-linux.org. It was based upon Debian. Debian has since discontinued support for the NSLU2 in Debian 9 (Stretch) in June 2017. The developers at NSLU2Linux used to “bless” OpenWrt as the firmware of choice for people who want to run all their applications from the internal flash memory only (i.e. with no external storage at all). At one point there were several distributions available for the NSLU2; most contrast OpenWrt's minimalist philosophy. OpenWrt is for people who would rather spend their time adding the wanted features than deleting unwanted ones.
As of writing (2023) OpenWrt is probably the only distribution still actively supporting NSLU2.
The new device tree-based port is under construction and available as snapshot builds.
In case of problems, things to look out for are:
Set the NSLU2 into upgrade mode. To do this, make sure the NSLU2 is turned off. Then press the reset button with a paper clip or small screwdriver and keep it pressed. Turn the NSLU2 on. The “Ready/Status” led will be yellow. When it changes to a reddish amber shade, immediately release the reset button. If it flashes an alternating amber and green, you have succeded (if not, unplug and try again).
Then install the upslug2 utility. Many distributions already include it in their package management (Fedora still ship it as of 2023).
Now upslug2 should find the nslu2 over the LAN and display the information.
Install the image with upslug2 -d interface -i filename, for example:
upslug2 -d enp7s0 -i openwrt-ixp4xx-linksys_nslu2-squashfs-factory.bin
It will flash and verify the upload and then reboot automatically. Example:
You can download the image from the OpenWrt 'Kamikaze' 7.06 dir http://downloads.openwrt.org/kamikaze/7.06/ixp4xx-2.6/openwrt-nslu2-2.6-squashfs.bin. Then install the upslug2 utility. Many distributions already include it in their package management (Fedora still ship it as of 2022). You will find more information on the topic on the excellect NSLU2-Linux wiki http://www.nslu2-linux.org/, specific information on upslug2 is at http://www.nslu2-linux.org/wiki/Main/UpSlug.
The NSLU2 will take a few minutes to initialize the JFFS2 partition, don't reboot if you cannot access it immediately. It will start up using the network parameters that are stored in the NVRAM partition, so it will default to DHCP (I think) if not setup differently. If you have set a fixed IP address under the original firmware or a previous Linux distribution, OpenWrt will retain this. Try telnet and ping to access it. Then follow the standard Kamikaze installation procedures.
After flashing the device was reachable under 192.168.1.1.
Since this part is identical for all devices, see Basic configuration.
To connect stuff to the USB port, please see USB overview.
A basic configuration as an OpenWrt NAS is very simple and straight forward, for this memory-constrained device it is recommended to use ksmbd as SMB server if you desire to use the SMB protocol to access your NAS (such as with Windows and many media players). The most common SMB server samba4 is unfortunately too memory hungry and can make the device thrash and hang, and connections and transfers time out as a result.
Enable hdparm in your build by:
make menuconfig
From the top menu: Base system → Customize busybox options → Miscellaneous utilities → hdparm
This tool is used to instruct the harddrive to spin down when unused. Not doing that will be annoying since the drive will always be spinning.
If you rebuild the firmware image from scratch to get ksmbd you can do like this:
scripts/feeds update scripts/feeds install ksmbd-server make menuconfig
From the top menu, select Network → Filesystem → ksmbd-server
, then select as 'y' (star) for both ksmbd-server
and ksmbd-utils
to get into default install and rebuild OpenWrt. I usually also install the utils, but they are only needed if you want to create individual users. After you put the resulting ext4 filesystem on the drive, rebooted and made basic set-up like above /dev/sda
should exist and you can proceed to set up a samba share:
mkdir /ksmbd chown nobody /ksmbd chgrp nogroup /ksmbd
Edit /etc/config/ksmbd
to contain something like this:
config globals option 'workgroup' 'WORKGROUP' option 'description' 'ksmbd on NSLU2'
config share option path '/ksmbd' option name 'NSLU2' option create_mask '0666' option dir_mask '0777' option read_only 'no' option guest_ok 'yes'
Reboot and you can browse to the IP number (etc) of your NAS, use the NSLU2
share and upload and download files that will appear in /ksmbd
, of course you can set up whatever partition etc you like.
Backfire 10.03 has most of the lights turned off (except for Ethernet) so use either the Luci web management (Administration→System→LED Configuration) feature (works quite well) or edit the /etc/config/system. GPIO Connections: http://www.nslu2-linux.org/wiki/Info/GPIOConnections has some information to help with the setup. Sample /etc/config/system entry:
config 'led' option 'name' 'GPIO2' option 'sysfs' 'nslu2:green:disk-2' option 'default' '1' option 'trigger' 'default-on'
Where additional choices for sysfs are 'nslu2:green:disk-1', 'nslu2:green:ready', and 'nslu2:red:status'.
192.168.1.x/24
The Linksys NSLU2 has one button. See nslu2.hardware.button for some options with that. - shut down via power button ( https://forum.openwrt.org/viewtopic.php?id=25253 )