1. 检查内核版本 和硬件
#uname -a
Linux Neil-PC 2.6.38.2-9.fc15.x86_64 #1 SMP Wed Mar 30 16:55:57 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
#lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02) 00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02) 00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 05) 00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05) 00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05) 00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05) 00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05) 00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5) 00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05) 00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation GT218 [NVS 3100M] (rev a2) 01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1) 03:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g LP-PHY (rev 01) 04:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 03) 04:00.4 FireWire (IEEE 1394): Ricoh Co Ltd Device e832 (rev 03) 3f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02) 3f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02) 3f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02) 3f:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02) 3f:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02) 3f:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
2 . 编译源码
注意:yum install broadcom-wl 不能用,fedora 14 可以的
到官方下载驱动包,但是那个包编译不了,(这里可以下载 我改过的代码 )
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory `/usr/src/kernels/2.6.38.2-9.fc15.x86_64' CC [M] /root/broadcom_bcm4313/src/wl/sys/wl_linux.o /root/broadcom_bcm4313/src/wl/sys/wl_linux.c: In function ‘wl_attach’: /root/broadcom_bcm4313/src/wl/sys/wl_linux.c:485:3: error: implicit declaration of function ‘init_MUTEX’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [/root/broadcom_bcm4313/src/wl/sys/wl_linux.o] Error 1 make[1]: *** [_module_/root/broadcom_bcm4313] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.38.2-9.fc15.x86_64'
需要在wl_linux.h 186 行加上
#define init_MUTEX(LOCKNAME) sema_init(LOCKNAME,1);
3. 编译好的 wl.ko 复制到
/lib/module/xxxxx/extra/wl/wl.ko
[root@Neil-PC wl]# pwd /lib/modules/2.6.38.2-9.fc15.x86_64/extra/wl [root@Neil-PC wl]# ll total 3964 -rw-r--r-- 1 root root 4058778 Apr 15 08:32 wl.ko
4. 插入模块
检测并自动插入,成功的话直接返回,无错误
#modproble wl
5. reboot 就可以使用了