无线网卡 ZD1211B 固件手动安装上网篇 – 树莓派 Raspberry Pi Model B+ 入手折腾记 (2)

目录 Content
[hide]

本着能省就省的原则,LT 并没有购买众所推荐的免驱无线网卡 EDUP EP-N8508GS,因为手里还有一张N年前购买的 XG-760N 网卡,采用的是 ZD1211B 芯片。所以本文的目标就是将之用起来,让 Raspberry Pi 摆脱串口线的羁绊。

  • 手动安装网卡 zd1211 固件 deb 包
  • 配置 wiki 接入无线网络,如何查找分配到的 IP
  • 配置使用 http代理,然后安装一个文本模式但是图形化的文件管理器

一、查找 XG-760N 网卡信息

这个是我手里的 XG-760N 网卡,外壳被我脱掉了,剩下的电路板颇显电子味。芯片上印刷着 ZyDAS ZD1211B-QF 字样。

XG-760A_ZD1211B-QF

有了上文的经验,LT在折腾之前,先前往 http://elinux.org/RPi_USB_Wi-Fi_Adapters 查看网卡是否在免驱之列,以zd1211搜索,很可惜,似乎需要额外安装firmware。

  • Sagem Wireless USB stick XG-760N: USB ID 079b:0062, Module is not shipped in Debian image, but it can be “sudo apt-get install zd1211-firmware”

暂且不管,先将 XG-760N 插入 Raspberry Pi 的USB口,先看看系统反应。

使用 lsusb 命令查看:

pi@raspberrypi:~$ lsusb
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.
Bus 001 Device 006: ID 079b:0062 Sagem XG-76NA 802.11bg

使用 lsmod | grep 1211 命令查看:

pi@raspberrypi:~$ lsmod | grep 1211
zd1211rw               56899  0
mac80211              329911  1 zd1211rw
cfg80211              212241  2 mac80211,zd1211rw

到这一步似乎一切都正常?因为网上的文章无一不是用 lsusb 和 lsmod 来确认网卡是否工作。但是事实却是如此么? 再使用 dmesg | tail 命令查看:

pi@raspberrypi:~$ dmesg | tail
[ 1193.446853] usb 1-1.4: Could not load firmware file zd1211/zd1211b_ub. Error number -2
[ 1193.446890] zd1211rw 1-1.4:1.0: couldn't load firmware. Error number -2
[ 1194.468870] usb 1-1.4: Could not load firmware file zd1211/zd1211b_ub. Error number -2
[ 1194.468910] zd1211rw 1-1.4:1.0: couldn't load firmware. Error number -2
[ 1195.491100] usb 1-1.4: Could not load firmware file zd1211/zd1211b_ub. Error number -2
[ 1195.491141] zd1211rw 1-1.4:1.0: couldn't load firmware. Error number -2
[ 1196.513145] usb 1-1.4: Could not load firmware file zd1211/zd1211b_ub. Error number -2
[ 1196.513185] zd1211rw 1-1.4:1.0: couldn't load firmware. Error number -2
[ 1197.535142] usb 1-1.4: Could not load firmware file zd1211/zd1211b_ub. Error number -2
[ 1197.535180] zd1211rw 1-1.4:1.0: couldn't load firmware. Error number -2

看来确实缺少固件 ,如果有线网口可以上网,那么按照WIki 介绍的,就可以安装固件。

sudo apt-get install zd1211-firmware

但 LT 的问题是,当前使用手机3G上网作为AP,树莓派目前能用的只有有线网口和串口,连不到手机的AP,所以是不能网络安装的,这是个问题!

解决思路是:在 PC 上找到固件包,拷入U盘,使用串口终端操作,手动安装固件包。

二、手动安装 zd1211 firmware

http://ftp.uk.debian.org/debian/pool/non-free/z/zd1211-firmware/ 下载固件 firmware-zd1211_3.0.0.56-3_all.deb ,拷贝到U盘,然后将U盘插入 Raspberry Pi,mount 后,用dpkg -i 命令安装,安装完成后记得先 umount 再拔掉 U 盘 。

pi@raspberrypi:~$ sudo mount /dev/sda4 /media/udisk
pi@raspberrypi:~$ cd /media/udisk/
pi@raspberrypi:/media/udisk$ ls
2014-09-09-wheezy-raspbian.img  firmware-zd1211_3.0.0.56-3_all.deb
pi@raspberrypi:/media/udisk$ sudo dpkg -i firmware-zd1211_3.0.0.56-3_all.deb
Selecting previously unselected package firmware-zd1211.
(Reading database ... 73301 files and directories currently installed.)
Unpacking firmware-zd1211 (from firmware-zd1211_3.0.0.56-3_all.deb) ...
Setting up firmware-zd1211 (3.0.0.56-3) ...
pi@raspberrypi:/media/udisk$
pi@raspberrypi:/media/udisk$ cd ~
pi@raspberrypi:~$ sudo umount /dev/sda4

再次插入 XG-760N ,发现网卡的指示灯开始一闪一闪,貌似驱动起来了,输入命令查看

