+ -
当前位置:首页 → 问答吧 → 发布: BLFS上成功驱动无线网卡 (希望对大家有所帮助)

发布: BLFS上成功驱动无线网卡 (希望对大家有所帮助)

时间:2007-11-22

来源:互联网

Dennis.Wang (著)

通过自己的摸索和搜索帮助,终于将无线网卡在BLFS下驱动了起来。
记得自己在以前写过一篇关于在ubuntu 6.10下面驱动我的无线网卡netgear wg511 v3.0的文章,因此在这方面有点经验的说。今天在google的时候还把自己当初在ubuntu中文论坛上的发表的那篇给搜出来了,想想当初自己那么菜,还能显摆显摆,感觉有点可笑。这次,我是一个彻底的BLFS分子,搞不定它就让我感觉不应该了。所以,在这信念的驱使下,到底还是让我得偿夙愿了。
首先我不得不提的是我的无线网卡很不幸的没有被内核的prism54支持,因为它只支持wg511 v1.0和v2.0版本的卡,v3.0是made in china版的,不被支持。虽然已经过去好几年了,照理说prism54应该考虑一下扩展,支持一下china版本的v3.0,但是prism54组织似乎并无此意,也许这是浪费时间。因此,只有通过ndiswrapper来使自己的win驱动跑在linux下了。如果想知道自己的无线网卡是否被prism54支持,可以到prism54.org上查询。

这里不得不先说说自己的操作系统环境,内核是2.6.22.12(比较新,2.6.22系列内核的终结篇)。
1. 首先来配置内核,以使内核支持无线网卡:
1) Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support --->
<*> CardBus yenta-compatible bridge support
2) Networking --->
[*] Networking support --->
Wireless ---> <*> Improved wireless configuration API
<*> Generic IEEE 802.11 Networking Stack
<*> IEEE 802.11 WEP encryption (802.1x)
3) Device Drivers --->
Network device support --->
[*] Network device support
Wireless LAN --->[*] Wireless LAN (IEEE 802.11)
[*] Wan interfaces support --->
这里无论是用prism54还是ndiswrapper来驱动无线网卡,这些都是基本必须的。
使用prism54还需选择的选项如下:
Network device support --->
Wireless LAN --->
<*>Intersil Prism GT/Duette/Indigo PCI/Cardbus(也可以选择为M)
为了简便,我都将其编译进了内核,省得配置文件,如果要编译成模块的话,可以修改/etc/sysconfig/modules文件,将例如prism54加入到这里,那么系统在启动的时候,将加载prism54模块,prism54模块位于/lib/modules/2.6.22.12文件夹下。

2. 安装Wireless Tools-28
下载:http://www.hpl.hp.com/personal/Jean_...ools.28.tar.gz
安装:
tar xvf wireless_tools.28.tar.gz
cd wireless_tools.28.tar.gz
make
make PREFIX=/usr install (as root)
安装这个包的目的是为了使用其安装的iwconfig、iwlist命令。

3. 安装Net-tools-1.60 (可选)
下载地址: http://www.tazenda.demon.co.uk/phil/...s-1.60.tar.bz2
http://www.linuxfromscratch.org/patc...-gcc34-3.patch
http://www.linuxfromscratch.org/patc...eaders-2.patch
http://www.linuxfromscratch.org/patc..._ioctl-1.patch
安装:
patch -Np1 -i ../net-tools-1.60-gcc34-3.patch &&
patch -Np1 -i ../net-tools-1.60-kernel_headers-2.patch &&
patch -Np1 -i ../net-tools-1.60-mii_ioctl-1.patch &&
yes "" | make config &&
sed -i -e 's|HAVE_IP_TOOLS 0|HAVE_IP_TOOLS 1|g' \
-e 's|HAVE_MII 0|HAVE_MII 1|g' config.h &&
sed -i -e 's|# HAVE_IP_TOOLS=0|HAVE_IP_TOOLS=1|g' \
-e 's|# HAVE_MII=0|HAVE_MII=1|g' config.make &&
make
make update (as root)
安装这个包是为了使用比较常用的ifconfig命令等。
注意:这个包里的hostname程序将覆盖掉LFS下的hostname,如果想恢复,可以重新安装Coreutils package,也可以使用coreutils-6.9-suppress_hostname-1.patch这个补丁。(这个补丁我还真没找着)

