ubuntu server 15.10下如何驱动Broadcom无线网卡?

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

ubuntu server 15.10下如何驱动Broadcom无线网卡?

#1

帖子 fibbery »

没有图形界面,想要驱动Broadcom Corporation BCM4311 802.11b/g WLAN无线网卡,请各位支招!
通过命令查找到如下列表:
b43-fwcutter - utility for extracting Broadcom 43xx firmware
broadcom-sta-common - Common files for the Broadcom STA Wireless driver
broadcom-sta-dkms - dkms source for the Broadcom STA Wireless driver
broadcom-sta-source - Source for the Broadcom STA Wireless driver
bcmwl-kernel-source - Broadcom 802.11 Linux STA wireless driver source
安装了broadcom-sta-common,重启电脑,ifconfig也没有看见无线网卡!
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#2

帖子 poloshiao »

BCM4311
1. 請先參閱
1-1. 開源驅動
https://help.ubuntu.com/community/WifiD ... -source.29
1-2. 閉源驅動
https://help.ubuntu.com/community/WifiD ... rietary.29
1-3. 最新資訊
http://www.broadcom.com/support/802.11

2. 把下面指令 複製 貼進終端機 執行
2-0. uname -r
2-1. sudo lspci -knn
2-1-1. 如果無線網卡是 usb 裝置 請增加
sudo lsusb
2-2. sudo lshw -numeric -class network
2-3. sudo ifconfig -a
2-4. sudo route -nv
把結果直接 選取/複製 貼上來
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#3

帖子 fibbery »

2. 把下面指令 複製 貼進終端機 執行
2-0. uname -r
uname -r
4.2.0-18-generic

2-1. sudo lspci -knn
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD/ATI] RS480/RS482/RS485 Host Bridge [1002:5950] (rev 10)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
00:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RC4xx/RS4xx PCI Bridge [int gfx] [1002:5a3f]
00:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RC4xx/RS4xx PCI Express Port 1 [1002:5a36]
Kernel driver in use: pcieport
00:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RC4xx/RS4xx PCI Express Port 2 [1002:5a37]
Kernel driver in use: pcieport
00:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RC4xx/RS4xx PCI Express Port 3 [1002:5a38]
Kernel driver in use: pcieport
00:12.0 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 Serial ATA Controller [1002:4379] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: sata_sil
00:13.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB Host Controller [1002:4374] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: ohci-pci
00:13.1 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB Host Controller [1002:4375] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: ohci-pci
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB2 Host Controller [1002:4373] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: ehci-pci
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 SMBus Controller [1002:4372] (rev 82)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: piix4_smbus
00:14.1 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 IDE Controller [1002:4376] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: pata_atiixp
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 High Definition Audio Controller [1002:437b] (rev 01)
Subsystem: Device [30b0:103c]
Kernel driver in use: snd_hda_intel
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 PCI-ISA Bridge [1002:4377] (rev 80)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
00:14.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 PCI-PCI Bridge [1002:4371] (rev 80)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103]
Kernel driver in use: k8temp
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RS482M [Mobility Radeon Xpress 200] [1002:5975]
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: radeon
02:01.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet [14e4:169c] (rev 03)
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: tg3
02:04.0 CardBus bridge [0607]: Texas Instruments PCIxx12 Cardbus Controller [104c:8039]
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: yenta_cardbus
02:04.1 FireWire (IEEE 1394) [0c00]: Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller [104c:803a]
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: firewire_ohci
02:04.2 Mass storage controller [0180]: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) [104c:803b]
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: tifm_7xx1
02:04.3 SD Host controller [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller [104c:803c]
Subsystem: Hewlett-Packard Company Device [103c:30b0]
Kernel driver in use: sdhci-pci
30:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)
Subsystem: Hewlett-Packard Company BCM4311 802.11b/g Wireless LAN Controller [103c:1364]

2-1-1. 如果無線網卡是 usb 裝置 請增加
sudo lsusb
2-2. sudo lshw -numeric -class network
sudo lshw -numeric -class network
*-network UNCLAIMED
description: Network controller
product: BCM4311 802.11b/g WLAN [14E4:4311]
vendor: Broadcom Corporation [14E4]
physical id: 0
bus info: pci@0000:30:00.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
resources: memory:c8000000-c8003fff
*-network
description: Ethernet interface
product: NetXtreme BCM5788 Gigabit Ethernet [14E4:169C]
vendor: Broadcom Corporation [14E4]
physical id: 1
bus info: pci@0000:02:01.0
logical name: enp2s1
version: 03
serial: 00:17:a4:de:44:82
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 66MHz
capabilities: pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.137 duplex=full firmware=5788-v3.26 ip=192.168.2.112 latency=64 link=yes mingnt=64 multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:23 memory:d4000000-d400ffff

