Syncing mobile devices

Since first week of 2009 I use Nokia E66 phone. It is nice device and is expandable with many applications due to fact that it runs Symbian (S60 3rd FP1). But as usual there is a problem with it — syncing or rather lack of it (at least under Linux).

Under MS Windows there is “Nokia PC Suite” set of applications. It is heavy and ugly — mostly because vendor had own idea how application UI should look. As usual it is unable to keep device data available in any sensible format — all it do is syncing Phone “installed PIM” (which mean MS Outlook or Lotus Notes). It does not even have VCard import/export which will work good (I had to kill application after attempt to import 32KB file with ~200 vcards in it). So basically all what I can do with it is making backups of phone contents (but for that there is also application on phone which use memory card for keeping backups).

Other option is OxyCube application. But it is too expensive so I do not even bother to check how good it is.

But how to sync under Linux? This is good question… First idea which came to my mind was OpenSync. But which version to use? Last stable (0.22) or current development one (0.38)? Their homepage says:

Releases 0.22 (and 0.2x svn branch) and before are considered stable and suitable for production. 0.3x releases introduce major architecture and API changes and are targeted for developers and testers only and may not even compile or are likely to contain severe bugs.

0.3x releases are not recommended for end users or distribution packaging.

So stable one is recommended but no one supports it as developers forgot how it worked. This is not strange thing because this release is over 2 years old now. So maybe development version should be used? No… I was told few times that it can crash, do dirty things etc. so it can not be trusted at all. And there is no plugin to get KDE4 PIM apps synced (plugin for KDE3 can be used after some tweaks).

Effect is that after firmware update my phone has all contacts restored from phone backup but lost all calendar entries…

Does Vortex86sx based devices are worth something?

At FOSDEM 2009 I grabbed one Vortex86SX based device — Koala Nano PC which is available at Koan software. Device came with Ångström distribution and was running 2.6.26 kernel. I wanted to get something more fresh on it and after some fighting I booted 2.6.29-rc5 kernel today.

Device use Vortex86SX SoC which is based on 486SX core. Yes — this is x86 machine without FPU. Overall speed of that is… nearly not existing.

First benchmark which came to my mind was “hdparm -T /dev/sda”. Results were dramatic: 9-13 MB/s for cached reads (with 133MHz memory and 300MHz cpu). I decided to compare against other devices:

Device Arch CPU CPU speed memory type cached reads
Koala Nano PC x86 vortex86sx 300MHz DDR2 9-13MB/s
old PC x86 pentium2 266MHz EDO DRAM 33MB/s
ATNGW100 av32 AT32AP700x 130MHz SDRAM 35MB/s
ASUS WL-500gP mips bcm3302 266MHz 46MB/s
Freecom FSG-3 arm ipx42x 266MHz 43MB/s
iBook G3 ppc g3 300MHz SDRAM 65MB/s
AT91SAM9263-EK arm at91sam9263 180MHz SDRAM 62-63MB/s
Compulab arm pxa270 312MHz SDRAM 74MB/s
NSLU2 arm ixp420 266MHz SDRAM 74MB/s
Koala nano33 x86 vortex86dx 1GHz DDR2 74MB/s
Nokia N810 arm omap2420 400MHz SDRAM 82MB/s
AT91SAM9G20-EK arm at91sam9G20 400MHz SDRAM 96MB/s
Linkstation pro duo arm ixp4xx 266MHz 147MB/s
BeagleBoard arm omap3530 500MHz mDDR 152MB/s
Alix.1c x86 geodelx 500MHz DDR 209MB/s
kirkwood reference board1 arm kirkwood 1200MHz DDR2 209MB/s
BUG arm i.mx31 533MHz DDR 294MB/s
my desktop x86 core2quad 2400MHz DDR2 3300-3500MB/s
Cliff’s desktop x86 Core-i7 920 Quad 2.67GHz DDR3 6400-7200MB/s

But remember that this test is not so good for benchmarking — I am preparing better set of tests to really compare speed of devices. So far it contains openssl speed and MP3 encoding/decoding.

But device has also few nice things. Everything is integrated so 12x12cm box is enough to keep everything inside. It has ATA controller, FastEthernet, graphics based on XGI core (with accelerated framebuffer able to do 1680×1050 resolution) and working USB. There is a place to put 2.5″ HDD inside (normally it boots from CompactFlash card), second Ethernet or WiFi are available options…

But what is use for such slow device? There are lot of ARM based ones which offer similar (or better) functionality and are faster… But wait — there is one use: event displays as this machine has nicely working framebuffer (I got even 1680×1050 resolution).

UPDATE: added results from iBook G3 300MHz and some other machines.


  1. kirkwood reference board uses same cpu as SheevaPlug device. 

Serial cables for BUG

During this year FOSDEM Bug Labs gave 4 BUG Starter Kits for people. Two were given for best ideas of application/module/way of using BUG — here Ken and Peter selected best entries. Other two were possible to win by donating FOSDEM.

I already knew two of those lucky guys. If you are one of other ones then I want to tell that I have Handylink connectors which can be used to build serial cables for BUG. If someone wants to also have Ethernet then all signals are in connector too — just proper RJ45 socket needs to be added.

How to get Handylink connector from me? Mail me at marcin@buglabs.net with your address and I will send you one connector (with cable ending in just wires) by normal post. No costs for You even — whole package costs me ~1€ so I do not need return of costs.

Contributing to Poky is not hard

About 2 years ago I started to work (as contractor) for OpenedHand as full time Poky developer (I did not worked on kernel/applications — just Poky itself). During that time we made few releases, and last of them (‘elroy’) was prepared but never got released (it is present on OH servers anyway). I also worked on upgrading systems used by OH clients.

Now I work for other companies and one of them (Bug Labs) use Poky. We use last official release (‘pinky’) which shows it’s age so we bumped some components to newer versions to get some additional software built. During that we had to fork some classes/recipes to make needed changes. Those changes were available only in Bug Labs repository and I decided to review all of them to get as much as possible merged back into Poky.

I created single patches and started to show them to Richard Purdie to get them accepted. It was hard sometimes but I understand why — there are strict policies for backports in Poky (everything backported has to be present in ‘trunk’ for example). After some of our changes got accepted he created ‘poky-contrib’ repository and gave me access to make it easier in future.

Since then I created few more backports/fixes and all of them were merged. I do not have to show him every patch separately — it is just “please pull” mails to Poky mailing list or similar discussions via Jabber.

Having possibility to easy sharing changes is great thing.