4. 安装dhcpcd-3.0.19 (可选)
为什么要安装这个包,是为了能配合路由器上的dhcp动态分配IP地址,可以使终端计算机动态获得IP。
我所做的是在路由器上将NB和PC的mac地址和IP绑定,保留了192.168.7.7、192.168.7.15、192.168.7.17地址给两块有线网卡和一块无线网卡。当然了,不安装dhcpcd也是可以的,自己指定IP就不用靠路由来动态分配了。
需要下载两个包: blfs-bootscripts-20070822.tar.bz2 和 dhcpcd-3.0.19.tar.bz2
安装命令如下:
tar xvf dhcpcd-3.0.19.tar.bz2
cd dhcpcd-3.0.19
make
make install (as root)
配置dhcpcd: (可参照http://www.linuxfromscratch.org/blfs...ct/dhcpcd.html)
tar xvf blfs-bootscripts-20070822.tar.bz2
cd blfs-bootscripts-20070822
make install-service-dhcpcd
install -v -d /etc/sysconfig/network-devices/ifconfig.eth0 &&
cat > /etc/sysconfig/network-devices/ifconfig.eth0/dhcpcd << "EOF"
ONBOOT="yes"
SERVICE="dhcpcd"
DHCP_START=""
DHCP_STOP="-k"

# Set PRINTIP="yes" to have the script print
# the DHCP assigned IP address
PRINTIP="no"

# Set PRINTALL="yes" to print the DHCP assigned values for
# IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
PRINTALL="no"
EOF
这是一个通过dhcpcd动态给eth0这个设备分配IP的配置方法,为wlan0(一般为一块无线网卡的首选设备标识)配置一样的道理。将eth0改成wlan0就ok。ifconfig.eth0应该是为了配合ifconfig命令使用的,ifconfig eth0 up就能激活eth0,不过据我在ircd的#lfs-support了解到老外说,ifconfig已经不用了,改用ip。ip是强大,不过怎么和ifconfig.eth0配合,费解ing。。。我在使用ifconfig和ip都没有成功激活wlan0,大概配置有问题,为了不浪费时间,索性后来就装了个Wireless Assistant(KDE下的无线工具,很好使的)。

5. 安装Wireless Assistant 0.5.7(KDE可选)
下载地址: http://www.kde-apps.org/content/show.php?content=21832
在这里你会看到这么一段话:
* MAIN REQUIREMENTS:
- wireless-tools 27 or newer (with iwlib)
- dhcpcd or dhclient
- sudo
- wpa_supplicant with wpa_cli for WPA-PSK support

意思是说这个包需要上面几个依赖条件,wireless-tools为了配置无线是必需的,dhcpcd or dhclient就是上面提到过的dhcpcd,sudo是为了方便的使用su命令来使普通用户获得root用户的权限,wpa的这个是无线的加密包。我选择了前三个,因为我在配置无线路由的时候,只用到了WEP加密(或者不用加密),所以不需要wpa这个包。
至于sudo如何安装,在BLFS的教程里说的很明白:
下载地址: http://anduin.linuxfromscratch.org/s....6.8p12.tar.gz
http://www.linuxfromscratch.org/patc...ar_fix-1.patch
安装:
tar xvf sudo-1.6.8p12.tar.gz
cd sudo-1.6.8p12
patch -Np1 -i ../sudo-1.6.8p12-envvar_fix-1.patch &&
./configure --prefix=/usr --libexecdir=/usr/lib \
--enable-noargs-shell --with-ignore-dot --with-all-insults \
--enable-shell-sets-home &&
make
make install (as root)
配置/etc/sudoers
一个典型的例子:
# User alias specification
User_Alias ADMIN = [YourLoginId]

root ALL=(ALL) ALL
# Allow people in group ADMIN to run all commands without a password
ADMIN ALL = NOPASSWD: ALL

6. ndiswrapper 1.49
下载ndiswrapper软件包,可以到http://ndiswrapper.sourceforge.net/j...

作者: Dennis.Wang   发布时间: 2007-11-22

谢谢分享。

我对无线网络已彻底死心,改用 power line 去也!

作者: d00m3d   发布时间: 2007-11-22

或许对我有帮助,感谢楼主!

作者: tfkdmwmqtr   发布时间: 2007-11-23

引用:
作者: d00m3d
谢谢分享。

我对无线网络已彻底死心,改用 power line 去也!
d00m3d兄,只因我用本子上网,拽着根长的网线进屋实在是麻烦。买了无线路由,不把无线网卡在BLFS上搞起来实在不甘心。呵呵!

作者: Dennis.Wang   发布时间: 2007-11-24

我最初的想法跟你是一樣的,無奈居住環境附近滿佈無線網絡,整天都在 jam 線,不論用哪個 channel,哪個 mode(b/g/super g)都不行,於是買了 10dBi 強力增益天線及 5dBi 接入天線,情況有一點點好轉,但始終會被外界干擾而中途掉線,很不爽! :X

結果只好用回有線,好處是網絡更穩定更快,但不好的是拖着長長的網線隨處走,同樣不爽,最後也受不了,重金購買 powerline 的 adaptor 利用家電來建立網絡,現在好了,哪個房間只要有電源插都能上網了,既穩定又快速 :)

