USB-модем в голове F515 становится интернетом для неё самой и для всех приложений Android. Одна кнопка, без пересборки boot/vendor_boot и без туннелей. Тип модема приложение определяет само.
Поставьте его на голову через USB-флешку и штатный установщик Toolbox: pm install на этой прошивке закрыт политикой. Подробности в app/README.md.
Вставьте модем, откройте приложение и нажмите Включить.
После этого интернет есть у приложений Android, DNS фантомной TBOX-сети исправлен, а в статус-баре вместо крестика показывается сигнал модема.
Что умеет
Автозапуск после перезагрузки со сторожем, который раз в минуту проверяет связь, и с защитой от бутлупа на случай падения при загрузке модуля ядра.
Иконка сотовой сети: настоящие сила сигнала и тип сети модема. Работает и с TBOX в конфиге машины, и без него (во втором случае через твик iSpace Toolbox «Статус сети»).
LBS для Яндекс Навигатора: передаёт данные LTE-соты модема через Android Telephony.
Свой DNS для приложений вместо операторского.
Проверка (диагностика без изменений), Выключить, Интернетометр и форматирование SD-карты модема или флешки.
Маленькое Android-приложение (около 25 КБ кода, без gradle), которое держит поднятыми WireGuard-туннель и adb по TCP. До головы всегда можно достучаться снаружи: adb connect 10.8.0.2:5555.
Root без Magisk. adbd на этой прошивке работает от root и слушает порт 5555, поэтому приложение подключается к своему же 127.0.0.1:5555. Клиент протокола ADB написан с нуля, без зависимостей.
Демон проверяет три вещи: слушает ли adbd порт, есть ли аплинк (внутриавтомобильные vlan* и eth0 не считаются) и жив ли wg0.
Модемной логики нет. Откуда голова берёт интернет, неважно: USB-модем, Wi-Fi или ethernet.
Kill-switch:touch /data/local/tmp/netkeeper.off отключает и приложение, и демон.
Сборка
Готового APK нет: ключи ADB и конфиг WireGuard у каждого свои. Сборка из исходников описана в README (aapt2 → javac → d8 → apksigner, нужны Android SDK API 30 и Java 11+).
Код рассчитан на F515 (SAI_OS, Android 11), где adbd работает от root. Ставьте только на устройство, к которому есть физический доступ. Лицензия MIT.
f515-lab
Разборы и заметки по головному устройству F515: Android-гость под гипервизором QNX на SA8155.