Кали линукс не видит wifi модуль

Содержание:

Step 4a: Loading the driver module into kernel

Having successfully compiled the driver module, you can now load it into kernel, and eventually set up automatic driver load on system boot (to do all this, you’ll have to assume root privileges). Of course, driver module loading can be done only after you remove the existing/conflicting wireless driver modules from kernel (in case these are loaded):

# modprobe -r bcm43xx
# modprobe -r b43
# modprobe -r b43legacy
# modprobe -r ssb
# modprobe -r bcma
# modprobe -r brcmsmac
# modprobe -r ndiswrapper

copy the driver module file to a location where kernel can find it:

# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/

to be consistent with all other external modules that have been / may be installed from a kmod packages (e.g. fuse, ntfs-3g, etc.)

Next, run:

# depmod $(uname -r)

in order to create a list of module dependencies, and now load the driver module:

# modprobe wl

If no error was reported, the driver module is now successfully loaded and ready to use. The ‘ndiswrapper’ kernel module can be removed, provided you don’t use it for anything else but wireless driver — but this is not necessary.

Step 3b: Compiling the Broadcom driver module (specifics required for EL7)

NOTE: Lately, it’s required to apply the patches before the sed statements, which may not always be the case, so if the compilation fails, try doing things other way around, i.e. sed before you patch.

Depending on EL7 point release (or better yet, the kernel version you’re running), sub-set of sed replacements to apply will differ. So, stock kernels shipped with EL 7.0 (i.e. kernel-3.10.0-123.X), don’t require running any of the commands below, EL 7.1 (i.e. kernel-3.10.0-229.X) require the first two, EL 7.2 (i.e. kernel-3.10.0-327.X), require first four ‘sed’ commands, EL 7.3 requires first 6 executed, EL7.4 first 7, and for EL 7.5 all ‘sed’ commands are required so as to make the code compile (along with the one from step 3a):

$ sed -i 's/ >= KERNEL_VERSION(3, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ >= KERNEL_VERSION(3, 15, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c

$ sed -i 's/ < KERNEL_VERSION(3, 18, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ >= KERNEL_VERSION(4, 0, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c

$ sed -i 's/ < KERNEL_VERSION(4,2,0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ >= KERNEL_VERSION(4, 7, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c

$ sed -i 's/ >= KERNEL_VERSION(4, 8, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c

$ sed -i 's/ >= KERNEL_VERSION(4, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ < KERNEL_VERSION(4, 12, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ >= KERNEL_VERSION(4, 12, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
$ sed -i 's/ <= KERNEL_VERSION(4, 10, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_linux.c

Again, esp. if you’re running EL 7.3, or one of its kernels, you’ll have to apply the following patches wl-kmod-01_kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch wl-kmod-02_kernel_4.8_add_cfg80211_scan_info_struct.patch wl-kmod-03_fix_kernel_warnings.patch wl-kmod-04_kernel_4.11_remove_last_rx_in_net_device_struct.patch wl-kmod-05_kernel_4.12_add_cfg80211_roam_info_struct.patch BEFORE you apply the above sed replacement commands (otherwise, compilation won’t work). Also, don’t forget the patch from step 3a:

