android之wpa_cli 命令连接无线网络 无需界面选择
2014-04-12 22:22
288 查看
用wpa_cli 连接无线网络
# cp /media/sd8686.bin /lib/firmware/sd8686.bin# cp /media/sd8686_helper.bin /lib/firmware/sd8686_helper.bin
# dpkg -i kernel-smartq5-modules_2.6.24.7-smartq5-050509_all.deb
# insmod sd8686.ko
# ifconfig -a
# chmod 0660 /data/misc/wifi/wpa_supplicant.conf
* The content of wpa_supplicant.conf
----
update_config=1
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=1010
----
# /system/bin/wpa_supplicant -Dwext -iwlan0 -c /data/misc/wifi/wpa_supplicant.conf
# /system/bin/wpa_cli -i wlan0 -p /data/system/wpa_supplicant
> status
INACTIVE
> help
> add_network
> set_network 0 ssid "NETGEAR"
> set_network 0 key_mgmt NONE
> set_network 0 priority 0
> list_network
> save_config
> enable_network 0
bssid=00:24:b2:5b:5b:0a
ssid=NETGEAR
….
wpa_state=COMPLETED
=================================================================================================================
wpa_supplicant软件包中包含客户端程序 wpa_cli,通过它可以直接连接无线网络,不需要通常的无线网络配置文件的方式,这在某些特殊情况下是有用的。
下面通过一个例子来说明wpa_cli 的使用:
1、启动wpa_supplicant
以daemon方式启动wpa_supplicat:
wpa_supplicant -B -i wlan0 -D wext -c /etc/wpa_supplicant.conf
其中的wlan0为系统内的无线网卡的设备名。配置文件是/etc/wpa_supplicant.conf,其中不包含要连接的无线网络的配置信息。最简单的配置文件只包含一句配置语句即可:
ctrl_interface=/var/run/wpa_supplicant
2、启动wpa_cli
wpa_cli -i wlan0
如果系统内只有一个无线网卡,则-i wlan0参数可省略。程序启动后,进入交户操作状态,可接受用户的命令输入。下面的命令都是在这个交互操作模式下输入的。
3、增加网络,并设置网络参数
可以先用status命令查讯网络连接状态,应该返回
wpa_state=DISCONNECTED
用下面的命令增加网络,并设置相应的参数
add_network
该命令会返回新增加的网络的ID,一般是0 。下面的命令的第一个参数就是网络的ID。
set_network 0 ssid "wyk"
wyk是无线网络名称,要用引号围起来。
set_network 0 psk "password"
password代表网络的密码,也要用引号围起来。
有这两个网络参数一般就够了。
4、启用网络
enable_network 0
命令执行后,wpa_cli 会输出连接的过程信息。如果一切正确,则最后后输出:
<2>CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completed (reauth) [id=0 id_str=]
5、获取IP地址
用
quit
命令退出wpa_cli 。然后用
dhclient wlan0
命令获取IP地址。
Android手机WIFI数据开关命令svc教程
svc命令
这个脚本在/system/bin目录下,这个命令可以用来控制电源管理,wifi开关,数据开关(就是上网流量)
svc power stayon [true|false|usb|ac]
这个是控制usb插入的时候屏幕是否常亮,这个有地方设置,就不多说了
svc data disable
这个命令可以关闭数据连接,就是上网流量,大家都知道控制上网的开关很多,但是大都是通过在apn上的接入点加后缀来实现的,但是这个命令不会更改apn的任何设置,直接在底层关闭数据连接。 应该是最彻底的,而且又不影响apn的设置。这个跟apndroid有什么区别,apndroid是在关闭上网数据的时候,已经在下载的连接可能不会被强制关闭(这个在apndroid自己的说明中也有提到)。比如你在下载一个10M的电影,下载了1M,不响下载了。用apndroid关闭连接,可能这个下载还会继续,不会马上停掉。但是用这个命令,绝对毫不留情的咔嚓掉。
svc data enable
这个是打开上网数据连接,跟上一个命令是相反的。
svc data prefer
这个命令是控制3g数据连接比wifi优先。我们都知道,正常情况下,有wifi的时候,不会用到3g连接。但是这个命令是相反,有3g的话先用3g流量,没有3g的时候采用wifi.我想大家不会这么傻吧,所以这个命令没什么用。
svc wifi disable
关闭wifi 连接
svc wifi enable
开启wifi连接
svc wifi prefer
设置wifi优先,跟5是相反的。
上面的命令都要在shell中执行,需要root。大家可以用gscript ,然后输入这些命令做成在快捷方式放在桌面,跟那些开关软件一样方便使用。
相关文章推荐
- 使用wpa_cli工具连接无线网络
- 用wpa_cli 连接无线网络
- wpa_cli 命令连接网络过程
- 用wpa_cli 连接无线网络
- 用wpa_cli 连接无线网络
- 用wpa_cli 连接无线网络
- 用wpa_cli 连接无线网络
- 用wpa_cli 连接无线网络
- Android Wi-Fi 通过wpa_cli 命令连接到网络过程
- 用wpa_cli 连接无线网络
- 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令代码改写
- 【Android进阶】判断网络连接状态并自动界面跳转
- wpa_cli P2P 连接相关调试命令
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- 【转】Android 下使用wpa_cli 连接 wifi
- 无线或网络未连接时跳到设置界面
- [Android实例] 判断网络是否连接,然后选择网络类型(比如wifi等)来连接网络
- 【Android进阶】判断网络连接状态并自动界面跳转
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面