Chronicle of a regression

When I changed my mobile phone at the beginning of year 2006 for a Sony Ericsonn K300i, I was interested in using its organizer features too. So I bought the genuine Sony DCU-11 cable, instead of a cheaper clone, because it is supported by the Linux kernel. And it was the right choice, backing-up and synchronizing events and tasks with Evolution thanks to multisync 0.82 on Mandriva 2006 has been really comfortable.

But I was really disappointed after upgrading to Mandriva 2007, multisync 0.82 has been replaced by a completely reworked 0.90 version, still named multisync, but requiring non-intuitive XML plugin configuration.

So I have compiled the previous version 0.82 to find out that the evolution plugin does not support the Mandriva version of this application. By the way, I just got back a way to backup my phone directory on my favorite open-source distribution.

That was not enough for me. The new multisync version is now built on the opensync library and a tutorial helps me to get it configured for my phone (through IRMC USB cable). Another disappointment: msynctool is not able to open a connection, it simply freezes.

I’m not the kind of guy to stop there. Why tools do no longer work like before ? The development of opensync is really a good idea, but for me there is no reason to do less than the old multisync. Both tools, old multisync and new msynctool, are using the same library openobex – so I have guessed there are some differences in its usage. And a search on internet leads me to the obex wiki, and the other obexftp tool.

obexftp is like a ftp client to browse the phone content. And the 0.20 and 0.21 is able to connect the K300i modem, list information, disconnect. But only once. The second command is not able to connect except if the cable is unplugged and plugged again. For me the disconnection method is in trouble ? An issue in the pl2303 kernel module ? Or a library usage mistake ?

With the hope to get these tools working with my phone, I have compared system calls done by multisync 0.82 test connection button and the obexftp list feature.

strace obexftp -t /dev/ttyUSB0 -U IRMC -l

After some source comparison and syscall analysis, I have tried some changes in obexftp to force the break signal emission at disconnection, and change the signal TIOCSBRK by TCSBRKP, working in multisync.

So obexftp is now fixed for my phone. And maybe for other Sony models. I’m going on investigating the connection issue in msynctool and the opensync library.

Laisser un commentaire