Archivo de la etiqueta: sharp

No consigo conectar mi Pocket PC a Internet usando un Sharp 703SH

Esto me ha llamado mucho la atención. Resulta que he conectado a Internet con Linux a través de un móvil UMTS/3G Sharp 703SH con relativamente pocos problemas.

Y sin embargo, me ha resultado casi imposible conectar una iPAQ Rx3715 al mismo teléfono. Y eso a pesar de que hablamos del sistema operativo Windows Mobile 2003SE y de una marca y un proveedor que dan soporte a ese tipo de conexiones y a ese teléfono. Pero el Servicio de Atención al Cliente de Vodafone era incapaz de conseguir que me funcionara la conexión, y no he visto ninguna Web que me aclarara dónde estaba el problema.

De hecho, encontré la solución por mí mismo, símplemente porque Linux, que enganchaba el teléfono sin problemas, me estaba dando la respuesta delante de mis narices.

Porque vereis, descubrí que si tecleaba los comandos de módem de los scripts de linux en una ventana de terminal de la PocketPC, la iPAQ Rx3715 sí se conectaba a Internet. Unas cuantas pruebas más me llevaron a pensar que el problema estaba en las cadenas de inicialización del modem.

Y googleando un poco, descubrí que se podía modificar el registro de Windows Mobile para que envíe las cadenas de inicialización correctas al teléfono móvil. Tan simple como eso.

Sin enrollarme demasiado:

La configuración correcta de una Pocket PC con Windows Mobile 2003SE es tal y como dice el Servicio de Asistencia al Cliente de Vodafone:

  1. Abre «Configuración»
  2. Abre «Conexiones»
  3. Tap en icono «Conexiones»
  4. Abre «Agregar nueva conexión de módem»
  5. Ponle un nombre, por ejemplo «Vodafone»
  6. Selecciona como modem «Bluetooth Dialup Modem»
  7. Tap en «Siguiente»
  8. Ahora te pide un número de teléfono. Pon *99***1#
  9. Tap en «Siguiente»
  10. En Usuario pon «wap@wap» (también vale «vodafone»)
  11. En Contraseña pon «wap125» (también vale «vodafone»)
  12. Tap en «Avanzado»
  13. En Velocidad pon 115200
  14. Tap en «OK» (arriba a la derecha)
  15. Tap en «Finalizar»

Vale. Si ahora intentas poner en marcha la conexión verás que falla. El error está en la cadena de inicialización, que no es la correcta para este móvil. ¿Como cambiarla?. Bueno, pues tienes que hackear el registro de Windows Mobile. Para ello necesitas un editor del registro, como por ejemplo PHM RegEdit, que es el que te recomiendo.

Con el editor del registro, abre la siguiente entrada:

  1. HKEY_LOCAL_MACHINE
  2. Drivers
  3. Unimodem
  4. Init
  5. 2

Ahí verás que pone «ATE0V1&C1&D2<cr>». Cámbialo a «ATE0V1<cr>», simplemente (si te fijas, es la misma cadena de inicialización que enviaba linux). Pulsa OK, OK, cierra el editor, y haz un soft-reset a la PDA.

Ya está. Prueba ahora. Deberías conectar sin problemas. :-)

¿A velocidad 3G?.

Bueno, no. El Windows Mobile 2003SE tiene una estúpida limitación en el puerto que hace que no puedas seleccionar una velocidad superior a 115200, cuando con un teléfono UMTS/3G debería ser superior a 384000. Parece que eso se puede hackear también. Para ello edita de nuevo el registro de Windows Mobile y abre la siguiente entrada:

  1. HKEY_CURRENT_USER
  2. Comm
  3. RasBook
  4. Vodafone (o el nombre que tú le hayas puesto a la conexión)
  5. DevCfg

Ahora localiza la secuencia de bytes donde diga «00.c2.01» (115200 en hexadecimal), y cambialo por «00.08.07» (460800 en hexadecimal). Pulsa OK, OK, cierra el editor y haz un soft-reset a la PDA. Esto puede duplicar la velocidad de navegación de tu PDA. Si vuelves a abrir la configuración, verás que la velocidad de transmisión ahora está en blanco, pero así es como tiene que estar. Déjala así, no la cambies, ¿vale?.

Que lo disfrutes.

¿Puedo conectar el portátil a Internet con un móvil Vodafone Sharp GX20?

Sí, pero no igual que el Sony Ericsson T300. Si usas el script anterior con un teléfono móvil Sharp GX20, comprobarás que se conecta, efectivamente, pero desconecta al cabo de pocos segundos. En consola verías la salida de wvdial diciendo:

