Hazard's stuff

parprouted 0.65

— Posted by hazard @ 2007-08-26 07:44
I have just released parprouted 0.65. It fixes a problem with incorrect handling of a case when there are two entries for the same IP, incomplete and correct one. This can happen when machine running parprouted is rebooted. Credit for the fix goes to Dennis Borgmann and Matthias Huning.

Copying phone book from one smartphone to another using Linux, multisync and SyncML

— Posted by hazard @ 2007-08-14 05:13
I've got a Nokia E90 for testing, and therefore was faced with a task to copy phone book from my old Motorola A780 to it. It took me a while to figure it out, and below you can find the quick(?) & dirty way to do it.
  • You will need to have some sort of IP connectivity between your phones and PC. I successfully used GPRS and WiFi.
  • Compile and install wbxml2-0.9.0 with Nokia bug workaround. You can download it here. I had to copy wbxml* include files from /usr/include to /usr/include/wbxml2 to make configure script from multisync to recognize that wbxml2 is installed.
  • Download CVS snapshot of multisync, and patch SyncML plugin to send "ADD" command instead of "REPLACE". This is not a bugfix, but a nasty hack: multisync's backup plugin performs restores using REPLACE command, and Nokia E90 discards all contacts if it doesn't have them. You can find the patched multisync source that I used here.
  • Compile and install multisync. Note that you have to do "make install" also in the SyncML & Backup plugin directories, not only in the multisync source directory.
  • Start up multisync using the following command: "MULTISYNC_DEBUG=1 multisync" (that will enable debug output to the console).
  • Configure a pair with SyncML and Backup plugins. I was interested in nothing else but the phone book, so I ticked only "Addressbook" in the "Data types to synchronize".
  • Configure SyncML plugin (Options... button) to use http protocol, enable "disable string tables" option.
  • Enter a directory in the Backup plugin options.
  • Now configure SyncML on your phones (usually somewhere from within a Sync application). Make sure that phone book database name is specified as "addressbook" (case sensitive!) and configure the phones to use the same URL and port as in SyncML plugin configuration.
  • Make sure that your phones can reach your PC. Alter iptables configuration etc.
  • Proceed to synchronize your OLD phone to multisync. Watch the debug output in the console from which you started multisync.
  • Once synchronization is done, go into Backup plugin options, and click "Restore All".
  • Proceed to synchronzie your NEW phone to multisync. You may get an alert saying that there is loss of integrity between the phone and multisync's database, confirm that you want to proceed with the restore anyway.
  • The end. If it doesn't work, check multisync's debug (which unfortunately is not very useful), and double check that you have entered settings properly in your phone. tcpdump may also be useful to see if there is communication between the phone and your PC.