免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9731 | 回复: 5
打印 上一主题 下一主题

[网络子系统] 无线配置struct cfg80211_ops调用问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-06-17 10:04 |只看该作者 |倒序浏览
小弟近日在调试wifi"身份认证出现问题"的BUG时,经过定位发现是static struct cfg80211_ops rtw_cfg80211_ops的成员函数add_key没有调用。但我搜索整个linux kernel3.0的代码都没找到。

想请高手指点下add_key到底是哪调用的。这个问题已搞了3天了,小弟不甚感激。

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
2 [报告]
发表于 2013-06-17 14:22 |只看该作者
回复 1# haotianmai


    你没有给出代码,与具体的情况描述,这个没有人能帮你。

论坛徽章:
0
3 [报告]
发表于 2013-06-17 15:50 |只看该作者
本帖最后由 haotianmai 于 2013-06-17 15:54 编辑

//变量定义在\linux3.0\drivers\net\wireless\rtl8188eu\os_dep\linux\ioctl_cfg80211.c
static struct cfg80211_ops rtw_cfg80211_ops = {
        .change_virtual_intf = cfg80211_rtw_change_iface,
        .add_key = cfg80211_rtw_add_key,
        .get_key = cfg80211_rtw_get_key,
        .del_key = cfg80211_rtw_del_key,
        .set_default_key = cfg80211_rtw_set_default_key,
        .get_station = cfg80211_rtw_get_station,
        .scan = cfg80211_rtw_scan,
        .set_wiphy_params = cfg80211_rtw_set_wiphy_params,
        .connect = cfg80211_rtw_connect,
        .disconnect = cfg80211_rtw_disconnect,
        .join_ibss = cfg80211_rtw_join_ibss,
        .leave_ibss = cfg80211_rtw_leave_ibss,
        .set_tx_power = cfg80211_rtw_set_txpower,
        .get_tx_power = cfg80211_rtw_get_txpower,
        .set_power_mgmt = cfg80211_rtw_set_power_mgmt,
        .set_pmksa = cfg80211_rtw_set_pmksa,
        .del_pmksa = cfg80211_rtw_del_pmksa,
        .flush_pmksa = cfg80211_rtw_flush_pmksa,
             .......
}

问题描述如下:
机顶盒(系统android 4.0)反复进行待机唤醒操作,会出现wifi显示断开,进入我的-设置页面无线连接提示“身份验证出现问题”
此时将wifi关闭,再重新开启。则连接成功。出现概率:4/20。

错误日志:
=>cfg80211_rtw_connect(netdev=e65bbc00)
privacy=1, key=  (null), key_len=0, key_idx=0
ssid=i.wlan0, len=7
bssid=70:56:81:c9:7d:0b
matched by bssid
rtw_cfg80211_set_wpa_version, wpa_version=2
rtw_cfg80211_set_auth_type, nl80211_auth_type=0
rtw_cfg80211_set_cipher, ucast=1, cipher=0xfac04
rtw_cfg80211_set_cipher, ucast=0, cipher=0xfac04
rtw_cfg80211_set_key_mgt, key_mgt=0xfac02
cfg80211_rtw_connect, ie_len=22
set wpa_ie(length:22):
0x30 0x14 0x01 0x00 0x00 0x0f 0xac 0x04
0x01 0x00 0x00 0x0f 0xac 0x04 0x01 0x00
0x00 0x0f 0xac 0x02 0x00 0x00 0x00 0x00
got wpa2_ie
Set SSID under fw_state=0x00000008
[by_bssid:0][assoc_ssid:i.wlan0][to_roaming:0] new candidate: i.wlan0(70:56:81:c9:7d:0b) rssi:-78
rtw_select_and_join_from_scanned_queue: candidate: i.wlan0(70:56:81:c9:7d:0b)
link to new AP
set ssid:dot11AuthAlgrthm=2, dot11PrivacyAlgrthm=4, dot118021XGrpPrivacy=4
<=cfg80211_rtw_connect, ret 0
link to new AP
issue_deauth to 70:56:81:c9:7d:0b
issue_auth
OnAuthClient
network.SupportedRates[0]=82
network.SupportedRates[1]=84
network.SupportedRates[2]=8B
network.SupportedRates[3]=96
network.SupportedRates[4]=0C
network.SupportedRates[5]=12
network.SupportedRates[6]=18
network.SupportedRates[7]=24
network.SupportedRates[8]=30
network.SupportedRates[9]=48
network.SupportedRates[10]=60
network.SupportedRates[11]=6C
bssrate_len = 12
cfg80211_rtw_change_station
OnAssocRsp
report_join_res(3)
rtw_joinbss_update_network
+rtw_update_ht_cap()
rtw_joinbss_update_stainfo
### Set STA_(0) info
rtw_cfg80211_indicate_connect(padapter=ea454000)
pwdev->sme_state(b)=1
pwdev->sme_state(a)=1
HW_VAR_BASIC_RATE: BrateCfg(0x15f)
cfg80211_rtw_change_station
cfg80211_rtw_change_station
WMM(0): 0, a42b
WMM(1): 0, a44f
WMM(2): 0, 5e4322
WMM(3): 0, 2f3222
cfg80211_rtw_change_station
HTOnAssocRsp
cfg80211_rtw_change_station
UpdateHalRAMask8188ESdio => mac_id:0, networkType:0x0b, mask:0x000fffff
  ==> rssi_level:0, rate_bitmap:0x000ff005
