Yocto i.MX6 (TQIMX6) (03) : wifi网卡的相关工具wpa_supplicant与dhcp

加密与认证

无线网卡驱动起来之后,还需要在用户态的一些程序支持,从而可以寻找热点并连接热点,访问网络。wifi连接时候的有出于两个方面的考虑:

  1. 连接认证
  2. 传输数据的加密

出现了不同的标准,这些认证/加密常见的有下面这些:

  1. open(即不加密)
  2. WEP(WEP)
  3. WPA(TKIP)
  4. WPA2(AES)

加密认证工具

而针对不同的认证/加密就有不同的软件来辅助我们wifi设备的认证/连接:

  1. iw: 针对open, WEP
  2. wpa_supplicant:可以用于上面四种认证

wpa_supplicant的编译

直接在Yocto中用bitbake编译即可,参考我以前的博客:Yocto tips (11): Yocto如何往最终的rootfs中添加软件

wpa_supplicant共有三个工具集:

  1. wpa_cli:wpa命令行,query current status, change configuration, trigger events, and   request interactive user input
  2. wpa_passphrase:Generate a WPA PSK from an ASCII passphrase for a SSID
  3. wpa_supplicant :一般作为后台程序使用,前台程序可以使用前面说到的wpa_cli

这些工具的作用与使用可以查看man手册。


配置并连接一个wifi热点

首先是需要创建文件夹

  1. mkdir /var/run/wpa_supplicant  

用文件存储配置interface等信息

热点信息如下:

配置信息如下:
  1. ctrl_interface=/var/run/wpa_supplicant  # 一个目录,用于wpa_supplicant和wpa_cli的socket通信  
  2. network={  
  3.         ssid="XXXX"  
  4.         proto=WPA  # proto: list of accepted protocols, 可取WPA,RSN If not set, this defaults to: WPA RSN  
  5.         key_mgmt=WPA-PSK # 认证方式 If not set, this defaults to: WPA-PSK WPA-EAP  
  6.         pairwise=TKIP    # If not set, this defaults to: CCMP TKIP  
  7.         group=TKIP       # If not set, this defaults to: CCMP TKIP WEP104 WEP40   
  8.         psk="XXXYYY" #密码  
  9. }  


然后我们可以将此配置文件放置到/etc/XXX.conf  

配置与使用wlan

然后以Background(后台daemon)运行wpa_supplicant:

  1. wpa_supplicant -B -c /etc/XXX.conf  -iwlan0  

运行结果如下:

然后查看状态

  1. wpa_cli -iwlan0 status  // 查看状态  


如果是scanning状态,那么我们可以使用iw命令来查看是否有我们需要的热点:

  1. root@imx6qsabresd:~# iw dev wlan0 scan  
  2. BSS 80:89:17:e4:49:e4(on wlan0)  
  3.         TSF: 1475597209984 usec (17d, 01:53:17)  
  4.         freq: 2462  
  5.         beacon interval: 100 TUs  
  6.         capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)  
  7.         signal: -45.00 dBm  
  8.         last seen: 180 ms ago  
  9.         Information elements from Probe Response frame:  
  10.         SSID: ruishanghua  
  11.         Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0   
  12.         DS Parameter set: channel 11  
  13.         ERP: <no flags>  
  14.         Extended supported rates: 24.0 36.0 48.0 54.0   
  15.         HT capabilities:  
  16.                 Capabilities: 0x106e  
  17.                         HT20/HT40  
  18.                         SM Power Save disabled  
  19.                         RX HT20 SGI  
  20.                         RX HT40 SGI  
  21.                         No RX STBC  
  22.                         Max AMSDU length: 3839 bytes  
  23.                         DSSS/CCK HT40  
  24.                 Maximum RX AMPDU length 65535 bytes (exponent: 0x003)  
  25.                 Minimum RX AMPDU time spacing: No restriction (0x00)  
  26.                 HT RX MCS rate indexes supported: 0-15  
  27.                 HT TX MCS rate indexes are undefined  
  28.         HT operation:  
  29.                  * primary channel: 11  
  30.                  * secondary channel offset: below  
  31.                  * STA channel width: any  
  32.                  * RIFS: 0  
  33.                  * HT protection: 20 MHz  
  34.                  * non-GF present: 0  
  35.                  * OBSS non-GF present: 0  
  36.                  * dual beacon: 0  
  37.                  * dual CTS protection: 0  
  38.                  * STBC beacon: 0  
  39.                  * L-SIG TXOP Prot: 0  
  40.                  * PCO active: 0  
  41.                  * PCO phase: 0  
  42.         RSN:     * Version: 1  
  43.                  * Group cipher: CCMP  
  44.                  * Pairwise ciphers: CCMP  
  45.                  * Authentication suites: PSK  
  46.                  * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)  
  47.         WPA:     * Version: 1  
  48.                  * Group cipher: CCMP  
  49.                  * Pairwise ciphers: CCMP  
  50.                  * Authentication suites: PSK  
  51.         WMM:     * Parameter version 1  
  52.                  * BE: CW 15-1023, AIFSN 3  
  53.                  * BK: CW 15-1023, AIFSN 7  
  54.                  * VI: CW 7-15, AIFSN 2, TXOP 3008 usec  
  55.                  * VO: CW 3-7, AIFSN 2, TXOP 1504 usec  


或者对SSID过滤查看:

  1. root@imx6qsabresd:~# iw dev wlan0 scan | grep SSID:  
  2.         SSID: ruishanghua  
  3.         SSID: ziroom101  
  4.         SSID: TPGuest_28A4  
  5.         SSID: TP-LINK_2CBE  
  6.         SSID: Tenda_13B190  
  7.         SSID: yun  
  8.         SSID: TP-LINK_FA6C  
  9.         SSID: TP-LINK_chj  

或者使用wap_cli来查看:

  1. root@imx6qsabresd:~# wpa_cli scan_results  
  2. Selected interface 'wlan0'  
  3. bssid / frequency / signal level / flags / ssid  
  4. 80:89:17:e4:49:e4       2462    -46     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      ruishanghua  
  5. bc:46:99:97:4b:cc       2462    -66     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      ziroom101  
  6. bc:46:99:99:fa:6c       2437    -68     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      TP-LINK_FA6C  
  7. ce:46:99:65:28:a4       2437    -71     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      TPGuest_28A4  
  8. fc:d7:33:35:2c:be       2412    -72     [ESS]   TP-LINK_2CBE  
  9. 8c:be:be:23:28:ba       2417    -64     [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]       yun  
  10. bc:46:99:65:28:a4       2437    -71     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      TP-LINK_chj  
  11. 80:89:17:fe:0c:a2       2412    -66     [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS]      TP-LINK_601  


Connected完成之后还需要dhcpc

然后使用dhcp来获取与设置IP与DNS(nameserver),以及gateway。关于IP,DNS与gateway的大概作用如下:

  1. IP:在一个局域网内找到一个主机需要的地址
  2. DNS: 域名解析服务器,与IP对应的域名解析,将域名解析成IP
  3. Gateway:如果信息要传到这个局域网外面,应该从哪个地址去转发

下面是使用busybox的udhcpc的结果:

可以看到在/etc/resolv.conf中的内容被配置好了:



然后就是联通测试:
ping 192.168.1.1


因为DNS与网管都配置好了,所以其实我们可以ping通外网了:


至此,我们就可以使用这个wlan了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值