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
Parabéns a todos que estão nessa luta …
Parabéns!!!
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!!!
Vamos espelhar o site antes que os Copyright Nazis o mandem para DRM-Auschwitz…
Só não entendi muito a licença…
De que modo esse módulo pode ser associado à Volkswagen??? :-)
Outra coisa, Diego, eu sugiro “GPLv2 or any later version”.
Por último:
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.
André Caldas, Você nunca tinha visto licença BSD antes na vida? O_o
Ah, e licença BSD é compatível com GPL sim. Tem muito módulo BSD no kernel.
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.
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.
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!
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
@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.
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.
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.
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?
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.
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.
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.
@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.
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
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?
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.
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/