Gole 1 and Wi-Fi

Gole 1. Wi-Fi, работай!

Для изучения устройства на Windiws 10 была установлена Aida64.

Gole 1 wireless info

Vendor ID: 02D0, Device ID: A94D, чип BCM43341 . Модуль работает через SDIO и является многофункциональным, поскольку реализовывает сразу несколько функций: Wi-Fi, Bluetooth и даже NFC.

Забегая вперед скажу, что понадобится файл из этой системы, находится он по следующему пути: С:\Windows\System32\drivers\bcm943341wlagb.txt. Сохраняем его. Скачать можно тут.

Путём экспериментов было выяснено:

В Ubuntu 16.04.1 работает тачскрин, но не работает Wi-Fi. Была попытка обновить ядро, поскольку в версии 4.4.0 до 4.4.4 присутствует этот баг. Проверив 4.4.56 и 4.9 стало ясно, что это бесполезно. Система переставала загружаться. Завести Wi-Fi модуль удалось в Ubuntu 17.04.

Качаем последний билд Ubuntu 17. Запись на флешку можно производить любой тулзой. Я использую Universal-USB-Installer. Выставляем галку для форматирования, а также выбираем размер персистентного хранилища.

Запись Ubuntu Zesty

Для загрузки со сторонних устройств погружаемся в BIOS. Делается это как и везде при помощи кнопки ESC или Delete на этапе старта компьютера.

Стоит отметить, что настроек много. Можно тюнить множество параметров. Однако не стоит рисковать, на форумах пишут, что убить девайс прямо из BIOS.

Нам необходим раздел Save & Exit. В секции Boot Override список девайсов, с которых можно выполнить загрузку. Выбираем нашу флешку и погружаемся в UEFI.

Если не видны sdio устройства, необходимо заставить чип работать в режиме PCI, а не AHCI. Делается это в биосе -> Chipset -> South Bridge -> LPSS & SCC Configuration. Переводим SCC eMMC Support, SCC SDIO Support и SD Card в режим “PCI Mode”South Bridge

Chipset
SCC support

После этого в /sys/bus/sdion/devices проверьте список девайсов.

Вывод lspci

Смотрим, что проихсодит во время загрузки модуля brcmfmac (modprobe -r brcmfmac && modprobe mrcmfmac)
tail -f /var/log/syslog

Nov 3 17:32:27 ubuntu kernel: [ 990.792115] usbcore: deregistering interface driver brcmfmac
Nov 3 17:32:27 ubuntu kernel: [ 990.914700] usbcore: registered new interface driver brcmfmac
Nov 3 17:32:27 ubuntu kernel: [ 990.915551] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43340-sdio.txt failed with error -2
Nov 3 17:32:28 ubuntu kernel: [ 991.944608] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
Nov 3 17:32:30 ubuntu kernel: [ 992.955788] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

“Direct firmware load for brcm/brcmfmac43340-sdio.txt” и ошибка. Для её исправления подсунем на место этого файла текстовый файл и Windows, который мы сохраняли.

cp Desktop/bcm943341wlagb.txt /lib/firmware/brcm/brcmfmac43340-sdio.txt

После чего снова перезагрузим модуль

modprobe -r brcmfmac && modprobe brcmfmac
Gole 1 Wi-Fi worked

Wi-Fi готов к работе!