Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Conectando ao Linux: Driver para Ethernet USB do iPhone 3G e 3GS

Enviado por Diego Giagio (diegoΘgiagio·com):

“Olá BR-Linux, é com prazer que gostaria de divulgar a primeira versão do driver para Linux da Ethernet USB do iPhone modelos 3G e 3GS. Esse driver permite a realizar o chamado ‘tethering’ no Linux pelos cabos USB, antes possível apenas no Windows e Mac com drivers proprietários da Apple.

O driver foi criado a partir da engenharia reversa do protocolo de comunicação dos drivers USB da Apple no Windows e encontra-se totalmente funcional, não havendo bugs conhecidos até o momento. E o melhor: feito inteiramente por um brasileiro. Por favor, fiquem a vontade pra usar, estudar, e se possível, ajudar. Obrigado a todos.” [referência: giagio.com]


• Publicado por Augusto Campos em 2009-09-08

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Ioca100 (usuário não registrado) em 8/09/2009 às 10:32 am

    Parabéns a todos que estão nessa luta …

    Edinho (usuário não registrado) em 8/09/2009 às 10:36 am

    Parabéns!!!

    Leonardo (usuário não registrado) em 8/09/2009 às 10:46 am

    Não tenho iPhone, mas sim um smartphone da Nokia que funciona perfeitamente em qualquer distro Linux recente, mas acho ótimo que pessoas se envolvam em trabalhos desse tipo, que beneficiarão muitas outras pessoas. Meus parabéns e mantenha o bom trabalho!!!

    JCCyC (usuário não registrado) em 8/09/2009 às 12:14 pm

    Vamos espelhar o site antes que os Copyright Nazis o mandem para DRM-Auschwitz…

    André Caldas (usuário não registrado) em 8/09/2009 às 12:38 pm

    Só não entendi muito a licença…

    3. Neither the name of Volkswagen nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    De que modo esse módulo pode ser associado à Volkswagen??? :-)

    Outra coisa, Diego, eu sugiro “GPLv2 or any later version”.

    Por último:

    The provided data structures and external interfaces from this code are not restricted to be used by modules with a GPL compatible license.

    Achei isso aqui meio ambíguo… quer dizer que mesmo módulos não compatíveis com a GPL podem ser “linkados” com as “external interfaces”?

    Minha opinião, é que depois que o Kernel cresceu, existe uma tendência em se querer permitir módulos proprietários. Esquecemos que se os módulos proprietários fossem permitidos desde o começo, provavelmente não teríamos tantos módulos livres como temos hoje! Acho muita falta de consciência por parte dos desenvolvedores do Kernel permitir esse tipo de coisa em detrimento de outros projetos que ainda não estão tão solidificados como o Kernel está.

    Acho que é, mesmo que inconscientemente, um pouco de ganância abrir mão do “copyleft” simplesmente para ter uma “suposta” maior aceitação dentro do meio “proprietário”. Minha sugestão é que no mínimo você permita que essa permissão seja removida. É esse tipo de coisa que permite que a NVidia faça drivers proprietários. É uma tendência que a longo prazo é prejudicial à liberdade proporcionada pelo software livre.

    No mais, parabéns pela contribuição, Diego!!! =)

    Um abraço,
    André Caldas.

    eita (usuário não registrado) em 8/09/2009 às 1:51 pm

    André Caldas, Você nunca tinha visto licença BSD antes na vida? O_o

    eita (usuário não registrado) em 8/09/2009 às 1:51 pm

    Ah, e licença BSD é compatível com GPL sim. Tem muito módulo BSD no kernel.

    eita (usuário não registrado) em 8/09/2009 às 1:58 pm

    Por fim, parabéns ao Diego, e um muito obrigado por utilizar a licença BSD, assim outros SOs livres além do Linux poderão se beneficiar do código. Continue o bom trabalho e não dê ouvidos aos fanáticos por GPL.

    Diego Giagio (usuário não registrado) em 8/09/2009 às 4:35 pm

    Olá pessoal, obrigado pelo apoio. Só pra esclarecer: a licença é dupla BSD/GPL, ou seja, pode-se optar por uma ou outra. Existem diversos drivers na árvore do kernel do Linux sob esta licença. Optei por esse modelo pois também desenvolvo para o FreeBSD e num futuro próximo gostaria de portar o driver pra este sistema operacional.

    Um abraço.

    Anderson Machado (usuário não registrado) em 8/09/2009 às 5:25 pm

    Parabéns pelo projeto, tenho certeza que será muito útil, apesar de eu não poder desfrutar dele (o meu é um 2G Classic) achei uma ótima iniciativa!

    h4d3s (usuário não registrado) em 8/09/2009 às 5:29 pm

    O script python ipheth-pair.py não está conseguindo fazer o Import da libiphone.IPhone no Ubuntu 9.04 nem no 9.10 Alpha

    Traceback (most recent call last):
    File “./ipheth-pair.py”, line 3, in
    from libiphone.Iphone import *
    ImportError: Mo module named libiphone.Iphone

    André Caldas (usuário não registrado) em 8/09/2009 às 7:23 pm

    @eita,

    Colega, você me subestimou muito. =P
    Sugiro que você releia o meu post e tente entendê-lo. Se não gosta da GPL, basta ignorar o final do post.

    Qualquer um que suporta a GPL é um fanático por GPL? Deixa de ser retardado por BSD!! =P

    Claro que que se você acha justo me chamar de fanático por GPL vai concordar que você, seguindo a mesma lógica, é um retardado por BSD.

    @Diego,

    Minha sugestão de incluir um “any later” continua de pé.

    André Caldas.

    Diego Giagio (usuário não registrado) em 8/09/2009 às 7:25 pm

    Olá h4d3s, não esqueça de instalar os pacotes descritos na página do driver localizados na seçao ‘What you need’. O driver funciona muito bem em ambas versões do Ubuntu.

    Abraços.

    Diego Giagio (usuário não registrado) em 8/09/2009 às 7:42 pm

    Olá André, eu agradeço a sua sugestão, mas entendo que usando a GPLv2 estarei alinhado com as estratégias de licenciamento atuais do próprio kernel do Linux.

    Abraços.

    h4d3s (usuário não registrado) em 8/09/2009 às 7:54 pm

    Olá Diego, todas as dependências descritas foram instaladas.

    Instalado

    - linux-source
    - ifuse (0.9.2-1ubuntu1~i)
    – libusbmux0
    – libplist0
    – libiphone0

    Mais alguma dependência direta?

    Diego Giagio (usuário não registrado) em 8/09/2009 às 9:49 pm

    h4d3s, está faltando o pacote python-iphone que está descrito na página. Vou grifá-lo no texto para ficar mais fácil pras pessoas visualizarem.

    Abraços.

    André Caldas. (usuário não registrado) em 9/09/2009 às 1:32 am

    Olá André, eu agradeço a sua sugestão, mas entendo que usando a GPLv2 estarei alinhado com as estratégias de licenciamento atuais do próprio kernel do Linux.

    Com “any later” também! (referência)

    Agora, uma dúvida, quem souber responder, eu agradeço. Assim como é possível redistribuir um programa licenciado sob a BSD utilizando uma licença que o torna proprietário, é possível, sem perguntar ao autor, simplesmente redistribuí-lo sob a GPLv3, por exemplo? Se for este o caso, então a licença dupla é redundante, não?

    André Caldas.

    André Caldas. (usuário não registrado) em 9/09/2009 às 1:50 am

    O que me incomoda da permissão para fazer “link” com módulos proprietários é o seguinte senário:

    Alguém produz o programa A e o licencia sob a GPLv2. Alguém faz uma ligação de A com B, que é licenciado sob a GPLv2 mas que permite ligação com um terceiro código C que é proprietário.

    * Se entendermos que A está ligado com “BC”, então temos que “BC” viola a licença de A.
    * Se entendermos que A não está ligado a C, então está tudo OK.

    A coisa se complica quando o autor de B e C são os mesmos. Assim, é possível ligar praticamente qualquer coisa proprietária a A, basta escrever um monte de “stubs” B para evitar a ligação direta com A. É isso o que a nVidia faz. A nVidia faz módulos GPL cujo único papel é permitir a ligação com outros módulos proprietários.

    Claro que tudo isso é o que eu acho. Não parece haver um consenso sobre o assunto. Mas a permissão para fazer link com módulo proprietário apenas abre espaço para que se aceite/viabilize o ato da nVidia. Se não existe um bom motivo, não vejo porque fazê-lo.

    — FORA DO TÓPICO —
    Alguém sabe como se converte um sistema Debian GNU/Linux em Debian GNU/FreeBSD? Tem como fazer sem ter que mudar de “arquitetura”?

    André Caldas.

    André Caldas. (usuário não registrado) em 9/09/2009 às 2:01 am

    @Diego,

    Desculpe aí, colega, eu sou chato, mesmo. É que apontar problemas e ficar resmungando é sempre mais fácil que botar a mão na massa ou elogiar. Nem precisa responder nada, não. :-)

    Obrigado pelo trabalho. Espero ter ajudado mais do que atrapalhado. =o)

    Um abraço,
    André Caldas.

    h4d3s (usuário não registrado) em 9/09/2009 às 9:14 am

    Desculpe Diego, havia esquecido esse pacote, porem já o havia instalado. Mesmo com todos os pacotes acima citados instalados e o iphone conectado a maquina o erro persiste quando executamos o script de pair. Aparentemente ele não localiza a libiphone, porem não entendo nada de python.

    Traceback (most recent call last):
    File “./ipheth-pair.py”, line 3, in
    from libiphone.iPhone import *
    ImportError: No module named libiphone.iPhone

    h4d3s (usuário não registrado) em 9/09/2009 às 12:17 pm

    Novamente eu.
    Hoje com calma refiz os passos. O problema ocorre com o Ubuntu pois ele utiliza o python 2.6 por padrão e a dependencia da lib python-iphone são do python 2.5.

    Consegui rodar o script utilizando o comando:
    python2.5 ipheth-pair.py

    Porem, o script retorna erro:
    ~/ipheth/ipheth-pair$ python2.5 ipheth-pair.py
    ValidatePair: Failure

    Com que firmware o script foi testado? Jailbroked?

    Diego Giagio (usuário não registrado) em 10/09/2009 às 12:24 pm

    Olá h4d3s e diversos outros que enviaram feedback: o programa que faz pairing com o iPhone foi ajustado para usar certificados digitais criados dinamicamente, e com isso está muito melhor e funcional agora.

    Sugiro que visitem a página novamente, revejam as instruções e feliz tethering!

    Abraços.

    h4d3s (usuário não registrado) em 11/09/2009 às 8:34 am

    Diego e demais amigos. Para quem está tendo dificuldades (como eu e alguns amigos) para fazer o driver funcionar no Ubuntu, fiz um passo a passo de como usar o driver. Graças a ajuda do nosso amigo Diego, estou usadno ao maximo agora minha conexão ilimitada :-)

    http://blog.netadviser.com.br/2009/tethering-do-iphone-no-ubuntu-pela-usb/

Este post é antigo (2009-09-08) e foi arquivado. O envio de novos comentários a este post já expirou.