21.08.2019 12:28
Позвольте вклинится на тему Инета через USB.
Во-первых надо сузить задачу. Для первого захода ограничить модемы режимом RNDIS (например, Huawei HiLink), или телефон в режиме USB Tethering (USB модем в русской версии Android). Это наиболее простой способ подключить инет.
Во-вторых, раз в lsusb модем видно, то остался один шаг - захреначить в kernel дрова для usb-rndis.
Android живет на ядре Linux, поэтому дествовать нужно как в случае с wifi-роутером:
Вычисляем точную версию ядра linux (uname -a или dmesg).
Порывшись по закромам kernel.org качаем именно это ядро в исходнике.
Насколько видно по скриншотам, нужно вот это ядро
ссылка
Конфигурируем ядро - включаем что-то типа kmod-usb-net-rndis, и собираем его ПОД ARM.
Само ядро выкидываем в мусорку, берем только нужный kmod (*.ko в папке modules).
Закидываем его в ГУ и загружаем через insmod в kernel.
После чего подтыкаем USB-модем/телефон и смотрим dmesg. Устройство должно определится и в итоге появится сетевой адаптер. Что-то вроде
[ 847.620000] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-101c0000.ehci-1, RNDIS device, 72:4d:eb:bb:e2:60
Его так же видно в ifconfig -a (обычно как usb0).
Далее к адаптеру остается применить dhcp client и сеть поднята.
Когда в ручном режиме заработает можно решать вопрос автодетекта, автоконфига и прочей автоматизации.
/dev/*tty* тут не нужны. Они для модемов в режиме DUN, который порядком устарел.
Для диагностики в каком режиме USB-модем, можно запустить
cat /sys/kernel/debug/usb/devices
Если скините мне как получить root, попробую конкретизировать метод на практике.