Wi-fi Broadcom

Материал из ALT Linux Wiki
Перейти к навигации Перейти к поиску

Дано:

  • нотубук
  • Wi-fi broadcom BCM43*
  • Вылеты Wi-fi соединения

Вы можете у себя проверить командой:

# lspci -nn -d 14e4:
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)

Что делать?

Какие модели карт?[править]

Модель ALT DEB b43 PCI-ID
жирным = b43; простым = ALT/DEB; курсив = оба.
BCM4306/3 + 14e4:4307
14e4:4320
14e4:4324
BCM4311 + + + 14e4:4311
14e4:4312
14e4:4313
BCM4312 + + + 14e4:4315
BCM4313 + 14e4:4313
14e4:4727
BCM4318 + 14e4:4318
14e4:4319
BCM4321 + + 14e4:4328
14e4:4329
14e4:432a
BCM4322 + + + 14e4:432b
14e4:432c
14e4:432d
BCM43142 + 14e4:4365
BCM43224 + + 14e4:4353
BCM43225 + + 14e4:4357
BCM43227 + + 14e4:4358
BCM43228 + + 14e4:4359
BCM4331 + + 14e4:4331
BCM4360 + 14e4:43a0
BCM4352 + 14e4:43a0

Доступные драйвера[править]

ALT-драйвера[править]

Примечание: Данный вариант поддерживает следующие модели - BCM4311-, BCM4312-, BCM4321-, and BCM4322-b.
# apt-get install kernel-modules-bcmwl-std-def (un-def)
[Содержимое пакета]
kernel-modules-bcmwl-*-def.rpm
|--etc
|  `--modprobe.d
|     |--blacklist-bcm.conf
|     `--blacklist-bcm2.conf
`--lib
   `--modules
      `--*krnlver-std-def-alt1
         `--net
            `--wl.ko

Установка закрытых Deb-драйверов[править]

Предварительно ознакомьтесь со статьёй Где и как искать программы: установку deb-пакетов Вы делаете на свой страх и риск.
Примечание: Данный вариант поддерживает следующие модели BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43142, BCM43224, BCM43225, BCM43227, BCM43228, BCM4331, BCM4360, и BCM4352


В Debian есть пакет с несвободными драйверами для wifi карт broadcom для фрамеворка DKMS, который поддерживает большее количество Wi-fi карт.

Ставим dkms:

# apt-get install dkms

Ставим debian-овский пакет с dkms-модулями BCM через epm:

# epm install /home/petr/Загрузки/broadcom-sta-dkms_6.30.223.271-16_all.deb

Пакет содержит модули для dkms.

[Содержимое пакета]
broadcom-sta-dkms_6.30.223.271-16_all.deb
|--etc
|  `--modprobe.d
|     `--broadcom-sta-dkms.conf
`--usr
   |--src
   |  `--broadcom-sta-6.30.223.271
   |     |--src
   |     |  |--wl
   |     |  |  `--sys
   |     |  |     |--wl_iw.c
   |     |  |     |--wl_linux.h
   |     |  |     |--wlc_wowl.h
   |     |  |     |--wlc_pub.h
   |     |  |     |--wl_iw.h
   |     |  |     |--wlc_key.h
   |     |  |     |--wl_cfg80211_hybrid.h
   |     |  |     |--wl_dbg.h
   |     |  |     |--wlc_ethereal.h
   |     |  |     |--wlc_utils.h
   |     |  |     |--wl_linux.c
   |     |  |     |--wlc_types.h
   |     |  |     |--wl_cfg80211_hybrid.c
   |     |  |     `--wl_export.h
   |     |  |--common
   |     |  |  `--include
   |     |  |     `--proto
   |     |  |        |--bcmeth.h
   |     |  |        |--bcmip.h
   |     |  |        |--ieee80211_radiotap.h
   |     |  |        |--802.11.h
   |     |  |        |--bcmevent.h
   |     |  |        |--ethernet.h
   |     |  |        |--wpa.h
   |     |  |        `--802.1d.h
   |     |  |--shared
   |     |  |  |--linux_osl.c
   |     |  |  `--bcmwifi
   |     |  |     `--include
   |     |  |        |--bcmwifi_rates.h
   |     |  |        `--bcmwifi_channels.h
   |     |  `--include
   |     |     |--wlioctl.h
   |     |     |--osl.h
   |     |     |--packed_section_start.h
   |     |     |--epivers.h
   |     |     |--packed_section_end.h
   |     |     |--bcmcrypto
   |     |     |  `--tkhash.h
   |     |     |--bcmendian.h
   |     |     |--bcmdefs.h
   |     |     |--linux_osl.h
   |     |     |--linuxver.h
   |     |     |--pcicfg.h
   |     |     |--bcmutils.h
   |     |     |--siutils.h
   |     |     `--typedefs.h
   |     |--dkms.conf
   |     |--Makefile
   |     `--lib
   |        |--wlc_hybrid.o_i386
   |        `--wlc_hybrid.o_amd64
   `--share
      |--broadcom-sta
      |  |--broadcom-sta.ids
      |--doc
      |  `--broadcom-sta-dkms
      |     |--changelog.Debian.gz
      |     |--README.txt.gz
      |     |--copyright
      |     `--README.Debian
      `--lintian
         `--overrides
            `--broadcom-sta-dkms

О NDIS-wrapper[править]

NDISwrapper — программная прослойка, позволяющая использовать драйверы WiFi, предназначенные для Windows в Linux.

НО!

  1. NDISwrapper реализует NDISv5 и драйвера структуры WDM (XP), в то время как современные драйвера имеют структуру WDF (NT6+) и NDISv6.
  2. Видимо по этой причине модуль ядра в ALT Linux больше не собирается (но исходники есть и можно собирать вручную)

B43[править]

B43 - проект по написанию методом реверс-инжинеринга драйверов для wi-fi устройств Broadcom.[i]

Для использования B43 нужно установить сам драйвер и прошивку.

Установка драйвера:

# apt-get install b43-fwcutter

Установка прошивки:

# export FIRMWARE_INSTALL_DIR="/lib/firmware"
# wget http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2
# tar xjf broadcom-wl-5.10.56.27.3_mipsel.tar.bz2
# b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.10.56.27.3/driver/wl_apsta/wl_prebuilt.o

Источник: linuxwireless.sipsolutions.net