$ patch -p1 < ../wl-kmod-01_kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch
patching file src/wl/sys/wl_cfg80211_hybrid.c
Hunk #6 succeeded at 1911 (offset 3 lines).
Hunk #7 succeeded at 2040 (offset 3 lines).
Hunk #8 succeeded at 2160 (offset 3 lines).
Hunk #9 succeeded at 2298 (offset 3 lines).
Hunk #10 succeeded at 2941 (offset 3 lines).
$ patch -p1 < ../wl-kmod-02_kernel_4.8_add_cfg80211_scan_info_struct.patch
patching file src/wl/sys/wl_cfg80211_hybrid.c
Hunk #1 succeeded at 2442 (offset 3 lines).
Hunk #2 succeeded at 2553 (offset 3 lines).
Hunk #3 succeeded at 2989 (offset 3 lines).
$ patch -p1 < ../wl-kmod-03_fix_kernel_warnings.patch
patching file src/wl/sys/wl_cfg80211_hybrid.c
Hunk #1 succeeded at 2008 (offset 3 lines).
Hunk #2 succeeded at 2032 (offset 3 lines).
Hunk #3 succeeded at 2056 (offset 3 lines).
Hunk #4 succeeded at 2071 (offset 3 lines).
Hunk #5 succeeded at 2107 (offset 3 lines).
Hunk #6 succeeded at 2386 (offset 3 lines).
Hunk #7 succeeded at 2401 (offset 3 lines).
Hunk #8 succeeded at 2441 (offset 3 lines).
$ patch -p1 < ../wl-kmod-04_kernel_4.11_remove_last_rx_in_net_device_struct.patch
patching file src/wl/sys/wl_cfg80211_hybrid.c
patching file src/wl/sys/wl_linux.c
Hunk #1 succeeded at 2911 (offset -18 lines).
$ patch -p1 < ../wl-kmod-05_kernel_4.12_add_cfg80211_roam_info_struct.patch
patching file src/wl/sys/wl_cfg80211_hybrid.c
Hunk #3 succeeded at 2450 (offset 3 lines).
Hunk #4 succeeded at 2466 (offset 3 lines).

After applying these to the source code, just follow through the reminder of step 3a — compile the driver, and strip debugging info from it. Again, kernel builds =>229 require first two commands ONLY, builds => 327 require running first four sed replacements, builds >=514 require 6, builds >=693 require 7, and for builds >=862 all sed replacements are needed for driver to compile

4 ответа

Хорошо, таким образом, я наконец зафиксировал это 😀

Сначала вот то, что я изучил в процессе:

  1. НИКОГДА не тараните свою ОС с различными драйверами или модулями случайно, пока Ваша проблема не будет решена, по крайней мере, не без a) Не зная, что / почему Вы делаете и b) САМОЕ ГЛАВНОЕ, Как отменить то же.

  2. Каждый раз, когда Вы пробуете другой драйвер, модуль, или пакет, сначала удаляете пакет, который Вы ранее установили для той же цели.

И много из благодаря @chili555, кто указал, что остаток от предыдущего пакета был причиной.

Таким образом, то, что я сделал, было:

Я пытался установить на живом выполнении Ubuntu 14.04 (с моим кабелем LAN) и проверенный, если WLan работает теперь. (И да, это действительно подтверждало ту Ubuntu 14.04 / BCM43142 / не была проблема.)
Я перешел в и крест проверил файлы там с моей версией установки жесткого диска той же папки.
Это каталог содержит конфигурационные файлы, которые содержат информацию о помещении в черный список для различных модулей

Я обратил внимание на доступные файлы и позже удалил то, что не было доступно здесь от моей версии установки жесткого диска той же папки также.
Я перешел в. Это — каталог, который хранит все Ваши модули (wl, b43, и т.д….) и тот, который я испортил с различными пользовательскими исправленными версиями wl модулей, перечисленных на различных форумах.
После креста, сверяющегося с моей версией установки жесткого диска , Я вручную удалил весь Bluetooth / беспроводная связь / dkms / wl / (и в особенности один mac80211) и очистил любые другие модули, которые связаны с wlan.
Я наконец заменил (сделал рекурсивную копию на), и каталоги (моей установки жесткого диска) с теми же каталогами от живой ОС.
Перезагрузка
Сделать

Это — официальный рабочий драйвер для BCM43142 для Ubuntu 14.04.
Перезагрузка и и альт, беспроводная связь работала!

И наконец искренние извинения всей моей перекрестной рассылке, перерегистрации, массово рассылая IRCs с этим вопросом неоднократно.:P

Примечание: Замена / удаление Ваших файлов установки жесткого диска рекомендуется только для тех, кто недавно установил Вашу ОС. Иначе существует риск, что Вы могли заменить / удаляют файлы / модули, которые, возможно, были установлены для других устройств, которые могут быть не важны этой проблеме.

Еще раз спасибо к chili555 🙂

