I'm pleased to reveal that our rewritten driver is just about
functional. If you are interested in testing it, please read this email
This driver is experimental and isn't expected to work properly.
This driver is being developed by Ulrich Kunitz and myself. Our efforts
have been majorly boosted by softmac, and the softmac developers
(Michael Buesch and Johannes Berg) were all too helpful when we met them
We are not affiliated with ZyDAS. Do not contact them if you are using
Please do *NOT* mail us directly about this driver. Instead, mail this
list, stating clearly that you are using the rewritten driver in the
subject line. We have too much work to do to handle lots of email,
hopefully others will help out on the list.
Also, we aren't quite ready for world domination just yet. If you have
problems with the process of compiling or loading this driver, we might
not rush to help you. We will let you know when this driver is ready for
use by end users.
We are on IRC: Freenode, #zd1211
Our driver cannot (yet) be viewed as a replacement for ZyDAS driver.
It's not hard to make a long list of things which our driver does not
- Monitor mode
- Master mode
- Ad-hoc connectivity
- Rate management
However, the driver can connect to unencrypted networks and that seems
to work quite well.
LACK OF RATE MANAGEMENT
The driver transmits data at 11mbps by default. This may or may not be
suitable for your environment. If you need more speed, you can manually
change the data transmit speed with (e.g.):
iwconfig <interface> rate 36M
However, you need to be sensible. A faster rate means an increased
likelihood of transmit error, in which case you'll be needlessly
retransmitting packets. In other words, you really don't want to use the
faster rates unless you are close to your access point, because you'll
actually get _worse_ performance. The default of 11M may even be too
fast if you are testing the driver on an open network located somewhere
on the next street, like I am ;)
Oh, also, 54M was broken until a little earlier today. If you want 54M
to work, then you'll need to wait until tomorrows snapshot.
At some point in the future, automatic rate management will be
implemented in softmac, which will result in the driver automatically
selecting the most appropriate rate on your behalf.
We are using a new extension to Linux's ieee80211 stack, called softmac.
This allows our driver to be nice and simple. You need Linux 2.6.17-rc1
or newer to test this driver - softmac is not included in earlier
kernels. You also need to compile the ieee80211, ieee80211softmac and
Before you do anything with your interface, you need to bring it up:
# ifconfig <INTERFACE> up
To work around a softmac bug, you need to run the following command
before trying to associate:
# iwconfig <INTERFACE> mode managed
If you do not do this, you won't be able to associate to any network.
RX performance should be good. TX performance will be poor until we
implement a more advanced transmit engine.
To enable debugging, enable the ZD1211_DEBUG variable:
# make ZD1211_DEBUG=y
Also, you can keep an eye on softmac's activity by running "iwevent" in
another console while you work.
We hope that releasing a working driver base will encourage others to
get involved in the project. You can see there are many features left to
Please send patches to this list, with [PATCH REWRITE] in the subject line.
USB ID'S AND RF TYPES
We have *not* copied over the list of USB ID's from the ZyDAS driver. We
wish to confirm that the RF is supported for each device, and that the
device actually works with our driver, before we add the USB ID.
For an explanation of RF types, see http://zd1211.ath.cx/wiki/RfTypes
We currently support the AL2230 and RF2959 RF's only. We'll add support
for more if we see them included in devices available on the market
(i.e. if you tell us!).
Since we only list two ID's at the moment (my device and Ulrich's
device), you'll probably have to add your own before testing this.
Please send success and failure reports to this list.
If you are successful, please include:
1. The brand and retail product name of your device
2. The USB ID's (duh)
3. The chip ID string, which can be read by:
# dmesg | grep "zd1211 chip"
4. The FCC ID of your product, if it is is visible.
You may also wish to include a patch (see CONTRIBUTIONS, above).
Here is an example of a chip ID string:
zd1211 chip 07b8:6001 v4330 full 00-12-0e AL2230_RF pa0 g--
If your RF is not supported, you will not get an ID string. The driver
will bail out earlier with this type of error message:
zd1211 RF YOUR_RF 0x? is not supported.
Please tell us about this message, so that we can add support for your RF.
INCLUSION IN LINUX
We aim to get included in the wireless-2.6 kernel tree within the next
week or so. We aim to get our driver included in Linux 2.6.18 - not all
features will be implemented, but it will be at least partially usable
(as it is now).
The easiest way to get going is from Ulrich's daily snapshots, available
We actually work in git repositories, more info is available here:
Firmware is pulled from userspace. You must put the binary firmware
blobs (named zd1211_u*) in /lib/firmware/zd1211. You can get these blobs
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
Zd1211-devs mailing list - http://zd1211.ath.cx/