Вопрос или проблема
У меня есть Galaxy S6 с Android 12 Lineage 19.1, модель: Sm-G920I (с рутом).
Используется чипсет BCM4358, версия драйвера
Dongle Host Driver, версия 1.47.61.3 (r)
Скомпилирован в drivers/net/wireless/bcmdhd4358 18 ноября 2024 года в 20:35:10
ядро – Linux localhost 3.10.108-122802-g56c92465bdbb #1 SMP PREEMPT 24 декабря 2024 года 18:48:50 GMT aarch64
Я пытаюсь использовать hostapd из терминала, чтобы запустить AP на любом канале с частотой 20/40/80 МГц. Когда я запускаю хотспот из UI, он работает на канале 44 с частотой 80 МГц. Но когда я пытаюсь запустить AP на (например) канале 36 и 40 МГц, я получаю ошибку, говорящую, что драйвер не поддерживает HT-способности (HT40+). Почему это так? Есть ли обновленная версия драйвера, или я что-то упускаю?
Когда AP запускается, используя UI, это конфигурация, которая используется
interface=wlan0
driver=nl80211
ctrl_interface=/data/vendor/wifi/hostapd/ctrl
ssid2=53616d73756e672047616c6178792053365f35373438
channel=44
op_class=116
ieee80211n=1
ieee80211ac=0
hw_mode=a
ignore_broadcast_ssid=0
wowlan_triggers=any
interworking=1
access_network_type=2
wpa=2
rsn_pairwise=CCMP
wpa_passphrase=nhi3vn32bjtnfk2
Я пробую с следующей конфигурацией
interface=wlan0
driver=nl80211
ctrl_interface=/data/vendor/wifi/hostapd/ctrl
ssid2=53616d73756e672047616c6178792053365f35373438
channel=36
op_class=115
ieee80211n=1
ieee80211ac=0
hw_mode=a
ht_capab=[HT40+]
ignore_broadcast_ssid=0
wowlan_triggers=any
interworking=1
access_network_type=2
wpa=2
rsn_pairwise=CCMP
wpa_passphrase=nhi3vn32bjtnfk2
Прикрепляю логи ошибок
02-02 09:18:56.643 9133 9133 E hostapd : Драйвер не поддерживает настроенную HT-способность [HT40*]
02-02 09:18:56.643 9133 9133 I hostapd : wlan0: состояние интерфейса UNINITIALIZED->DISABLED
02-02 09:18:56.643 9133 9133 I hostapd : wlan0: AP-DISABLED
02-02 09:18:56.643 9133 9133 E hostapd : wlan0: Невозможно настроить интерфейс.
02-02 09:18:56.643 9133 9133 I hostapd : Деинициализация hidl управления
02-02 09:18:56.643 9133 9133 F libc : Фатальная ошибка сигнала 11 (SIGSEGV), код 1 (SEGV_MAPERR), ошибка при доступе к адресу 0x0 в потоке 9133 (hostapd), pid 9133 (hostapd)
02-02 09:18:56.728 9137 9137 F DEBUG : Cmdline: /system/vendor/bin/hw/hostapd -dddd /data/local/tmp/defaultConf.conf
Используемая команда : /system/vendor/bin/hw/hostapd -dddd /data/local/tmp/defaultConf.conf
Ответ или решение
Для решения проблемы с настройкой точки доступа на Samsung Galaxy S6 (модель SM-G920I) на ОС Lineage 19.1 через hostapd, необходимо разобраться в нескольких аспектах настройки Wi-Fi, возможности драйвера и конфигурации точки доступа. Прежде всего, давайте рассмотрим ситуацию с теоретической точки зрения.
Теория
Технология HT40 и стандарты Wi-Fi
Стандарт IEEE 802.11n позволяет использовать увеличенную ширину канала — до 40 МГц (обозначается как HT40), что обеспечивает более высокую пропускную способность. Тем не менее, не все устройства и, что важнее, не все драйверы и регионы поддерживают каналы HT40. Это связано с нормативными ограничениями, которые ограничивают использование более широких каналов в некоторых диапазонах и странах.
Проблема драйвера
Сообщение об ошибке «Driver does not support configured HT capability [HT40+]» указывает на то, что драйвер вашего Wi-Fi-адаптера BCM4358 в текущей конфигурации не поддерживает установку ширины канала 40 МГц для заданного канала (в данном случае канал 36).
Пример
Вы упоминаете, что использование интерфейса UI приводит к успешному запуску точки доступа на канале 44 с шириной 80 МГц. Это свидетельствует о том, что, по крайней мере, в этом режиме драйвер поддерживает расширенные возможности ширины канала. Однако такие же результаты не достижимы через конфигурацию hostapd, что говорит о возможных ограничениях в поддержке каналов при ручной настройке.
Применение
Чтобы обойти сглаженные проблемы и правильно настроить точку доступа, выполните следующие шаги:
-
Обновление драйверов: Убедитесь, что у вас установлены последние версии драйверов для BCM4358. Проверьте на форумах Lineage OS наличие патчей или обновлений, которые могут улучшить поддержку HT40.
-
Проверка региональных настроек: Убедитесь, что региональные настройки для Wi-Fi правильно установлены. В некоторых случаях изменение региональных настроек может снять ограничения на каналы 40 МГц. Это можно сделать с помощью команды
iw reg set <код_страны>
. -
Альтернативные каналы и конфигурации: Попробуйте использовать другую конфигурацию hostapd для менее загруженных каналов (например, 44 или 48) с более широкой поддержкой. Пример конфигурации:
interface=wlan0 driver=nl80211 ctrl_interface=/data/vendor/wifi/hostapd/ctrl ssid2=53616d73756e672047616c6178792053365f35373438 channel=44 op_class=116 ieee80211n=1 ieee80211ac=1 hw_mode=a ht_capab=[HT40+] ignore_broadcast_ssid=0 wowlan_triggers=any interworking=1 access_network_type=2 wpa=2 rsn_pairwise=CCMP wpa_passphrase=nhi3vn32bjtnfk2
-
Диагностика ошибок и логи: Проверьте логи ошибок для получения более подробной информации о неудачных попытках настройки с помощью более детального уровня логов hostapd, запуская его с опцией
-dddd
. -
Консультация с сообществом: Если проблема не решается, можно обратиться за помощью к сообществу на форумах XDA Developers или Lineage OS. Возможно, кто-то сталкивался с такой же проблемой и поделится собственным опытом решения.
-
Изучение регламентов и ограничений: Ознакомьтесь с действующими нормативными актами в своей стране, касающимися использования частотных диапазонов Wi-Fi, чтобы удостовериться, что вы не нарушаете правил при использовании конкретных каналов и ширины полосы.
Заключение
Обратите внимание, что проблемы с совместимостью драйвера и поддержкой определённых характеристик оснащения не редкость, особенно в случае кастомных прошивок на устройствах со специфичным оборудованием, как BCM4358 в Samsung Galaxy S6. Рекомендуемое решение – пробовать разные каналы и изучать дополнительные ресурсы и документацию для выяснения возможностей вашего оборудования и программного обеспечения.