ОТРЕДАКТИРУЙТЕ я недавно обновил свое ядро для поддержки драйвер для моего USB контролирует и обманывает Wi-Fi, закончился.

Слепая попытка переустановки бросил следующую ошибку в журнал сборки.

Оказывается, что драйвер не был обновлен для обновленного ядра (версия 3.18). Немного поиска с помощью Google позволило мне к этому сообщению —

Где существуют ссылки, доступные исправленным версиям , который работает с обновленным ядром.

Я вручную загрузил и установил этого парня, и Wi-Fi был восстановлен.

Теперь я могу вернуться к просмотру lolcats в мире. Аминь.

ответ дан
23 November 2019 в 01:52

Я также испытал те же затруднения при установке Linux Mint, Ubuntu 13.10 и 14.04. Я должен был использовать кабель LAN или USB, ограничивающий с моего телефона для получения bcmwl-kernel-source, установленный, который, казалось, был единственным рабочим драйвером беспроводного устройства для моего DELL inspiron 15.

однако я смог видеть bcmwl-kernel-source в дополнительном разделе драйверов обновлений программного обеспечения после выполнения

от терминала после установления соединения интереса через LAN или ограничивающий USB, и Вы будете видеть дополнительные драйверы, перечисленные от того, где я смог установить драйвер довольно легко.

ответ дан
23 November 2019 в 01:52

У меня также была та же проблема с Ubuntu 11.10 и 12.10. Проблема состояла в том, что Wi-Fi не был обнаружен на СООТВЕТСТВИИ BCM43142 Sony VAIO 15E. Поэтому, когда я пытался установить Ubuntu 13.10, я проверил опцию «Установки это внешнее программное обеспечение» во время установки, и это работало на меня!!

Видят шаг 2 на Установки, sub раздел Готовятся устанавливать Ubuntu. Можно также попробовать это.

ответ дан
23 November 2019 в 01:52

Я встретился с проблемой, и решить ее я просто выполняю следующую команду:

кажется, что b43 или bcma являются коллизиями к wl модулю.

Hope это поможет кому-то…

ответ дан
23 November 2019 в 01:52

History

Broadcom has a noted history with its support for Wi-Fi devices regarding GNU/Linux. For a good portion of its initial history, Broadcom devices were either entirely unsupported or required the user to tinker with the firmware. The limited set of wireless devices that were supported were done so by a reverse-engineered driver. The reverse-engineered driver was introduced in the 2.6.24 kernel.

The types of available drivers are:

Driver Description
brcm80211 Kernel driver mainline version (recommended)
b43 Kernel driver reverse-engineered version
broadcom-wl Broadcom driver with restricted license

Installation

brcm80211

The kernel contains two built-in open-source drivers: brcmfmac for native FullMAC and brcmsmac for mac80211-based SoftMAC. They should be automatically loaded when booting.

Note:

  • brcmfmac supports newer chipsets, and supports AP mode, P2P mode, or hardware encryption.
  • brcmsmac only supports old chipsets like BCM4313, BCM43224, BCM43225.

b43

Two reverse-engineered open-source drivers are built-in to the kernel: b43 and b43legacy. b43 supports most newer Broadcom chipsets, while the b43legacy driver only supports the early BCM4301 and BCM4306 rev.2 chipsets. To avoid erroneous detection of your WiFi card’s chipset, blacklist the unused driver.

Both of these drivers require non-free firmware to function. Install AUR or AUR.

Note:

  • BCM4306 rev.3, BCM4311, BCM4312 and BCM4318 rev.2 have been noticed to experience problems with b43-firmware. Use AUR for these cards instead.
  • BCM4331 noticed to have problems with b43-firmware-classic. Use AUR for this card instead, or switch to the mentioned below for a more stable experience.

broadcom-wl

The factual accuracy of this article or section is disputed.

There are two variants of the restrictively licensed driver:

  • the regular variant:
  • the DKMS variant:

Tip: The DKMS variant

  • is kernel agnostic. This means it supports different kernels you may use (e.g. AUR).
  • is kernel-release agnostic, too. It will be automatically rebuilt after every kernel upgrade or fresh installation. If you use or another kernel release dependant variant (e.g. AUR), it may happen that kernel upgrades break wireless from time to time until the packages are in sync again.
  • will need the package for the installed kernel(s) in order to build the module. Those packages are optional to the DKMS package and will need to be installed manually.

Offline installation

An Internet connection is the ideal way to install the broadcom-wl driver; many newer laptops with Broadcom cards forgo Ethernet ports, so a USB Ethernet adapter or Android tethering may be helpful. If you have neither, you’ll need to first install the group during installation. Then, use another Internet-connected computer to download and the driver tarball from the AUR, and install them in that order.

Manually

Warning: This method is not recommended. Drivers that are un-tracked can become problematic or nonfunctional on system updates.

# rmmod b43
# rmmod ssb
# modprobe wl

The wl module should automatically load lib80211 or lib80211_crypt_tkip otherwise they will have to be manually loaded.

If the driver does not work at this point, you may need to update dependencies:

# depmod -a

To make the module load at boot, refer to Kernel modules. It is recommending that you blacklist conflicting modules.

Step 4b: Loading the driver module into kernel on boot time

Couple of more steps are needed to get your module load every time the system boots. First, edit the /etc/modprobe.d/blacklist.conf file adding the lines:

blacklist bcm43xx
blacklist b43
blacklist b43legacy
blacklist bcma
blacklist brcmsmac
blacklist ssb
blacklist ndiswrapper

By doing so, you’re preventing these modules from being loaded into kernel at boot time and conflicting with the wl module. Second, in order to load the wl module into the kernel on boot time, create/edit the file /etc/sysconfig/modules/kmod-wl.modules and copy-paste the following contents into it:

for M in lib80211 cfg80211 wl; do
    modprobe $M &>/dev/null
done

Your driver should now load every time you reboot (except of course, when you install the new kernel, in which case the driver has to be re-compiled for it following these same steps).

Step 2: Downloading and extracting Broadcom driver archive

Download the Broadcom BCM43xx linux driver archive from Broadcom Official website — you’ll find it as in the search results list as either Linux STA 32-bit driver or Linux STA 64-bit driver — to your machine and extract it to /usr/local/src/hybrid-wl and feel free to change the ownership of the directory and it’s contents to some unprivileged user

# mkdir -p /usr/local/src/hybrid-wl
# cd /usr/local/src/hybrid-wl
# tar xvzf /path/to/the/tarball/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
# chown -R someuser.somegroup /usr/local/src/hybrid-wl

NOTE: Why not extract it to arbitrary location and leave the ownership it is?
Well, this way the driver module sources remain on the system — where you left them — so you can build the driver module whenever you want (e.g. in case you upgrade the kernel — since driver modules are always compiled for a particular kernel), plus, you can do this as an unprivileged user!

List of hardware

To check for a present hardware model execute following command:

lspci -nn -d 14e4:

If the chipset isn’t listed, check if it’s connected via SSB (Sonics Silicon Backplane). Such connected chipsets only become visible after the kernel module has been loaded.

Please look carefully at device ID and chipset name.