作者: d00m3d   发布时间: 2007-11-24

引用:
作者: d00m3d
我最初的想法跟你是一樣的,無奈居住環境附近滿佈無線網絡,整天都在 jam 線,不論用哪個 channel,哪個 mode(b/g/super g)都不行,於是買了 10dBi 強力增益天線及 5dBi 接入天線,情況有一點點好轉,但始終會被外界干擾而中途掉線,很不爽! :X

結果只好用回有線,好處是網絡更穩定更快,但不好的是拖着長長的網線隨處走,同樣不爽,最後也受不了,重金購買 powerline 的 adaptor 利用家電來建立網絡,現在好了,哪個房間只要有電源插都能上網了,既穩定又快速 :)
好家伙,too strong. 以前我听说过电力网,但是从没有亲眼看到。满布无线网络,真的很恐怖噢!莫非不用自己申请宽带,弄块无线网卡就可以接入别人的无线网络了?如果可以,倒是挺省钱的嘛!

作者: Dennis.Wang   发布时间: 2007-11-24

這是我的 T41 ThinkPad 在 xp 下搜到家裡附近的無線網絡,共三頁有多(屏蔽了 ssid 及 mac 地址)!

你說的不錯,是可以佔用別人的網絡的,尤其是哪些不設防,既不加密又不用 mac filter 的傢伙,但又有啥用呢?自己家中最強最優質的網絡都不穩定,能指望別人的網絡會好嗎?一般數分鐘便會斷掉,並非因為糟發現後連線被拒,而是連線質量太差,過多的網絡下互相干擾!
上传的图像
WLAN-1.png (16.3 KB, 17 次查看)
WLAN-2.png (9.6 KB, 14 次查看)
WLAN-3.png (9.5 KB, 11 次查看)

作者: d00m3d   发布时间: 2007-11-25

家里用路由器布一个简单的星形有线网不就行了,每个房间一个结点。

作者: linux001   发布时间: 2007-11-26

建星形有线网就等於要到处安装网线了。。。

作者: d00m3d   发布时间: 2007-11-27

收藏!等哪天中上福彩,买个本本就能用上了

作者: CHII   发布时间: 2007-11-27