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 就可以使用了