Install wireless zd1211
Contents
Introduction
This will describe how to set-up your wireless network connexion using a zd1211 network adapter. It's describing the method for a debian distribution, but the steps should remain the same for other distributions (only the way to install some applications will change). The ZD1211 network adapter is natively supported since kernel 2.6.18. For this reason it is the best (and maybe the only ?) choice if you plan to connect your kurobox to your wireless network !
Install a kernel supporting wireless stuff and zd1211 module
You can just install this kernel for the kurobox HG : http://www.kurobox.com/sylver/debian/kernel-2.6.18.1-mh7_kurobox_hg-20061103.tar.gz (compatible with loader.o and u-boot methods). The .config files used to compile the kernel is included (/boot/.config) if you want to check used options.
Install the zd1211 firmwares
Download the driver file from one of the mirrors on http://sourceforge.net/project/showfiles.php?group_id=129083 Untar the file so you'll have the firmware files in /lib/firmware/zd1211 . Now, you're ready to plug your USB adapted on your kurobox ! When done, you should see this in the output of dmesg :
KURO-BOX:~# dmesg [...] ieee80211_crypt: registered algorithm 'NULL' ieee80211: 802.11 data/management/control stack, git-1.1.13 ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com> zd1211rw 1-1:1.0: firmware version 4725 zd1211rw 1-1:1.0: zd1211b chip 0ace:1215 v4810 high 00-02-72 AL2230_RF pa0 g-- zd1211rw 1-1:1.0: eth1 [...]
Warning : Due to an (still) unresolved bug in the zd1211rw module, it sometimes happen that the USB adapter is not correctly detected if plugged at startup.
Configuring your network connection
First of all, you should install standard wireless tools :
apt-get install wireless-tools
Now, you can configure your network according to the encryption method of your wireless network.
Network with no security
TBC
Network with WEP encryption
TBC
Network with WPA (or WPA2 ?) encryption
To support WPA/WPA2 encryption, you need the "wpa supplicant" tool, just install it this way :
apt-get install wpasupplicant
Now configure it, use :
nano /etc/wpa_supplicant.conf
to create the configuration file and fill it with
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 network={ ssid="your network SSID" psk="your wpa key (up to 63 characters)" priority=5 }
Now edit your /etc/network/interfaces file to add the new network interface. You have to put this before the eth0 configuration or the kurobox will keep trying to use eth0 (wired ethernet link) for all your network communications. Your file may looks like this (if using DHCP configuration) :
nano /etc/network/interfaces
auto lo iface lo inet loopback auto eth1 iface eth1 inet dhcp pre-up wpa_supplicant -Bw -ieth1 -c/etc/wpa_supplicant.conf -Dwext post-down killall -q wpa_supplicant auto eth0 iface eth0 inet dhcp hostname `hostname`
Now you can test your network parameters by running :
ifup eth1
In your dmesg output, you should have this :
SoftMAC: Open Authentication completed with xx:xx:xx:xx:xx:xx ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready ieee80211_crypt: registered algorithm 'CCMP' eth1: no IPv6 routers present
You can check your wireless connexion details :
KURO-BOX:~# iwconfig eth1 802.11g zd1211 ESSID:"xxxxxxxxxxxx" Mode:Managed Frequency:2.462 GHz Access Point: xx:xx:xx:xx:xx:xx Bit Rate:11 Mb/s Encryption key:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX Security mode:open Link Quality=100/100 Signal level=100/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Note the the driver currently not (yet) supports automatic rate adjustment, so it'll connect at 11mbps speed. You can change this by running this command :
iwconfig eth1 rate 54M fixed
You should add this line in /etc/init.d/networking if you want your adapter to always use 54mbps speed.
Now just shutdown and restart your kurobox (reboot often fails to detect the wireless adapter because of a bug in the driver, so a complete shutdown and restart is better ...) and your kurobox will be on the network even with the ethernet cable unplugged . With this configuration, the wireless adapter (eth1) will be used if plugged and detected, elseway eth0 (wired ethernet) will be used.
Known bugs/restrictions
The zd1211rw module has limitations/bugs. Limitations are described here For kernel 2.6.18.2, these limitations are : - No ad-hoc mode - No access point mode - No 802.11a support - No Hardware encryption (using software encryption instead) - Largepacket + TX-burst not supported - No Automatic rate selection/management - No Automatic TX power calibration (using a fixed power for now)
TO DO
- Add description for "no encryption" and "WEP encryption" networks
- Add description to configure the zd1211 chip as an access point (when available in the zd1211rw module)