pi@raspberrypi:~$ dmesg | tail
[ 2140.230854] usb 1-1.4: new high-speed USB device number 8 using dwc_otg
[ 2140.331877] usb 1-1.4: New USB device found, idVendor=079b, idProduct=0062
[ 2140.331913] usb 1-1.4: New USB device strings: Mfr=16, Product=32, SerialNumber=0
[ 2140.331929] usb 1-1.4: Product: 802.11b/g USB WLAN
[ 2140.331943] usb 1-1.4: Manufacturer: ZyDAS
[ 2140.420887] usb 1-1.4: reset high-speed USB device number 8 using dwc_otg
[ 2140.522280] ieee80211 phy3: Selected rate control algorithm 'minstrel_ht'
[ 2140.523241] zd1211rw 1-1.4:1.0: phy3
[ 2140.755809] zd1211rw 1-1.4:1.0: firmware version 4725
[ 2140.795826] zd1211rw 1-1.4:1.0: zd1211b chip 079b:0062 v4810 high 00-60-b3 AL2230_RF pa0 g----

没有报错,说明firmware安装成功,网卡工作了!

三、设置 Wifi

既然网卡驱动起来了,那么下步自然将网卡接入网络。使用命令 sudo iwlist wlan0 scan 扫描无线网络

pi@raspberrypi:~$ sudo iwlist wlan0 scan | grep ESSID
                    ESSID:"LT_U880"
                    ESSID:"TP-LINK_DD2C"
                    ESSID:"ChinaNet-jHyR"
                    ESSID:"tom.lee"
                    ESSID:"FAST-201"
pi@raspberrypi:~$         

如果不用 grep筛选,会是很长一个列表!如果扫描到了ssid,则说明了网卡在工作中。注意此命令需要管理员权限,否则扫不到。

1. DHCP 获取 IP

按照 介绍的设置:http://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md, 在此不再赘述。我的配置如下图:

raspi_wifi_my_config在最后完成后,使用 ifconfig 命令查看IP信息:

Raspi_com_wifi_ip确认无线网卡获取IP地址后,就可以使用SSH连接了!当然别忘了先激活 Raspberry Pi 的 SSH 服务。

rasp_ssh_wifi试试在SSH界面下编写一个GPIO闪烁LED的程序,nano 在 ssh 下还能显示 Python 语法高亮!

nano_python看来 ssh 还是彩色的呢,比串口控制台信息更丰富。

2. 查看树莓派的 IP

如果使用了DHCP,但是没有权限查看路由器界面,免不了还得串口控制台查看IP。可以用端口扫描软件来扫描22端口,这样就可以很方便找到树莓派的IP地址。

scanport三、设置使用http代理

http代理是最普遍的代理,特别是在公司里,那么针对一些需要联网的应用程序,就需要逐项设置。

1. wget 使用 http 代理

某些环境不得不使用 http  代理,只需要设置环境变量 http_proxy 即可

pi@raspberrypi ~ $ export http_proxy=http://10.0.0.172:80

这样,可以临时使用http代理了!如果想一直使用代理,可以将上述命令加入到 .bashrc 文件中。

2. apt-get 使用 http 代理

尽管使用了  export http_proxy 设置了代理,但是发现 apt-get 还是不能工作,这个时候专门为apt-get 设置代理就好了。

pi@raspberrypi ~ $ sudo nano /etc/apt/apt.conf

输入下面格式,保存退出。

Acquire::http::proxy "http://10.0.0.172:80";

然后再测试 apt-get ,已经可以工作了!

3. git 使用 http 代理

使用命令添加 http.proxy 。必要时设置 http.sslVerify 为 false,参见 《Windows 环境下 Git ( msysGit ) 完美设置使用小结

pi@raspberrypi ~ $ git config --global http.proxy http://10.0.0.172:80
pi@raspberrypi ~ $ git config --global http.sslVerify false

如果域环境代理认证存在问题,安装 Cntlm 进行代理转换 “sudo apt-get  install cntlm”,然后配置 /etc/cntlm.conf 。

4. lftp 使用http代理

编辑  ~/.lftp/rc 文件,加入下面设置内容即可。

set ftp:use-hftp no
set ftp:proxy  http://10.0.0.172:80

 四、apt-get 点什么

能够上网后,应该立即更新 apt,运行下列命令:

pi@raspberrypi ~ $ sudo apt-get update

1. 文本模式的文件管理器 Midnight Commander

LT 推荐个文本模式的文件管理器 mc ,它是类似total commander界面,特别适合工作在命令行模式。

pi@raspberrypi ~ $ sudo apt-get install mc

界面是不是很简洁漂亮?这货尽管运行在文本模式,但是居然支持鼠标操作!可以访问 https://www.midnight-commander.org 了解。
mc

2. 其他有用的软件

  • tightvncserver
    VNC 远程桌面
  • screen
    命令行终端下的多终端界面
    screen -S xxx 新建一个终端xxx
    Ctrl + a 然后 d ,离开当前终端
    screen -ls 列出终端
    screen -r  xxx 进入终端xxxx
  • xrdp
    Windows 远程桌面
    xrdp

好了,树莓派能无线上网了,能装软件了,剩下的就是好好利用了! 树莓派的奇幻旅程即将开启~

扩展阅读:

关键字: zd1211, Raspberry, deb, debian, http代理

3 thoughts on “无线网卡 ZD1211B 固件手动安装上网篇 – 树莓派 Raspberry Pi Model B+ 入手折腾记 (2)

  1. 回想起我1997年時天天和sco unix和mandrake抗戰的日子,做進消存就是命苦。

Leave a Reply

Your email address will not be published. Required fields are marked *