Como compartilhar uma conexão de Internet com fio com um telefone Android (conexão reversa)?


26

Estou tentando compartilhar minha conexão de Internet com fio com meu telefone Android. No entanto, não consegui fazer isso. Alguém já conseguiu? Os sistemas operacionais que eu uso são os seguintes:

  • Ubuntu 10.10
  • Android 2.3

1
Eu venho tentando encontrar uma solução há algum tempo para isso e tentei várias coisas, sem sucesso. Eu acho que a melhor opção seria criar uma rede sem fio no Ubuntu que não seja uma rede wifi Adhoc (porque o Android não detecta essas conexões). Existem instruções sobre como fazer isso por aí, mas eu as acho muito complicadas ou elas simplesmente não funcionam. Portanto, um passo-a-passo sobre como fazer isso seria bem-vindo.
Geoffrey

É provável que você precise especificar o nome da rede no seu dispositivo Android.
Jo-Erlend Schinstad 25/10

Ainda não há resposta satisfatória após o período de recompensa, então suponho que a resposta a esta pergunta seja: é realmente difícil! Atribuí a recompensa à resposta mais votada, uma resposta útil, mesmo que não seja a solução que eu estava procurando.
Geoffrey

@ Jo-ErlendSchinstad Obrigado, eu tentei isso, mas isso não ajuda.
Geoffrey #

Respostas:


10

Sim, é possível. Tenho o Ubuntu 11.04, NetworkManager 0.8.4, telefone Android Nexus One executando o Cyanogenmod 7.

Conforme descrito por Roman, clique com o botão direito do mouse no ícone do NetworkManager e escolha "Criar nova rede sem fio". Eu escolhi deixar a conexão aberta (sem WPA, sem WEP). Meu telefone conseguiu ver a rede imediatamente e eu me conectei sem problemas. A ponte foi feita automaticamente para que eu pudesse navegar na Internet sem configurar nada extra.

A razão pela qual você está tendo problemas com o método acima é porque o Android 2.3 não suporta redes ad-hoc. Para ser mais preciso, o wpa_supplicant do Android não mostra redes ad-hoc. Existem várias maneiras de corrigir isso. Pesquise e navegue nos fóruns xda-developers. Provavelmente, você precisará invadir seu telefone além do escopo desta resposta.

Minha recomendação pessoal: se o seu telefone suportar o Cyanogenmod, você poderá instalá-lo para obter suporte ad-hoc e outras delícias hackish. Você precisará fazer o root do telefone, o que pode ou não ser do seu gosto.

Outra alternativa é tentar o "modo Infra-estrutura". Após configurar a rede sem fio ad-hoc, conforme descrito acima, clique no ícone NetworkManager, escolha "Editar conexões". Clique na guia sem fio e edite a rede ad-hoc que você acabou de criar. Em Modo, escolha "Infraestrutura". Não tenho certeza se isso funcionará para você, pois não tenho um telefone Android padrão para testar. Meu pensamento é se o modo ad-hoc é o problema, então o outro modo pode ser a solução.

Boa sorte!


Obrigado! Bem, eu entendo que o enraizamento de um Wildfire S não é tão simples, então isso não funcionará para mim. O 'modo de infraestrutura' parece interessante, mas até agora não consegui fazê-lo funcionar - ele simplesmente não se conecta. Vou tentar pesquisando em torno de soluções para esse problema ...
Geoffrey

3

Antes de tudo, como todos sabemos que a ROM de estoque do Android, ou seja, a que acompanha o telefone não suporta o modo ad-hoc (surpreendentemente), e mesmo o Ice-Cream Sandwich (Android 4.0) não suporta o modo ad-hoc.

Portanto, precisamos criar um ponto de acesso usando o Ubuntu ao qual qualquer telefone Android possa se conectar facilmente. No Windows, você pode usar o Connectify para fazer isso e funciona perfeitamente bem, mas com o Ubuntu você pode ter alguns problemas, dependendo de sua placa wifi suportar o modo de ponto de acesso (modo mestre) ou não.

Agora, mesmo que sua placa wifi suporte o modo de ponto de acesso, o próximo problema é se o driver da placa wifi suporta ou não o modo AP; caso isso aconteça, o problema será resolvido e, caso contrário, você terá três opções:

  1. Aguarde até o driver receber uma atualização para o modo AP. (muitos drivers de placa wifi ainda estão em estágio)

  2. Compre um dongle wifi e verifique se ele suporta o modo AP no ubuntu.

  3. Use o Windows, onde o Connectify fará o trabalho para você.

Se você estiver interessado, pode postar o nome do driver da sua placa wifi para que eu possa ajudá-lo. Use este comando:

lshw -c network

A solução de trabalho, siga este link: superuser.com/questions/407371/...
Adnan Kamili

3

Encontrei uma solução que funcionava para compartilhar minha conexão com a Internet com meu telefone via tethering reverso USB, mas meu laptop usa uma conexão sem fio para isso:

Internet -> Sem fio -> Laptop -> Cabo USB -> Telefone Android

Portanto, se isso for possível para você, ou se você tiver uma segunda placa Ethernet para o seu PC, consulte o aplicativo 'Reverse Tether Trial' na loja de jogos.

  1. Conecte seu PC à Internet como de costume
  2. Conecte seu telefone Android via USB ao seu PC
  3. Ative a conexão USB nas configurações do Android
  4. Crie uma nova conexão com fio no gerenciador de rede Ubuntus, conforme descrito aqui
  5. Inicie o Tether reverso e siga as instruções
  6. Navegue no seu telefone :)

