CamDroid连接WiFi
没有了GUI的支持,没有办法进入「设置」,「开启WiFi」选中,输入密码就自动连接上WiFi,需要按照Linux的方式或者Android的手动命令行方便连接WiFi了。
对于 Android来说,从上到下来讲,第一个跟WiFi有关的命令就是svc
了,以下是他们的使用方法:
svc wifi enable //打开wifi
svc wifi disable //关闭wifi
但是实际操作中发现系统中这个命令也裁掉了,看来是因为估计这个命令也只是和Android上层服务进行通讯来实现的功能,上层服务都没有了,这个命令自然也没有存在的必要了。
那么接下来需要试试ifconfig
,发现这个并不能查看出网卡,而我一般是使用busybox ifconfig
,需要先把busybox
装上。之前编译的有静态连接busybox
,直接通过U盘拷贝过来。再看网卡信息:
能看到网上信息,说明驱动是好的,这里就不用考虑驱动的问题了。下面就是如何启动它了。同时查看了CamDroid还保留了wpa_supplicant
,那么差不多还能使用NanoPC-T2(Android 5.1)手动开启 设置WiFi,熟悉wpa_supplicant工作原理的方法进行启动WiFi。
按照上面引用文章方法测试:
busybox ifconfig wlan0 up
start wpa_supplicant
测试结果是:能够将网卡up起来,但是不能start wpa_supplicant
将wpa_supplicant
启动起来,如果能启动起来就可以使用wpa_cli
了。或许是配置的问题,有待后续研究了。
连接无密码WiFi
连接带密码的需要使用到wpa_supplicant
,如果连接不带密码的WiFi,就比较简单了,先连接简单的无密码WiFi:
# 1.查看所有网络接口
busybox ifconfig -a
# 2.使用该网卡
busybox ifconfig wlan0 up
# 3.搜索AP 并记下ESSID这里以ChinaNet为例
iwlist wlan0 scan
# 4.连接无密码的ESSID,为了测试专门设置一个无密码的。
iwconfig wlan0 essid ChinaNet
# 5. 获取ip地址
dhcpd wlan0
# 6. 再看网卡状态,可以看到已经成功获取ip地址了。
busybox ifconfig
# 7. 先ping百度ip.(百度IP会变,最好查一下最新的)
ping 14.215.177.39
执行结果:
连接带密码WiFi
能连接不带密码的WiFi就说明驱动都正常了,下面来连接带密码的WiFi。
将类似这样的配置文件放到/data/misc/wifi/wpa_supplicant.conf
并修改权限
chown system:wifi /data/misc/wifi/wpa_supplicant.conf
chmod 660 /data/misc/wifi/wpa_supplicant.conf
wpa_supplicant.conf内容如下:
ctrl_interface=wlan0
update_config=1
device_name=wing_mbox203
manufacturer=unknown
model_name=SoftwinerEvb
model_number=SoftwinerEvb
serial_number=
device_type=10-0050F204-5
config_methods=physical_display virtual_push_button keypad
network={
ssid="xxxxxx"
psk="xxxxxxxx"
key_mgmt=WPA-PSK
priority=1
}
启动
ifconfig wlan0 up
start wpa_supplicant
注意:需要保证init.rc
中的wpa_supplicant
配置正确,确保不为热点(p2p)模式
。
搜索热点
wpa_cli -iwlan0
> SCAN
> SCAN_RESULTS
结果如下图:
连接
配置文件中已经配置好了WiFi名称和密码,这里直接使能即可。
wpa_cli -i wlan0 enable_network 0
dhcpcd wlan0
执行结果:
汇总 两步即可:
start wpa_supplicant
dhcpcd wlan0
# 配置DNS能ping通域名
setprop net.dns1 8.8.8.8
ping baidu.com
如果不想放配置文件可以如下:
# 拷贝配置文件并启动
cp /system/etc/wifi/wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf
start wpa_supplicant
# 添加网络并连接
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"name"'
wpa_cli -i wlan0 set_network 0 psk '"psk"'
wpa_cli -i wlan0 set_network 0 key_mgmt WPA-PSK
wpa_cli -i wlan0 enable_network 0
# 获取IP并设置DNS
dhcpcd wlan0
setprop net.dns1 8.8.8.8
ping baidu.com