Как я могу активировать Wi-Fi на BCM4364 с помощью драйвера и прошивки brcmfac?

Я использую Ubuntu на Mac Mini 8,1. «Не найден WiFi-адаптер» Я запустил 20.04 и обновил только последнюю версию прошивки Linux в надежде на то, что Wi-Fi заработает. Я также обновил версию ядра до 5.7.1, потому что в надежде отсортировать прошивку для этого BCM4364.

$ lspci -vvnn | grep -A 9 Network
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4364 802.11ac Wireless Network Adapter [14e4:4464] (rev 03)
    Subsystem: Apple Inc. BCM4364 802.11ac Wireless Network Adapter [106b:07bf]
    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-
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at 81400000 (64-bit, non-prefetchable) [size=32K]
    Region 2: Memory at 81000000 (64-bit, non-prefetchable) [size=4M]
    Capabilities: <access denied>
    Kernel modules: brcmfmac

Затем я проверил, загружается ли он, и я вижу, что после загрузки пытается загрузиться прошивка, которая может быть проблемой.

$ dmesg | grep brcmfmac
[    6.373544] usbcore: registered new interface driver brcmfmac
[    6.392893] brcmfmac 0000:03:00.0: enabling device (0000 -> 0002)
[    6.501153] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364-pcie for chip BCM4364/3
[    6.560328] brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364-pcie.bin failed with error -2
[    6.576825] Modules linked in: snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device mei_hdcp snd_timer intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp brcmfmac coretemp snd brcmutil hci_uart btqca cfg80211 btrtl kvm_intel btbcm applesmc(+) kvm btintel intel_cstate intel_rapl_perf joydev efi_pstore input_leds soundcore 8250_dw intel_pch_thermal bluetooth mei_me mei ecdh_generic ecc acpi_tad mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 btrfs blake2b_generic xor raid6_pq libcrc32c hid_logitech_hidpp hid_logitech_dj hid_generic usbhid uas hid usb_storage crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915 aesni_intel crypto_simd cryptd glue_helper i2c_algo_bit drm_kms_helper syscopyarea sysfillrect nvme sysimgblt fb_sys_fops intel_lpss_pci cec intel_lpss i2c_i801 idma64 rc_core virt_dma nvme_core tg3 drm thunderbolt video
[    6.576866]  brcmf_fweh_detach+0x19/0x70 [brcmfmac]
[    6.576871]  brcmf_detach+0x78/0x100 [brcmfmac]
[    6.576877]  brcmf_pcie_remove+0x78/0x110 [brcmfmac]
[    6.576888]  brcmf_pcie_setup+0x25/0x490 [brcmfmac]
[    6.576892]  brcmf_fw_request_done+0x71/0x100 [brcmfmac]
[    6.576914] WARNING: CPU: 1 PID: 158 at drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c:309 brcmf_fweh_detach+0x60/0x70 [brcmfmac]
[    6.576915] Modules linked in: snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device mei_hdcp snd_timer intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp brcmfmac coretemp snd brcmutil hci_uart btqca cfg80211 btrtl kvm_intel btbcm applesmc(+) kvm btintel intel_cstate intel_rapl_perf joydev efi_pstore input_leds soundcore 8250_dw intel_pch_thermal bluetooth mei_me mei ecdh_generic ecc acpi_tad mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 btrfs blake2b_generic xor raid6_pq libcrc32c hid_logitech_hidpp hid_logitech_dj hid_generic usbhid uas hid usb_storage crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i915 aesni_intel crypto_simd cryptd glue_helper i2c_algo_bit drm_kms_helper syscopyarea sysfillrect nvme sysimgblt fb_sys_fops intel_lpss_pci cec intel_lpss i2c_i801 idma64 rc_core virt_dma nvme_core tg3 drm thunderbolt video
[    6.576932] RIP: 0010:brcmf_fweh_detach+0x60/0x70 [brcmfmac]
[    6.576942]  brcmf_detach+0x78/0x100 [brcmfmac]
[    6.576946]  brcmf_pcie_remove+0x78/0x110 [brcmfmac]
[    6.576954]  brcmf_pcie_setup+0x25/0x490 [brcmfmac]
[    6.576958]  brcmf_fw_request_done+0x71/0x100 [brcmfmac]

Я думаю, что у него есть все загруженное, чтобы выполнить работу, но, возможно, его нужно запустить? Я попробовал modprobe, но он не меняет ничего, что я вижу. Пожалуйста, не предлагайте какие-либо старые драйверы / исправления broadcom b43, поскольку ни один из них не относится к этому чипу.

1
задан 18 July 2020 в 14:45

1 ответ

Не было причин устанавливать неподдерживаемый выпуск, чтобы Wi-Fi работал. Прошивка не находится в ядре Linux. linux-firmware еще не имеет двоичного объекта для вашего устройства.

Вам необходимо получить прошивку для вашего беспроводного устройства.

Запустить в терминале:

wget https://packages.aunali1.com/apple/wifi-fw/18G2022/C-4364__s-B2/kauai.trx
sudo cp kauai.trx /lib/firmware/brcm/brcmfmac4364-pcie.bin

и перезагрузиться.

Это должно исправить вашу проблему.

Возможно, вам нужна еще одна версия прошивки. Если это так, его также можно найти. Если у вас установлен MacOS, получить его оттуда не проблема.

0
ответ дан 30 July 2020 в 22:05

Другие вопросы по тегам:

Похожие вопросы: