BeagleBone Black使用无线网卡通过WIFI联网

按照惯例,还是先将要感谢的兄弟姐妹感谢完了再写正文。感谢CSDN论坛、EEWorld论坛上的兄弟姐妹,请原谅我在事后记录的时候忘了你们的大名,如果对大家有用,是你们的功力深厚,如果是对大家无用,原谅我的才疏学浅!微笑

BBB上有USB Host,因而使用无线网卡是可以通过WIFI上网的。WIFI的加密方式有多种,无线网卡本身的控制芯片也有多种,因此,BBB通过无线上网也有要注意的地方。

以下操作的前提是:你已经可以控制你的BBB,无论是通过以太网或USB OTG的SSH,还是串口。我的无线路由采用WPA2-PSK加密方式,这是现在最常用也是较安全的一个模式,其它的加密方式不详说,用的少。需要的话请自行度娘。

一、无线网卡

无线网卡的控制芯片主流的就那么几种,但不管是BBB的angstrom还是网上的已编译好的debian、ubuntu的img,内核主要是linux 3.8.13(最常见),因此支持的无线网卡种类有限,具体可参考BBB的官方WIKI(http://eewiki.net/display/linuxonarm/BeagleBone+Black)。

需要提的是大家常用的USB无线网卡中,TPLink,水星、能达等,水星的芯片比较特殊,3.8的内核不能够原生支持,若想使用,请自行编译其驱动,并加入内核。从初学者来说,不建议使用,当然可以用,可能需要至少两篇blog才能说清楚,这个问题我们以后再说。

我使用的是一款以前老机上用的一个能达的USB无线网卡,控制芯片是RT5370系列,3.8内核本身就带它的驱动。

二、查询是否支持USB无线网卡

上电以后,插入无线网卡,稍等片刻(像我这样的懒人是直接插上以后,再通电,这个就没有拔下来过,吐舌头)输入以下命令,查询USB设备,可以看到已经挂载的USB设备。

1:  debian@arm:~$ sudo lsusb
2:  Bus 001 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
3:  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
4:  Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如果你看到以上类似的信息,wireless Adapter,恭喜你,你的网卡是支持的,并且已挂载。
三、配置无线网卡

1、安装无线上网工具

1:  debian@arm:~$ sudo aptitude install wireless-tools
2:  No packages will be installed, upgraded, or removed.
3:  0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4:  Need to get 0 B of archives. After unpacking 0 B will be used.

 

当然,我已安装,故而显示不需再安装。

2、查询无线网卡是否正常

如果无线网卡正常,会生成相应的节点,wlan0。查询便知:

 1:  debian@arm:~$ sudo ifconfig -a
 2:  eth0      Link encap:Ethernet  HWaddr c8:a0:30:b0:16:72  
 3:  UP BROADCAST MULTICAST  MTU:1500  Metric:1
 4:  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 5:  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 6:  collisions:0 txqueuelen:1000 
 7:             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 8:  Interrupt:56 
 9:   
10:            lo        Link encap:Local Loopback  
11:            inet addr:127.0.0.1  Mask:255.0.0.0
12:            inet6 addr: ::1/128 Scope:Host
13:            UP LOOPBACK RUNNING  MTU:65536  Metric:1
14:            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
15:            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
16:  collisions:0 txqueuelen:0 
17:             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
18:   
19:             usb0      Link encap:Ethernet  HWaddr 62:91:b6:06:4e:51  
20:             inet addr:192.168.7.2  Bcast:192.168.7.3  Mask:255.255.255.252
21:             UP BROADCAST MULTICAST  MTU:1500  Metric:1
22:             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
23:             TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
24:  collisions:0 txqueuelen:1000 
25:             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
26:   
27:             wlan0     Link encap:Ethernet  HWaddr c8:3a:35:c4:04:8e  
28:             inet addr:192.168.100.102  Bcast:192.168.100.255  Mask:255.255.255.0
29:             inet6 addr: fe80::ca3a:35ff:fec4:48e/64 Scope:Link
30:             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
31:             RX packets:3711 errors:0 dropped:0 overruns:0 frame:0
32:             TX packets:2784 errors:0 dropped:0 overruns:0 carrier:0
33:  collisions:0 txqueuelen:1000 
34:             RX bytes:1648932 (1.5 MiB)  TX bytes:440600 (430.2 KiB)

 

我的已配置好,故有IP,如果无线网卡正常,是可以看到wlan0的!先不管有没有IP。

三、启用你的wlan0节点

 1:  debian@arm:~$ sudo ifconfig wlan0 up
 2:  [sudo] password for debian: 
 3:  [ 9228.336381] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
 4:  debian@arm:~$ [ 9235.758646] wlan0: authenticate with a8:57:4e:c8:f8:22
 5:  [ 9235.795149] wlan0: send auth to a8:57:4e:c8:f8:22 (try 1/3)
 6:  [ 9235.803004] wlan0: authenticated
 7:  [ 9235.812066] wlan0: associate with a8:57:4e:c8:f8:22 (try 1/3)
 8:  [ 9235.823099] wlan0: RX AssocResp from a8:57:4e:c8:f8:22 (capab=0x431 status=0 aid=4)
 9:  [ 9235.839171] wlan0: associated
10:  [ 9235.842480] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

 

如果看到ready,你成功的启用了你的无线网卡。

四、扫描你的无线网络

1:  debian@arm:~$ sudo iwlist wlan0 scan
2:  wlan0 Scan completed : Cell 01 - Address: 9C:21:6A:DA:A2:8A Channel:1 Frequency:2.412 GHz (Channel 1) Quality=31/70 Signal level=-79 dBm Encryption key:on ESSID:"TP-LINK_DAA28A" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=0000002cf8ad5180 Extra: Last beacon: 1580ms ago IE: Unknown: 000E54502D4C494E4B5F444141323841 IE: Unknown: 010882848B960C121824 IE: Unknown: 030101 IE: Unknown: 2A0100 IE: Unknown: 32043048606C IE: Unknown: 2D1A6E1003FFFF000000000000000000000000000000000000000000 IE: Unknown: 3D1601051100000000000000000000000000000000000000 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: WPA Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00 IE: Unknown: DD05000AEB0100 IE: Unknown: DD8E0050F204104A0001101044000102103B00010310470010000000000000100000009C216ADAA28A1021000754502D4C494E4B10230009544C2D57523834324E10240003342E3010420007312E312E312E331054000800060050F204000110110018576972656C657373204E20526F757465722057523834324E100800022288103C0001011049000600372A000120 Cell 02 - Address: A8:57:4E:C8:F8:22 Channel:1 Frequency:2.412 GHz (Channel 1) Quality=70/70 Signal level=-25 dBm Encryption key:on ESSID:"Sys_TP_Net" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=0000002d0d14c180 Extra: Last beacon: 357ms ago IE: Unknown: 000A5379735F54505F4E6574 IE: Unknown: 010882848B960C121824 IE: Unknown: 030101 IE: Unknown: 2A0100 IE: Unknown: 32043048606C IE: Unknown: 2D1A6E1003FFFF000000000000000000000000000000000000000000 IE: Unknown: 3D1601050000000000000000000000000000000000000000 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: WPA Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00 IE: Unknown: DD05000AEB0100 IE: Unknown: DD8E0050F204104A0001101044000102103B0001031047001000000000000010000000A8574EC8F8221021000754502D4C494E4B10230009544C2D57523834324E10240003342E3010420007312E312E312E331054000800060050F204000110110018576972656C657373204E20526F757465722057523834324E100800022288103C0001011049000600372A000120
3:  

 

你应该看到你的无线网络了吧? 

五、生成密钥文件
生成密匙文件/etc/wpa_supplicant.conf 连接的无线路由ESSID为TEST,密码是12345678,使用如下命令行生成文件。

1:  debian@arm:~$ sudo wpa_passphrase  TEST  12345678  > /etc/wpa_supplicant.conf 

 

六、连接你的无线路由器
注意:有使用ifup之前,请先检查你的配置文件。否则会报错的,这个是特别需要注意的。也就是要更改/etc/network/interfaces文件。(命令偷懒了,用了*)
1:  debian@arm:/etc/network$ sudo nano /etc/network/in*ces
2:  

 

加入以下内容(或修改原有内容)为:

1:  # WiFi Example
2:  auto wlan0
3:  iface wlan0 inet dhcp
4:  wpa-ssid "你?的?无?线?网?络?ssid"
5:  wpa-psk  "你?的?无?线?网?络?密?码?"

 


ctrl-O保存,ctrl-X退出。
激动人心的时刻到来了,让我们启动我们可爱的wlan0吧。
 1:  debian@arm:/etc/network$ sudo ifup wlan0
 2:  [10257.062541] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
 3:  Internet Systems Consortium DHCP Client 4.2.2
 4:  Copyright 2004-2011 Internet Systems Consortium.
 5:  All rights reserved.
 6:  For info, please visit https://www.isc.org/software/dhcp/
 7:  
 8:  Listening on LPF/wlan0/c8:3a:35:c4:04:8e
 9:  Sending on   LPF/wlan0/c8:3a:35:c4:04:8e
10:  Sending on   Socket/fallback
11:  DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
12:  [10259.727874] wlan0: authenticate with a8:57:4e:c8:f8:22
13:  [10259.760947] wlan0: send auth to a8:57:4e:c8:f8:22 (try 1/3)
14:  [10259.769460] wlan0: authenticated
15:  [10259.776952] wlan0: associate with a8:57:4e:c8:f8:22 (try 1/3)
16:  [10259.787700] wlan0: RX AssocResp from a8:57:4e:c8:f8:22 (capab=0x431 status=0 aid=4)
17:  [10259.803861] wlan0: associated
18:  [10259.807175] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
19:  DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
20:  DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
21:  DHCPREQUEST on wlan0 to 255.255.255.255 port 67
22:  DHCPOFFER from 192.168.100.253
23:  DHCPACK from 192.168.100.253
24:  bound to 192.168.100.102 -- renewal in 754144638 seconds.

 


看到没有,我们有IP了!恭喜你,你成功的落网了!
如果不成功sudo ifdown wlan0,然后再sudo ifup wlan0,多试两次,再不行,查找原因吧。ssid,password对不对?
七、测试你的网络
我们还是来ping 或ifconfig一下吧。
 1:  debian@arm:/etc/network$ sudo ping www.163.com.cn
 2:  PING www.163.com.cn (219.137.167.157) 56(84) bytes of data.
 3:  64 bytes from 219.137.167.157: icmp_req=1 ttl=54 time=57.0 ms
 4:  64 bytes from 219.137.167.157: icmp_req=2 ttl=54 time=55.5 ms
 5:  64 bytes from 219.137.167.157: icmp_req=3 ttl=54 time=56.9 ms
 6:  64 bytes from 219.137.167.157: icmp_req=4 ttl=54 time=59.0 ms
 7:  64 bytes from 219.137.167.157: icmp_req=5 ttl=54 time=57.5 ms
 8:  
 9:  --- www.163.com.cn ping statistics ---
10:  5 packets transmitted, 5 received, 0% packet loss, time 22715ms
11:   

 

速度不快啊。,记得用ctrl-c退出ping状态哈,否则。。。。。


以上均是个人在玩中间的一点记录,当然希望与大家多多交流!啰嗦了这么多,如果有疑问请直接在评论中留言或站内交流。我水平有限,刚接触嵌入式linux,以前在51和cortexM3上用的多,上位机的软件编的多,用C和汇编多,也画一些双面板、四层板。

下次我们说点什么呢,我想还是说点开发环境相关的东东吧,比如交叉编译,hello world什么的吧。

你可能感兴趣的:(BeagleBone Black使用无线网卡通过WIFI联网)