Install wireless zd1211

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 10:44, 21 November 2006 by Sylver (Talk)

Jump to: navigation, search

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 ! To find what to buy to get a zd1211 chip, check the list here. I've done my test with a MSI US54SE adapter (Easy to find in France).

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)