装了Ubuntu 10.0.4 8510w,Dell 的 640m也是这个无线网卡,大部分的驱动都没有问题,只有无线总是时有时无而且会断,找了一些办法,还是不怎么好,下面的办法可能好用,考虑要先卸载,有问题的驱动模块。
先blacklist再 rdmod
1. sudo install ndiswrapper
2. 下载inter 4965的无线网卡windows下的驱动,比如xp
3. 解压然后找到netw4x32.INF
4. ndiswrapper -i NETw4x32.INF
5.
ndiswrapper -m
ndiswrapper -l
modprobe ndiswrapper
下面的虽然不是4965的驱动,但是道理是一样的。
在开始之前,先到Broadcom的官方网站去仔细的看看说明具体链接地址如下:
http://www.broadcom.com/support/802.11/linux_sta.php
首先这个方法具有通用性,如下的型号都可以通用:
BCM4310
BCM4311
BCM4312
BCM4321
BCM4322
如果不知道产品型号,在终端下输入:“lspci | grep Network” 确认网卡型号。
1、下载对应的驱动,我下载的是hybrid-portsrc-x86_32-v5.60.48.36.tar.gz,地址:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
2、解压缩
tar -xzf hybrid-portsrc-x86_32-v5.60.48.36.tar.gz
3、编译
make
这个就不用解释了。提示没有gcc的自己下载个gcc就可以了。命令如下:
sudo apt-get install gcc
4、测试内核模块
首先,删除几个模块,命令如下:
sudo rmmod bcm43xx b43 b43legacy ssb wl
加载lib80211:
sudo modprobe lib80211_crypt_tkip
加载wl:
sudo insmod wl.ko
一般来说,这个时候,无线已经可以激活了,先测试看看。
Jinshely@linuxmint ~ $ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11 Access Point: Not-Associated
Link Quality:5 Signal level:0 Noise level:0
Rx invalid nwid:0 invalid crypt:0 invalid misc:0
看到了eth1,嗯,OK了……
5、安装模块让驱动可以自动加载
如果无线可以激活,那么接下来就是自动启动的设置了。
现删除刚才加载的模块
sudo rmmod wl
使用如下的命令将wl.ko加载到内核:
sudo mkdir -p /lib/modules/`uname -r`/misc
sudo cp wl.ko /lib/modules/`uname -r`/misc/wl.ko
sudo insmod /lib/modules/`uname -r`/misc/wl.ko
运行如下命令起效
sudo depmod -a
最后,运行下列命令,将“bcm43xx”等加入到blanklist,
sudo echo “blacklist bcm43xx” >> /etc/modprobe.d/blacklist
sudo echo “blacklist b43” >> /etc/modprobe.d/blacklist
sudo echo “blacklist b43legacy” >> /etc/modprobe.d/blacklist
sudo echo “blacklist ssb” >> /etc/modprobe.d/blacklist
6、完成,重新启动你的电脑,看看你的无线……
成功了?太好了,那么下面的就不用进行了。不成功?那么,继续……
7、运行如下命令
lsmod | grep “b43\|ssb\|wl”
发现ssb还是跑的很欢……
重新进行第四步,发现可以正常激活无线,根据google来的结果,ssb占用了14e4:4315!
所以,造成了无线不能自启动。好吧,参考例子,重做initrd,删除ssb模块
8、重做initrd,删除ssb模块
命令如下
sudo rm /lib/modules/`uname -r`/kernel/drivers/ssb -rf
sudo depmod -a
sudo mv /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.old
sudo mkinitramfs -o /boot/initrd.img-`uname -r`
完成了,再重启试试……终于可以…..
查找了N多的资料,不容易啊!
系统资料:
系统:Linux Mint 9
内核版本:2.6.32-21-generic
硬件:HP ProBook 6540b
另外,本人使用过ndiswrapper,加载了在windows下OK的驱动,提示硬件驱动正常,但是就是不能用,晕死,可能是本人太菜菜了……
2、cd 进入解压后的文件夹,
然后编译 代码:make clean代码:make
3、把编译好的wl.ko文件从当前文件夹移动到相应的内核驱动文件夹下。注意:下面这些步骤需要root身份来操作。
代码:cp wl.ko /lib/modules/’uname -r’/kernel/net/wireless
然后 代码:depmod
然后手动加载该驱动试试效果如何 代码:modprobe wl
4、如果有问题,往往和 b43 ssb这俩个驱动有关,可以先手动卸载这俩个驱动 代码:rmmod b43代码:rmmod ssb,如果已经加载wl,就也删除 代码:rmmod wl。操作完后再重新加载驱动 代码:modprobe wl。
安装好后,如果你遇到了第四中提到的问题,有时候需要在系统启动时屏蔽b43 ssb这俩个驱动,
不知道楼主用的什么发行版,一般各发行版都有自己相应的从源里安装的包,
可以用 代码:lsmod来查看系统已经加载了哪些驱动模块。