Slackware RT2500 HOWTO
Copyleft 2007 Alex
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
This is a HOWTO document for getting rt2500 based wireless NIC cards working on Slackware Linux. It has been tested and found to work on Cisco's WRT45G wireless adapter working under Slackware 10 and 11.
Compilation and device driver installation
Follow the instructions provided in the README/INSTALL files found in the rt2500 tarball for compiling the device driver modules and installing them into the system. If rc.hotplug is disabled on your system. Then you need to type
to insert the driver module into the kernel upon system startup.
Network startup the graphical (X) way
In this section I will describe a method that makes use of the RaConfig2500 graphical utility supplied with the rt2500 tarball.
After your Slackware has fully booted. You may execute the following two lines without going into X Windows (normal Slackware installations do not automatically boot into X, unlike Fedora ;-)
modprobe rt2500 #necessary if rc.hotplug is disabled ifconfig ra0 up
Then, launch X with the startx command and run the following commands
cd rt2500* #assuming that you've untargzed rt2500 tarball #into the current directory cd Utilitys RaConfig2500 &
The dialog box shown below will pop up.
In my case the wireless NIC connected with the WAP named "WLAN" automatically because WLAN does not use any passwords. However, the signal strength of WLAN is too weak (10%) to be of any use. Therefore I need to switch to my home WAP named "havenview", which uses the WEP encryption algorithm. I clicked on the "havenview" entry and then pressed the "Connect" button (right next to the "Rescan" button). A dialog box then popped up asking me to enter the encryption key. After everything is entered and confirmed, the green handshake icon migrates from WLAN to havenview.
The final step consists of obtaining a DHCP address (assuming that the wireless router is configured to perform DHCP, which applies to most routers used nowadays). The version of DHCP supplied with Slackware 10 is too low to work with wireless network interfaces. Therefore when one attempts to execute
the DHCP program will come back with an error message complaining about the non-existence of ra0 and a link to redirect the users to the latest version of the dhclient program. Take note of the link, go there and download the latest version of the DHCP daemon program and compile it. Then run the following commands.
cd dhcp* #assuming that you've untargzed dhcpx.y.z tarball #into the current directory cd work* cd client ./dhclient ra0
It is absolutely imperative to use ./ infront of dhclient, or else the default version of dhclient gets executed and nothing happens.
I think that the dhcp package that comes with Slackware versions 11 and later natively supports listening for DHCP servers on wireless networks. So it is no longer necessary to download newest version of dhclient and using ./ to run it from a specific directory.
The 2 screenshots below demonstrate how to properly use newest version of dhclient (version 3.0.4 for me) and what ifconfig should display for ra0 if everything has been set up properly.
Finally, thou shalt be awarded with Internet access, as shown in figure below:
As for Slackware 11, the default version of DHCP is good enough to handle ra0, therefore after ifconfig one could directly type "dhclient ra0" to grab an IP for the wireless NIC and start working.
Network Startup the Shell-based way
For you hard-core shell-aficionados (of which I'm a member), there is a way of starting up ra0 without ever going into X. I shall finish writing this section when I have more time.
And here it is:
Enter the following sequence of commands in a root shell:
modprobe rt2500 iwconfig ra0 essid "<essid of your wireless network>" iwconfig ra0 mode Managed iwconfig ra0 channel <channel # of your wireless network> <enc lines> ifconfig ra0 up dhcpcd ra0
For <enc lines>, if you don't have any encryption set for your wireless network then there are no lines for you to enter and <enc lines> equate to nothing.
If you use WEP, then substitute the following lines for <enc lines>:
iwconfig ra0 enc <your hex WEP key>
If you use more advanced form of encryption than WEP then you need to use iwpriv to set the parameters required for your rt2500 to communicate properly with the WAP. Refer to the Ubuntu howto for more details.
Note that all quotation marks in the command lines must be entered as is. But the stuff in angled brackets must be replaced by the unique names and numbers you use for your own wireless network.
Note: I just realized that as of Slackware 11 "dhclient ra0" still does not work. Instead you need to enter "dhcpcd ra0" for your rt2500 to get its own IP address. Other than the names used the two commands are otherwise completely equivalent.
Thanks to Mark Wallis for setting me up an account, and the crew of Rt2x00 for everything. Now only if my accursed USRobotics 56K Winmodem would also work in Slackware (teeth gritting), life would be so much better!