QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6063|回复: 9

BCM4311无线网卡还不能工作

[复制链接]
发表于 2008-1-18 17:34:51 | 显示全部楼层 |阅读模式
# lspci
04:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
06:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
08:06.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

不能开启wpa_supplicant:
wpa_supplicant failed. The error was: 启动 wpa_supplicant:/etc/wpa_supplicant/wpa_supplicant.conf, , dbus_bus_request_name[dbus]: Resource temporarily unavailable
Failed to initialize wpa_supplicant
[失败]

查看config-2.6.23.9-85.fc8
#
# Wireless LAN
#
# CONFIG_BCM43XX is not set
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_LEDS=y
CONFIG_B43_RFKILL=y
CONFIG_B43_DEBUG=y
CONFIG_B43_DMA=y
CONFIG_B43_PIO=y
CONFIG_B43_DMA_AND_PIO_MODE=y
# CONFIG_B43_DMA_MODE is not set
# CONFIG_B43_PIO_MODE is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_RFKILL=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set


# nm-tool

NetworkManager Tool

State: connected

- Device: eth0 ----------------------------------------------------------------
  Type:              Wired
  Driver:            tg3
  Active:            yes
  HW Address:        00:1B:38:9B:4C:DB
.......

- Device: wlan0 ----------------------------------------------------------------
  Type:              802.11 Wireless
  Driver:            b43-pci-bridge
  Active:            no
  HW Address:        00:1A:73:DA:5A:F2

  Capabilities:
    Supported:       yes

  Wireless Settings
    WEP Encryption:  yes
    WPA Encryption:  yes
    WPA2 Encryption: yes

dmesg:
firewire_ohci: Added fw-ohci device 0000:08:06.0, OHCI version 1.10
b43-phy0: Broadcom 4311 WLAN found
ACPI: PCI Interrupt 0000:00:1f.3[C] -> GSI 19 (level, low) -> IRQ 19
b43-phy0 debug: Found PHY: Analog 4, Type 2, Revision 8
b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
phy0: Selected rate control algorithm 'simple'
firewire_core: created new fw device fw0 (0 config rom retries, S400)
ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:1b.0 to 64
hda_codec: Unknown model for ALC262, trying auto-probe from BIOS...
nvidia: module license 'NVIDIA' taints kernel.

借地记录一下,问题待解.

[ 本帖最后由 tyfrlj 于 2008-1-19 17:25 编辑 ]
 楼主| 发表于 2008-1-18 17:59:19 | 显示全部楼层
目前暂时认为是内核的问题,准备重新编译内核

http://download.fedora.redhat.co ... 23.9-85.fc8.src.rpm

[ 本帖最后由 tyfrlj 于 2008-1-19 15:29 编辑 ]
回复

使用道具 举报

发表于 2008-1-18 20:39:16 | 显示全部楼层
google一下b43-fwcutter这个东西
回复

使用道具 举报

 楼主| 发表于 2008-1-18 20:50:56 | 显示全部楼层
楼上的,你难道看不出来我NB里b43-fwcutter安装得很好吗?
但是要知道,我的卡是bcm4311!!!应该安装的是bcm43xx_*.o的驱动!
所以fedora默认内核不支持
回复

使用道具 举报

发表于 2008-1-18 23:48:02 | 显示全部楼层
也许会有些用处


  1. Kernel Configuration

  2. Enable the following options in the kernel, then build and install as normal:
  3. Linux Kernel Configuration: Kernel options for BCM43xx

  4. Networking -->
  5.    Wireless -->
  6.       <M>   Generic IEEE 802.11 Networking Stack
  7.       [*]     Enable full debugging output
  8.       <M>     IEEE 802.11 WEP encryption (802.1x)
  9.       <M>     IEEE 802.11i CCMP support
  10.       <M>     IEEE 802.11i TKIP encryption
  11.       <M>     Software MAC add-on to the IEEE 802.11 networking stack
  12.       [*]       Enable full debugging output

  13. Device Drivers -->
  14.    Network device support -->
  15.      Wireless LAN drivers (non-hamradio) & Wireless Extensions
  16.        <M>   Broadcom BCM43xx wireless support
  17.        [*]     Broadcom BCM43xx debugging (RECOMMENDED)

  18. Note: If you get an error message saying "WEP encryption is not enabled for your device" or similar it may be necessary to compile the following into the kernel to ensure that the required cryptographic options are enabled. If you compile the cryptographic options as modules, they may not be loaded automatically by the driver.
  19. Linux Kernel Configuration: Alternate Kernel options for bcm43xx

  20. Networking -->
  21.    Wireless -->
  22.       <*>   Generic IEEE 802.11 Networking Stack

