Как создается устройство rndis0
Когда мы заходим в настройки-> Параметры беспроводной связи и сети в телефоне Android и проверяем опцию usb tether, то сразу же создается одно сетевое устройство rndis0, которое мы видим из adb shell netcfg
Я в основном хочу знать, как создается это сетевое устройство, какой API вызывается путем настройки приложения для создания интерфейса rndis0
Спасибо
1 ответ
rndis0
это имя вашего USB-порта при использовании в качестве сетевого адаптера для подключения. Он, вероятно, назван в честь протокола RNDIS, который он использует при привязке к компьютеру. Мне никогда не удавалось найти некорневые методы изменения этого программного обеспечения (и, следовательно, никогда не находил какие-либо методы API), равно как и я не нашел никаких некорневых приложений, которые могут это изменить.
Чтобы правильно ответить на ваш вопрос, мне нужно точно знать , что вы пытаетесь сделать, поскольку существуют как рутированные, так и нерутированные методы для работы с сетевыми интерфейсами Android менее прямыми способами; некоторые ссылки, содержащие примеры, перечислены ниже.
Программно включить / отключить USB-модем:
Включить / выключить USB или Wi-Fi модем программно на Android
Запустить / остановить встроенный Wi-Fi / USB-модем из кода?
Программно включить / выключить WIFI:
Как программно отключить WiFi на устройстве Android?
Если у вас есть root и вы не возражаете запачкать руки с помощью терминала Linux, вы можете попробовать установить его вручную. Однако две основные проблемы заключаются в том, что 1) в некоторых ядрах Android просто отключены основные функции Linux и 2) даже если вы вручную импортируете некоторые функции по умолчанию (возможно, с помощью таких инструментов, как Busybox), Android не всегда следует всем правилам Linux. как обычные компьютеры. Например, однажды я попытался установить диапазон DHCP моего S2 (что я с легкостью сделал в различных дистрибутивах на компьютерах под управлением Linux), но, как бы я ни старался, телефон просто отказывался следовать моим правилам. С другой стороны, такие инструменты, как iptables, никогда не подводили меня.
Некоторые полезные ссылки для Linux:
ArchWiki - 90% всего Linux, который я изучил (Ubuntu, CentOS, Arch Linux, немного Android, vanilla Linux..), пришли отсюда. Они часто охватывают другие дистрибутивы более подробно, чем сами дистрибутивы.
iptables, iptables, больше iptables..
Общая конфигурация сети, IP-маршрутизация, дополнительная маршрутизация.
Пожалуйста, имейте в виду, что большая часть информации в некоторых из приведенных выше ссылок не относится к Android, поскольку Android реализует только некоторые из этих функций. Это, безусловно, стоит прочитать, хотя.
Надеюсь, это поможет.