Using the rt2570 chipset on NSLU2
This page describes how I got a wireless network USB card with the rt2570 chipset working on my NSLU2. I suggest trying to compile and use such a card on a regular Linux box first. I use SlugOSLE, formerly known as DebianSlug.
Compiling the module from source
First get the rt2570 sources, Debian's module assistant and gcc-3.4
apt-get install rt2570-source apt-get install module-assistant apt-get install gcc-3.4
Second, you have to find the kernel headers for 2.6.16 which you can probably build yourself using OpenEmbedded. However, to save some time I grabbed a NSLU2 kernel tree from http://slugplayer.free.fr/pub/linux-source/linux-source-nslu2.tar.gz untarred it, and put it into /usr/src/linux-2.6.16-nslu2.
cd /tmp wget http://slugplayer.free.fr/pub/linux-source/linux-source-nslu2.tar.gz tar -zxf linux-source-nslu2.tar.gz mv linux-2.6.16-tarball /usr/src/linux-2.6.16-nslu2
Now, it's time to compile the module using the module-assistant.
cd /usr/src module-assistant --kernel-dir /usr/src/linux-2.6.16-nslu2 build rt2570
Now, if everything went OK, you have a debian package in /usr/src which you can install using dpkg.
dpkg -i rt2570-modules-2.6.16_1.1.0+cvs20070219-2_arm.deb
Installing and using the module
Rebuild the module dependencies and install the module using modprobe.
depmod -a modprobe rt2570
Plug in the USB network card and check the results
tail /var/log/messages Apr 26 14:41:25 localhost kernel: usbcore: registered new driver rt2570 Apr 26 14:44:58 localhost kernel: usb 3-1: new full speed USB device using ohci_hcd and address 5 Apr 26 14:44:58 localhost kernel: usb 3-1: not running at top speed; connect to a high speed hub Apr 26 14:44:59 localhost kernel: usb 3-1: configuration #1 chosen from 1 choice Apr 26 14:44:59 localhost kernel: idVendor = 0x148f, idProduct = 0x2570
Get the wireless utilities and check your setup
apt-get install wireless-tools iwconfig
which resulted in
lo no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. eth2 RT2500USB WLAN ESSID:"" Mode:Managed Frequency=2.412 GHz RTS thr:off Fragment thr:off Encryption key:off Link Quality=0/100 Signal level:-120 dBm Noise level:-256 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
So it suggests the card is working properly. Btw I still have to properly check the card is working, as at the moment I don't have access to another wireless network adaptor, so I have no means to send some bytes back and forth.
That's all folks.