Привет. Небольшой беклог.
Стоит CarbonROM 8.1 (Android 10), Magisk. В init’е (android’овском) прописаны свои сервисы. Один из них ssh. Все стартует и работает, пока не доходит до удаления zygote сервиса. Он тянет за собой старт неочевидных сервисов. В часности, как я понимаю, автоподключение wifi и триггер на boot_completed. Если убивать ветку zygote процесса из уже стартовавшей системы, то после проблем не возникает (wifi и остальное продолжают работать).
Подключение wifi идет через wpa_supplicant (насколько я понял). Попытался поднять его ручками после boot фазы и далее стартовать свои сервисы. Сервисы стартовали, но, похоже без включенного wifi. Отлавливать все это довольно сложно, так как каждый раз ты грузишься в рекавери, достаешь лог, ресторишь init’ы и грузишься опять в систему для чтения логов.
Может кто шарит за wifi стек в android. На каком моменте можно поднять автоподключение? Является ли wificond последней стадией в init’е wifi или zygotе поднимает еще что-то?
PS: svc wifi в этой прошивке не имеет опции connect-network, так что тут мимо.