The on-board wireless hardware
There are three different NICs inside X40s ? the Intel Wireless Pro 2100 (b only), Intel Wireless Pro 2200 (bg), or the Atheros (abg), You can tell which you have by looking at the output of lspci(1).
I have the Atheros 802.11abg NIC. It's supported by the MADWIFI project. Here are the steps I took to get it working:
I downloaded the HEAD code from CVS as described here and followed the instructions in the README.
Type make to build the modules.
Go root and type make install to install the result modules where they will be loaded automatically.
Now reboot; the new modules should load at boot time, and if they do kudzu will ask you to configure the Atheros card. Tell it to use DHCP (you can change this decision later using the normal network configuration tools).
Once you have rebooted, running lsmod should show that all three modules are loaded ? something like this:
ath_pci 33688 0
wlan 49704 2 ath_pci
ath_hal 124624 2 ath_pci
Type ifconfig -a. You should see an entry for ?ath0?. This is your wireless device.
Type ifconfig ath0 up to enable the device. Later, you can use the normal network configuration tools to set it to be enabled at boot time.
Type iwlist ath0 scan. If you get at least one cell listing, you are golden ? your card has detected an active wireless access point.
To connect your card to one of the access points, you will need to issue a command something like this:
iwconfig ath0 mode managed essid XXXXX
where XXXXX is one of the ESSIDs that showed up in your scan.
I tripped over some strange bugs or misconfigurations when trying to get dhclient(1) to grab a DHCP address off my wireless router. Eventually I gave up and just did this:
#!/bin/sh
ifconfig eth0 down
modprobe ath_pci
ifconfig ath0 up
iwconfig ath0 mode managed essid belkin54g
ifconfig ath0 192.168.1.13
route add default gw 192.168.1.1
I've since been told that prebuilt RPMS for the madwifi drivers are available here, with installation instructions here and here.
You may find that ath0 does not reliably come up at boot time, failing with a message about the ath_pci device not being there yet and deferring initialization. If so, you'll either have to do ifconfig ath0 up moanually or put it in /etc/rc.
If you have problems with DHCP, this may be due to the wireless interface being referred to as both ath0 and eth1 in different parts of the system. Try adding alias ath0 ath_pci to /etc/modprobe.conf.
The X40 has a wireless-on LED (the leftmost one in the strip below the screen, next to the Bluetooth rune), To make this light up when the Atheros hardware is active, add these commands to a local boot script such as /etc/rc.d/rc.local:
sysctl -w dev.ath0.ledpin=1
sysctl -w dev.ath0.softled=1
Note: if you Googled looking for a way to make the LED work, you found several documents that tell you that you need compile the madwifi driver with -DSOFTLED. This is no longer necessary; current versions of the driver as of May 2005 don't have any code conditioned on this symbol.