//zz//#######################################################################
zz-嵌入式linux-wifi-client连接查询配置150210
zz-Write:
@2015-2-4 22:11:14
@2015-2-10 23:37:38
@
REF:
linux连接无线网络之wpa_cli,wpa_supplicant
http://blog.chinaunix.net/uid-26585427-id-4034213.html
总结linux无线命令wpa
http://no001.blog.51cto.com/1142339/457523
查找出服务器无线网络速度、信号强度等
http://blog.csdn.net/kumu_linux/article/details/7640633
KeyWord:
cat /proc/net/wireless
wpa_supplicant + wpa_cli
wpa_supplicant.conf
iwconfig wlan0
iwlist wlan0 ...
//zz//#######################################################################
1.
usb 8188eu 硬件及驱动使用:
插入 usb-wifi 模块,查看是否已检测到模块
# lsusb
驱动模块加载
# insmod 8188eu.ko
id 8179
查看网卡的名称及其状态
# cat /proc/net/wireless
确定是否有 wlan0
或用如下方式看
# ifconfig -a
# ifconfig wlan0
//zz//#######################################################################
2.
wpa_supplicant 在后台运行或作为守护进程daemon运行
可直接用配置文件中 ssid+密码 连路由器
亦可为 wpa_cli 提供服务,用 wpa_cli 完成配置及连接
wpa_supplicant 支持 WPA / WPA2 PSK 加密模式
配置文件 wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
1)
若无线路由器的ssid及密码使用 wpa_cli 命令配置,则只需要包含如上 ctrl_interface 这句就可以
*注意 /var/run/wpa_supplicant 是一个文件夹/路径名
若目录不存在,可以手动创建个
# mkdir -p /var/run/wpa_supplicant
2)
若使用 wpa_supplicant 程序后台启动,再用配置文件中 ssid+密码 连接无线路由器
ssid+密码 在配置文件中需如下写
network={
ssid="ap-name"
psk="12345678"
}
此时,连接无线路由器只需执行如下指令,在后台运行 wpa_supplicant 即可
可用如下三种方式
# wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant.conf -d &
# wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant.conf -dd &
# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf
& 表示后台执行, -d -dd 输出调试信息
-B 表示作为守护进程 Daemon 执行
接下来设置 ip 的方法同如下 3. 用 wpa_cli 是一样的
手动设置静态ip地址(注意要是在路由器的同一网段,且无IP冲突)
# ifconfig wlan0 192.168.1.55
或者 udhcpc 利用路由器 dhcp 分配的ip地址
# udhcpc -i wlan0
试试,可以 ping 通路由器,连接就ok
//zz//#######################################################################
3.
wpa_cli 使用命令参数配置,连接路由器
基于 wpa_supplicant 后台执行
连接路由器,设置ssid及密码,获取或手动设置ip地址
1)
启动 wpa_supplicant 程序(-B守护进程 或 &后台执行)
配置文件如 2-1) 中所说,只需配置 ctrl_interface 参数指定目录
# wpa_supplicant -B -i wlan0 -D wext -c /etc/wpa_supplicant.conf
-B daemon模式
-i 无线网卡名
-D 驱动类型
-c 配置文件目录
2)
使用 wpa_cli 命令来配置无线网络的连接
需要先 ps 看下 wpa_supplicant 确实以守护进程Daemon的方式在后台运行
# wpa_cli -i wlan0 scan
# wpa_cli -i wlan0 scan_result
# wpa_cli -i wlan0 add_network
获取一个网络号 id,若未连过,第一次获取的是0,一次递增
假定这里返回/输出的是0
# wpa_cli -i wlan0 set_network 0 ssid '"ap-name"'
# wpa_cli -i wlan0 set_network 0 psk '"12345678"'
设置要连接的无线路由器wifi的 ssid 及密码
*特别注意这里要使用'""',即单引号里面再双引号的方式来设置
*而如果使用 wpa_cli -i wlan0 命令进入 wpa_cli 子命令 > 中配置的时候,只要加 "" 双引号就可以
# wpa_cli -i wlan0 select 0
# wpa_cli -i wlan0 enable_network 0
使能就ok,连上了的话,若ip设置正确,则可以ping通过路由器及其他电脑等设备额
###############################
注意:
对网络号 id 的使用,有如下增删成对的命令
enable_network disable_network
断开的顺序是先 disable 再 remove
add_network remove_network
如果多次 add_network,返回的就不一定是0了
此时使用 remove_network $id 就可以将这个 $id 网络号空出来供使用
remove之前记得 disable 先
disconnect
###############################
另外:
如果只有一个无线网卡,可以省略 -i wlan0
# wpa_cli -i wlan0
执行此命令,进入 wpa_cli 的子命令模式
此时命令提示符变为 >
如上所有的配置命令,在 > 模式下,省略 wpa_cli -i wlan0 这一段即可,后面的一模一样
特殊的就是 set_network 里面 ssid 及 密码psk 设置,在子命令模式,只需""双引号即可
3)
设置 wlan0 的ip地址
手动设置静态ip地址
# ifconfig wlan0 192.168.1.55
利用路由器 dhcp 分配的ip地址
# udhcpc -i wlan0
//zz//#######################################################################
4.
查看无线网络 wifi 频段,网络速度,信号强度等信息
有多种方法
1)
直接查看 wireless 文件内容
其中的 link quality 为连接可靠性,一般为95~100
level 为信号强度,大概在 -50~-80 dBm,绝对值越小说明信号越强,一般显示为 60 左右
noise 为噪声,越小越好,一般为0
# cat /proc/net/wireless
# watch -n 1 cat /proc/net/wireless
使用 watch 动态查看,每个一秒刷新一次, Ctrl+C 退出
2)
# iwconfig
# iwconfig wlan0
3)
# iwlist wlan0 ...
带有很多参数,详细查看用这个命令工具
本文介绍在嵌入式Linux环境下如何配置Wi-Fi连接,包括使用wpa_supplicant和wpa_cli工具进行网络配置的过程,以及如何查看无线网络的速度和信号强度。

3550

被折叠的 条评论
为什么被折叠?



