Thursday, January 1, 2009

让gentoo使用无线网络

要达到这个目标主要分为两部分:
1. 驱动部分
2. 应用配置部分

第一步是让系统能够驱动无线设备,第二步是让应用程序可以使用网络

首先,在进行第一步时, 需要了解自己的硬件情况:
lspci -vv看到如下信息:
01:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)

还可以这样找:
jessinio@nio-laptop ~ $ lspci -n|grep 14e4:43
01:00.0 0280: 14e4:4311 (rev 01)

可以看到, 本人的bcm卡是11版本的,也是人家说是4311(bcm43xx)

bcm43xx的驱动自linux2.6.27开始7就被加入到kernel中了, 所以一般都把无线网卡驱动编译到内核中

Networking support -->
--Wireless
----Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers -->
--Network device support -->
----Wireless LAN -->
------Wireless LAN (IEEE 802.11)
------Broadcom 43xx wireless support (mac802.11 stack)

这样把内核编译好后,系统就有了bcm43xx的驱动. 但是无线网卡还是不能工作的, 还差无线卡网的firmware,firmware也称固件,类似主板的BIOS,详细可以看百科:
http://en.wikipedia.org/wiki/Firmware

bcm43xx无线卡的固件去哪里要呢?答案为:
http://linuxwireless.org/en/users/Drivers/bcm43xx

如何得到固件, 看上面的网页就OK了

驱动部分搞好, 到第二部分:应用配置部分
应用配置就是要让无线连接AP,并得到IP. 有两个命令行工具:
1. wireless-tools工具, 它包括了两个命令:iwconfig,iwlist, 此工具包只能连接WEP和没有加密的无线AP
2. wpa_supplicant.此工具是专门连接WPA无线AP的.目前它还有一些驱动是无法使用的

要使无线网得到IP(前提是网卡的驱动没有问题),需要使用dhcp的客户端程序.在ubuntu下有一个默认安装的工具叫dhclient,但是在gentoo下就不同了(当然也可以安装), 它们有什么区别呢?下面是比较:


dhclient net-misc/dhcp 由ISC(也是BIND DNS软件的开发人员)制作;高度可配置性。 配置起来过于复杂;软件十分臃肿;无法通过DHCP获得NTP服务器;默认不发送主机名。
dhcpcd net-misc/dhcpcd Gentoo一直以来的预设软件;不依赖其他外部软件;由Gentoo开发的。 有时很慢;当租约为无穷大时不会变成守护进程。
pump net-misc/pump 轻量级的;不依赖其他外部软件 不再被上游维护,不可靠,尤其在使用modem的时候;不能通过DHCP获得NIS服务器。
udhcpc net-misc/udhcp 轻量级的——最小的DHCP客户端,为嵌入式系统设计。 未经考验——没有任何发行版默认使用它,不能定义3秒以上的超时。
如下步骤可以让无线网得到IP:
#启动无线网卡
ifconfig wlan0 up
#查看周边的无线AP网络
iwlist wlan0 scan
#连接指定的AP无线网络
iwconfig wlan0 essid WEP_AP_NAME key WEP_AP_PASSWORD
#通过dhcp协议得到网络IP
dhcpcd wlan0

相关文档: http://en.gentoo-wiki.com/wiki/Wireless_Networking

EOF

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.