USB-модем с Ubuntu на Android через USB [дубликат]

У меня есть система Ubuntu 12.10 на моем ПК и система Android 4.1 на моем Galaxy Nexus. Теперь я хотел бы совместно использовать Интернет-соединение моего ПК через USB с моим телефоном. Я много искал в Google, но я нашел ответы только на то, как вы можете поделиться Интернет-соединением телефона с ПК, но я хочу, чтобы это было наоборот.

0
задан 24 January 2016 в 18:19

3 ответа

Это невозможно. Но если у вас рутованный Android, есть хитрость, которая называется Reverse USB-модем . Прочтите эту статью , автор сделал это на Fedora, но я думаю, не должно быть проблем с достижением того же на Ubuntu.

0
ответ дан 24 January 2016 в 18:19

Я нашел отличный инструмент https://github.com/vvviperrr/SimpleRT . Он довольно прост в использовании и не требует прав root на вашем телефоне.

Я тестировал SimpleRT, используя Sony Z3 Compact и Ubuntu 16.10, установленные на ноутбуке.

Шаги следующие:

  1. Установите APK, предоставляемый на SimpleRT
  2. Клонируйте SimpleRT Git-репо, или просто выберите «Загрузить ZIP»
  3. Найдите свой активный Интернет интерфейс с использованием терминала:
    route | grep '^default' | grep -o '[^ ]* 
  4. Заменить на значение simple-rt-cli / iface_up.sh LOCAL_INTERFACE из приведенной выше команды.
  5. Введите "make" в каталоге simple-rt-cli.
  6. Запустите терминал от имени пользователя root и запустите CLI:
    ./simple-rt
    
  7. Подключите телефон с помощью кабеля USB

Проблемы (взяты с официальной страницы): некоторые приложения не распознают Обратное подключение к Интернету из-за политики ConnectivityManager. Просто оставьте соединение Wi-Fi или 3G активным, в любом случае соединение будет проходить через SimpleRT.

  • Заменить на значение simple-rt-cli / iface_up.sh LOCAL_INTERFACE из приведенной выше команды.
  • Введите "make" в каталоге simple-rt-cli.
  • Запустите терминал от имени пользователя root и запустите CLI:
    ./simple-rt
    
  • Подключите телефон с помощью кабеля USB
  • Проблемы (взяты с официальной страницы): некоторые приложения не распознают Обратное подключение к Интернету из-за политики ConnectivityManager. Просто оставьте соединение Wi-Fi или 3G активным, в любом случае соединение будет проходить через SimpleRT.

    0
    ответ дан 24 January 2016 в 18:19

    Рабочее решение для меня на Kubuntu 15.10 & amp; Android 4.2.2 выполнял

    Требования

    Android

    1. Установлено приложение busybox
    2. USB-кабель к компьютеру
    3. USB Отладка включена на вашем устройстве Android (чтобы иметь возможность adb с вашего компьютера)

    Компьютер

    1. В ваших / etc / network / interfaces вы должны иметь в противном случае вы получите ошибку no such device

      allow-hotplug usb0
      auto usb0
      
    2. adb Установлено (apt-get install android-tools-adb)

    Соединение

    1. На вашем Android, включите опцию Настройки-> Подключения-> Сетевые подключения-> Модем и точка доступа-> USB-модем, это создаст USB-соединение с вашим компьютером, которое вы можете увидеть с помощью ifconfig команда на вашем компьютере. Посмотрите @ имя интерфейса, которое для меня на этот раз enxf6759e7fbebd.

      enxf6759e7fbebd Link encap:Ethernet  HWaddr a2:61:3c:83:1c:38  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:464 (464.0 B)  TX bytes:0 (0.0 B)
      
      eth0      Link encap:Ethernet  HWaddr 50:e5:49:47:f4:fd  
          inet addr:192.168.178.20  Bcast:192.168.178.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:40894966 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86312833 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20969506400 (20.9 GB)  TX bytes:120329513606 (120.3 GB)
      
      lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:30521 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30521 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:10868749 (10.8 MB)  TX bytes:10868749 (10.8 MB)
      
    2. Назначьте IP-адрес вашему компьютеру на этом сетевом интерфейсе с помощью следующей команды sudo ifconfig enxf6759e7fbebd 192.168.42.135 netmask 255.255.255.0, где enxf6759e7fbebd - это интерфейс, полученный на предыдущем шаге.

    3. Включить IP-пересылку с помощью

      sudo -- sh -c  'echo 1 > /proc/sys/net/ipv4/ip_forward'
      
    4. Включить nat на вашем компьютере с помощью

      sudo iptables -t nat -F
      sudo iptables -t nat -A POSTROUTING -j MASQUERADE
      
    5. На вашем компьютере подключиться на ваше устройство Android с

      adb shell
      su
      
    6. , а затем уже имея ваше соединение, вы можете проверить с помощью команды busybox ifconfig -a

      rndis0    Link encap:Ethernet  HWaddr FA:08:D6:1A:35:90  
          inet addr:192.168.42.129  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::f808:d6ff:fe1a:3590/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:564 (564.0 B)
      

    вы можете добавьте маршрут по умолчанию к сетевому адресу вашего компьютера, который вы зафиксировали в пункте 2 с помощью busybox route add default gw 192.168.42.135 dev rndis0 и все (вы можете проверить свои маршруты с помощью команды busybox route)

    Script

    Я сделал скрипт, который Я запускаю после включения опции USB Tethering (пункт 1 выше), которая работает для меня

    #!/bin/bash
    interfaceName=$(ifconfig|grep enx|awk '{print $1}') #Getting interface name
    sudo ifconfig $interfaceName 192.168.42.135 netmask 255.255.255.0 # setting Computer IP Address
    sudo -- sh -c  'echo 1 > /proc/sys/net/ipv4/ip_forward' # Enabling IP Forwarding 
    sudo iptables -t nat -F
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    adb shell "su -c 'busybox route add default gw 192.168.42.135 dev rndis0'"
    
    0
    ответ дан 24 January 2016 в 18:19

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

    Похожие вопросы: