Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
通过客户端wpa_cli来看连接过程,framework也是大同小异,过程大概是
ADD_NETWORK -> SET_NETWORK -> ENABLE_NETWORK
命令操作:
root@rk3288:/ # wpa_cli
wpa_cli v2.5-devel-6.0.1
Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Using interface 'wlan0'
Interactive mode
IFNAME=wlan0 <3>CTRL-EVENT-SCAN-STARTED
IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
> IFNAME=wlan0 ADD_NETWORK
4
> IFNAME=wlan0 SET_NETWORK 4 ssid "Kris"
OK
> IFNAME=wlan0 SET_NETWORK 4 key_mgmt WPA-PSK
OK
IFNAME=wlan0 <3>CTRL-EVENT-SCAN-STARTED
IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
> IFNAME=wlan0 SET_NETWORK 4 psk "20122008"
OK
> IFNAME=wlan0 ENABLE_NETWORK 4
OK
上述命令注意事项:
1. Settings中要使能无线网络,因为wpa_cli不负责驱动及相应固件加载。
2. Settings中的无线网络不能工作,否则会冲突
3. wpa_cli和WifiService可以同时存在(WAPS可以支持多个client),不过不能同时工作,意思是不能同时使能两个wifi网络,只要不操作WifiService,就不会影响wpa_cli
事件接收函数:
在《