Хостапд Wi-Fi репитер с Коннманом
Я хочу использовать мое устройство linux IMX7 в качестве повторителя Wi-Fi (точка доступа Wi-Fi):
wifi wifi wan
TABLET <~.~.~.~.~> (ap0) IMX7 (wlan0) <.~.~.~.~.> ROUTER <───> INTERNET
| | (connman) | |
| | | |
(dhcp) 192.168.4.1 (dhcp) 192.168.10.1
в соответствии с этим руководством: Точка доступа в качестве повторителя WiFi, опционально с мостом.
IMX7 запускает приложение, используя connman для настройки eth0 и wlan0 (его я не могу изменить).
При запуске IMX7 создает точку доступа на каком-либо канале, используя hostapd.
backend
--------
channel6 ( ( ( | IMX7 |
--------
Затем подключаюсь к планшету.
frontend backend
--------- --------
| TABLET | ( ( ( channel6 ( ( ( | IMX7 |
--------- --------
Приложение на бэкэнде должно показать мне доступный Wi-Fi в этом районе. Затем сервер должен подключиться к выбранной (из внешнего интерфейса) точке доступа.
frontend backend
--------- -------- -------
| TABLET | ( ( ( channel6 ( ( ( | IMX7 | ( ( ( channel 11 ( ( ( | AP1 |
--------- -------- -------
Поскольку ap0 и wlan0 должны быть на одном и том же канале, hostapd, создающий wifi на ap0, должен быть перенастроен для использования канала 11 здесь.
frontend backend
--------- -------- -------
| TABLET | ( ( ( channel11 ( ( ( | IMX7 | ( ( ( channel 11 ( ( ( | AP1 |
--------- -------- -------
Моя проблема в том, что у меня есть приложение, работающее на imx7, которое настраивает интерфейс eth0 и wlan0 через connman, и я не могу это изменить. Поэтому при создании файлов.network для systemd-networkd для wlan0 "технология wifi" исчезает из connmanctl.
Кроме того, канал, который использует hostapd, должен быть таким же, как и точка доступа (AP). Итак, сначала IMX7 использует фиксированный канал для hostapd. После подключения к любой точке доступа канал hostapd должен быть изменен на тот же. Я нахожу довольно хакерским переписать файл конфигурации и перезапустить hostapd.
Таким образом, вопрос заключается в том, возможно ли вообще иметь параллельное выполнение connman и systemd-netword. Или как бы вы решили эту проблему?
Большое спасибо, я надеюсь, что показал проблему, чтобы вы могли ее понять.
Майкл