LINUX.ORG.RU

Помогите настроить модуль wi-fi

 , , ,


0

1

Всем привет! Помогите, пожалуйста, настроить модуль wi-fi.

Устанавливал дистрибутив по этой инструкции (пункт Getting wifi working). В «официальной» инструкции драйвер добавлялся на этапе создания загрузочного диска.

Последовательность действий:

  1. Скачать драйвер
    wget https://android.googlesource.com/platform/hardware/broadcom/wlan/+archive/master/bcmdhd/firmware/bcm43341.tar.gz
  2. Распаковать архив tar xf bcm43341.tar.gz
  3. Скопировать bin-файл нужную директорию, потом скопировать firmware
    cp fw_bcm43341.bin /lib/firmware/brcm/brcmfmac43340-sdio.bin
    cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
    [root@machine1 tuno]# ls /lib/firmware/brcm/
    backup  brcmfmac43340-sdio.bin  brcmfmac43340-sdio.txt
    После установки дистрибутива здесь содержалось много других файлов, которые никак не влияли на работоспособность, переместил их в backup:
    [root@machine1 tuno]# ls /lib/firmware/brcm/backup/
    bcm4329-fullmac-4.bin  brcmfmac43143.bin       brcmfmac43241b0-sdio.bin  brcmfmac43242a.bin     brcmfmac4334-sdio.bin   brcmfmac4339-sdio.bin   brcmfmac4354-sdio.bin  brcmfmac43570-pcie.bin     brcmfmac4371-pcie.bin
    bcm43xx-0.fw           brcmfmac43143-sdio.bin  brcmfmac43241b4-sdio.bin  brcmfmac4329-sdio.bin  brcmfmac4335-sdio.bin   brcmfmac43455-sdio.bin  brcmfmac43569.bin      brcmfmac43602-pcie.ap.bin
    bcm43xx_hdr-0.fw       brcmfmac43236b.bin      brcmfmac43241b5-sdio.bin  brcmfmac4330-sdio.bin  brcmfmac43362-sdio.bin  brcmfmac4350-pcie.bin   brcmfmac4356-pcie.bin  brcmfmac43602-pcie.bin
    [root@machine1 tuno]#
  4. Далее, чтобы отключить SDHCI-ACPI for wireless
    1. Создать ~/.startup.sh
      #!/bin/sh
      echo on > /sys/bus/platform/drivers/sdhci-acpi/INT33BB\:00/power/control
    2. Создать /etc/systemd/system/startup.service
      [Unit]
      Description=startup
      
      [Service]
      ExecStart=/root/.startup.sh
      
      [Install]
      WantedBy=multi-user.target
    3. Выполнить# systemctl enable startup.service

Ядро:

[root@machine1 tuno]# uname -a
Linux machine1 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64 GNU/Linux
[root@machine1 tuno]#

Созданные файлы:

[root@machine1 tuno]# cat ~/.startup.sh
#!/bin/bash
echo on > /sys/bus/platform/drivers/sdhci-acpi/INT33BB\:00/power/control
[root@machine1 tuno]# cat /etc/systemd/system/startup.service
[Unit]
Description=startup


[Service]
ExecStart=/root/.startup.sh


[Install]
WantedBy=multi-user.target
[root@machine1 tuno]#

В итоге вижу это при запуске системы:

brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 43340 rev 2 pmurev 20


Ответ на: комментарий от amorpher

Да, эту инструкцию тоже читал. EFI variables скопированы (см. пункт 3). После

$ rmmod brcmfmac
$ modprobe brcmfmac
модуль по-прежнему не работает.

Лэптоп уже не новый, wi-fi должен работать и на более старых версиях ядра.

tuno
() автор топика
Ответ на: комментарий от tuno

модуль по-прежнему не работает.

фирмварь не та наверное

Лэптоп уже не новый, wi-fi должен работать и на более старых версиях ядра.

броадком же, раньше с ними проблемы были, сейчас не знаю

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

фирмварь не та наверное

Удалил lib/firmware/brcm/brcmfmac43340-sdio.txt. И создал новый, но вместо

cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 /lib/firmware/brcm/brcmfmac43340-sdio.txt
Использовал
cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcmfmac43340-sdio.txt
Не знаю, чем это могло помочь, но автор мамой клянётся, что ему помогло.

откуда ядро такое старое?

Обновился до 4.4.5-1.

Всё это не помогло.

tuno
() автор топика
Ответ на: комментарий от tuno

txt.

зачем это?
скачиваешь просто тарболл с фирмварью
wget https://android.googlesource.com/platform/hardware/broadcom/wlan/ archive/mas...
и распаковываешь её (fw_bcm43341.bin) в /lib/firmware/brcm/
потом подгружаешь modprobe fw_bcm43341.bin
если работает, то включаешь в автозагрузку

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

распаковываешь её (fw_bcm43341.bin) в /lib/firmware/brcm потом подгружаешь modprobe fw_bcm43341.bin

[root@machine1 brcm]# ls -l fw_bcm43341.bin
-rw-r--r-- 1 root root 402210 Mar 19 03:24 fw_bcm43340.bin
[root@machine1 brcm]# modprobe fw_bcm43341.bin
modprobe: FATAL: Module fw_bcm43341.bin not found in directory /lib/modules/4.4.5-1-ARCH
tuno
() автор топика
Ответ на: комментарий от tuno

да фигню написал про modprobe, просто распакуй туда бинарник и всё, переименовать может ещё в существующий, который до этого был

посмотри через lsmod какие подгружены, после того как бинарник этот положишь на место — передёрни (выгрузи rmmod-ом и загрузи снова modprobe) или вообще перезагрузись полностью если надо

amorpher ★★★★★
()
Последнее исправление: amorpher (всего исправлений: 3)
Ответ на: комментарий от tuno

linux-firmware стоит хоть? в нём только это есть — /usr/lib/firmware/brcm/brcmfmac43340-sdio.bin
если стоит и не работает, то его и можешь заменить скачанным

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

Большое спасибо, всё заработало!

tuno
() автор топика
15 августа 2017 г.

echo on > /sys/bus/platform/drivers/sdhci-acpi/INT33BB\:00/power/control

что эта команда делает?

nvram-74b00bd9-805a-4d61-b51f-43268123d113

что делать если у меня его там нету?

eR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.