复制代码
回复

使用道具 举报

 楼主| 发表于 2008-1-23 12:42:50 | 显示全部楼层
重新编译内核后发现bcm43xx驱动工作不正常,可以发现网络,但是连接不上。
经过查阅文档才明白,原来bcm43xx是此类网卡的旧版驱动,b43是更新的驱动。
我的bcm4311应该属于新类的bcm43xx网卡,于是安装b43的驱动和固件,网卡工作正常,问题解决。
回复

使用道具 举报

发表于 2008-2-12 00:21:55 | 显示全部楼层
原帖由 tyfrlj 于 2008-1-23 12:42 发表
重新编译内核后发现bcm43xx驱动工作不正常,可以发现网络,但是连接不上。
经过查阅文档才明白,原来bcm43xx是此类网卡的旧版驱动,b43是更新的驱动。
我的bcm4311应该属于新类的bcm43xx网卡,于是安装b43的驱 ...

能讲讲具体怎么做么?我的是bcm4310,也起不来……
回复

使用道具 举报

发表于 2008-7-17 10:34:42 | 显示全部楼层
楼主能帮我看下么
一直检测不到无线信号!!!

[root@localhost ~]# iwconfig
lo        no wireless extensions.

dev23932  IEEE 802.11b/g  ESSIDff/any  Nickname:"Broadcom 4306"
          Mode:Managed  Frequency=2.442 GHz  Access Point: Invalid
          RTS thrff   Fragment thrff
          Encryption keyff
          Link Quality=0/100  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

eth0      no wireless extensions.
回复

使用道具 举报

发表于 2009-6-26 00:30:42 | 显示全部楼层
小bs一下楼主这种解决了问题不提供详细解决方式就出来装13的人

一直听说b43的驱动已经很好了,以前自己试过许多次,但是没有成功,过了快一年了,总算有心情重新折腾一下了,发现真的和某个人说的一样,linux对驱动的支持已经相当不错了!

把自己的经验和网上看到的东西好好总结了一下,和大家分享!希望能让这折腾这方面的朋友少走一些弯路!

linuxboy_007原创,作者保留所有权利,转载请注明出处!

本文是一篇关于使用真正的linux方式驱动nx6325上的 bcm4311(具体型号: pci.product_id = 17170 (0x4312) pci.subsys_product_id = 4961 (0x1361)
pci.subsys_vendor_id = 4156 (0x103c) 如果你的bcm4311也符合一下参数,那么本文也适合你 )的简要的说明。本文的中的内核版本是2.6.25如果你的内核版本低于它,请先升级内核!

如果你希望使用NDISWRAPPER驱动你的网卡,那么请参阅其官方网站上的说明!

如果你的英文很好,那么作者建议你直接参考官网上的说明:
http://linuxwireless.org/en/users/Drivers/b43

首先,需要对新手说明几件事:
1)linux在内核版本2.6.17-rc2起就已经加入了对bcm43xx网卡自己的无线网络驱动模块,直到我写本文的时候,内核已经升级到了2.6.26这意味着非常多的bcm43xx芯片组已经得到了支持。

2)linux内核中已经有了相应驱动并不意味着你装一个包含有驱动新内核就可以立刻使用你的无线网卡!要驱动网卡,你需要把合适的固件放到/lib/firmware下。

3)不要以为iwlist scan没有执行扫描就认为你的网卡无法驱动!linux方式的驱动和ndiswrapper驱动是不同的!如果使用linux方式的驱动需要保证 /lib/firmware中有合适固件的情况下,开启NetworkManager服务,由该服务驱动无线网卡。

好了,我们开工!

先到http://linuxwireless.org/en/users/Drivers/b43/devices 看看有那些确定能驱动的网卡。重要的是后三列:PCI Product、PCI Subvendor 、PCI Subsystem;它们分别代表了产品ID、生产商ID、子系统ID