2

Por favor, verifique este link e me diga se é mais ou menos o que você está procurando.
https://help.ubuntu.com/community/WifiDocs/WirelessAccessPoint

Se parecer que é (ou está próximo) do que você está procurando, avise-me.
Estou interessado em fazer isso sozinho, apenas com a ligeira modificação de direcionar o tráfego através do ppp0. Qual é uma conexão amarrada.
Talvez possamos ajustar essas instruções para fazer o que precisamos.

Edit: Parece que funcionaria melhor em uma máquina dedicada (essencialmente tornando-o um roteador). Ainda estou examinando as configurações, mas isso pode causar alguns problemas em um laptop que você usaria sem fio para conectar-se a vários locais.
Além disso, parece haver algumas etapas envolvendo uma máquina Windows que talvez possamos renunciar.

Você também vai querer ver isso. https://help.ubuntu.com/community/WifiDocs/MasterMode


Além disso, tentei configurar o wireless através do Network Manager (como sugerido pelo RocketScientist) sem nenhum sucesso real. Isso não significa que não pode funcionar, apenas que não funcionou para mim. Talvez haja outra variável que eu não tenha que ele possui. bridge-utils, por exemplo.
Argusvision 27/10

obrigado, isso parece interessante (embora bastante complicado). Infelizmente, não tenho tempo para investigar antes do domingo, mas por favor relate qualquer sucesso com isso.
Geoffrey

Espero ter a chance de brincar com isso. Alguma chance de você estender a recompensa para segunda-feira de manhã para que eu possa trabalhar neste fim de semana?
Argusvision

desculpe, mas eu não acho que eu tenho o poder de estender a generosidade ...
Geoffrey

... mas há um período de "graça" de 24 horas após o final da recompensa, para que você tenha outro dia
geoffrey

2

Uma solução funcional para mim com o cabo USB no Kubuntu 15.10 e o Android 4.2.2 em um Samsung S3 mini estava seguindo

Exigências

Android

  1. aplicativo busybox instalado
  2. Cabo USB para o seu computador
  3. Depuração USB ativada no seu dispositivo Android (para poder usar no seu PC)

Computador

  1. No seu / etc / network / interfaces, você precisa ter essas duas linhas, caso contrário, você receberá um no such deviceerro

    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-> Vinculação e hotspot portátil-> Vinculação USB, isso criará uma conexão USB ao seu computador que você pode ver com o ifconfigcomando no seu computador. Veja @ o nome da interface que, para mim, enxf6759e7fbebddesta 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.0onde enxf6759e7fbebd é a interface que você obteve na etapa anterior.

  3. Ativar aviso de IP 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. então já tendo sua conexão você pode conferir com o busybox ifconfig -acomando

    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 uma rota padrão ao endereço de rede do seu computador com o qual você fixou o ponto 2 busybox route add default gw 192.168.42.135 dev rndis0e é isso (você pode verificar suas rotas com o busybox routecomando)


1

Supondo que você também tenha uma placa sem fio no seu computador: No Network Manager, clique no menu e em 'Criar nova rede sem fio ...'. Mais tarde, você veria a rede no seu Android.


1

Você pode criar uma rede sem fio no menu wifi do seu computador. Clique com o botão direito do mouse no ícone wifi na barra de tarefas e clique em criar nova rede. Preencha as opções e conecte-se a ele no seu telefone. Verifique se o computador também está conectado ao cabo de rede com fio. O cabo deve ser conectado automaticamente à rede sem fio do meu entendimento, e tudo deve funcionar bem.


Obrigado pela resposta. Depois de criar uma nova rede sem fio, não consigo mais vê-la no meu telefone. O que eu fiz errado?
Erdem 16/10

Isso é muito estranho. Tem certeza de que o seu computador possui uma placa wifi?
Roman

2
O Android não detecta o tipo 'adhoc' de rede sem fio criada pelo gerenciador de rede, portanto, isso não funciona.
Geoffrey

0

Isso funciona para mim

  • Ubuntu 12.04
  • Android 4.0.4

Instale o hostapd

sudo apt-get install hostapd

Em palavras simples, o hostapd permite criar pontos de acesso wifi por software, permitindo uma quantidade razoável de opções de configuração. No restante deste post, mostrarei como criar um ponto de acesso de software no Linux usando o hostapd e compartilhar sua Internet com os dispositivos através dele

Após instalar o hostapd, instale o servidor dhcp

sudo apt-get install dhcp3-server hostapd

Em seguida, abra um programa de edição de texto, por exemplo geditCopie o seguinte para ele.

interface=wlan0
driver=nl80211
ssid=YOUR_SSID_NAME
hw_mode=g
channel=11
wpa=1
wpa_passphrase=YOUR_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_ptk_rekey=600

Altere para preencher o nome da sua rede depois ssid=e a senha depois wpa_passphrase=.

salve o arquivo como hostapd.confna sua pasta pessoal

Crie um novo wireless ad-hoc e conecte-o.

Agora, abra o terminal e digite:

sudo hostapd hostapd.conf

Ligue o telefone wifi e encontre o seu ssid.

Fonte AQUI


Isso me aproxima muito, mas o telefone está preso tentando obter um endereço IP.
DavidG
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.