2-3. sudo ifconfig -a
enp2s1 Link encap:Ethernet HWaddr 00:17:a4:de:44:82
inet addr:192.168.2.112 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::217:a4ff:fede:4482/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3941 errors:0 dropped:0 overruns:0 frame:0
TX packets:4001 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:318977 (318.9 KB) TX bytes:571296 (571.2 KB)
Interrupt:23

enp2s1:1 Link encap:Ethernet HWaddr 00:17:a4:de:44:82
inet addr:192.168.2.92 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:23

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11840 (11.8 KB) TX bytes:11840 (11.8 KB)

2-4. sudo route -nv
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 enp2s1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s1
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#4

帖子 vickycq »

安装了broadcom-sta-common,重启电脑,ifconfig也没有看见无线网卡!
私有驱动需安装 broadcom-sta-dkms

代码: 全选

sudo apt-get install linux-headers-generic build-essential
sudo apt-get install broadcom-sta-dkms
此驱动已包含 /etc/modprobe.d/broadcom-sta-dkms.conf,可自动将开源驱动列入黑名单
直接重新启动计算机

另外开源驱动 b43 也支持 BCM4311
若 broadcom-sta-dkms(wl) 使用体验不佳,再来试
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#5

帖子 poloshiao »

*-network UNCLAIMED
product: BCM4311 802.11b/g WLAN [14E4:4311]
configuration: latency=0
*-network
product: NetXtreme BCM5788 Gigabit Ethernet [14E4:169C]
serial: 00:17:a4:de:44:82
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.137 duplex=full firmware=5788-v3.26 ip=192.168.2.112 latency=64 link=yes mingnt=64 multicast=yes port=twisted pair speed=1Gbit/s
1. 目前 沒有作用中驅動
所以沒有抓到類似有線網卡的 MAC
serial: 00:17:a4:de:44:82
sudo ifconfig -a
2. 所以沒有分配到無線網卡界面

3. 建議 先安裝合適的驅動
請 vickycq 指導
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#6

帖子 fibbery »

vickycq 写了:
安装了broadcom-sta-common,重启电脑,ifconfig也没有看见无线网卡!
私有驱动需安装 broadcom-sta-dkms

代码: 全选

sudo apt-get install linux-headers-generic build-essential
sudo apt-get install broadcom-sta-dkms
此驱动已包含 /etc/modprobe.d/broadcom-sta-dkms.conf,可自动将开源驱动列入黑名单
直接重新启动计算机

另外开源驱动 b43 也支持 BCM4311
若 broadcom-sta-dkms(wl) 使用体验不佳,再来试

