Linux bcm43224 wifi 适配器在启动几分钟后变慢

Blu*_*ber 6 linux wireless-networking broadcom ubuntu

我刚刚在 2012 年年中的 MacBook Air 上安装了 Ubuntu。一切都开箱即用,但 wifi 显示出一些奇怪的行为。

当我第一次登录时,它真的很快,加载 google.com 几乎是即时的,总体上浏览感觉至少和在 Mac OS 上一样流畅。但是,几分钟后连接速度显着变慢,有时加载 google.com 需要 5 秒以上,简单的重新启动可以解决几分钟的问题。

眼镜:

  • Wifi:02:00.0 网络控制器:Broadcom Corporation BCM43224 802.11a/b/g/n(修订版 01)
  • 驱动程序:开源brcmsmac驱动程序
  • 内核:Linux wega 3.8.0-21-generic #32-Ubuntu SMP Tue May 14 22:16:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
  • 发行版:Ubuntu 13.04(最新)

我尝试了很多东西,但没有一个真正有帮助

  • 使用来自 Broadcom 的专有 sta 驱动程序
  • 将固件安装到 /lib/firmware/brcms (据我从日志中可以看出,根本没有加载)
  • 将路由器切换为仅使用 2.4 或 5 GHz
  • 将路由器设置为仅使用 OR g OR n
  • 将路由器设置为仅使用 AES 加密
  • 关闭适配器上的电源管理
  • 在路由器和笔记本电脑上将监管区域设置为正确的值 (NL)
  • 禁用 ipv6

似乎没有任何帮助,放缓总是发生。我确实注意到延迟(ping google.com)保持大致相同(大约 9 毫秒)。

下面是一些可能有用的更多信息。

$ lspci -nnk | grep -iA2 net
02:00.0 Network controller [0280]: Broadcom Corporation BCM43224 802.11a/b/g/n [14e4:4353] (rev 01)
    Subsystem: Apple Inc. Device [106b:00e9]
    Kernel driver in use: bcma-pci-bridge

$ rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

$ lsmod
Module                  Size  Used by
dm_crypt               22820  1 
arc4                   12615  2 
brcmsmac              550698  0 
coretemp               13355  0 
kvm_intel             132891  0 
parport_pc             28152  0 
kvm                   443165  1 kvm_intel
ppdev                  17073  0 
cordic                 12574  1 brcmsmac
brcmutil               14755  1 brcmsmac
mac80211              606457  1 brcmsmac
cfg80211              510937  2 brcmsmac,mac80211
bnep                   18036  2 
rfcomm                 42641  12 
joydev                 17377  0 
applesmc               19353  0 
input_polldev          13896  1 applesmc
snd_hda_codec_hdmi     36913  1 
microcode              22881  0 
snd_hda_codec_cirrus    23829  1 
nls_iso8859_1          12713  1 
uvcvideo               80847  0 
btusb                  22474  0 
snd_hda_intel          39619  3 
videobuf2_vmalloc      13056  1 uvcvideo
snd_hda_codec         136453  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_cirrus
bcm5974                17347  0 
bluetooth             228619  22 bnep,btusb,rfcomm
snd_hwdep              13602  1 snd_hda_codec
lpc_ich                17061  0 
videobuf2_memops       13202  1 videobuf2_vmalloc
videobuf2_core         40513  1 uvcvideo
videodev              129260  2 uvcvideo,videobuf2_core
bcma                   41051  1 brcmsmac
snd_pcm                97451  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30180  1 snd_seq_midi
snd_seq                61554  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29425  2 snd_pcm,snd_seq
snd                    68876  16 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_hda_codec_cirrus
mei                    41158  0 
soundcore              12680  1 snd
apple_bl               13673  0 
mac_hid                13205  0 
lp                     17759  0 
parport                46345  3 lp,ppdev,parport_pc
usb_storage            57204  0 
hid_apple              13237  0 
hid_generic            12540  0 
ghash_clmulni_intel    13259  0 
aesni_intel            55399  399 
aes_x86_64             17255  1 aesni_intel
xts                    12885  1 aesni_intel
lrw                    13257  1 aesni_intel
gf128mul               14951  2 lrw,xts
ablk_helper            13597  1 aesni_intel
cryptd                 20373  4 ghash_clmulni_intel,aesni_intel,ablk_helper
i915                  600351  3 
ahci                   25731  3 
libahci                31364  1 ahci
video                  19390  1 i915
i2c_algo_bit           13413  1 i915
drm_kms_helper         49394  1 i915
usbhid                 47074  0 
drm                   286313  4 i915,drm_kms_helper
hid                   101002  3 hid_generic,usbhid,hid_apple

$ dmesg | egrep 'b43|bcma|brcm|[F]irm'
[    0.055025] [Firmware Bug]: ioapic 2 has no mapping iommu, interrupt remapping will be disabled
[    0.152336] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    2.187681] pci_root PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-99] only partially covers this bridge
[   12.553600] bcma-pci-bridge 0000:02:00.0: enabling device (0000 -> 0002)
[   12.553657] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and package 0x08
[   12.553688] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x22, class 0x0)
[   12.553715] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x17, class 0x0)
[   12.553764] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x0F, class 0x0)
[   12.605777] bcma: bus0: Bus registered
[   12.852925] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq 17
[   13.085176] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[   13.085186] brcmsmac bcma0:0: brcms_ops_config: change power-save mode: false (implement)
[   20.862617] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: associated
[   20.862622] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: enabled true, count 0 (implement)
[   20.862625] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: true (implement)
[   20.897957] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: enabled true, count 1 (implement)


$ iwconfig
lo        no wireless extensions.

wlan0     IEEE 802.11abgn  ESSID:"wlan"  
          Mode:Managed  Frequency:5.22 GHz  Access Point: E0:46:9A:4E:63:9A   
          Bit Rate=65 Mb/s   Tx-Power=17 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=63/70  Signal level=-47 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:13  Invalid misc:56   Missed beacon:0
Run Code Online (Sandbox Code Playgroud)

小智 1

我的 Dell Vostro 中曾经有相同的无线卡,我也遇到过一些类似的问题。

尝试按照此处所述编译驱动程序(我不使用 Ubuntu,也不再使用笔记本来测试并确保其工作)

https://askubuntu.com/questions/55868/how-to-install-a-broadcom-wireless-driver

这些也可以帮助:

https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx http://ubuntuforums.org/showthread.php?t=1658627

最后,我有一种强烈的感觉,你确实需要重新编译内核并激活CONFIG_B43_BCMA_EXTRAvar 才能加载b43模块。