Как заставить драйвер ath10k выбрать прошивку API 6, чтобы я мог включить raw_mode на Wi-Fi-карте QCA6174?

Я работаю на компьютере с Ubuntu 16.04, RT с ядром 4.16 и последней прошивкой linux 1.175.3. Моя цель - включить необработанный режим в Wi-Fi на основе чипсета QCA6174, чтобы я мог создать точку сетки. После некоторых исследований я обнаружил, что только эти прошивки поддерживают raw_mode.

https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/4.4.1.c3 https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/4.4.1.c2

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

Заранее спасибо.

3 ответа

Сначала вам нужно найти точную модель и версию вашей карты, я предлагаю проверить вывод dmesg:

ath10k_pci 0000: 3b: 00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56: 1535

После этого вы можете найти правильную карту прошивки на странице linux wireless для ath10k, она уже скомпилирована, просто выберите нужную карту в зависимости от модели карты (включая версию hw) и вашего ядра.

Инструкции по установке также находятся на той же странице:

Сначала загрузите образ прошивки по ссылкам выше. В этом примере мы используем firmware-2.bin_10.1.467.2-1 из каталога QCA988X 10.1. Затем просто скопируйте этот файл как firmware-2.bin в каталог прошивок ath10k:

cp firmware-2.bin_10.1.467.2-1 /lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin

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

Примечание: в некоторых дистрибутивах расположение прошивки может отличаться от /lib/firmware.

Надеюсь это поможет!

Есть еще одна загвоздка. NetworkManager показывает, что Wi-Fi отключен, когда вы проверяете его состояние с помощью /n

      sudo rfkill list all 

и он показывает, что он заблокирован - значит, он отключен кнопкой, но при попытке включить показывает, что ноутбук переходит в "режим полета"

      sudo rfkill list all /n

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

      sudo rfkill unblock all

вуаля! Все работает сейчас. Они перепутали состояние физической кнопки с состоянием программного обеспечения... обычно, если она жестко заблокирована, я бы ожидал, что ноутбук находится в режиме полета... противоположная синхронизация в NetworkManager..

Вам необходимо скопировать обновленные board-2.bin и firmware-6.bin в /lib/firmware/ath10k/QCA6174/hw3.0 (переименовав их) из

https://github.com/kvalo/ath10k-firmware/blob/master/QCA6174/hw3.0/board-2.binhttps://github.com/kvalo/ath10k-firmware/blob/master/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00059

cp ath10k-firmware/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00059 /lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin

А затем проверьте, использовалась ли правильная прошивка при загрузке - вот мой результат после обновления прошивки

[   32.529665] ath10k_pci 0000:01:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1028:0410
[   32.529668] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[   32.530093] ath10k_pci 0000:01:00.0: firmware ver WLAN.RM.4.4.1.c3-00059 api 6 features wowlan,ignore-otp,no-4addr-pad,raw-mode,mfp crc32 3c85e1f9
[   32.776709] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 c15a244d
[   32.844046] ath10k_pci 0000:01:00.0: unsupported HTC service id: 1536
[   32.862171] ath10k_pci 0000:01:00.0: htt-ver 3.62 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
Другие вопросы по тегам