在arm embedded-linux上的tiwi-r2 wl1271上设置softap:身份验证超时

时间:2013-11-27 15:55:27

标签: authentication timeout arm embedded-linux

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

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

该设备是TiWi-R2 module from TI。 临时和基础设施模式工作,但当我尝试设置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_supplicant(版本0.6.0),笔记本电脑上有wpa_supplicant 1.0的Ubuntu 13.04。这让我觉得hostapd不会通知客户该关联是否成功。

我也无法从任何其他设备连接到softap。我试过Android 4.4和iOS 7.0.4

我也尝试了wpa2配置和标准打开configuration files from TI,但没有任何效果。

修改: 我不知道我会把整个社区都归咎于这个......我已经升级到TiWi-BLE模块,TiWi-R2的官方继任者,但还没有成功。

我发现一个帖子有同样的问题,但没有解决方案here

修改: 我通过使用内核3.12.0解决了这个问题,但没有出现此问题。在我看来问题就在于内核。我会暂时不回答这个问题,万一有人可以帮忙看看。

1 个答案:

答案 0 :(得分:0)

我切换到了更新的内核。当时它是3.13.0-next,一个没有官方发布的内核,但由于它完美运行,我保留了它。