arm嵌入式linux上tiwi-r2 wl1271上的setup softap:身份验证超时



我有一个运行的嵌入式arm linux设备

kernel 2.6.39.4 
hostapd 2.0
wl1271 and wl1271_sdio modules loaded (no compat drivers)

该设备是TI的TiWi-R2模块。Adhoc和Infrastructure模式可以工作,但当我尝试设置softap时,我遇到了问题:我通过将hostapd.conf的内容设置为:,创建了一个没有加密的工作站

interface=wlan0
driver=nl80211
channel=1
hw_mode=g
ssid=mya

正在启动的固件:

[ 6486.330000] wl1271: wlan power up
[ 6486.660000] booting firmware ti-connectivity/wl1271-fw-ap.bin
[ 6486.810000] wl1271: firmware booted (Rev 6.2.1.0.54)

SSID正在广播,其他设备可以看到它,但无法关联。在Ubuntu笔记本电脑上,在尝试连接失败后,我从dmesg:得到了以下信息

[  548.289020] wlan0: authenticate with 00:xx:yy:zz:ww:qq
[  548.300588] wlan0: send auth to 00:xx:yy:zz:ww:qq (try 1/3)
[  548.504059] wlan0: send auth to 00:xx:yy:zz:ww:qq (try 2/3)
[  548.708059] wlan0: send auth to 00:xx:yy:zz:ww:qq (try 3/3)
[  548.912056] wlan0: authentication with 00:xx:yy:zz:ww:qq timed out

关联失败后,笔记本电脑将连接到另一个先前配置的接入点。在嵌入式设备上用-dd选项启动hostapd,我可以得到一些调试消息,但我不太理解。这是笔记本电脑连接时hostapd侧的输出:

wlan0: Event RX_MGMT (20) received
mgmt::auth
authentication: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=1 status_code=0 wep=0
  New STA
ap_sta_add: register ap_handle_timer timeout for aa:bb:cc:dd:ee:ff (300 seconds - ap_max_inactivity)
wlan0: STA aa:bb:cc:dd:ee:ff IEEE 802.11: authentication OK (open system)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-AUTHENTICATE.indication(aa:bb:cc:dd:ee:ff, OPEN_SYSTEM)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DELETEKEYS.request(aa:bb:cc:dd:ee:ff)
authentication reply: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=2 resp=0 (IE len=0)
wlan0: Event RX_MGMT (20) received
mgmt::auth
authentication: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=1 status_code=0 wep=0
wlan0: STA aa:bb:cc:dd:ee:ff IEEE 802.11: authentication OK (open system)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-AUTHENTICATE.indication(aa:bb:cc:dd:ee:ff, OPEN_SYSTEM)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DELETEKEYS.request(aa:bb:cc:dd:ee:ff)
authentication reply: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=2 resp=0 (IE len=0)
wlan0: Event RX_MGMT (20) received
mgmt::auth
authentication: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=1 status_code=0 wep=0
wlan0: STA aa:bb:cc:dd:ee:ff IEEE 802.11: authentication OK (open system)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-AUTHENTICATE.indication(aa:bb:cc:dd:ee:ff, OPEN_SYSTEM)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DELETEKEYS.request(aa:bb:cc:dd:ee:ff)
authentication reply: STA=aa:bb:cc:dd:ee:ff auth_alg=0 auth_transaction=2 resp=0 (IE len=0)

过了一段时间,系统似乎因为不活动而解除了与笔记本电脑的关联:

ap_handle_timer: aa:bb:cc:dd:ee:ff flags=0x1 timeout_next=0
wlan0: Timeout, sending disassociation info to STA aa:bb:cc:dd:ee:ff
ap_handle_timer: register ap_handle_timer timeout for aa:bb:cc:dd:ee:ff (1 seconds - AP_DISASSOC_DELAY)
ap_handle_timer: aa:bb:cc:dd:ee:ff flags=0x1 timeout_next=1
wlan0: Timeout, sending disassociation info to STA aa:bb:cc:dd:ee:ff
wlan0: STA aa:bb:cc:dd:ee:ff IEEE 802.11: disassociated due to inactivity
ap_handle_timer: register ap_handle_timer timeout for aa:bb:cc:dd:ee:ff (1 seconds - AP_DEAUTH_DELAY)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DISASSOCIATE.indication(aa:bb:cc:dd:ee:ff, 4)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DELETEKEYS.request(aa:bb:cc:dd:ee:ff)
ap_handle_timer: aa:bb:cc:dd:ee:ff flags=0x1 timeout_next=2
wlan0: Timeout, sending deauthentication info to STA aa:bb:cc:dd:ee:ff
wlan0: STA aa:bb:cc:dd:ee:ff IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DEAUTHENTICATE.indication(aa:bb:cc:dd:ee:ff, 2)
wlan0: STA aa:bb:cc:dd:ee:ff MLME: MLME-DELETEKEYS.request(aa:bb:cc:dd:ee:ff)
ap_free_sta: cancel ap_handle_timer for aa:bb:cc:dd:ee:ff

我在bugzilla中看到了一篇类似的帖子,但这篇帖子很旧,属于wpa_pplient(版本0.6.0),笔记本电脑上有Ubuntu 13.04和wpa_pplint 1.0。这让我觉得,不知何故,hostapd没有通知客户端关联成功。

我也无法从任何其他设备连接到软地图。我尝试了Android 4.4和iOS 7.0.4

我还尝试了wpa2配置和TI的标准开放配置文件,但都没有成功。

编辑:我没想到我会在这件事上向整个社区施压。。。我已经升级到TiWi-BLE模块,这是TiWi-R2的官方继任者,但还没有进一步升级。

我在这里找到了一个有同样问题但没有解决方案的帖子。

编辑:我已经通过使用3.12.0内核解决了这个问题,其中没有出现这个问题。在我看来问题出在内核上。我会暂时不回答这个问题,以防有人看到它。

我切换到了一个更新的内核。当时它是3.13.0-next,一个没有正式发布的内核,但由于它运行得很好,我一直保持这个版本。

最新更新