PCI-ID Supported? Chip ID Modes PHY version Alternative
14e4:0576 not tested BCM43224 a/b/g/n ? brcm80211
14e4:4301 yes (b43legacy) BCM4301 b B
14e4:4306 yes (b43legacy) BCM4306/2 b/g G
14e4:4307 yes BCM4306/3 b/g G
14e4:4311 yes BCM4311 b/g G wl
14e4:4312 yes BCM4311 a/b/g G (r8) wl
14e4:4313 not tested BCM4311 a ? wl
no BCM4313 b/g/n LCN (r1) brcm80211
14e4:4315 yes BCM4312 b/g LP (r1) wl
14e4:4318 yes BCM4318 b/g G (r7)
14e4:4319 yes BCM4318 a/b/g G
14e4:4320 yes (b43legacy) BCM4306/2 b/g G (r1)
yes BCM4306/3 ? G (r2)
14e4:4321 partially BCM4321 ? N (r2)
14e4:4322 yes (3.18+) BCM4322 b/g/n N (r4)
14e4:4324 yes (b43legacy) BCM4306 a/b/g G (r1)
yes BCM4306/3 a/b/g G (r5)
14e4:4325 yes (b43legacy) BCM4306/2 b/g G (r1)
14e4:4328 partially BCM4321 a/b/g/n N (r2) wl
14e4:4329 partially BCM4321 b/g/n N (r1) wl
14e4:432a not tested BCM4321 a/n N wl
14e4:432b partially BCM4322 a/b/g/n N (r4) wl
14e4:432c yes BCM4322 b/g/n N wl
14e4:432d not tested BCM4322 a/n N wl
14e4:4331 yes (3.2-rc3+) BCM4331 a/b/g/n HT (r1) wl
14e4:4350 yes (3.8+) BCM43222 a/b/g/n N (r6)
14e4:4353 yes (3.1+) BCM43224 a/b/g/n N (r6) wl/brcm80211
14e4:4357 yes (3.1+) BCM43225 b/g/n N (r6) wl/brcm80211
14e4:4358 yes (3.17+) BCM43227 b/g/n N (r16) wl
14e4:4359 yes (3.17+) BCM43228 a/b/g/n N (r16) wl
14e4:4360 no BCM4360 ? AC (r1)
14e4:4365 no BCM43142 b/g/n LCN40 (r3) wl
14e4:43a0 no BCM4360 a/b/g/n/ac AC? wl
no BCM4352 a/b/g/n/ac ? wl
14e4:43a9 yes (3.17+) BCM43217 b/g/n N (r17)
14e4:43aa yes (3.17+) BCM43131 b/g/n N (r17)
14e4:43b1 no BCM4352 a/b/g/n/ac AC (r3)
14e4:4727 no BCM4313 b/g/n LCN (r1) wl/brcm80211
14e4:a8d6 not tested BCM43222 ? N (6)
14e4:a8d8 yes (3.6+) BCM43224 a/b/g/n N (r6) brcm80211
yes (3.6+) BCM43225 ? N (r6) brcm80211
14e4:a8db partially (3.18+) BCM43217 b/g/n N (r17)
14e4:a99d not tested BCM43421? ? ?

Internal cards

To identify a card that was installed inside your computer prior to purchase, please and execute:

lspci -vvnn | grep -A 9 Network 

This will display:

03:00.0 Network controller : Broadcom Corporation BCM4331 802.11a/b/g/n  (rev 02)
 Subsystem: Apple Inc. AirPort Extreme 
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0, Cache Line Size: 256 bytes
 Interrupt: pin A routed to IRQ 17
 Region 0: Memory at a0600000 (64-bit, non-prefetchable) 
 Capabilities: <access denied>
 Kernel driver in use: wl 

You now know:

  • The Chip ID: BCM4331
  • The PCI-ID: 14e4:4331
  • Kernel driver in use: wl

Appendix B: Broadcom chip intermittent problems

This driver module, in author’s experience, is sometimes known to require multiple reboots to make the WiFi work. In layman’s terms, the WiFi card, finds the AP(s), but fails to associate it with the driver. I’ve made numerous attempts to make the card/driver work without a reboot, to no avail. Starting/stopping wpa_supplicant service, turning WiFi on/off, (un)loading the driver, …etc. Sometimes it would only start working after several reboots.

From /var/log/wpa_supplicant.log:

Trying to associate with 58:6d:8f:xx:xx:xx (SSID='<ssid_name>' freq=2462 MHz)
Association request to the driver failed

and in /var/log/messages:

Dec 19 02:40:03 hostname kernel: cfg80211: Calling CRDA for country: RS 
Dec 19 02:40:03 hostname kernel: ------------------------
Dec 19 02:40:03 hostname kernel: WARNING: at net/wireless/sme.c:664 __cfg80211_connect_result+0x3d9/0x430 () (Tainted: P           -- ------------   )  
Dec 19 02:40:03 hostname kernel: Hardware name: Vostro 1540
Dec 19 02:40:03 hostname kernel: Modules linked in: vfat fat fuse ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat xt_CHECKSUM iptable_mangle cpufreq_ondemand acpi_cpufreq freq_table mperf lockd sunrpc bridge stp llc ipv6 nf_conntrack_ftp xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables vhost_net macvtap macvlan tun kvm_intel kvm microcode iTCO_wdt iTCO_vendor_support dell_laptop dcdbas sg uvcvideo videodev v4l2_compat_ioctl32 btusb bluetooth joydev i2c_i801 lpc_ich mfd_core r8169 mii wl(P)(U) snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic cfg80211 rfkill snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif ahci wmi usb_storage i915 drm_kms_helper drm i2c_algo_bit i2c_core video output dm_mirror dm_region_hash dm_log dm_mod 
Dec 19 02:40:03 hostname kernel: Pid: 912, comm: cfg80211 Tainted: P           -- ------------    2.6.32-573.26.1.el6.x86_64 #1 
Dec 19 02:40:03 hostname kernel: Call Trace:
Dec 19 02:40:03 hostname kernel:  ? warn_slowpath_common+0x91/0xe0
Dec 19 02:40:03 hostname kernel:  ? warn_slowpath_null+0x1a/0x20
Dec 19 02:40:03 hostname kernel:  ? __cfg80211_connect_result+0x3d9/0x430 
Dec 19 02:40:03 hostname kernel:  ? cfg80211_process_wdev_events+0x144/0x1f0 
Dec 19 02:40:03 hostname kernel:  ? mutex_unlock+0x1b/0x20
Dec 19 02:40:03 hostname kernel:  ? cfg80211_event_work+0x0/0x30 
Dec 19 02:40:03 hostname kernel:  ? cfg80211_process_rdev_events+0x38/0x70 
Dec 19 02:40:03 hostname kernel:  ? cfg80211_event_work+0x22/0x30 
Dec 19 02:40:03 hostname kernel:  ? worker_thread+0x170/0x2a0
Dec 19 02:40:03 hostname kernel:  ? autoremove_wake_function+0x0/0x40
Dec 19 02:40:03 hostname kernel:  ? worker_thread+0x0/0x2a0
Dec 19 02:40:03 hostname kernel:  ? kthread+0x9e/0xc0
Dec 19 02:40:03 hostname kernel:  ? child_rip+0xa/0x20
Dec 19 02:40:03 hostname kernel:  ? kthread+0x0/0xc0
Dec 19 02:40:03 hostname kernel:  ? child_rip+0x0/0x20
Dec 19 02:40:03 hostname kernel: ------
Dec 19 02:40:03 hostname kernel: cfg80211: Regulatory domain changed to country: RS 
Dec 19 02:40:03 hostname kernel: cfg80211:  DFS Master region: ETSI
Dec 19 02:40:03 hostname kernel: cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)

Rumour has it, this is caused by «improper» loading of the WiFi card firmware on boot, hence, only rebooting the system fixes it.

Another problem (probably caused by improperly loaded firmware) is choppy/flaky network connectivity. The cards appears to have associated to the AP, but shows poor signal quality even though you’re in the same room with the AP. even pings are dropping, and bottom line — connection is useless. Again, this should be resolved by repeated reboots until the firmware is loaded properly.

STA — Internet access

If you have some other kind of Internet access on your computer (e.g. via an ethernet cable) then use the instructions below.

12.04 (Precise Pangolin)

Open a and install the bcmwl-kernel-source package:

sudo apt-get update
sudo apt-get --reinstall install bcmwl-kernel-source

Note: If you see the message «Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed» then you are missing the appropriate generic linux-header package(s).

To test the driver (and remove the need for a computer restart) use:

sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma
sudo modprobe wl

Allow several seconds for the network manager to scan for available networks before attempting a connection.

The bcmwl-kernel-source package should automatically blacklist the open source drivers so that the STA driver is the only one in use.

Drivers for the 4313

