Alter.Org.UA
 << Back Home EN en   Donate Donate

Wifi random disconenct with Embedded AP (access point)

Залізяка. Мікроконтролер з лінуксом, wifi, ethernet. Виключно заради характеристик wifi (і трохи ціни) Треба підніяти режим точки доступу, зібрати в bridge ті wifi + ethernet та й забути.

Виявилось, то не дуже тривіально. wifi постійно вилітає з bridge. Бо NetworkManager так працює. То треба спочатку wifi, а потім решту дій. І інших інструментів в базовій комплектації нема. Ок.

Ще виявилось, що образ для SD-карти - то не той образ, що для бортової флешки, бо там взагалі read-only файлова система. Як його збирати - теж трохи квест.

Ну і поступово щось далі допилювали, життя, як здавалося, вдалось і таке інше.

Фінальні тести раптово виявляють, що якщо цю залізяку просто перезавантажити по живленню в процесі роботи - зв'язок не відновлюється. Ну тобто відновлюється, але геть нестабільний і все дууууже повільно. десь 4+ хвилини до можливості працювати. І все одно трохи рветься.

Думали, проблема в забитому ефірі. Міняли канал, возили в ізольоване приміщення... Краще, але фігово. Почав досліджувати.

Виявилось, що проблем декілька. Це повільний старт (мережа з'являється десь за 2 хвилини), її нестабільність ще протягом 2х хвилин (постійно рветься) і ще потім теж періодично втрачається зв'язок на кілька секунд. Перше трохи дивно, бо login prompt з'являється секунд за 30. І якщо все запустити руками - працює. Але зі стабільністю wifi - така сама фігня.

Ок, зробив автоініціалізацію тому wifi з'єднанню в NetworkManager. Почало запускатися швидше, десь за хвилину. Але все ще є проблема зі стабільністю. Змінив порядок запуску, щоб не чекало network ready, а запускалось одразу скриптом. Трохи швидше, все одно рветься.

Думав на роутінг, на firewall, на ініціалізацю самого NetworkManager... Щоб перевірити - треба зібрати з підтримкою якогось альтернативного софта для роботи в режимі access point. Взяв hostapd як всі рекомендують. Не працює. А одразу запустити руками - ок. Google рішення знайнов в профільному форумі. Привіт, милиці - зробити затримку запуску на кілька секунд. Це допомогає. Але ж блін.

Нарешті запуск за 30 секунд. Круто. І та сама нестабільність wifi. Щось заважає. Пробував вже зупинити firewall, network manager (вимкнути так просто не дає, бо read only, прибрати з прошивки - бо required авторами)

В логах hostapd - client disconnect, auth, connect. Без якихось причин. Гугл видає багато можливих причин, жодна не наша.

Сиджу втичу вже в ping (що рветься) в одному вікні, в top (щоб може зрозуміти, який процес запускається в момент зникнення зв'язку) в іншому. І помічаю, що завжди в цей момент якийсь kworker віджирає 100% CPU і витісняє hostapd, що точку доступа як раз обслуговує. І ще поряд крутяться якісь процеси роботи з bluetooth, який нам взагалі не треба.

Поліз, випиляв руками з прошивки запуск всього зайвого. І bt, і network manager, і firewall про всяк випадок. І навіть бортову web config (виявляється воно там теж було)

І диво. wifi + bridge стартують. За 30 секунд. І більше зв'язок не рветься. В тих самих умовах засраного ефіру. 2 години 0% packet loss (4 штуки загубились на самому початку) Така фігня малята.

Резюмуючи...
1. ніякого network manager (не перша трабла з ним, колись робив lacp і так само він викидав інтерфейси, та ще й тупить)
2. комбайни - зло, все зайве - навіг.
3. не впевнені - теж нафіг.
4. тільки те що треба, свій зрозумілий стартапний скрипт і більше нічого зайвого

Original discussion: Facebook

2023.02.11


FB or mail alterX@alter.org.ua (remove X)   Share
Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2025