第一次装的时候,看到有人说可以用firmware来装了,方法就是用b43_fwcutter,心里暗自高兴呢,原来简单啊!按照大侠们提供的办法装上,才发现无效。没办法只有再搜,多次尝试,最后还是得用ndiswrapper来实现了!
按照教程,装上ndiswrapper,装上驱动,启动!!仍然无效,nm-applet配置里面无无线网卡的配置,没有“启用无线”,才知道仍然没有成功!继续搜,让我看到了http://blog.chinaunix.net/u/6303/showart_432440.html这篇文章,他告诉我们:
本本的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:
[<ffffffff880e2870>] :ssb:ssb_tmslow_reject_bitmask+0x76/0x7f
[<ffffffff880e303e>] :ssb:ssb_device_is_enabled+0xf/0x39
[<ffffffff880e5192>] :ssb:ssb_pcicore_init+0x19/0x4a
[<ffffffff880e25d6>] :ssb:ssb_attach_queued_buses+0x7d/0x25c
[<ffffffff880e3cb4>] :ssb:ssb_pci_get_invariants+0x0/0x2b7
[<ffffffff880e2bca>] :ssb:ssb_bus_register+0x131/0x183
[<ffffffff880e2ccc>] :ssb:ssb_bus_pcibus_register+0x2a/0x4b
[<ffffffff880e4575>] :ssb:ssb_pcihost_probe+0x6f/0x9e
[<ffffffff8112da13>] pci_device_probe+0xd0/0x137
[<ffffffff811963e2>] driver_probe_device+0xff/0x17c
[<ffffffff811965a7>] __driver_attach+0x90/0xcc
[<ffffffff81196517>] __driver_attach+0x0/0xcc
[<ffffffff81196517>] __driver_attach+0x0/0xcc
[<ffffffff81195786>] bus_for_each_dev+0x43/0x6e
[<ffffffff81195afe>] bus_add_driver+0x7b/0x19d
Nov 26 19: [<ffffffff8112dbde>] __pci_register_driver+0x58/0x8a
[<ffffffff880ca045>] :ssb:ssb_modinit+0x45/0x5d
[<ffffffff81056e25>] sys_init_module+0x15d5/0x173a
[<ffffffff8100bbce>] system_call+0x7e/0x83
ssb: Sonics Silicon Backplane found on PCI device 0000:30:00.0
ssb.ko占用了14e4:4311!而它又占着茅坑不拉屎。
有心人知道,bcm无线网卡在linuxwiress.sourcdforge.net上是需要用到bcm43xx或b44模块,甚至还会用到一个 bcmxxbuffer的程序。但是在这款BCM94311MCG wlan mini-PCI (rev 02)就有很多bug,而且也不会驱动起来。fedora 8默认会去用此来试图驱动网卡,毕竟没人愿意接近够日的微软,不过话说回来,你hp提供了windows下的程序,或是brandcom不提供linux 下的驱动,我们就只能靠ndiswrapper了。
好了,毛病找到了,怎么办了呢?重新编译内核?太费时了。重做initrd是个不错的主意。
终于找到办法了,高兴啊!把过程写出来给大家分享下哈
1、重做initrd,删除ssb模块
这样实现
(可以先uname -r,得到内核版本,然后用它来代替$(uname -r),我的内核是linux-2.6.24-17-generic)
sudo rm /lib/module/$(uname -r)/kernel/driver/ssb -rf
sudo depmod -a
sudo mv /boot/initrd.img-$(uname -r) /boot/initrd.img-$(uname -r).old
下面跟原文有些不一样,请注意,原文是
#mkinitrd /boot/xxx.img `uname -r`
在ubuntu 8.04里面发现已经不用这个命令了
应该这样
sudo mkinitramfs -o /boot/initrd.img-$(uname -r)
如果找不到mkinitramfs命令,请在新立得软件安装里搜索initramfs,安装相关工具
sudo gedit /etc/modprobe.d/blacklist
确认里面有
blacklist bcm43xx
blacklist b43
blacklist ssb
没有可以加上
2、安装ndiswrapper
这个就不用说了,搜一下就行了,我装的是ndiswrapper 1.52
3、安装bcmwl5.inf
下载HP的无线网卡驱动SPxxx.exe
用cabextract解压
sudo capextract spxxx.exe
如果找不到该命令,请安装cabextract工具包
进入解压目录
运行
sudo ndiswrapper -i bcmwl5.inf
用 ndiswrapper -l看下安装是否成功,一般情况下都不会有问题,嘿嘿
再运行sudo ndiswrapper -m,为你的无线网卡指定个别名wlan0
4、自动加载ndiswrapper
sudo gedit /etc/modules
加上ndiswrapper
保存退出
OK
无线网卡就装完了
重启,看看nm-applet 手动配置里面是不是多了无线连接了?
看看是不是有启动无线选项了?
用iwconfig看看是不是找到wlan0了?
用iwlist看看是不是能搜到无线网络了?
如果有问题,你不妨lsmod,看看里面是不是有ssb,如果有,就说明你没有删除掉,重做第一步吧。
我发现关键问题就是ssb,而于ohci_hcd模块无关
IP Message 是网络传输的好工具,Linux 下也能够使用。 Ubuntu 源里暂时没有,需要手动编译。
1. 官方网站下载 Linux 最新版本并解压,
http://www.ipmsg.org/
我选择最新的GNOME2版本,下载文件g2ipmsg-0.9.1.tar.gz.
tar xzvf g2ipmsg-0.9.1.tar.gz
得到目录g2ipmsg-0.9.1
进入此目录cd g2ipmsg-0.9.1
2. 安装开发库
sudo apt-get install libxml-parser-perl libgnomeui-dev libpanel-applet2-dev gettext intltool
3. 进入目录,然后
./configure –enable-systray(这里写自己的飞鸽的configure的路径)
make
sudo make install
4. 从菜单启动,就可以使用了。经过测试,可以与 Win 下的 IP Message 互传文件
按照教程,装上ndiswrapper,装上驱动,启动!!仍然无效,nm-applet配置里面无无线网卡的配置,没有“启用无线”,才知道仍然没有成功!继续搜,让我看到了http://blog.chinaunix.net/u/6303/showart_432440.html这篇文章,他告诉我们:
本本的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:
[<ffffffff880e2870>] :ssb:ssb_tmslow_reject_bitmask+0x76/0x7f
[<ffffffff880e303e>] :ssb:ssb_device_is_enabled+0xf/0x39
[<ffffffff880e5192>] :ssb:ssb_pcicore_init+0x19/0x4a
[<ffffffff880e25d6>] :ssb:ssb_attach_queued_buses+0x7d/0x25c
[<ffffffff880e3cb4>] :ssb:ssb_pci_get_invariants+0x0/0x2b7
[<ffffffff880e2bca>] :ssb:ssb_bus_register+0x131/0x183
[<ffffffff880e2ccc>] :ssb:ssb_bus_pcibus_register+0x2a/0x4b
[<ffffffff880e4575>] :ssb:ssb_pcihost_probe+0x6f/0x9e
[<ffffffff8112da13>] pci_device_probe+0xd0/0x137
[<ffffffff811963e2>] driver_probe_device+0xff/0x17c
[<ffffffff811965a7>] __driver_attach+0x90/0xcc
[<ffffffff81196517>] __driver_attach+0x0/0xcc
[<ffffffff81196517>] __driver_attach+0x0/0xcc
[<ffffffff81195786>] bus_for_each_dev+0x43/0x6e
[<ffffffff81195afe>] bus_add_driver+0x7b/0x19d
Nov 26 19: [<ffffffff8112dbde>] __pci_register_driver+0x58/0x8a
[<ffffffff880ca045>] :ssb:ssb_modinit+0x45/0x5d
[<ffffffff81056e25>] sys_init_module+0x15d5/0x173a
[<ffffffff8100bbce>] system_call+0x7e/0x83
ssb: Sonics Silicon Backplane found on PCI device 0000:30:00.0
ssb.ko占用了14e4:4311!而它又占着茅坑不拉屎。
有心人知道,bcm无线网卡在linuxwiress.sourcdforge.net上是需要用到bcm43xx或b44模块,甚至还会用到一个 bcmxxbuffer的程序。但是在这款BCM94311MCG wlan mini-PCI (rev 02)就有很多bug,而且也不会驱动起来。fedora 8默认会去用此来试图驱动网卡,毕竟没人愿意接近够日的微软,不过话说回来,你hp提供了windows下的程序,或是brandcom不提供linux 下的驱动,我们就只能靠ndiswrapper了。
好了,毛病找到了,怎么办了呢?重新编译内核?太费时了。重做initrd是个不错的主意。
终于找到办法了,高兴啊!把过程写出来给大家分享下哈
1、重做initrd,删除ssb模块
这样实现
(可以先uname -r,得到内核版本,然后用它来代替$(uname -r),我的内核是linux-2.6.24-17-generic)
sudo rm /lib/module/$(uname -r)/kernel/driver/ssb -rf
sudo depmod -a
sudo mv /boot/initrd.img-$(uname -r) /boot/initrd.img-$(uname -r).old
下面跟原文有些不一样,请注意,原文是
#mkinitrd /boot/xxx.img `uname -r`
在ubuntu 8.04里面发现已经不用这个命令了
应该这样
sudo mkinitramfs -o /boot/initrd.img-$(uname -r)
如果找不到mkinitramfs命令,请在新立得软件安装里搜索initramfs,安装相关工具
sudo gedit /etc/modprobe.d/blacklist
确认里面有
blacklist bcm43xx
blacklist b43
blacklist ssb
没有可以加上
2、安装ndiswrapper
这个就不用说了,搜一下就行了,我装的是ndiswrapper 1.52
3、安装bcmwl5.inf
下载HP的无线网卡驱动SPxxx.exe
用cabextract解压
sudo capextract spxxx.exe
如果找不到该命令,请安装cabextract工具包
进入解压目录
运行
sudo ndiswrapper -i bcmwl5.inf
用 ndiswrapper -l看下安装是否成功,一般情况下都不会有问题,嘿嘿
再运行sudo ndiswrapper -m,为你的无线网卡指定个别名wlan0
4、自动加载ndiswrapper
sudo gedit /etc/modules
加上ndiswrapper
保存退出
OK
无线网卡就装完了
重启,看看nm-applet 手动配置里面是不是多了无线连接了?
看看是不是有启动无线选项了?
用iwconfig看看是不是找到wlan0了?
用iwlist看看是不是能搜到无线网络了?
如果有问题,你不妨lsmod,看看里面是不是有ssb,如果有,就说明你没有删除掉,重做第一步吧。
我发现关键问题就是ssb,而于ohci_hcd模块无关
IP Message 是网络传输的好工具,Linux 下也能够使用。 Ubuntu 源里暂时没有,需要手动编译。
1. 官方网站下载 Linux 最新版本并解压,
http://www.ipmsg.org/
我选择最新的GNOME2版本,下载文件g2ipmsg-0.9.1.tar.gz.
tar xzvf g2ipmsg-0.9.1.tar.gz
得到目录g2ipmsg-0.9.1
进入此目录cd g2ipmsg-0.9.1
2. 安装开发库
sudo apt-get install libxml-parser-perl libgnomeui-dev libpanel-applet2-dev gettext intltool
3. 进入目录,然后
./configure –enable-systray(这里写自己的飞鸽的configure的路径)
make
sudo make install
4. 从菜单启动,就可以使用了。经过测试,可以与 Win 下的 IP Message 互传文件