zz-嵌入式linux-wifi-client连接查询配置150210

本文介绍在嵌入式Linux环境下如何配置Wi-Fi连接,包括使用wpa_supplicant和wpa_cli工具进行网络配置的过程,以及如何查看无线网络的速度和信号强度。

//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 ...

    带有很多参数,详细查看用这个命令工具




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值