Есть ли способ для телефона получить доступ к Интернету через USB-подключение к компьютеру? Если да, то как мне его настроить?
Недавно я обнаружил SimpleRT , который очень хорошо работает с Linux (и, по-видимому, с OSX). Просто включите отладку по USB на своем устройстве (рут не требуется), установите APK, связанный с этой страницы, на свое устройство и подключите его к компьютеру через USB, а затем запустите двоичный файл на своем компьютере.
Он настроит соединение как VPN-туннель ( tun0
по умолчанию), и ваше устройство должно предложить вам (а) разрешить SimpleRT создавать/контролировать VPN-соединение, а также (б) запускать ли его, когда устройство настроено как конкретный USB-аксессуар (что и делает двоичный файл).
В проект не входит готовый двоичный файл, поэтому я загрузил тот, который собрал для Ubuntu (файл будет загружен).
Ниже приведен ручной метод, который должен работать в Linux или Windows: http://blog.mathieu.carbou.me/post/60454997009/reverse-usb-tethering-with-android-2-2 .
ШАГ 1:
Для Windows: установите USB-драйверы из Android SDK.
Для Linux: ничего не делать
ШАГ 2:
На Nexus One: подключите USB-кабель и активируйте USB-модем. Вы должны увидеть в Linux или Windows новый сетевой интерфейс.
ШАГ 3:
На компьютере с Linux настройте мост:
# usb0 is the new network interface # eth0 is the main interface connected to internet (or a gateway) sudo ifconfig eth0 0.0.0.0 sudo ifconfig usb0 0.0.0.0 sudo brctl addbr br0 sudo brctl addif br0 eth0 sudo brctl addif br0 usb0 sudo ifconfig br0 up sudo dhclient br0
См. https://help.ubuntu.com/community/NetworkConnectionBridge для настройки мостов .
В Windows соедините 2 сетевых интерфейса.
ШАГ 4:
Настройте интерфейс usb0 вашего телефона. У вас есть варианты:
Со своего компьютера выполните:
./adb shell netcfg usb0 dhcp
Или в корневом терминале на телефоне введите:
su netcfg usb0 dhcp
Теперь вы сможете подключиться к Интернету на своем телефоне, используя подключение к Интернету вашего компьютера.
Попробуйте пропинговать www.google.com , чтобы быть уверенным!
ШАГ 5:
Чтобы отключить обратную модем, сначала отключите интерфейсы на вашем компьютере:
sudo ifconfig eth0 down sudo ifconfig usb0 down sudo ifconfig br0 down sudo brctl delbr br0 sudo ifconfig eth0 up sudo dhclient eth0
Затем на телефоне снимите флажок «USB-модем»!
Вы также можете использовать Windows для создания сети Wi-Fi (используя Connectify ) и подключить к ней свое устройство: http://www.nexusoneforum.net/forum/nexus-one-faq-how-tos/3133-reverse-tether-getting -интернет-ваш-телефон.html
sudo ifconfig usb0 0.0.0.0
я получаю SIOCSIFADDR: нет такого устройства usb0: ОШИБКА при получении флагов интерфейса: нет такого устройстваЕсть еще несколько возможностей, но все они, о которых я знаю, требуют рутированного устройства.
Во-первых, в Play Store доступно бесплатное приложение Reverse Tether (это ограниченная пробная версия, которая ограничивает время, в течение которого вы можете быть подключены, но, по крайней мере, таким образом вы можете проверить, полностью ли поддерживается ваше устройство; полная версия около 5 долларов США). Согласно статье на AndroidAuthority , установка должна быть простой, как 1-2-3: подключите USB-кабель, запустите приложение, дайте ему автоматическую настройку (также доступна ручная настройка) — и готово. Вы также можете разрешить ему запрашивать подключение, когда он находит USB-соединение.
Я знаю, что это не USB, но для полноты (и предоставления альтернатив) я подумал, что могу добавить и это:
Также доступно несколько ручных методов (описанных, например, на XDA ), но они в основном технически сложны и предполагают, что вы исправите системные файлы; не для повседневного пользователя, а скорее для технаря.
Тем не менее, еще один хороший метод должен включать 3 линии в терминале и описан в сообщении здесь для подключения к специальной сети Wi-Fi. В принципе, это должно быть так:
su
ifconfig wlan0 up
iwconfig mode auto;
iwconfig wlan0 essid "your SSID" channel 11 mode auto
ifconfig wlan0 10.0.0.x netmask 255.255.255.0
Еще один довольно простой способ также описан здесь и включает wpa_supplicant.conf
однократное редактирование файла (вручную добавление вашей сети ad-hoc Wifi).
Я должен сказать, правда? Используйте Wi-Fi роутер. Есть даже несколько небольших «маршрутизаторов для путешествий» менее чем за 50 долларов США. А затем подключите свой телефон, как вы используете для подключения к другим сетям Wi-Fi...
Я знаю, что это еще более поздний ответ, но об этом стоит упомянуть.
Укоренение не требуется!
Установка приложения не требуется!* Это даже невозможно, если у вас нет другого подключения к Интернету.
Есть проект gnirehtet .
Вот и все! Для получения дополнительной информации прочитайте файл readme gnirehtet на их веб-сайте.
*=За кулисами он установит файл apk на ваше устройство через USB-соединение.
Привет! для этого есть приложение
Переадресация USB-портов Android
http://www.codeproject.com/kb/android/usbportforwarding.aspx
Я немного смущен, как его использовать, пожалуйста, сообщите, если у вас все работает отлично.
Я нашел хороший инструмент для обратного подключения на форуме xda-developers. Это называется Android Reverse Tethering . Он работает с Windows и требует рутированного телефона.
Он отлично работает на моем HTC Desire HD с MIUI v4.
Шаги обратной привязки Android:
Примечание. Работает только на рутированном телефоне Android.
Включите USB-модем. Для этого перейдите в «Настройки» → «Дополнительно…» → «Модем и мобильная точка доступа» → «Модем через USB» .
На хост-компьютере сетевым менеджером может быть обнаружено USB-модемное соединение.
Его название будет что-то вроде «Проводное соединение 2» (или 3).
Вы должны отредактировать его «IPV4/Метод» на «Общий доступ к другим компьютерам».
3.1. Без сетевого менеджера вам придется делать это вручную:
$ sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0
$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Теперь, как объяснялось здесь в конце Шага 1 , вам нужно изменить iptables
с помощью sudo iptables -t nat -A POSTROUTING -j MASQUERADE
. Но... предпочтительнее разрешить сетевому менеджеру сделать это, если это возможно.
На устройстве Android вы можете выполнять эти команды с помощью терминала su
или с вашего хост-компьютера с помощью ADB:
$ adb shell su -c "netcfg rndis0 dhcp"
Если он не получает IP-адрес или если вы используете какое-либо приложение, для которого желателен статический IP-адрес, например приложение «Webkey для Android», назначьте его вручную:
$ adb shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
$ adb shell su -c "route add default gw 10.42.0.1 dev rndis0"
Теперь интернет будет работать в телефоне Android.
Чтобы проверить, на adb shell
терминале Android или Android, попробуйте команду ping www.google.com
.
Меня устраивает.
no such action '10.42.0.2' usage: netcfg [<interface> {dhcp|up|down}]
ifconfig rndis0 10.42.0.2 netmask 255.255.255.0
, кстати, чтобы увидеть все интерфейсы в netcfg
одиночку. подобные инструкции подробно описаны здесьЯ знаю, что это поздний ответ, но, поскольку все существующие ответы предполагают, что обратная привязка USB возможна только в том случае, если ваше устройство рутировано или имеет системную поддержку обратной привязки, я думаю, что стоит указать, что есть еще один вариант:
Я искал решение для обратного модема, которое работало бы на моих устройствах без рута и на MacBook, но ничего не нашел. В конце концов, я начал разрабатывать собственное решение. В результате получилось приложение, которое работает на устройствах под управлением Android 4.0 или выше на стороне клиента и на всех основных настольных операционных системах на стороне хоста.
Приложение доступно в Google Play: ReverseTethering NoRoot
эндолит
когти