如我的这篇文章结尾所说,我有一个小度Wifi。 本来打算是用小度Wif做树莓派的无线网卡。但一来需要搭建Linux环境,二来突然意识到每次系统升级都需要重新下载linux头文件,重新编译驱动,实在是极不方便。于是决定还是买一个免驱的。
选择的USB无线网卡是各个网站和教程中推荐的 EDUP EP-N8508GS,目前市价大概¥30~40,但是因为树莓派逐渐热了起来,一些无良商家也提高了这款USB无线网卡的价格。如果没有找到价钱合适的,可以到这里来查看树莓派raspbian支持免驱的无线网卡型号列表,从中选择价格合适的免驱无线网卡。
关于EDUP EP-N8508GS这款USB无线网卡的评价我放在了文章的最后,有兴趣的人可以去看看。
Wifi配置
我的Wifi配置基本上是跟着这个教程来的,下面将过程简述,并解释每个命令/语句的作用。
1、检查USB无线网卡是否已经正确识别
将无线USB网卡插入树莓派后启动树莓派,比较不建议热插拔,因为插入的一瞬间会有比较高的电流,如果电源输出不够可能导致树莓派重启。用自己的方法进入shell界面后输入命令:
lsusb
如果树莓派已经正常识别,在显示类似于如下的信息中可以看到你的USB无线网卡设备ID和芯片型号
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
以我的EDUP为例,使用的是Realtek RTL8188CUS的芯片。
最新的raspbian已经有了wifi必要的包,直接插上就可以用了。不过最好还是可以看看iwconfig确认一下,输入
iwconfig
显示如下:
wlan0 IEEE 802.11bgn ESSID:"BabyBeaR_du" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.412 GHz Access Point: BC:96:80:19:FD:98
Bit Rate:150 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=100/100 Signal level=100/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
如果出现了wlan0,那说明网卡已经正常工作了。(这里的示例是已经用usb无线网卡连接上网络了,所以会显示ESSID。)如果这里的显示不正常,请安装连接wifi必要的包
sudo apt-get install wireless-tools wpasupplicant firmware-realtek
2、设置wifi
输入如下命令可以搜索附近所有可连接的Wifi AP:
iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:1D:7E:FB:BA:F1
ESSID:"tociek-net"
Protocol:IEEE 802.11bg
Mode:Master
Frequency:2.437 GHz (Channel 6)
Encryption key:on
Bit Rates:54 Mb/s
Extra:wpa_ie=dd1c0050f20101000050f20202000050f2040050f20201000050f2020000
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Extra:rsn_ie=30180100000fac020200000fac04000fac020100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Quality=100/100 Signal level=100/100
Cell 02 - Address: 00:21:27:E9:EA:00
ESSID:"Jacek"
Protocol:IEEE 802.11bg
Mode:Master
Frequency:2.437 GHz (Channel 6)
Encryption key:on
Bit Rates:54 Mb/s
Extra:wpa_ie=dd1a0050f20101000050f20202000050f2020050f20401000050f202
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Extra:rsn_ie=30180100000fac020200000fac02000fac040100000fac020100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Preauthentication Supported
Quality=61/100 Signal level=54/100
(这段返回信息是从这个帖子里复制的,我这边的wifi比较多,返回信息太长了,所以就不贴过来了)
值得注意的是,在windows下使用ICS建立的虚拟无线AP是无法被树莓派检测到的,具体原因不清楚,有时间了再研究。如这篇文章中我说过的,我这里没有wlan环境,之前也是一直用的windows建立的软AP。因此我把之前提到的那个小度WIFI插上了,还真能连上。。。
确定树莓派可以检测到你建立的wifiap之后,按照如下方法配置 使用如下命令获得wifi设置:
wpa_passphrase SSID名称 密码
回显如下
network={
ssid="SSID名称"
#psk="密码"
psk=4b7084a26fea96aaf67518820cc1151fb8f47c5fc0674cd6e877a2ecd70b596e
}
复制这段回显并保存到自己的配置文件中
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
然后配置/etc/network/interfaces
sudo nano /etc/network/interfaces
如果自动获得IP地址,配置内容如下:
allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B w -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
post-down killall -q wpa_supplicant
如果设置固定IP地址,配置内容如下:
allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
address 192.168.1.137
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
连接网络
sudo ifup wlan0
rfkill: Cannot open RFKILL control device
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/a0:f3:c1:08:21:ac
Sending on LPF/wlan0/a0:f3:c1:08:21:ac
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.1
DHCPACK from 192.168.1.1
Reloading /etc/samba/smb.conf: smbd only.
bound to 192.168.1.137 -- renewal in 39240 seconds.
关闭连接使用如下命令
pi@raspbmc:~$ sudo ifdown wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/a0:f3:c1:08:21:ac
Sending on LPF/wlan0/a0:f3:c1:08:21:ac
Sending on Socket/fallback
DHCPRELEASE on wlan0 to 192.168.1.1 port 67
Reloading /etc/samba/smb.conf: smbd only
关于EDUP EP-N8508GS
我选择这款网卡的原因是很多人推荐,但使用过程中发现一些问题。 我拿到这款网卡之后先在电脑上试了一下,发现这款USB无线网卡搜索到的无线AP数量比笔记本上自带的无线网卡少得多。小区中的无线路由很多,电脑自带的无线网卡能够搜到5~7个,然而这款无线网卡只能搜到一个AP。这或许是驱动问题,但是我在实际配置wifi的时候,把树莓派放在路由器(有线)旁边,电脑在隔壁房间建立的wifi,连接及其不稳定。电脑ping树莓派,树莓派ping电脑,丢包率都在90%以上。我只好将树莓派拿到电脑旁边用串口对树莓派进行操作。 并且十分奇怪的是,网络连接也称不上稳定。难道是因为电流不足?之前我用树莓派驱动8个LED的时候是直接通过USB转TTL串口的刷机板,用笔记本的USB口对RPi供电。都知道笔记本的USB供电基本上在500mA左右,并且我还同时外接有键盘、显示器和散热器。这说明树莓派在低负荷下,使用电流不会超过500mA。然而,我的RPi使用的电源标称输出是1A,那即是说这款无线网卡自身需要500mA以上的电流?给跪了
============Update 2014-4-28============== 试过插上无线网卡之后,接标称1A的店小二电源,直接驱动8个LED和通过74HC164驱动8个LED。过程中出现了不能正常传输串行信号异常的情况,强烈怀疑是供电不足。说是 如果怀疑树莓派供电不足,可以测量TP1和TP2之间的电压,是否在5V上下15%之间。可惜没有万用表... google了关于充电器的识别电阻的资料后发现,对于一些充电器,需要给数据的两脚上加指定的电压才能激活1A(或者有些是2A输出)。 另外,使用树莓派的micro usb口供电的话,要经过一个 类似于电压转换的电路。我表示不太懂,但是感觉这电路肯定是有损耗的...而直接通过GPIO取电的话没有经过这个电路,所以GPIO供电的效率更高。
评论!