Let’s just enumerate the driver for Broadcom chipsets and how they work with the 4313:

  • Broadcom STA. Suggested by additional drivers. Old. Awful. Absolute junk. Skip it. If you’ve already installed it, remove it.

  • b43-fwcutter. Lots of people see «Broadcom» and jump on this but it’s not compatible with the 4313 (which is newer). If you’ve installed it, purge it.

  • ndiswrapper. Even more flaky than the STA driver. I managed to get it working for about 10 minutes before everything imploded.

  • brcm80211 aka brcmsmac. This is a (relatively) new driver that was recently added to Ubuntu (since the driver was added to the kernel). This should work well and (in recent version of Ubuntu, Natty and Oneiric) should «Just work». This is the droid you’re looking for. Use this driver for the 4313.

    If you’re not running Natty or Oneiric, your kernel probably won’t have this driver. You need to be running at least 2.6.27 and I’d recommend 2.6.28 as the bare minimum (you can check what you’re on by running ).

    If you’re behind on versions, I’d suggest the upgrade but for a quick fix, you can take a look at the mainline kernels and try one of those. Installing kernel packages is rarely a risky thing because you can usually just fall back to an old one using the grub boot screen.

You know you’re probably on the right driver if you run and you see or in the output.

Broadcom STA Wireless driver (Proprietary)

The propietary Broadcom STA Wireless driver is maintained upstream by Broadcom. As this driver is closed source, fixes in the driver itself may only be provided by Broadcom. As a convenience, Ubuntu offers two versions of this driver:

  • The bcmwl-kernel-source package aims to offer a later version for a given release. Instructions for installation may be found later in this article.

  • The broadcom-sta package aims to offer an earlier version for a given release.

As per the Broadcom readme file for driver version 6.30.223.271, the following devices are compatible:

           BRCM             PCI           PCI             Dell
          Product Name    Vendor ID     Device ID       Product ID
          -------------  ----------     ---------       -----------
          4311 2.4 Ghz      0x14e4      0x4311          Dell 1390
          4311 Dualband     0x14e4      0x4312          Dell 1490
          4311 5 Ghz        0x14e4      0x4313          
          4312 2.4 Ghz      0x14e4      0x4315          Dell 1395
          4313 2.4 Ghz      0x14e4      0x4727          Dell 1501/1504
          4321 Dualband     0x14e4      0x4328          Dell 1505
          4321 Dualband     0x14e4      0x4328          Dell 1500
          4321 2.4 Ghz      0x14e4      0x4329          
          4321 5 Ghz        0x14e4      0x432a          
          4322  Dualband    0x14e4      0x432b          Dell 1510
          4322 2.4 Ghz      0x14e4      0x432c          
          4322 5 Ghz        0x14e4      0x432d          
          43142 2.4 Ghz     0x14e4      0x4365
          43224 Dualband    0x14e4      0x4353          Dell 1520
          43225 2.4 Ghz     0x14e4      0x4357          
          43227 2.4 Ghz     0x14e4      0x4358
          43228 Dualband    0x14e4      0x4359          Dell 1530/1540
          4331  Dualband    0x14e4      0x4331
          4360  Dualband    0x14e4      0x43a0
          4352  Dualband    0x14e4      0x43a0

BROADCOM WIRELESS TABLE (Updated Aug 4, 2020)

Special Case #1 — Uses and driver combination. Required firmware is installed by default in the package .

Special Case #2 — For the ASUS PCE-AC88 AC3100 the steps are:

  1. Download This file and after extracting it, put it in /lib/firmware/brcm
  2. Then add modprobe brcmfmac and save

In hardware like the Lenovo S10-2, if your wireless card gets stuck trying to connect to an SSID (keeps trying to connect), then the alternative to get it working would be to install the package (Remove any other installed packages related to it). Read the Debugging section below for more information regarding this wireless device.

IMPORTANT NOTE — After September 2014, if you follow this answer and still you have problems installing the correct driver, please try the package and notify us via comments. There were some changes and some drivers will only work with this package. Remember to have a clean system before installing it:

In some particular cases, after installing the you need to remove the b43 module, enable it again and even proceed to unblock with rfkill:

If you have a Broadcom card that has a different pci.id, please ask a new question. Once solved, the solution will be added to this howto.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *