我的笔记本无线网卡芯片型号是Broadcom BCM4312,详细信息如下:

$ lspci -vnn | grep 14e4
07:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [1
4e4:4315] (rev 01)

Broadcom有提供Windows版本的网卡驱动安装文件,但是没有提供Linux版本的。
为了能够在Linux下使用该无线网卡,可以通过ndiswrapper工具来安装使用Windows版本的驱动。
ndiswrapper通过在Linux 内核里执行Windows 内核API和NDIS (Network Driver Interface Specification) API的方式来加载驱动,也就是在Linux下加载和使用硬件的Windows驱动程序。

1、安装ndiswrapper

有些Linux发行版安装光盘提供了ndiswrapper,就可以直接安装。有些发行版没有提供,可以从http://sourceforge.net/projects/ndiswrapper/ 下载ndiswrapper软件包安装。


2、准备BCM4312芯片的Windows版本驱动程序

先下载BCM4312芯片的Windows版本驱动程序,下载地址:ftp://ftp.hp.com/pub/softpaq/sp41001-41500/sp41206.exe
解压安装包
Windows下可以用Universal Extractor解压,下载地址:http://legroom.net/software/uniextract
Linux可以用cabextract解压,下载地址:http://www.kyz.uklinux.net/cabextract.php
将Windows版本驱动程序解压缩到当前目录

3、Linux下安装Windows版驱动:

ndiswrapper -i bcmwl5.inf

系统会生成/etc/ndiswrapper/bcmwl5目录,并且在目录下生成相关文件。

使用ndiswrapper -l命令可以查看驱动的安装情况:

bcmwl5 : driver installed
device (14E4:4315) present

 
4、配置ndiswrapper

使用ndiswrapper -m命令把wlan0网卡的别名写入模块配置文件,以便于使用wlan0网卡时ndiswrapper内核驱动能够被自动加载。可到看到生成了 /etc/modprobe.d/ndiswrapper 文件,其内容是:

alias wlan0 ndiswrapper

驱动安装成功,加载ndiswrapper模块:

modprobe ndiswrapper

执行这条命令前,笔记本的无线指示灯是橘红色的,表示没有启用无线网卡,执行命令后,灯变成绿色,说明无线网卡已经成功启用了,只要有无线信号,应该就可以连上。