现在,看看自己的无线网卡是不是在此列:
[root@sunshine ~]# lshal
找到 pci.product=“你的网卡品牌”的一段,我的是:
udi = '/org/freedesktop/Hal/devices/pci_14e4_4312'
info.linux.driver = 'b43-pci-bridge' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_1002_5a38' (string)
info.product = 'BCM4312 802.11a/b/g' (string)
info.subsystem = 'pci' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_14e4_4312' (string)
info.vendor = 'Broadcom Corporation' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'pci' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:06.0/0000:30:00.0' (string)
pci.device_class = 2 (0x2) (int)
pci.device_protocol = 0 (0x0) (int)
pci.device_subclass = 128 (0x80) (int)
pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:06.0/0000:30:00.0' (string)
pci.product = 'BCM4312 802.11a/b/g' (string)
pci.product_id = 17170 (0x4312) (int)
pci.subsys_product_id = 4961 (0x1361) (int)
pci.subsys_vendor = 'Hewlett-Packard Company' (string)
pci.subsys_vendor_id = 4156 (0x103c) (int)
pci.vendor = 'Broadcom Corporation' (string)
pci.vendor_id = 5348 (0x14e4) (int)


刚才所说的:
PCI Product对应pci.product_id
PCI Subvendor对应 pci.subsys_vendor_id
PCI Subsystem对应pci.subsys_product_id

按照以上关系回到刚才的列表中去寻找你的无线网卡。如果没有你的网卡,那么很遗憾,你的网卡很可能无法被正确驱动。但是你仍然可以试一试,有一定可能会成功!

现在你需要找到你的网卡在windows下的驱动程序(一般笔记本的官网上都有)。我的是:bcmwl564.sys(我的系统是64位的,32位的应该是:bcmwl5.sys)
执行下列命令:
[root@sunshine WinDriver]# bcm43xx-fwcutter -i bcmwl564.sys
看看你的无线网卡驱动版本,我的是:
version : 4.100.15.5
如果你的驱动版本比这个低,但是主版本号仍然为4,或者你的驱动版本高于此版本但是低于或者等于4.150.10.5,那么恭喜你,你有极大可能完美的驱动你的网卡!
=================
备注:
这里说明一下bcm43xx-fwcutter这个工具:
它是一个用于主版本号为3的驱动的固件提取器(b43-fwcutter用于版本4),这里之所以用它是因为它能够分析出许多驱动的版本号,如果你的系统里没有它,那么请使用如下命令自己构建:
wget http://bu3sch.de/b43/fwcutter/bcm43xx-fwcutter-006.tar.bz2
tar xjf bcm43xx-fwcutter-006.tar.bz2
cd bcm43xx-fwcutter-006
make
cd ..
=================

现在下载并构建最新的b43-fwcutter:
wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..

然后下载最新的linux驱动:
wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
这个包的driver目录里包含很多驱动,本文中提到并且成功使用的只有一个,如果你的网卡不能驱动,你可以自己多尝试几个。

现在把驱动的固件摘取出来,并且放入 /lib/firmware(一般系统都应该在这个目录,要是你的系统比较特别,请参阅系统文档)
执行以下命令:
export FIRMWARE_INSTALL_DIR="/lib/firmware"
tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta_mimo.o
====================
备注:
wl_apsta_mimo.o 就是驱动程序本身(版本为4.150.10.5)
====================

好了,现在开启NetworkManager服务!
[root@sunshine driver]# service NetworkManager start
不同的系统有不同的方法,请自行开启。
如果你的gnome桌面的右上角没有出现两个小圆点的图标,请键入:
nm-applet&

没有错的话,无线网络已经开始工作了,可以看到面板上的无线指示灯亮起。

到此,任务完成!

顺便说一句:
我本来使用ndiswrapper驱动网卡,而现在可以看到感知道的信号强度比原来多了20%,呵呵!
回复

使用道具 举报

发表于 2009-6-26 00:33:23 | 显示全部楼层
wget http://bu3sch.de/b43/fwcutter/bcm43xx-fwcutter-006.tar.bz2
tar xjf bcm43xx-fwcutter-006.tar.bz2
cd bcm43xx-fwcutter-006
make
cd ..

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..


wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2

export FIRMWARE_INSTALL_DIR="/lib/firmware"
tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta_mimo.o

service NetworkManager start
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-28 18:39 , Processed in 0.059654 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表