--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
~[7f]}#@!}!}%} }<}!}$}&@}#}$@#}%}&_8^G}"}&} } } } }'}"}(}"Tx~~~
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Thu May 20 22:13:43 2004
--> pid of pppd: 18283
--> Disconnecting at Thu May 20 22:13:48 2004
--> The PPP daemon has died: PPP negotiation failed (exit code = 10)
--> man pppd explains pppd error codes in more detail.
--> I guess that's it for now, exiting
--> The PPP daemon has died. (exit code = 10)

Vale, ¿qué ha pasado?. Pues que se ha conectado a Vodafone, efectivamente, pero al poco tiempo, Vodafone nos ha colgado con un lacónico «error 10», que viene a significar «fallo en la negociación del protocolo». Si leemos el log de /var/log/messages nos encontramos con esto:

May 20 18:14:25 lynette pppd[7096]: pppd 2.4.1 started by root, uid 0
May 20 18:14:25 lynette pppd[7096]: Using interface ppp0
May 20 18:14:25 lynette pppd[7096]: Connect: ppp0 <--> /dev/ircomm0
May 20 18:14:58 lynette pppd[7096]: IPCP: timeout sending Config-Requests
May 20 18:14:58 lynette pppd[7096]: Connection terminated.
May 20 18:14:58 lynette pppd[7096]: Exit.

o con esto:

May 20 20:32:36 lynette pppd[27484]: pppd 2.4.1 started by root, uid 0
May 20 20:32:36 lynette pppd[27484]: Using interface ppp0
May 20 20:32:37 lynette pppd[27484]: Connect: ppp0 <--> /dev/ircomm0
May 20 20:32:40 lynette pppd[27484]: Could not determine local IP address
May 20 20:32:40 lynette pppd[27484]: Hangup (SIGHUP)
May 20 20:32:40 lynette pppd[27484]: Modem hangup
May 20 20:32:40 lynette pppd[27484]: Connection terminated.
May 20 20:32:40 lynette pppd[27484]: Connect time 0.1 minutes.
May 20 20:32:40 lynette pppd[27484]: Sent 113 bytes, received 64 bytes.
May 20 20:32:40 lynette pppd[27484]: Exit.

Ambas cosas vienen a significar que el ordenador espera que el módem le de la IP local, pero pasa el tiempo límite y el módem (el Sharp GX20) aún no se lo ha dado, por lo que considera que la conexión ha sido terminada y cuelga.

Seguramente existe alguna manera de adaptar mi script para que funcione con el GX20, pero yo no lo he conseguido. :-(

En cambio, buscando una solución por Internet, me encontré con un programa que hace exactamente lo que necesito. Se llama «GPRS Easy Connect», y es, básicamente un dialer para linux que soporta multitud de móviles (entre ellos el Sharp GX20), multitud de compañías telefónicas (entre ellas Airtel Vodafone Spain), y multitud de conexiones (entre ellas el enlace de infrarrojos entre móvil y portátil). Por si fuera poco, está traducido al español. Puedes descargarlo en la Web de «GPRS Easy Connect» e instalarlo en tu ordenador. La versión 2.5.1 beta funcionaba perfectamente en mi máquina.

El proyecto GPRS Easy Connect está actualmene cerrado y ya no habrá nuevas versiones. Una pena, pero hicieron un gran trabajo y cumplieron con creces todas mis expectativas mientras estuvieron en activo. Un gran abrazo para ellos desde aquí. De todas formas, en su página web aún puedes bajarte la última versión que se publicó. Así que mientras no lo retiren, este truco aún sigue siendo factible.

Instalarlo es tan fácil como descomprimir el fichero tar.gz y luego ejecutar el script INSTALL, que comprobará en primer lugar si se cumplen las dependencias (especialmente perlTK). En mi extinto Fedora Core 1, por ejemplo, todas las dependencias se cumplieron a la primera y el programa arrancó y se configuró sin ninguna complicación, como la seda. Luego enganchó el GX20 y conectó con Vodafone también sin problemas. Sencillamente perfecto. :-)

Eso sí, puede que tengas que ejecutarlo como root. Yo he añadí una entrada en /etc/sudoers para ejecutar «sudo /usr/bin/gprsec» desde un icono en el escritorio. Me parecía una solución correcta.

Por cierto: en el móvil Sharp GX20 aparecen dos formas distintas de activar los infrarrojos. Una, en el menú «Ajustes». La otra, en el menú «Aplicaciones». Bien, pues la que está en «Aplicaciones» sirve para transferir ficheros entre el ordenador y el teléfono (con el correspondiente programa Windows, claro), pero NO para conectarse a Internet por GPRS. Para esto último debes activar el infrarrojo usando la opción que viene en «Ajustes».

Y si tienes un Sharp GX20, te felicito. Gran teléfono, ¿verdad?. En su momento era una verdadera joya. Hoy está tecnicamente superado, claro, pero sigue teniendo una estética magnífica. Apetece seguir usándolo, la verdad. :-)