Really, the main reason you’d want to use an external wifi adapter on the XO is so you can use the XO as a portable kismet machine. The XO’s native wifi doesn’t support monitor mode. I’ve got a cheapo ZyDAS wifi adaptor I got from Overstock.com a couple of years ago and luckily it works under Linux. And on the XO with a bit of kernel mucking.
When you’re doing up your kernel config, enable these modules in this order:
cfg80211
mac80211
zd1211rw
Get the firmware from here: http://sourceforge.net/projects/zd1211/files/
Extract the tarball and copy everything that starts with zd1211 into /lib/firmware/zd1211
Go into /etc/kismet/kismet.conf and edit the source to
source=zd1211,wlan0,ZyDAS USB
Change the log file directory in /etc/kismet/kismet.conf to /home/olpc/kismet cause otherwise it fusses about permissions for some reason. Creating /var/log/kismet didn’t work for me.
mkdir /home/olpc/kismet
chmod 777 /home/olpc/kismet
Now root can
kismet