Карта WLAN на базе BCM4312 выходит из строя в Dell Vostro 1510 с Ubuntu 14.04

Карта WLAN на базе BCM4312 выходит из строя в Dell Vostro 1510 с Ubuntu 14.04

Все работало отлично под Ubuntu 13.08 с использованием фирменного драйвера STA. Под настойчивыми предупреждениями Ubuntu я решил обновиться до Ubuntu 14.04, но обнаружил, что беспроводная схема больше не отвечает. Я перепробовал все 4 модуля ядра, которые считались совместимыми с чипсетом BCM4312, но ни один из них не сработал.

В качестве последнего средства я решил загрузить последнюю версию исходного кода, предоставленную Broadcom (соответствующую чипсету BCM 4312) для 64-битной архитектуры. Мне пришлось изменить некоторые детали в файловой системе, чтобы компиляция заработала. Компиляция не выдала никаких серьезных предупреждений, но при попытке вставить полученный скомпилированный драйвер в ядро ​​с помощью команды "insmod" возникла фатальная ошибка из-за ошибки "format". Я попытался использовать "modprobe", никаких сообщений об ошибках не выдавалось, но, по-видимому, это не удалось, поскольку сетевая функция по-прежнему недоступна, а вывод команды lscpi не показывал, что драйвер ядра подключен к беспроводному сетевому контроллеру Broadcom.

Вывод команды LSCPI (ненужный текст обрезан):

... 06:00.0 Сетевой контроллер [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) Подсистема: Мини-плата Dell Wireless 1395 WLAN [1028:000b] Флаги: мастер шины, быстрое устройство, задержка 0, IRQ 11 Память на f4000000 (64-бит, без предварительной выборки) [размер=16K] Возможности: [40] Управление питанием версии 3 Возможности: [58] Информация о поставщике: Len=78 Возможности: [e8] MSI: Включить - Количество=1/1 Маскируемое - 64 бит+ Возможности: [d0] Express Endpoint, MSI 00 Возможности: [100] Расширенные возможности отчетов об ошибках: [13c] Виртуальный канал Возможности: [160] Серийный номер устройства 1b-bf-44-ff-ff-db-00-16 Возможности: [16c] Бюджетирование мощности

