2011-05-25

Usando a rede do PC Linux via USB no Android (ATRIX)

Bom vamos lá então... rede do cel para o PC por USB ...

Como Eu falei na lista Android-Brasil, para fazer o inverso do tether, e acessar a internet via USB/PC e que o tether deveria funcionar em mão dupla aqui vai um guia rápido, para celulares rootados, testei no meu ATRIX:

Após conectar o celular pela USB, deixe o modo de conexão da USB em nenhum!

1- Baixe e instale o programa http://code.google.com/p/android-wired-tether/ (versão mais nova que tiver lá!)

2- Instale o programa Android Terminal Emulator e o Busybox pelo Market

3- Desligue o WIFI e a Conexão de dados do Celular, assim não vai tentar gastar seu pacote 3G, nem usar o wifi ...

4- No PC! Habilite o roteamento de pacotes no PC (Ubuntu LINUX), precisa de acesso root no PC também (pode usar sudo, os comando abaixo estão sem o sudo, suponho ainda que a rede de saída para internet em seu PC é eth0):

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

5 - Abra o programa WIRED-TETHER

6 - No programa wired-tether ative o tether via USB.... ainda não vai funcionar

7- No PC, aguarde uns segundos até que o PC (Ubuntu LINUX) conecte e digite o comando:

ifconfig usb0

Anote o endereço IP da rede em USB0 aqui é: 172.20.23.253

Se a rede em usb0 não estiver com endereço IP ative-a com (use sudo, se não estiver como root):
dhclient usb0

rode o ifconfig usb0, novamente e anote o IP

7 - Abra o Android Terminal Emulator, (pode ser feito pelo adb shell)
su -
ifconfig usb0

Verifique se há IP e se está na mesma faixa do IP anotado no PC

No celular adicione o PC como roteador para seu celular:

route add default gw IP_ANOTADO

Aqui ficou assim:
route add default gw 172.20.23.253

8- Ainda no celular, é só configurar um DNS ou não encontra os servidores e não navega ...
setprop net.dns1 8.8.8.8
echo "nameserver 8.8.8.8" > /etc/resolv.conf

Testei aqui e funcionou, isso ai é mais ou menos o mesmo que Eu fazia no PalmOS lá no Palm m130... 
Me bati no pondo do DNS pois nem sabia desse comando setprop do Android... 

P.S. Meu ATRIX só tá rootado e esta com ROM retail, não tem mais nada de especial e não instalei nenhum modulo no kernel nem nada... 

Cabo USB OTG (host mode) para ATRIX, Fácil? - DIY!

Aqui vamos, na verdade quem tem um ATRIX já deve possuir uma base que faz isso, mas o legal é fazer na unha (DIY).

Diferente do Xoom o ATRIX precisa de energia no pino 1 do cabo USB OTG, reparem no fio branco ele fornece energia da fonte para o pino 1 da USB.


ALERTA:  Verifique se a fonte do seu USB hub é regulada, ou irá queimar o seu aparelho!


OBS: Para verificar isso use um multimetro, se a medição for por volta de 5V pode usar, se for 7V ou mais é fria, compre outra fonte, ou localize o regulador de tensão para 5V na PCB do USB hub.



Adaptador fêmea-fêmea, mesma coisa, como ainda não chegou meu cabo microUSB para USB A fêmea... preciso deste adaptador. :-P

Pen Kingston 16GB detectado!

Resultado dos comandos "lsusb" e "uname -a", precisa do Busybox, (É isso mesmo BASH no ATRIX e com Advanced Shell do Gentoo/Linux!)

Bagulheira ligada ao USB hub, modificado, reparem nos leds do hub, significa dispositivos detectados.

A bagulheira ai funciona nos mesmo moldes das bases do Atrix, o USB hub modificado continua a funcionar no Xoom, mesmo porque há hubs que fornecem energia sem precisar da ponte lá...

Pronto, agora o próximo passo é ligar uma placa PIC32 (Pinguino32X) ao ATRIX e XOOM! ;-)

2011-05-24

Cabo USB OTG (host mode) para Xoom, Fácil! - DIY!

Eis um passo a passo de como construir um cabos USB OTG (host mode).
OBS: Requer Android 3.1 HoneyComb!
1- Desmonte um cabo micro USB, usei um da Nokia que tinha aqui... usei um estilete para remover a borracha do cabo e abrir a proteção metálica.


 2- Solde os pinos 4 e 5, conforme pinagem na figura 3, mais a frente... pouco espaço? é difícil mesmo... tem de ser só um pingo de solda, clique na foto para um visão melhorada.

 3- Pinos USB os cabo micro USB que têm por ai e vêm com os celulares (by wikipedia)
 4- Depois use um adaptador USB fêmea/fêmea, com ele você conecta um HUB USB e pluga um monte de trecos...


 5- Só plugar no Motorola Xoom....


6- Detecta na hora, como um USB hub! (é isso mesmo instalei o bash no xoom e com os recursos do Gentoo/Linux!)
O cabo sem mais nada é detectado como um USB hub!

7- Só plugar um pendriver e pronto...

8- Como meu pen, é formatado em ext3, montei na unha:
mount -t ext3 -o rw /dev/block/sda1 /mnt/usbOTG

9- HUB USB com fonte externa, Teclado USB e Mouse wireless

10- Temos até um cursor do mouse, e o conjunto funciona em alguns jogos...

2011-05-04

Pinguino32X by OLIMEX.com

Just received my new 2 develop sample Pinguino32X boards, that boards uses a PIC32MX440.
80MHz, 256K of Flash.

2011-04-28

MPLAB X IDE



The MPLAB X IDE!
A Microchip acaba de lançar uma nova página para sua nova IDE multiplataforma o MPLAB-X!
http://www.microchip.com/mplabx/

2011-04-14

Novo endereço do Blog!

Hoje estamos inaugurando o novo endereço do blog, já não fazia muito sentido o endereço vivaphp.net, está ainda estará ativo por mais 2 anos, contudo temos uma novo endereço:

http://www.fazzi.eng.br

2011-04-04

Pinguino32X, new compiler

Regis and Jean Pierre just finished a working compiler from scratch for use with PIC32, now we have a working C/C++ compiler for use with Pinguino32X.

Here a small sample of C++ use:
/*-------------------------------------------------------
 ledcpp.pde
 Description: Toggle Led in C++
 Author:   Régis Blanchot
 First Release: 03-04-11
 Last Release: 03-04-11
 Boards:   UBW/EMPEROR
 Arch:    32-bit
---------------------------------------------------------*/
float pi;
class Led{
 public:
  Led(){
   TRISEbits.TRISE2 = OUTPUT;
  }
  void on(){
   PORTEbits.RE2 = ON;
  }
  void off(){
   PORTEbits.RE2 = OFF;
  }
  void tog(){
   PORTEbits.RE2 ^= 1;
  }
}; // ";" required
void setup(){
}
void loop(){
 Led myled;
 
 myled.tog();
 
 delay(500);
 
}