Some devices (iwl5100) cannot connect to zd1211rw based AP. It appears that zd1211 firmware messes up duration_id field if it is not set to zero by driver. Sniffing traffic shows that zd1211 is transmitting frames with duration_id bits 14 and 15 set and other bits appearing random. Setting duration_id at driver to zero results zd1211 outputting sane duration_id. This means that firmware is setting correct values itself and expects duration_id to be zero in first place. Looking at vendor driver shows that only PSPoll frames have duration_id set by driver, for other frames duration_id left zero. Original bug-report and attached patch at: http://sourceforge.net/mailarchive/message.php?msg_id=28759111 Reported-by: Tomas Vanek <Tomas.Vanek@fbl.cz> [modified original patch from bug-report, added check for pspoll frame] Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
|---|---|---|
| .. | ||
| ath | ||
| b43 | ||
| b43legacy | ||
| brcm80211 | ||
| hostap | ||
| ipw2x00 | ||
| iwlegacy | ||
| iwlwifi | ||
| iwmc3200wifi | ||
| libertas | ||
| libertas_tf | ||
| mwifiex | ||
| orinoco | ||
| p54 | ||
| prism54 | ||
| rt2x00 | ||
| rtl818x | ||
| rtlwifi | ||
| wl12xx | ||
| wl1251 | ||
| zd1211rw | ||
| adm8211.c | ||
| adm8211.h | ||
| airo_cs.c | ||
| airo.c | ||
| airo.h | ||
| at76c50x-usb.c | ||
| at76c50x-usb.h | ||
| atmel_cs.c | ||
| atmel_pci.c | ||
| atmel.c | ||
| atmel.h | ||
| Kconfig | ||
| mac80211_hwsim.c | ||
| mac80211_hwsim.h | ||
| Makefile | ||
| mwl8k.c | ||
| ray_cs.c | ||
| ray_cs.h | ||
| rayctl.h | ||
| rndis_wlan.c | ||
| wl3501_cs.c | ||
| wl3501.h | ||
| zd1201.c | ||
| zd1201.h | ||