cfg80211_rtw_change_station
### MacID(0),Set Max Tx RPT MID(1)
### rtl8188e_set_FwMediaStatus_cmd: MStatus=1 MACID=0
rtl8188e_set_FwJoinBssReport_cmd mstatus(1)
HalDownloadRSVDPage(): There is an Adapter is sending beacon.
SetFwRsvdPagePkt
SetFwRsvdPagePkt: Set RSVD page location to Fw
rtl8188e_set_FwJoinBssReport_cmd: 1 Download RSVD success! DLBcnCount:1, poll:1
Set RSVD page location to Fw.
=>mlmeext_joinbss_event_callback
[HDMI-AUDIO] PCM trigger stop...
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!


正确日志:
[  138.035615] =>cfg80211_rtw_connect(netdev=e65d9400)
[  138.054231] privacy=1, key=  (null), key_len=0, key_idx=0
[  138.059676] ssid=i.wlan0, len=7
[  138.063055] bssid=70:56:81:c9:7d:0b
[  138.066558] matched by bssid
[  138.070961] rtw_cfg80211_set_wpa_version, wpa_version=2
[  138.070973] rtw_cfg80211_set_auth_type, nl80211_auth_type=0
[  138.070984] rtw_cfg80211_set_cipher, ucast=1, cipher=0xfac04
[  138.070993] rtw_cfg80211_set_cipher, ucast=0, cipher=0xfac04
[  138.071000] rtw_cfg80211_set_key_mgt, key_mgt=0xfac02
[  138.071009] cfg80211_rtw_connect, ie_len=22
[  138.071017] set wpa_ie(length:22):
[  138.071026] 0x30 0x14 0x01 0x00 0x00 0x0f 0xac 0x04
[  138.071034] 0x01 0x00 0x00 0x0f 0xac 0x04 0x01 0x00
[  138.071042] 0x00 0x0f 0xac 0x02 0x00 0x00 0x78 0x01
[  138.071055] got wpa2_ie
[  138.071108] Set SSID under fw_state=0x00000008
[  138.071130] [by_bssid:0][assoc_ssid:i.wlan0][to_roaming:0] new candidate: i.wlan0(70:56:81:c9:7d:0b) rssi:-90
[  138.071150] rtw_select_and_join_from_scanned_queue: candidate: i.wlan0(70:56:81:c9:7d:0b)
[  138.071186] link to new AP
[  138.072484] set ssid:dot11AuthAlgrthm=2, dot11PrivacyAlgrthm=4, dot118021XGrpPrivacy=4
[  138.072496] <=cfg80211_rtw_connect, ret 0
[  138.076965] cfg80211_rtw_change_station
[  138.077071] cfg80211_rtw_change_station
[  138.077140] cfg80211_rtw_change_station
[  138.537523] link to new AP
[  138.540303] issue_deauth to 70:56:81:c9:7d:0b
[  138.544695] issue_auth
[  138.549398] OnAuthClient
[  138.551987] network.SupportedRates[0]=82
[  138.555907] network.SupportedRates[1]=84
[  138.559825] network.SupportedRates[2]=8B
[  138.563762] network.SupportedRates[3]=96
[  138.567684] network.SupportedRates[4]=0C
[  138.571619] network.SupportedRates[5]=12
[  138.575537] network.SupportedRates[6]=18
[  138.579469] network.SupportedRates[7]=24
[  138.583409] network.SupportedRates[8]=30
[  138.587345] network.SupportedRates[9]=48
[  138.591279] network.SupportedRates[10]=60
[  138.595284] network.SupportedRates[11]=6C
[  138.599290] bssrate_len = 12
[  138.606494] OnAssocRsp
[  138.608893] report_join_res(14)
[  138.612101] rtw_joinbss_update_network
[  138.615854] +rtw_update_ht_cap()
[  138.619112] rtw_joinbss_update_stainfo
[  138.622875] ### Set STA_(0) info
[  138.626120] rtw_cfg80211_indicate_connect(padapter=e8810000)
[  138.631789] pwdev->sme_state(b)=1
[  138.635121] pwdev->sme_state(a)=1
[  138.639001] HW_VAR_BASIC_RATE: BrateCfg(0x15f)
[  138.643673] rtw_aes_decrypt:rx bc/mc packets,but didn't install group key!!!!!!!!!!
[  138.654325] WMM(0): 0, a42b
[  138.658641] WMM(1): 0, a44f
[  138.676931] cfg80211_rtw_change_station
[  138.682225] cfg80211_rtw_change_station
[  138.686183] cfg80211_rtw_change_station
[  138.707039] WMM(2): 0, 5e4322
[  138.721212] WMM(3): 0, 2f3222
[  138.724201] HTOnAssocRsp
[  138.750822] UpdateHalRAMask8188ESdio => mac_id:0, networkType:0x0b, mask:0x000fffff
[  138.750835]   ==> rssi_level:0, rate_bitmap:0x000ff005
[  138.764947] cfg80211_rtw_add_key(netdev=e65d9400), Adding key for 70:56:81:c9:7d:0b
[  138.781675] cipher=0xfac04
[  138.784425] key_len=0x10
[  138.786955] seq_len=0x6
[  138.789398] key_index=0
[  138.798336] ### MacID(0),Set Max Tx RPT MID(1)
[  138.808983] ### rtl8188e_set_FwMediaStatus_cmd: MStatus=1 MACID=0
[  138.818064] pairwise=1
[  138.820518] rtw_cfg80211_set_encryption
[  138.824362] rtw_cfg80211_set_encryption, : param->u.crypt.set_tx ==1
[  138.838691] rtl8188e_set_FwJoinBssReport_cmd mstatus(1)
[  138.851663]
[  138.851682]  ~~~~stastakey:unicastkey
[  138.857139] SetFwRsvdPagePkt
[  138.860661] SetFwRsvdPagePkt: Set RSVD page location to Fw
[  138.872894] rtw_cfg80211_set_encryption, ret=0
[  138.877551] cfg80211_rtw_set_default_key
[  138.886416] rtl8188e_set_FwJoinBssReport_cmd: 1 Download RSVD success! DLBcnCount:1, poll:1
[  138.912552] cfg80211_rtw_add_key(netdev=e65d9400), Adding key for   (null)
[  138.919473] cipher=0xfac04
[  138.925673] Set RSVD page location to Fw.
[  138.932586] =>mlmeext_joinbss_event_callback
[  138.942413] key_len=0x10
[  138.944964] seq_len=0x6
[  138.955881] key_index=2
[  138.958346] pairwise=0
[  138.967011] rtw_cfg80211_set_encryption
[  138.970973]
[  138.970977]  ~~~~stastakey:groupkey
[  138.975954] ==> rtw_set_key algorithm(4),keyid(2),key_mask(4)
[  138.997925] rtw_cfg80211_set_encryption, ret=0
[  139.018440] cfg80211_rtw_change_station
[  139.064295] rtw_android_priv_cmd: Android private cmd "BTCOEXMODE 1" on wlan0
[  139.094774] cfg80211_rtw_set_power_mgmt
[  140.601022] UpdateHalRAMask8188ESdio => mac_id:0, networkType:0x0b, mask:0x000fffff
[  140.601033]   ==> rssi_level:3, rate_bitmap:0x000ff005
[  141.962174] reg=[23],val=24,mask=63,line=60
[  143.961157] reg=[23],val=16,mask=63,line=60
[  144.509468] cfg80211_rtw_set_power_mgmt
[  144.513964] rtw_android_priv_cmd: Android private cmd "BTCOEXMODE 2" on wlan0
[  144.817772] rtw_android_priv_cmd: Android private cmd "SCAN-ACTIVE" on wlan0
[  144.858759] rtw_android_priv_cmd: Android private cmd "SCAN-PASSIVE" on wlan0
[  146.201633] survey done event(1d)
[  146.265726] reg=[23],val=28,mask=63,line=60



   

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
4 [报告]
发表于 2013-06-17 18:49 |只看该作者
回复 3# haotianmai


    其它我不知道。最大的可能,与你在SUSPEND之后,没有调用正确的初始化相关,但这个正确的初始化,要APPLICATION,与KERNEL配合的,现在我不能确定,是你哪一层没有正确初始化。你第一步检查,KERNEL 在SUSPEN RESUME的操作与INIT DEINIT是不是相似,如果这个相似,再检查APPLICATION是否也是正确的操作了。感觉最大的可能还在APPLICATION这一层。因为这个认证的KEY,是APPLICATION进行设置的。

论坛徽章:
0
5 [报告]
发表于 2013-06-17 19:14 |只看该作者
小弟非常感谢指导。

我这里没有application层代码,只能检查kernel那一步了。

论坛徽章:
0
6 [报告]
发表于 2013-06-17 21:37 |只看该作者
囧 刚发现我这里也有android自带的apps源代码, 也包括wifi的设置应用程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP