August 20, 2011

Linksys NSLU2 and OpenWrt

I have two Linksys NSLU2's that I bought three years ago, during the early days of this blog, to use as print servers. I chose to run the Unslung firmware and use CUPS as the print server. Unfortunately, after using them for a while, I discovered that NSLU2+CUPS was not stable enough for volume printing, and as I was able to get p910nd to run completely stable on a number of other wireless routers, so I had set the NSLU2's aside and switched to using wireless routers with USB ports. I loved the NSLU2's for what they're capable of, but a wireless router doubling as a print server and an access point is far more practical than a single purpose print server that needed a USB flash drive to work.

Recently I suddenly needed additional print servers to support our growing printing needs, and because the WRT160NL was discontinued, I decided to dust off the NSLU2's off and install OpenWrt on them. I thought that since OpenWrt has a much smaller footprint, and if I'm only going to install p910nd and the necessary USB support, it should fit the onboard memory.



I had to use VMware to run the Sercomm upgrade utility, since it doesn't work with Windows 7. When the NSLU2 is placed into recovery mode for flashing, it automatically takes an IP address of 192.168.0.1, so I had to change my VMware's IP address to the same subnet. I installed the latest version of OpenWrt "Backfire" which is 10.03.1-RC5 as of this writing.



After flashing, the NSLU2 automatically changed its IP address to 192.168.1.1. Because I did the flashing inside VMware, and I could configure the NSLU2 using a web browser in Windows 7, I actually had to change my Windows 7's IP address to connect to the NSLU2. I gave it a new IP address to go with my LAN, and plugged it into the LAN.



After that, I installed the p910nd and the USB support packages. These packages are needed: kmod-usb-core, kmod-usb-printer, kmod-usb-uhci, kmod-usb-ohci, kmod-usb2, p910nd, luci-app-p910nd. I was mostly concerned whether I would have enough memory, but as the image shows, no problems there.



After enabling p910nd and plugging in my USB printer, I could print right away without any problems, but after some testing, I found that once in a while I get a timeout when the print jobs are finishing up, which suggested that I needed to disable bi-directional signaling on the print server, and there's an option for that. One funny thing about OpenWrt on the NSLU2 is that it doesn't turn on the power LED light by default, but there's an option for that too.

So I'm happy with the NSLU2's again.