Вопрос или проблема
У меня есть мини-ПК на Linux с чипсетом Ampak AP6212. Модули Bluetooth и WiFi не работают под Ubuntu 16.04. Согласно этому сайту, мне нужно установить brcmfmac
. Это правильно? Если да, из какого репозитория я могу это сделать?
$ dmesg | grep brcm; ls /sys/firmware/efi/efivars
AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
AuthVarKeyDatabase-aaf32c78-947b-439a-a180-2e144ec37792
BackupPlatformLang-59d1c24f-50f1-401a-b101-f33e0daed443
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0004-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot2001-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot2002-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot2003-8be4df61-93ca-11d2-aa0d-00e098032b8c
BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c
BootType-a04a27f4-df00-4d42-b552-39511302113d
BugCheckCode-ba57e015-65b3-4c3c-b274-659192f699e3
BugCheckParameter1-ba57e015-65b3-4c3c-b274-659192f699e3
BugCheckProgress-ba57e015-65b3-4c3c-b274-659192f699e3
certdb-59d1c24f-50f1-401a-b101-f33e0daed443
ColdQ2SEnableVariable-cccd8c8e-8915-4d12-bb76-0d49b4fc0dcd
ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConInCandidateDev-59d1c24f-50f1-401a-b101-f33e0daed443
ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConOutCandidateDev-59d1c24f-50f1-401a-b101-f33e0daed443
ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
CurrentPolicy-77fa9abd-0359-4d32-bd60-28f4e78f784b
Custom-a04a27f4-df00-4d42-b552-39511302113d
CustomSecurity-59d1c24f-50f1-401a-b101-f33e0daed443
db-d719b2cb-3d3a-4596-a3bc-dad00e67656f
dbDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
dbx-d719b2cb-3d3a-4596-a3bc-dad00e67656f
dbxDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
IrsiInfo-5bce4c83-6a97-444b-63b4-672c014742ff
KEK-8be4df61-93ca-11d2-aa0d-00e098032b8c
KEKDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c
LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
LastBootOSVariable-936d3077-9722-41a8-88ae-91a7b7594a3c
MemoryConfig-10ba6bbe-a97e-41c3-9a07-607ad9bd60e5
MemoryOverwriteRequestControl-e20939be-32d4-41be-a150-897f85d49829
MsdmAddress-fd21bf2b-f5d1-46c5-aee3-c60158339239
MTC-eb704011-1402-11d3-8e77-00a0c969723b
OfflineUniqueIDEKPubCRC-eaec226f-c9a3-477a-a826-ddc716cdc0e3
OfflineUniqueIDEKPub-eaec226f-c9a3-477a-a826-ddc716cdc0e3
OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
PhysicalBootOrder-59d1c24f-50f1-401a-b101-f33e0daed443
PK-8be4df61-93ca-11d2-aa0d-00e098032b8c
PKDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
PlatformCpuInfo-10ba6bbe-a97e-41c3-9a07-607ad9bd60e5
PlatformInfo-10ba6bbe-a97e-41c3-9a07-607ad9bd60e5
PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
Regparm-49e3577e-71fb-46cc-a4a3-21084b7bd99f
RestoreFactoryDefault-59d1c24f-50f1-401a-b101-f33e0daed443
SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
SecureBootEnforce-59d1c24f-50f1-401a-b101-f33e0daed443
Setup-a04a27f4-df00-4d42-b552-39511302113d
SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
SignatureSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
SmmEmmcCardDataVariable-3503b13d-2bd7-43ca-ba63-a1dfaa68da46
Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
TrEEPhysicalPresence-f24643c2-c622-494e-8a0d-4632579c2d5b
TrEEPhysicalPresenceFlags-f24643c2-c622-494e-8a0d-4632579c2d5b
VendorKeys-8be4df61-93ca-11d2-aa0d-00e098032b8c
$ cat /etc/lsb-release; lspci -nnk | grep -iA3 net
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=Xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
Ссылка на wireless-info
результаты.
Обновленный вывод dmesg | grep brcm
:
[ 6.587443] brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 43430 rev 0 pmurev 24
[ 6.590452] usbcore: registered new interface driver brcmfmac
[ 7.706117] brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 8.710637] brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 9.714375] brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
$ dmesg | grep brcm
[ 6.590452] usbcore: registered new interface driver brcmfmac
[ 1503.630948] Modules linked in: asix usbnet mii input_leds joydev hid_microsoft hid_generic gpio_keys axp20x_pek snd_soc_sst_baytrail_pcm axp288_adc snd_soc_sst_ipc snd_soc_sst_dsp snd_soc_sst_byt_rt5640_mach intel_rapl intel_soc_dts_thermal intel_powerclamp coretemp kvm_intel usbhid kvm irqbypass punit_atom_debug crc32_pclmul aesni_intel brcmfmac aes_i586 xts lrw gf128mul ablk_helper brcmutil cryptd cfg80211 bmc150_accel_spi bmc150_accel_i2c bmc150_accel_core jsa1212 kxcjk_1013 industrialio_triggered_buffer kfifo_buf snd_intel_sst_acpi industrialio snd_intel_sst_core snd_soc_rt5640 goodix snd_soc_sst_mfld_platform snd_soc_rl6231 snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi mei_txe mei lpc_ich snd_seq snd_seq_device snd_timer 8250_fintek
[ 1503.730939] Modules linked in: asix usbnet mii input_leds joydev hid_microsoft hid_generic gpio_keys axp20x_pek snd_soc_sst_baytrail_pcm axp288_adc snd_soc_sst_ipc snd_soc_sst_dsp snd_soc_sst_byt_rt5640_mach intel_rapl intel_soc_dts_thermal intel_powerclamp coretemp kvm_intel usbhid kvm irqbypass punit_atom_debug crc32_pclmul aesni_intel brcmfmac aes_i586 xts lrw gf128mul ablk_helper brcmutil cryptd cfg80211 bmc150_accel_spi bmc150_accel_i2c bmc150_accel_core jsa1212 kxcjk_1013 industrialio_triggered_buffer kfifo_buf snd_intel_sst_acpi industrialio snd_intel_sst_core snd_soc_rt5640 goodix snd_soc_sst_mfld_platform snd_soc_rl6231 snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi mei_txe mei lpc_ich snd_seq snd_seq_device snd_timer 8250_fintek
[11622.144368] usbcore: deregistering interface driver brcmfmac
[11642.563260] usbcore: registered new interface driver brcmfmac
У вас небольшая неразбериха. Отредактируйте ваш файл /etc/rc.local, чтобы удалить
echo "148F 7601" | tee /sys/bus/usb/drivers/ath9k_htc/new_id
, так как это USB-устройство не поддерживается ath9k_htc, это устройство Mediatek.
Удалите все содержимое /etc/modules, так как вам не нужно принудительно загружать ath9k и ath9k_htc.
Деинсталлируйте ndiswrapper и избавьтесь от его конфигурационного файла.
sudo rm -f /etc/modprobe.d/ndiswrapper.conf
Удалите проприетарный модуль Broadcom.
sudo apt-get remove bcmwl-kernel-source
Давайте убедимся, что его файл черного списка больше не существует.
sudo rm -f /etc/modprobe.d/blacklist-bcm43.conf
Обновите список псевдонимов модулей.
sudo depmod -a
Перезагрузите и посмотрите на dmesg | grep brcm
, чтобы увидеть, исчезла ли проблема.
Ответ или решение
Драйвер Wi-Fi для Ampak AP6212 на Linux (Ubuntu 16.04)
Вы столкнулись с проблемой отсутствия работы модулей Bluetooth и Wi-Fi на вашем мини-ПК с чипсетом Ampak AP6212 под управлением Ubuntu 16.04. Вы правильно указали, что для использования Wi-Fi вам необходимо установить драйвер brcmfmac
. Давайте разберемся подробнее, как это сделать.
1. Проверка наличия драйвера
Прежде всего, нужно выяснить, установлен ли драйвер brcmfmac
. В вашем выводе команд dmesg | grep brcm
видно следующее:
usbcore: registered new interface driver brcmfmac
Это указывает на то, что драйвер зарегистрирован, но могут возникать ошибки, такие как:
brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
Эти ошибки могут указывать на конфликты или неправильную конфигурацию.
2. Установка необходимых пакетов
Следующий шаг — убедиться, что у вас установлены все необходимые пакеты и библиотеки. Для Ubuntu 16.04 можно выполнить следующую команду:
sudo apt-get update
sudo apt-get install firmware-brcm80211
Этот пакет включает в себя необходимые микрокоды для работы с устройствами Broadcom и, как следствие, для работы вашего аппаратного обеспечения.
3. Настройка конфигурации
-
Редактирование файла /etc/rc.local: Вам рекомендовано удалить строки, относящиеся к не поддерживаемым устройствам, чтобы предотвратить конфликты. Убедитесь, что отсутствуют команды, создающие конфликты с другими драйверами.
-
Очистите /etc/modules: Вам следует удалить все содержимое файла
/etc/modules
, чтобы не принудительно загружать не нужные модули, такие какath9k
иath9k_htc
, которые не относятся к вашему устройству. -
Удалите ndiswrapper: Если он ранее использовался, его стоит удалить, так как он не поддерживает Ampak устройства.
sudo rm -f /etc/modprobe.d/ndiswrapper.conf
sudo apt-get remove ndiswrapper
- Удаление проприетарного модуля Broadcom: Так как используется прямой драйвер
brcmfmac
, вам необходимо убрать конфликты с другим драйвером Broadcom.
sudo apt-get remove bcmwl-kernel-source
- Удалите черный список: Убедитесь, что отсутствует файл черного списка для Broadcom, чтобы предотвратить блокировку необходимых драйверов.
sudo rm -f /etc/modprobe.d/blacklist-bcm43.conf
После выполнения всех этих шагов обновите список модулей:
sudo depmod -a
4. Перезагрузка
Перезагрузите систему, чтобы изменения вступили в силу. После перезагрузки проверьте, работают ли модули Wi-Fi и Bluetooth, выполнив:
dmesg | grep brcm
Если после выполнения указанных шагов вы видите устранение предыдущих ошибок и карта Wi-Fi успешна инициализируется, проблемы с подключением должны быть устранены.
Заключение
Если вы по-прежнему сталкиваетесь с проблемами после выполнения этих шагов, рекомендуется проверить совместимость вашего устройства с драйвером brcmfmac
и возможные обновления на официальном сайте или форумах сообщества. Напомню, что использование более новой версии операционной системы, такой как Ubuntu 20.04 или выше, может значительно улучшить поддержку оборудования.