[AndroidTips]用wpa_cli 连接无线网络

本文详细介绍了如何使用wpa_cli程序连接无线网络的方法,包括启动wpa_supplicant及wpa_cli、设置网络参数、启用网络等步骤。此外,还提供了Android手机中svc命令的使用教程,涵盖数据开关、WiFi开关等功能。
  • 用wpa_cli 连接无线网络

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 ,然后输入这些命令做成在快捷方式放在桌面,跟那些开关软件一样方便使用。
<think>好的,我现在需要回答用户的问题:“mt7981 wifi 如何使用wpa_cli连接wifi”。首先,我需要回忆一下wpa_cli的基本用法以及针对mt7981的可能注意事项。 首先,用户可能使用的是支持mt7981芯片的设备,比如某些Linux系统的开发板或路由器。wpa_cli是用于与wpa_supplicant交互的命令行工具,通常用于配置和管理Wi-Fi连接。 步骤可能包括:确认无线接口名称(比如wlan0),启动wpa_supplicant服务(如果未启动),使用wpa_cli连接到该接口,然后通过命令添加网络配置,设置SSID和密码,最后连接。 需要注意的是,mt7981可能需要特定的驱动支持,确保驱动已正确加载。另外,wpa_supplicant的配置文件可能需要正确设置,比如使用wpa_supplicant.conf指定驱动(nl80211)。 可能的步骤分解: 1. 确认无线接口:使用`iw dev`查看接口名称,比如wlan0。 2. 启动wpa_supplicant(如果未运行):可能需要指定配置文件,例如`wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B`,其中配置文件中驱动应为nl80211(mt7981通常使用此驱动)。 3. 连接wpa_cli:运行`wpa_cli -i wlan0`进入交互模式。 4. 在wpa_cli中添加网络:使用`add_network`获取网络ID(比如0)。 5. 设置SSID:`set_network 0 ssid "你的SSID"`。 6. 设置密码(WPA/WPA2):`set_network 0 psk "你的密码"`。 7. 启用网络:`enable_network 0`。 8. 检查连接状态:使用`status`命令查看是否已连接。 需要注意的问题:如果接口名称不是wlan0,需要替换;确保wpa_supplicant正确运行,没有其他进程占用接口;如果是WPA3,可能需要不同的设置,比如`set_network 0 key_mgmt SAE`等。 现在需要将这些步骤整理成清晰的回答,并确保用户能按照步骤操作。同时,最后需要生成3-5个相关问题。 </think> 使用 `wpa_cli` 连接 Wi-Fi(以 MT7981 芯片为例)的步骤如下(假设系统为 Linux 且已正确加载 MT7981 驱动): ### 1. 确认无线接口名称 首先通过 `iw dev` 命令查看无线接口名称(通常为 `wlan0`,MT7981 可能为 `wlan1` 等,根据实际输出为准): ```bash iw dev ``` ### 2. 启动/确认 wpa_supplicant 服务 若 `wpa_supplicant` 未运行,需启动并关联无线接口(需指定驱动为 `nl80211`,MT7981 通常使用此驱动): ```bash # 后台运行(-B 参数),指定接口和配置文件(若没有配置文件可临时创建) wpa_supplicant -i wlan0 -D nl80211 -c /etc/wpa_supplicant/wpa_supplicant.conf -B ``` > 若已有配置文件,确保文件中 `driver=nl80211`。 ### 3. 进入 wpa_cli 交互模式 通过 `wpa_cli` 连接到指定接口: ```bash wpa_cli -i wlan0 ``` ### 4. 添加并配置网络 在 `wpa_cli` 交互模式中执行以下命令: - **添加网络**(返回网络 ID,如 `0`): ```bash add_network ``` - **设置 SSID**(替换 `你的SSID` 为实际名称): ```bash set_network 0 ssid "你的SSID" ``` - **设置密码**(WPA/WPA2 加密时,替换 `你的密码` 为实际密码): ```bash set_network 0 psk "你的密码" ``` > 若为开放网络(无密码),需设置 `key_mgmt=NONE`: > ```bash > set_network 0 key_mgmt NONE > ``` ### 5. 启用网络并检查状态 - 启用网络(`0` 为步骤 4 中获取的网络 ID): ```bash enable_network 0 ``` - 查看连接状态(等待几秒后执行): ```bash status ``` 若输出 `wpa_state=COMPLETED` 且包含 `ssid` 和 `ip_address`,则连接成功。 ### 注意事项 - 若提示 `wpa_supplicant` 未运行,需先启动服务。 - MT7981 需确保驱动 `mt7981` 已加载(通过 `lsmod | grep mt7981` 检查)。 - 若为 WPA3 网络,需设置 `key_mgmt=SAE` 并可能需要额外配置(如 `set_network 0 ieee80211w 2`)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值