1. Я тестирую рутированный Nexus 5, работающий на Lollipop 5.1.
2. Это все без подключения к Wi-Fi.
Я пытаюсь отправить пакеты UDP между ПК и устройством Android с помощью кабеля otg и ключа Ethernet. При подключении ПК считает, что андроид является неопознанной сетью (нет доступа в Интернет), и андроид распознает устройство как eth0 с IP-адресом 0.0.0.0.
eth0 UP 0.0.0.0
Я добавляю IP к eth0, запустив следующий unix-скрипт:
#!/bin/sh
netcfg eth0 up
ifconfig eth0 192.168.1.200 netmask 255.255.255.0
route add default gw 192.168.1.1 dev eth0
ping -c 1 192.168.1.1
После запуска скрипта eth0 появляется в командной строке как:
eth0 UP 192.168.1.200
Я использую wireshark для отслеживания пакетов, и когда я пытаюсь открыть интерфейс между ПК и Android, я получаю следующее сообщение об ошибке:
(Ошибка открытия адаптера: Система не может найти указанное устройство. (20)).
Кроме того, когда я пытаюсь пропинговать компьютер с Android, я теряю 100% пакетов.
Так что похоже, что у меня нет связи между ПК и Android. Любая информация по теме будет очень полезна.
[Из комментариев:] Если вы хотите соединить их по IP-сети, они должны находиться в одной подсети. Ваш компьютер самостоятельно назначает IP-адрес, поскольку не может найти DHCP-сервер. Попробуйте статически назначить вашему компьютеру адрес 192.168.1.1 с той же подсетью 255.255.255.0.
Я думаю, что обратная привязка решит вашу проблему.
Шаги обратной привязки Android:
Примечание. Работает только на рутированном телефоне Android.
Включите USB-модем. Для этого перейдите в «Настройки» → «Дополнительно…» → «Модем и мобильная точка доступа» → «Модем через USB» .
На хост-машине введите:
$ ifconfig usb0 10.42.0.1 netmask 255.255.255.0
$ echo 1 > /proc/sys/net/ipv4/ip_forward
Команда для sudo будет:
$ sudo 'echo 1 > /proc/sys/net/ipv4/ip_forward'
На устройстве Android (для этого шага вы должны установить ADB на хост-компьютере) введите:
$ adb shell
$ su
$ netcfg rndis0 dhcp
Если он не получает IP-адрес, назначьте его вручную:
$ netcfg rndis0 10.42.0.2 netmask 255.255.255.0
$ route add default gw 10.42.0.1 dev rndis0
Теперь интернет будет работать в телефоне Android.
Для проверки попробуйте команду ping www.google.com
.
Меня устраивает.
Мистер Бастер
Коди Эмерсон
Коди Эмерсон
Мистер Бастер
Коди Эмерсон
Мистер Бастер