> 3. Connectivity with WPA-encrypted networks through wpa_supplicant
> works, as long as you apply this kernel patch:
I took the liberty to use
> All this will be available in tonights snapshot which will be generated
> within the next few hours.
Using linux-2.6.17-rc1 + zd1211_2006-04-19 + softmac-events.patch +
reference_lock.patch, I've been able to transfer 6MB @ ~830kB/s using ftp on
a WPA connection. (connection speed: 11 Mb/s)
Downside: it worked only once so far.
(just observations, I haven't got the time to really dig into any of this)
iwconfig showed the AP as FF:FF:FF:FF:FF:FF after wpa_supplicant had set up
the (working) connection. SoftMAC and wpa_supplicant don't seem to know each
other very well. e.g. wpa_supplicant built up a complete functioning
connection, still, after that, SoftMAC generated an association timeout.
(possibly causing the 'FF:FF:FF:FF:FF:FF' AP address being displayed ???)
When I ended wpa_supplicant, SoftMAC tried to authenticate / associate
itself. I don't see a reason why. I don't think it should be this smart.
After all, by ending wpa_supplicant I basically gave the instruction to end
the connection and not build a new one.
The impression I get from the other (failing) connections is that both SoftMAC
and wpa_supplicant are trying to authenticate / associate themselves at
virtually the same time. SoftMAC seems to win most of the time, leaving me
unconnected, since I require WPA.
I also see a softIRQ problem scrolling down my screen after a while locking my
computer rock solid. Unfortunately I haven't been able to capture a decent
log so far. This happens when I start wpa_supplicant and just leave it running
in a console while it's trying set up a connection. (which doesn't succeed)
wpa_supplicant complained SIOCSIWMLME isn't supported. It may help synchronise
SoftMAC / wpa_supplicant since it's supposed to forward deauth / disassoc
requests. (see the http://zd1211.ath.cx/ driver) Maybe SIOCSIWMLME should be
diff -ur zd1211_2006-04-19/zd_mac.c zd1211_2006-04-19.new/zd_mac.c
--- zd1211_2006-04-19/zd_mac.c 2006-04-18 22:02:10.000000000 +0200
+++ zd1211_2006-04-19.new/zd_mac.c 2006-04-19 12:58:56.000000000 +0200
@@ -249,7 +249,7 @@
struct zd_mac *mac = zd_netdev_mac(netdev);
PDEBUGF("channel %d", channel);
- spin_lock_irqsave(mac->lock, flags);
+ spin_lock_irqsave(&mac->lock, flags);
mac->channel = channel;
mac->channel_is_fixed = 0;