sudo apt-get install broadcom-sta-dkms
DKMS make.log for broadcom-sta-6.30.223.248 for kernel 4.2.0-18-generic (x86_64)
Thu Nov 26 19:04:44 CST 2015
/bin/sh: 1: [: Illegal number:
/bin/sh: 1: [: Illegal number:
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
KBUILD_NOPEDANTIC=1 make -C /lib/modules/4.2.0-18-generic/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-headers-4.2.0-18-generic'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
LD /var/lib/dkms/broadcom-sta/6.30.223.248/build/built-in.o
CC [M] /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/shared/linux_osl.o
CC [M] /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_linux.o
CC [M] /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_iw.o
CC [M] /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_notify_connect_status’:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2075:4: error: too few arguments to function ‘cfg80211_disconnected’
cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
^
In file included from /var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
include/net/cfg80211.h:4584:6: note: declared here
void cfg80211_disconnected(struct net_device *dev, u16 reason,
^
scripts/Makefile.build:258: recipe for target '/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o' failed
make[2]: *** [/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
Makefile:1398: recipe for target '_module_/var/lib/dkms/broadcom-sta/6.30.223.248/build' failed
make[1]: *** [_module_/var/lib/dkms/broadcom-sta/6.30.223.248/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-18-generic'
Makefile:158: recipe for target 'all' failed
make: *** [all] Error 2
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#7

帖子 fibbery »

事实上,我从官方网站上下载了源码,已经编译过wl.ko了。比broadcom-sta-dkms里面编译的版本要新。
也modprobe加载到了内核:
lsmod |grep -P "wl|lib80211"
lib80211 16384 0
wl 6447104 0
cfg80211 548864 1 wl

我不是很理解原理,也只是按照网上找的各种方法尝试,请指教!
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#8

帖子 vickycq »

fibbery 写了:事实上,我从官方网站上下载了源码,已经编译过wl.ko了。比broadcom-sta-dkms里面编译的版本要新。
也modprobe加载到了内核:
lsmod |grep -P "wl|lib80211"
lib80211 16384 0
wl 6447104 0
cfg80211 548864 1 wl
我不是很理解原理,也只是按照网上找的各种方法尝试,请指教!
若要使用手动编译安装的,先卸载之前安装的 broadcom-sta-*

1.
若要自行编译安装,可能需要手工将开源驱动列入黑名单
创建 /etc/modprobe.d/broadcom-sta-dkms.conf 加入以下内容

代码: 全选

blacklist b43
blacklist b43legacy
blacklist b44
blacklist bcma
blacklist brcm80211
blacklist brcmsmac
blacklist ssb
而且内核升级时要重新编译安装,不便于管理

2.
broadcom-sta-dkms 自动编译失败的问题,可再尝试 bcmwl-kernel-source 这个包
实际上 broadcom-sta-dkms 来自于 debian,bcmwl-kernel-source 才是 ubuntu 的 wl 私有驱动
但是 bcmwl-kernel-source 貌似不包含黑名单文件,可能需要按上面说的的自行创建
当然先卸载之前安装的 broadcom-sta-* 和 手动编译安装的
上次由 vickycq 在 2015-11-26 19:46,总共编辑 1 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#9

帖子 fibbery »

cat /etc/modprobe.d/broadcom-sta-dkms.conf
# wl module from Broadcom conflicts with the following modules:
blacklist b43
blacklist b43legacy
blacklist b44
blacklist bcma
blacklist brcm80211
blacklist brcmsmac
blacklist ssb


我在尝试一下你说的第二条。
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#10

帖子 fibbery »

6楼中的编译错误,是因为linux内核4.2版本之后,头文件定义的disconnect函数参数增加了导致的,说明apt安装的包是有问题的,官方提供的最新源码是增加了编译预处理的,修改后可以编译。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#11

帖子 vickycq »

fibbery 写了:6楼中的编译错误,是因为linux内核4.2版本之后,头文件定义的disconnect函数参数增加了导致的,说明apt安装的包是有问题的,官方提供的最新源码是增加了编译预处理的,修改后可以编译。
感谢分享,不过我这里 Linux 4.2.1 + broadcom-sta-dkms 是完全正常的
不知自行编译并加黑名单后 是否能正常使用了?
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#12

帖子 poloshiao »

6楼中的编译错误,是因为linux内核4.2版本之后,头文件定义的disconnect函数参数增加了导致的,说明apt安装的包是有问题的,官方提供的最新源码是增加了编译预处理的,修改后可以编译。
請把錯誤訊息 全部複製貼上來 才可避免遺漏重要資訊
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#13

帖子 fibbery »

poloshiao 写了:
6楼中的编译错误,是因为linux内核4.2版本之后,头文件定义的disconnect函数参数增加了导致的,说明apt安装的包是有问题的,官方提供的最新源码是增加了编译预处理的,修改后可以编译。
請把錯誤訊息 全部複製貼上來 才可避免遺漏重要資訊
6楼的错误信息,就是全部的错误信息。其中,最重要的是:
/var/lib/dkms/broadcom-sta/6.30.223.248/build/src/wl/sys/wl_cfg80211_hybrid.c:2075:4: error: too few arguments to function ‘cfg80211_disconnected’
在官方的6.30.223.271版本中源代码是有条件编译的编译预处理开关的,目的是为了在不同内核版本中进行编译。
fibbery
帖子: 32
注册时间: 2008-05-08 15:02

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#14

帖子 fibbery »

vickycq 写了:
fibbery 写了:6楼中的编译错误,是因为linux内核4.2版本之后,头文件定义的disconnect函数参数增加了导致的,说明apt安装的包是有问题的,官方提供的最新源码是增加了编译预处理的,修改后可以编译。
感谢分享,不过我这里 Linux 4.2.1 + broadcom-sta-dkms 是完全正常的
不知自行编译并加黑名单后 是否能正常使用了?
我看了一下,我的内核版本是:ubuntu 4.2.0-18-generic

还是不能用,我觉得我的知识太有限,按照网上的方法也没有解决我的问题。

昨天折腾一天,我打算放弃了。

其实,模块都加载到内核了,但是硬件依旧显示unclaimed。我不知道哪里出了问题。非常感谢大家的关注和帮助!谢谢!
上次由 fibbery 在 2015-11-27 15:33,总共编辑 1 次。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu server 15.10下如何驱动Broadcom无线网卡?

#15

帖子 vickycq »

昨天折腾一天,我打算放弃了。
对于 BCM4311 还有一条路子是用逆向工程的 b43 驱动
需要用 firmware-b43-installer 自动提取并安装对应固件

我的 BCM 无线网卡也没满意过

具体参考
https://help.ubuntu.com/community/WifiD ... -source.29
https://wiki.debian.org/bcm43xx#b43_and_b43legacy
https://wireless.wiki.kernel.org/en/users/drivers/b43
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复