Как создается устройство 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 реализует только некоторые из этих функций. Это, безусловно, стоит прочитать, хотя.

Надеюсь, это поможет.

Другие вопросы по тегам