红联Linux门户
Linux帮助

hp6515b for fedora8 之无线驱动安装篇

发布时间:2007-11-30 00:22:05来源:红联作者:compat
作者,适兕

这或许是一个很弱智的问题,但是确实折磨了我好多天才搞定。废话就不多说了,下面就把我遇到的问题共享出来。

本本的lspci输出:

30:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02)

lspci -vn的输出:

引用:
30:00.0 0280: 14e4:4311 (rev 02)
Subsystem: 103c:1375
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at c8000000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information
Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Capabilities: [d0] Express Endpoint IRQ 0


/usr/share/hwdata/pci.ids也能正确查找到。

但是问题就出现在这里了,fedora 8默认的竟然加载的是ssb.ko,这就是十分令人费解的事情的了。

dmesg的输出:

引用:
ssb: rev 60000000
WARNING: at drivers/ssb/main.c:890 ssb_tmslow_reject_bitmask() (Not tainted)
Call Trace:
[] :ssb:ssb_tmslow_reject_bitmask+0x76/0x7f
[] :ssb:ssb_device_is_enabled+0xf/0x39
[] :ssb:ssb_pcicore_init+0x19/0x4a
[] :ssb:ssb_attach_queued_buses+0x7d/0x25c
[] :ssb:ssb_pci_get_invariants+0x0/0x2b7
[] :ssb:ssb_bus_register+0x131/0x183
[] :ssb:ssb_bus_pcibus_register+0x2a/0x4b
[] :ssb:ssb_pcihost_probe+0x6f/0x9e
[] pci_device_probe+0xd0/0x137
[] driver_probe_device+0xff/0x17c
[] __driver_attach+0x90/0xcc
[] __driver_attach+0x0/0xcc
[] __driver_attach+0x0/0xcc
[] bus_for_each_dev+0x43/0x6e
[] bus_add_driver+0x7b/0x19d
Nov 26 19: [] __pci_register_driver+0x58/0x8a
[] :ssb:ssb_modinit+0x45/0x5d
[] sys_init_module+0x15d5/0x173a
[] system_call+0x7e/0x83

ssb: Sonics Silicon Backplane found on PCI device 0000:30:00.0


ssb.ko占用了14e4:4311!而它又占着茅坑不拉屎。

我们知道遇到bcmwl5这样的驱动,在linux下用ndiswrapper是很好使的(关于ndiswrapper详见官方网站http://ndiswrapper.sourceforge.net

先说说这个ssb是个什么东西吧。Sonics Silicon Backplane这是在内核中自带的。

that can be used by ssb based device drivers auch as bcm43xx and b44.

有心人知道,bcm无线网卡在linuxwiress.sourcdforge.net上是需要用到bcm43xx或b44模块,甚至还会用到一个bcmxxbuffer的程序。但是在这款BCM94311MCG wlan mini-PCI (rev 02)就有很多bug,而且也不会驱动起来。fedora 8默认会去用此来试图驱动网卡,毕竟没人愿意接近够日的微软,不过话说回来,你hp提供了windows下的程序,或是brandcom不提供linux下的驱动,我们就只能靠ndiswrapper了。
好了,毛病找到了,怎么办了呢?重新编译内核?太费时了。重做initrd是个不错的主义。下面是我的步骤:

引用:
#rm /lib/module/`uname -r`/kernel/driver/ssb -rf
#depmod -a
#mv /boot/`uname -r`-img /boot/xx.bak
#mkinitrd /boot/xxx.img `uname -r`
#ndiswrapper -m
#reboot


在开机时执行下面的脚本:

引用:
#!/bin/sh
OK=`sudo mii-tool eth0|awk '{print $3}' -`
echo "有线网卡的状态是$OK"
if [ -z "$OK" -o "$OK" != "ok" ];then
sudo iwconfig wlan0 essid "xxxxxxx" key s:xxxxxx
sudo dhclient &&echo "wireless already,now you ...."
fi
exit 0;

that's all.
文章评论

共有 4 条评论

  1. gxf 于 2008-01-20 22:22:39发表:

    尽快添加原文链接,注意一下上面的版规

  2. creasure 于 2008-01-20 19:34:43发表:

    我的也是6515b,正为不能开启无线网络头疼

  3. marco.chan 于 2007-11-30 12:14:23发表:

    又见Broadcom BCM****无线网卡无法使用......

  4. 奶瓶 于 2007-11-30 00:24:27发表:

    :0w223dc
    这个太及时了。我的也是 6515B,正搜集这方面信息呢。就是怕遇到麻烦事。

    楼主还是什么经验,分享一下啊。