相信很多朋友都和我一样,有一台网卡是BCM4312的笔记本,我的是HP V3700系列的一台,很老的机子了,呵呵,由于爱好,自己给它安装录fedora 12,以前是11,也升级了,呵呵,可是一直没有解决的问题是无线网络的问题,Google上说没有驱动,无法识别和使用,自己也弄了很久很久,按照很多达人的教程,利用ndiswrapper,下载Windows下的驱动,模拟起来,在GNU/Linux下运行,结果还是失败,最后自己终于发现一篇文章解决问题 www.linuxeden/html/solution/20091206/69411.html ,很是受用,在此,结合自己实例,开始叙述一下

我机子的硬件参数如下:
$ lspci | grep -i network
07:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
$ lspci -n | grep -i "07:00.0"
07:00.0 0280: 14e4:4315 (rev 01)
知道了这无线网卡的设备ID为14e4:4315,为broadcom公司的BCM4312型号。

BCM4312 Broadcom提供的GNU/Linux下最新最好的驱动安装方法如下
参考文章:
1. Broadcom驱动下载,含安装方法说明
网址: www.broadcom/support/802.11/linux_sta.php
2. 安装Broadcom 4312 无线网卡驱动
网址: www.linuxhobby/2009/07/broadcom-43xx-drivers/

安装步骤:
1. 卸载冲突模块
$ sudo rmmod b43
$ sudo rmmod ssb
$ sudo rmmod wl

2. 屏蔽冲突模块
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist
网卡驱动装不上# echo "blacklist b43" >> /etc/modprobe.d/blacklist
3. 编译安装
$ pwd
~/download/bcm4312
$ ls
  hybrid-portsrc-x86_32-v5.10.91.9.
$ mkdir hybrid
$ tar xf hybrid-portsrc-x86_32-v5.10.91.9. -C hybrid
$ cd hybrid/
$ ls
Makefile  lib  src
$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
  LD      /home/c-aries/download/bcm4312/hybrid/built-in.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/wl/sys/wl_linux.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/wl/sys/wl_iw.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/shared/linux_osl.o
  LD [M]  /home/c-aries/download/bcm4312/hybrid/wl.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /home/c-aries/download/bcm4312/hybrid/wl.o
see include/linux/module.h for more information
  CC      /home/c-aries/download/bcm4312/d.o
  LD [M]  /home/c-aries/download/bcm4312/hybrid/wl.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
$ uname -r
2.6.26-2-686
$ sudo cp -rf wl.ko /lib/modules/2.6.26-2-686/kernel/drivers/net/wireless/
$ sudo depmod
$ sudo modprobe wl
$


4. 检测是否安装成功
$ lsmod | grep wl
wl                   1269312  0
ieee80211_crypt         5124  2 ieee80211_crypt_tkip,wl
// bios设置无线可用,打开无线开关
$ sudo iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      IEEE 802.11bg  ESSID:""  Nickname:""
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated 
          Bit Rate:54 Mb/s   Tx-Power:32 dBm 
          Retry min limit:7   RTS thr:off   Fragment thr:off
          Power Managementmode:All packets received
          Link Quality=5/5  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ppp0      no wireless extensions.

$
// 行了,已经可以看到无线网卡的eth1 :)


大功告成!