(Tutorial) Tablet Android + Modem USB + PPPWidget

Esto aquí resumido (si, resumido) representa tres días de buscador, probas de comunicación e envío de comandos ao módem e un pouco de cabezonería. ** Ingredentes:**

  • Arnova 9 G2 (o tablet)
  • Módem 3g Vodafone K3570-z (a partir de agora chamarémolo pincho)
  • PPPWidget

O obxetivo é que se entendan estos dous trebellos, pero a receta é xenérica, pois tira dos módulos que xa teña instalados o android instalado e dun widget que os pon en funcionamento de xeito correcto.

Cada vez son máis comúns os Tablets con sistema operativo Android pola sua ampla gama de prezos e prestacións. De 100€ (ou menos) ate 600€ (ou máis) tes moito onde escoller segundo as túas necesidades e disponibilidade económica.

O tablet que eu teño de orixe traía instalado a versión 2.3 do sistema operativo. Ao día seguinte de telo xa lle metín o 4.0.1 (non lle dei tempo nin a saber si ía ben co outro :D )e desde hai uns tres meses está co 4.0.3. Unha limitación que ten é que non trae modem 3g instalado de serie, polo que ou ben tiras de wifi ou ben tentas conectarlle un modem usb 3g no porto correspondente.

O problema aparece cando tras conectalo, o pincho comeza a lamparexar cunha luz vermella intermitente. Mal asunto, significa que non chega nin a ler a tarxeta SIM.

Primeiro paso entón é quitarlle o PIN a tarxeta. Esto faise rápidamente metendo a tarxeta en calquera móbil.

Estos “pinchos 3g” soen constar de dúas partes. Unha é o módem propiamente dito e por outra banda temos unha pequena memoria con auto-iniciación onde o fabricante soe meter os drivers (para windows) e a operadora un programa para que te conectes de xeito rápido e doado a súa rede. O meu pincho estaba liberado e flasheado cun firmware xenérico, pero para o caso da o mesmo, pois un dos problemas que atopamos é que o tablet ao enchufarlle o pincho recoñeceo como unha memoria usb e polo tanto carga o necesario para lela, pero esquécese da parte módem propiamente dita. Nos PC con linux este problema solucionao o SO (normalmente de xeito correcto) cun módulo que se chama usb_modeswitch, co cal ti nin te enteras de que realmente está acontecendo tal separación de funcións. Simplemente enchufas o pincho, vas ao xestor de conexións, metes o apn (ou seleccionalo) e listo. Pero android non parece manexar esto tan facilmente (ate o de agora) e hai pinchos usb que non son recoñecidos como tales polo S.O.

Solución

Antes de nada quitar o auto-inicio do pincho. Se tes un ordenador con Linux (aquí windows):

  • pinchas o usb no ordenador.
  • abres un terminal e executas

    lsusb

para saber se detecta o modem e cómo se chama, e

dmesg | tail

verás nas últimas liñas o que che dicía de que hai unha parte “memoria” e unha parte “módem”

  • executas

    ls /dev/ttyU*

para ver as interfaces “tipo módem” creadas. Probablemente sexan varias, empezando por /dev/ttyUSB0. Unha desas será onde comunicaremos co modem. ¿En cal delas? Pois dependendo do xestor de conexións que use o teu escritorio podes ver esa información, pero en todo caso podes ir probando unha a unha como veremos máis adiante.

  • En distros derivadas de debian executas

    sudo apt-get install minicom

Noutras distros buscar nos repositorios o aplicativo minicom que usaremos para comunicar co modem. Unha vez instalado, para configuralo, executámolo con

minicom -s

Abrirase un diálogo onde temos que poñer o porto onde está o modem. Se o sabes, escríbelo (tras baixar coas flechas ate Serial Port Setup e pulsar a opción A) e se non empezas por /dev/ttyUSB0. Aquí, tras seleccionar exit, tentará comunicarse co modem e se o porto é o correcto entón nun par de segundos deberemos ver un OK. Significa que o porto é o correcto e que podemos empezar a darlle ordes. Se pasados uns segundos non vemos o OK entón probamos con outro porto ate ver o OK no terminal. Esto é o que se ve cando se conecta correctamente co porto captura minicom

Para quitar o auto-inicio, no meu pincho usei

AT+ZCDRUN=8

pois trátase dun modem do fabricante ZTE. Cada fabricante ten o seu comando, pero a maioría son ZTE e Huawei. Para éstos últimos o comando é

at^u2diag=0

Para ver un listado de comandos AT para os modem ZTE pódese ler este documento.

Saímos de minicom reiniciando o módem con

Ctrl+A x

Se desconectamos o pincho, esperamos uns segundos, voltamolo a pinchar, executamos dmesg, entón comparamos co que poñía antes e veremos que xa non está a parte de “memoria”. Este cambio é reversible, polo que non é perigoso o seu uso. Outros comandos sí o son, polo que asegúrate do que fas se andas argallando con outros comandos.

En windows hai que usar Hyperterminal ou Putty en lugar de minicom, pero o procedemento é o mesmo. O porto COM pódelo coñecer no Administrador de dispositivos.

Agora voltamos ao tablet que estará apagado en poñemoslle o pincho (xa sen PIN nin auto-inicio) e tras darlle uns segundos veremos que a luz que antes lamparexaba en bermello **agora faino noutra cor **(verde, azul, azul clariño segundo o caso). É dicir, xa o trebello accede a SIM e está esperando para conectarse.

**AVISO: **o wifi debe estar desactivado para poder usar a rede móbil!!!

Aquí proba indo a “Axustes” -> “Redes móbiles” a ver se tes sorte e che deixa poñer o APN, gardalo e se conecta. Con sorte faráo, xa que hai módems que si son recoñecidos e configurados sen problema. ** Pero o habitual é que esto non pase, e aquí é onde entra PPPWidget. É un pequeno aplicativo que precisa permisos de **administrador para configurar o pincho. Estos permisos darállos outro aplicativo que deberemos instalar (superuser) e este funcionará se o tablet está rooteado. Aquí si que non che podo axudar, pero os buscadores de internet si ;) Entón:

  • instalamos superuser (está no play.google.com)
  • instalamos PPPWidget (está na web do desenvolvedor, aqui versión 0.99 ) e que require (copiado da web):
** Requirements and limitations:** Root access is mandatory "Superuser" app needs to be installed (usually comes with rooting tools) PIN protection must be disabled (with sticks, use included software to change this setting) Needs at least Android 3.1 for automatic mode, 2.2 for manual mode This app is still in testing state; be prepared to bump into bugs !
  • reiniciamos o tablet co pincho conectado (por si acaso)
  • imos a lista de widgets (no escritorio, pulsando o cadrado da esquina superior dereita) e aparecerá o PPPWidget, e mandámolo ao escritorio (mantendo pulsado sobre el). Entón aparece un aviso que nos indica que precisa permisos de usuario root e dámosllo (pode ser temporal ou permanente, segúndo desexes). Este aviso é do aplicativo superuser.
  • unha vez feito pulsamos Configure no widget, e vemos que está todo en automático, pero que debemos escribir

    • APN (o do noso proveedor)

    • usuario (ainda que non faga falta o widget tómao como requerido, así que pon algo tipo user)

    • contrasinal (o mesmo, así que escribe pass). Se o teu proveedor o precisa,entón, escribe os valores correctos.

Ao voltar, se o botón “connect” xa está activo entón é que todo está correcto e establecerase a conexión. Se estive sombreado entón voltas a configuración, desmarcas a “detección automática” e ao saír pulsas na icona do widget (a esquerda) e mostrarache unha lista onde debe aparecer o teu modem-usb. Entón si que debería xa aparecer como disponible a icona de “connect”.

Verás que a luz se volta dunha cor fixa e terás conexión a internet :D

PPPWidget ten un foro onde os usuarios informan dos éxitos e fracasos na configuración, podes pasar por alí para ver xente que quizáis tivese o mesmo problema ca ti e cómo o solucionou.