Tethering USB do Ubuntu para Android via USB [duplicado]

0

Eu tenho um sistema Ubuntu 12.10 no meu PC e um sistema Android 4.1 no meu Galaxy Nexus. Agora eu gostaria de compartilhar a conexão com a Internet do meu PC via USB com o meu telefone. Tenho pesquisado muito com o Google, mas só encontrei respostas sobre como você pode compartilhar a conexão à Internet do telefone com o PC, mas quero o contrário.

    
por flameNugget 23.01.2013 / 14:07

3 respostas

0

Isso não é possível. Mas se você tiver um Android enraizado, existe um truque, chamado tethering USB reverso . Confira este artigo , o autor fez isso no Fedora , mas eu acho que não deve haver problemas em conseguir o mesmo no Ubuntu.

    
por Andrejs Cainikovs 27.03.2013 / 13:04
0

Uma solução de trabalho para mim no Kubuntu 15.10 & amp; Android 4.2.2 estava seguindo

Requisitos

Android

  1. aplicativo busybox instalado
  2. cabo USB para o seu computador
  3. Depuração USB ativada no seu dispositivo Android (para poder adb do seu pc)

Computador

  1. Em suas interfaces / etc / network /, você precisa ter essas duas linhas. Caso contrário, você receberá um no such device error

    allow-hotplug usb0
    auto usb0
    
  2. adb instalado ( apt-get install android-tools-adb )

Conexão

  1. No seu android, ative a opção Configurações- > Conexões- > Conexões de rede & > Tethering e ponto de acesso portátil > USB tethering, isso criará uma conexão USB com seu computador que você pode ver com ifconfig comando no seu computador. Olhe @ o nome da interface que, para mim, é enxf6759e7fbebd desta vez.

    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. Atribua um endereço IP ao seu computador nesta interface de rede com o seguinte comando sudo ifconfig enxf6759e7fbebd 192.168.42.135 netmask 255.255.255.0 em que enxf6759e7fbebd é a interface que você obteve na etapa anterior.

  3. Ativar o IP forwaring com

    sudo -- sh -c  'echo 1 > /proc/sys/net/ipv4/ip_forward'
    
  4. Ative o nat no seu computador com

    sudo iptables -t nat -F
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    
  5. No seu computador, conecte-se ao seu dispositivo Android com

    adb shell
    su
    
  6. em seguida, já tendo sua conexão, você pode verificar com o comando 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)
    

você pode adicionar a rota padrão ao endereço de rede do seu computador que você fixou no ponto 2 com busybox route add default gw 192.168.42.135 dev rndis0 e pronto (você pode verificar suas rotas com o comando busybox route )

Script

Eu fiz um script que corri depois de ativar a opção USB Tethering (ponto 1 acima) que faz o trabalho para mim

#!/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'"
    
por Philippe Gachoud 18.01.2016 / 10:30
0

Encontrei uma ótima ferramenta link . É bastante simples de usar e não requer permissões de root no seu telefone.

Eu testei o SimpleRT usando o Sony Z3 Compact e o Ubuntu 16.10 instalado no laptop.

Os passos são os seguintes:

  1. Instale o APK fornecido no SimpleRT
  2. Clone SimpleRT Git repo, ou simplesmente escolha "Download ZIP"
  3. Encontre sua interface de Internet ativa usando o terminal:
    route | grep '^default' | grep -o '[^ ]*$'
    
  4. Substitua no valor de LOCAL_INTERFACE simple-rt-cli / iface_up.sh do comando acima.
  5. Digite "make" no diretório simple-rt-cli.
  6. Executar terminal como root e iniciar o CLI:
    ./simple-rt
    
  7. Conecte seu telefone usando o cabo USB

Problemas (retirados da página oficial): Alguns aplicativos não reconhecem a conexão à Internet com acesso reverso devido à política do ConnectivityManager. Basta deixar a conexão WiFi ou 3G ativa, a conexão passará pelo SimpleRT mesmo assim.

    
por Mykola Driuchatyi 20.02.2017 / 19:53