wpa_supplicant 0.4.6, ndiswrapper 1.6, static wep fails
Tolunay Orkun
listmember
Fri Dec 2 15:03:15 PST 2005
Jouni,
I think I've found a problem with wpa_supplicant built for ndiswrapper
driver.
Linux 2.6.14-1.1644_FC4
wpa_supplicant v0.4.6
ndiswrapper v1.6
Dell True Mobile 1400 driver R102320 (v3.120.27 A07)
Using ap_scan=2 (hidden AP :( ) with 40bit static WEP keys
Problem: Calling wpa_drv_associate() in wpa_supplicant_associate()
clears static WEP keys while using ndiswrapper driver.
wpa_supplicant_associate() has a provision to reset wep key again after
wpa_drv_associate() but because ndisdriver does not implement get_capa
operation which is used to test for the
WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC flag, the keys are not reset properly.
I've hacked wpa_supplicant.c as follows to get it working for me. This
is probably not the right way to fix this issue in general. I guess
ndiswrapper needs to support a get_capa operation which returns this
flag (also other capabilities correctly). Is it too bad to aways reset
the static wep keys and drop WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC
completely?
Best regards,
Tolunay
--- wpa_supplicant.c.orig 2005-12-02 15:48:21.000000000 -0600
+++ wpa_supplicant.c 2005-12-02 16:04:11.000000000 -0600
@@ -1245,8 +1245,8 @@
wpa_supplicant_req_auth_timeout(wpa_s, 5, 0);
}
- if (wep_keys_set && wpa_drv_get_capa(wpa_s, &capa) == 0 &&
- capa.flags & WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC) {
+ if (wep_keys_set /* && wpa_drv_get_capa(wpa_s, &capa) == 0 &&
+ capa.flags & WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC */) {
/* Set static WEP keys again */
int i;
for (i = 0; i < NUM_WEP_KEYS; i++) {
More information about the Hostap
mailing list