07:00.0 Контроллер Ethernet [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (рев. 02) Подсистема: Dell Device [1028:0273] Флаги: bus master, fast devsel, latency 0, IRQ 44 Порты ввода-вывода по 5000 [размер=256] Память на f8610000 (64-бит, с предварительной выборкой) [размер=4K] Память на f8600000 (64-бит, с предварительной выборкой) [размер=64K] [виртуальная] Расширение ROM на f8620000 [отключено] [размер=64K] Возможности: [40] Управление питанием версии 3 Возможности: [50] MSI: Включить+ Количество=1/2 Маскируемые - 64 бит+ Возможности: [70] Express Endpoint, MSI 01 Возможности: [b0] MSI-X: Enable- Count=2 Маскируемые - Возможности: [d0] Возможности Vital Product Data: [100] Возможности Advanced Error Reporting: [140] Возможности Virtual Channel: [160] Серийный номер устройства 00-00-00-00-00-00-00-00 Используемый драйвер ядра: r8169 .... "

Фактическое сообщение об ошибке, которое я получил при выполнении команды "insmod wl.ko", выглядит так: "неверный формат модуля"

wl.ko — файл, полученный в результате компиляции исходного кода драйвера, предоставленного Broadcom.


Я удалил драйвер ядра (даже если я сомневаюсь, что он был установлен/использован системой) с помощью команды

 apt-get purge bcmwl-kernel-source

(затем на терминале появились сообщения о том, что firmware-bc43-installer был восстановлен или загружен для установки)

Затем я установил драйвер STA, введя команду

apt-get install linux-firmware-nonfree

Я проверил файл /etc/modprobe.d/blacklist.conf и раскомментировал строкучерный список bcm43xx, относящийся только к беспроводному устройству/драйверу.

Затем перезагрузился.

Сейчас у меня по-прежнему нет улучшений:

# lspci -v |grep -13 Network

    I/O ports at 18e0 [size=32]
    Memory at f8500000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: [80] MSI: Enable+ Count=1/4 Maskable- 64bit-
    Capabilities: [70] Power Management version 3
    Capabilities: [a8] SATA HBA v1.0
    Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
    Subsystem: Dell Device 0273
    Flags: medium devsel, IRQ 10
    Memory at c0500000 (32-bit, non-prefetchable) [size=256]
    I/O ports at 1c20 [size=32]

06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
    Subsystem: Dell Wireless 1395 WLAN Mini-Card
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at f4000000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [58] Vendor Specific Information: Len=78 <?>
    Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [d0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel
    Capabilities: [160] Device Serial Number 1b-bf-44-ff-ff-db-00-16
    Capabilities: [16c] Power Budgeting <?>

07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)

#lshw 

...
*-pci:2
             description: PCI bridge
             product: 82801H (ICH8 Family) PCI Express Port 4
             vendor: Intel Corporation
             physical id: 1c.3
             bus info: pci@0000:00:1c.3
             version: 03
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:42 ioport:4000(size=4096) memory:f4000000-f7ffffff ioport:fc000000(size=33554432)
           *-network UNCLAIMED
                description: Network controller
                product: BCM4312 802.11b/g LP-PHY
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:06:00.0
                version: 01
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list
                configuration: latency=0
                resources: memory:f4000000-f4003fff
...


# lsmod

Module                  Size  Used by
zram                   18439  2 
dm_crypt               22924  1 
coretemp               13355  0 
dell_wmi               12681  0 
sparse_keymap          13890  1 dell_wmi
dell_laptop            17369  0 
dcdbas                 14397  1 dell_laptop
uvcvideo               80847  0 
videobuf2_vmalloc      13056  1 uvcvideo
videobuf2_memops       13202  1 videobuf2_vmalloc
videobuf2_core         40542  1 uvcvideo
videodev              129379  2 uvcvideo,videobuf2_core
microcode              22939  0 
joydev                 17377  0 
serio_raw              13215  0 
lpc_ich                17061  0 
parport_pc             28152  0 
ppdev                  17073  0 
lp                     17759  0 
parport                46345  3 lp,ppdev,parport_pc
mac_hid                13205  0 
psmouse                95934  0 
ahci                   25731  2 
libahci                31394  1 ahci
sdhci_pci              18619  0 
firewire_ohci          40315  0 
sdhci                  32686  1 sdhci_pci
r8169                  67706  0 
firewire_core          64566  1 firewire_ohci
i915                  605700  3 
crc_itu_t              12707  1 firewire_core
i2c_algo_bit           13413  1 i915
drm_kms_helper         49394  1 i915
drm                   286260  4 i915,drm_kms_helper
wmi                    19070  1 dell_wmi
video                  19390  1 i915

решение1

Ваш 4312 Broadcom [4315] может использовать либо драйвер b43, либо фирменный драйвер STA (wl) в соответствии сb43-Linux Беспроводной. Драйвер b43 присутствует по умолчанию, но требует установки фирменной прошивки, что можно сделать, установив пакет linux-firmware-nonfree. Если по какой-то причине эта прошивка не работает с [4315], можно запустить пакеты b43 cutter и installer, которые вы упомянули. Конечным результатом должен быть набор файлов прошивки в каталоге /lib/firmware/b43 Беспроводная сеть должна подхватить драйвер при следующей загрузке, при условии, что вы не подавляете драйвер b43 строкой "blacklist b43" в каком-либо файле в /etc/modprobe.d. Проверьте наличие таких строк и закомментируйте их. Их следует удалить, если вы очищаете файлы пакета STA, но проверьте сами, чтобы убедиться.

У меня нет недавнего опыта работы с драйвером STA, но простое использование выбора Additional DRivers Dash должно добавить его (разумеется, при проводном подключении). В этом случае нет необходимости в файлах прошивки, поскольку они включены в сам драйвер STA (отсюда их берет резак b43).

Связанный контент