lunes, enero 17, 2011

Plugin para iSync del Nokia 7230

Tengo un Nokia 7230 que no tiene soporte para sincronizar con iSync en Mac OS X, con lo cual no puedo sincronizar mi agenda del sistema operativo con el teléfono. Hasta ahora, usaba los programas que tenía de Nokia en Windows para ir pasándome las agendas de un teléfono a otra, pero tenía ganas de tener unificado todo bajo MacOS X. La cuestión es que podía comprar un plugin para tener acceso al teléfono (el cual puede comprarse en .mactomster iSync phoneplugins), pero como tenía un poco de tiempo el sábado por la noche, decidí si me atrevía hacer un plugin para el teléfono usando el iSync Plugin-Maker.

El Nokia 7230 pertenece a la plataforma del sistema de Nokia llamada Series 40. Una de las particularidades de esta plataforma para la sincronización es que soporta SyncML para poder intercambiar datos con otras aplicaciones.

Si pareamos el teléfono con un Mac o lo conectamos a través del miniconector USB al ordenador, nos creará un puerto serie, por el cual le podremos mandar órdenes al teléfono. Este puerto serie, aparecerá bajo el directorio /dev/ y la interfaz es la clásica de comandos Hayes para controlar los modems. De esta manera se puede obtener las cadenas de identificación que utiliza el dispositivo, para usarlas posteriormente con iSync Plug-in Maker

A continuación una simple sesión donde nos conectamos al puerto y vemos las cadenas de identificación del Nokia 7230. Esta sesión la establecemos con ayuda de la utilidad cu

sudo cu -l /dev/cu.usbmodemfd135
ate1
at+gmi
Nokia
at+gmm
Nokia 7230

Es necesario averiguar cuales son los identificadores que utiliza el teléfono para comunicarse a través del bus USB. En este caso el vendor ID es 0x0421 y el Product ID es 0x0261.

Por prueba y error, decidí pasarle los test incluidos en el iSync Plug-in Maker al teléfono para ver cual era la configuración que funcionaba. Con los mensajes de error que me iba dando, fui añadiendo la configuración que me ha funcionado de manera correcta para sincronizar toda la información que tengo en la agenda en el teléfono móvil. El resultado de todo esto es el plugin iSync-nokia-7230 que he colgado en SourceForge para todo aquel que quiera probar la sincronización.

También he colgado el directorio src del proyecto el archivo ppdoc necesario para usar el iSync Plug-in Maker, por si alguien quiere trabajar con él y usarlo para modificar el comportamiento del plugin. Una cosa importante los test del iSync Plug-in Maker borran el contenido del teléfono, incluyendo la agenda.

Cuando tenga un poco más de tiempo quiero documentar cómo he realizado el plugin, las pruebas que he hecho y los problemas que me ha dado, así como algún que otro curioso comportamiento del 7230, que me suena a bug por parte de Nokia, pero que no tengo demasiada idea de como reportarlo. Supongo que intentaré preguntar por los foros de desarrollo de la plataforma, pero cuando tenga un poco de tiempo. Para un pequeño proyecto de fin de semana, poco más he podido hacer.

Technorati Tags: ,

4 comentarios:

Tomas dijo...

Hola no logre hacerlo andar. Estoy usando tiger. Lo instale sando el instaldor y no funciono. Luego probe instalandolo a mano dentro

de/Applications/iSync.app/Contents/PlugIns/ApplePhoneConduit.syncdevice/Contents/PlugIns/

Junto con los otros plug ins y tampoco...

Gracias de todas maneras. Seguire intentanto.

Tomas dijo...

Bingo! Logre hacerlo andar.

El problema es que mi telefono es el nokia 7230-1c.

los pasos fueron los siguientes:

1) Desinstale lo que instalaba tu pkg

2) Baje el nokia7230.phoneplugin.zip de tu pagina sourceforge.

2)ejecute sudo sudo cu -l /dev/cu.usbmodemfd135 y corri los comandos que posteaste y comprobe que el gmm era "Nokia 7230-1c".

3) Enchufe el telefono por usb y en system porfiler obtuve el vendorid y productid (0x0421/0x0265)

4)Deszipie el archivo "nokia7230.phoneplugin.zip", lo renombre "Nokia-7230-1c.phoneplugin" y lo copie dentre de "/Applications/iSync.app/Contents/PlugIns/ApplePhoneConduit.syncdevice/Contents/PlugIns/"

5) Abri el archivo "MetaClasses.plist" con un editor y reemplace "7230" por "7230-1c"

6) Lo mismo hice con "0x0421/0x0261" reemplazandolo por "0x0421/0x0265"

7) Abri el archivo "Info.plist" y tambie reemplace "7230" por "7230-1c"

8) Abri el isync > add device y bingo

Espero no haberme olvidado ningun paso. Sospecho que no todos son necesarios.

Gracias por tu aporte. Sin tu post original no lo hubiese podido hacer.

Tomas

PD: Siendo una modificacion tan facil me hace pensar dos cosas: 1) apple esta tratando de dejar de lado el soporte de nokia de manera deliberada (no creo que sea mucho problema para alguien en apple hacer lo que hiciste vos de manera oficial) 2) A nokia se le esta escapando la tortuga

Drizzt dijo...

Me alegro que haya servido la información :). En cuanto a los plugin de iSync, nokia tiene hecho algunos para los de gama alta, pero pasa de los de gama más económica :(

Max_16 dijo...

Eres Un p.to máquina. Tras dias intentando sincronizar el telefono, vienes tu, y me lo arreglas en 1 minuto.

Mil millones de gracias.