最近在hq CQ45-307TX的机型上安装Ubuntu13.04-amd64的系统后,发现笔记本自带的无线网卡无法正常使用,笔记本无法使用无线,岂不是头疼至极!首先初步断定应该是Ubuntu自带驱动不太匹配该机型上的无线网卡,于是准备更换驱动。
首先想直接上hp官网下载驱动For Linux,但hp官网暂不提供对Linux系统的支持,也就只能查明笔记本无线网卡供应商及型号,再下载对应版本驱动,编译安装
一 查询无线网卡型号
习惯了windows下的驱动人生来一键安装驱动,在Ubuntu下便有些手足无措,在Linux该如何查询硬件配置信息呢,一开始也想过安装类似windows下的驱动人生之类的软件,但后来发现根本不必,Linux下的Terminal就可以直接解决了(神奇的Terminal)
$ sudo lshw -C network
其中:lshw命令用来显示系统硬件信息,network说明显示网卡信息,-C说明显示详细内容
得到如下信息:
从中读取信息如下:
product: BCM4312 802.11b/g LP-PHY
vendor: Broadcom Corporation
或者用
$ lspci -vnn |grep 14e4得到如下信息:
04:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
二 编译驱动
上Broadcom官网下载驱动(http://www.broadcom.com/support/802.11/linux_sta.php) hybrid-portsrc_x86_64-v5_100_82_112.tar.gz解压缩编译安装:
$ mkdir BCM4312 $ tar xvf hybrid-portsrc_x86_64-v5_100_82_112.tar.gz $ make编译出错,错误信息如下:
解决办法如下:
1.修改wl_linux.c文件如下:
$ vi /home/vic/Downloads/src/wl/sys/wl_linux.c //#include<asm/system.h>2.将wl_linux.c文件中的所有变量ndo_set_multicast_list 替换成ndo_set_rx_mode
编译完成后生成wl.ko
三 安装驱动
删去系统不兼容无线网卡驱动# lsmod | grep "b43\|ssb\|bcma\|wl" //如果存在下面的驱动,必须手动删除他们,否则就不用执行下面的命令 # rmmod b43 # rmmod ssb # rmmod bcma # rmmod wl //设置开机启动不加载不兼容驱动模块ssb,bcma,b43 //blacklist.conf设置modprobe不加载的模块 # echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf # echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf # echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
安装已编译好驱动模块wl.ko
modprobe lib80211 insmod wl.ko 开机启动: echo modeprobe wl >> /etc/rc.local至此,大功告成!
浙公网安备 33010602011771号