Skip to content

p910i and SyncML hell

Last updated on 2021-05-31

I managed to get my p910i synced against my kde desktop pim. i wrote a little script so setup a ppp conection via bluetooth to my p910i mobile.I used multisync as application wich is able to use my kde addressbook resource.

Here is a list of the [gentoo]( packages i have used

* net-wireless/bluez-utils
* net-wireless/bluez-libs
* app-pda/multisync (USE=”kdepim”)
* net-dialup/ppp
* net-analyzer/ngrep

How it works:

* turn on the USB Bluetooth on your computer. Stop any daemon like kbluetoothd because this will interfere the communication
* create a sync pair in multisync:

1. first plugin is **KDE Addressbook**
2. second plugin is **SyncML**
3. goto SyncML plugin option and select **http** as transport protocol
4. enter some password for the connection

* setup the sync profile on your p910i

1. open **Remote Sync** application
2. goto preferences dialog and enter username **syncml** and the passwd you used in the multisync plugin config
3. enter the server address **** and quit the dialog
4. goto the main window click the sync task **calendar**
5. enable this task and assign the database name **addressbook**

* turn on the P900 Bluetooth and connect to your computer
* look up baddr of the p910i: **hcitool scan**
* run sdptool to add a serial port service: **sdptool add SP**
* run rfcomm to listen on channel 1: **rfcomm listen 0 1**
* run rfcomm to connect to the P900 bluetooth serial cable: **rfcomm connect 2 xx:xx:xx:xx:xx:xx 1**
* the latter rfcomm will connect to the P900 but the P900 will disconnect immediately;
* the P900 will then initiate a connection to the computer to connect to the rfcomm listening on channel 1;
* run the as root /usr/sbin/pppd server using: **pppd rfcomm0 noauth debug nodetach**
* just say **connect** on the p910i if you are asked to select an account for a new internet connection. i just used my standard gprs account. don’t worry this connection won’t be used actually for syncing. just to keep the symbian os happy.
* as root start ngrep to watch network interface: **ngrep -d ppp0**
* finally you click the **sync** button in the **Remote Sync** application
* you should see immediately some http packets on console where you have started ngrep.if not there is something wrong.

1. check if the pppd daemon is still runing and connected
2. double check all ips in the mobile phone setttings

**known problems:**

* KDE Address plugin doesn’t handle **uft-8** encoding correct, so contacts with special chars will be broken on your phone but will not
yield an sync conflict on the secound or third sync.Current CVS version of multisync should address this problem, but a didn’t try the most
recents checkouts.
* pppd connection seemed to be a little unstable, try you tweak connection settings
using this pppd flasgs: **lcp-echo-failure 10 lcp-echo-interval 86400**

if you are familiar with all tools and settings you can use this script so that can avoid using 4 open terminal windows to sync your mobile 🙂



        kill -TERM $pid_2
        sleep 0.1
        kill -TERM $pid_1
        ps ax | grep "rfcomm"
        exit -1

        echo "########################################################"
        echo $*
        echo "########################################################"

trap cleanup 2
sdptool add SP
debug "Listen RFCOMM"
rfcomm listen 0 1 &
sleep 0.2
debug "Connect RFCOMM  ${baddr}"
rfcomm connect 2  ${baddr} 1
sleep 4
while true
        debug "try PPPD $failed"
        sudo  /usr/sbin/pppd rfcomm0 noauth debug nodetach ${ip_local}:${ip_remote}
        if [ $failed -eq 10 ]
        sleep 1


  1. Steven Steven

    the latter rfcomm will connect to the P900 but the P900 will disconnect immediately;
    the P900 will then initiate a connection to the computer to connect to the rfcomm listening on channel 1;

    the p900 is not trying to connect back … some help please
    Am i missing out something

  2. Administrator Administrator

    Id had problems to setup rfcomm connect since i was uisng udev. I didn’t really debugged that very much. I just created rfcomm devices by hand.

    mknod /dev/rfcomm0 c 216 0
    mknod /dev/rfcomm1 c 216 1
    mknod /dev/rfcomm2 c 216 2
    mknod /dev/rfcomm3 c 216 3

    Maybe that helps.

  3. Henning Rogge Henning Rogge

    I tried your summary ( and the script ), but I always get

    “Couldn’t set tty to PPP discipline: Invalid argument”

    from “pppd rfcomm0 noauth debug nodetach ….”

  4. Administrator Administrator

    I quick google says, that might be ppp kernel modules are missing. What says a lsmod ?
    Are you using the step by step howto or the script? Maybe your sudo call doesn’t work, because you are not listed in /etc/sudoers.

  5. Henning Rogge Henning Rogge

    You were partly right… I compiled ppp into my kernel but forgot to copy it onto my boot partition ! 🙁

    Not there seem to be some kind of connection, but it’s still not stable. Is there a way to use the USB connector instead of Bluetooth, maybe there is something wrong with my Bluetooth setup ( AVM Bluefritz stick ).

    ( sudo is no problem because I run the script in a root console )

  6. Administrator Administrator

    Are you able to do pairing with the phone? Try to use a tool like kbluetoothd, which should assist you checking if bluetooth connections work properly.
    I used the usb cradle with the ‘ftdi-sio’ driver, but i never tried to sync via the usb serial dev.

  7. Henning Rogge Henning Rogge

    I can exchange informations between the phone and kde with the “Obex object push” protocoll, but KBluetoothD never shows a paired device…

    ( the phone shows the linux bluetooth stack on the “paired” list )

  8. PHiL PHiL

    I’am beginning to play with this bluetooth syncro. I have a different answer from the P910i: when issuing second rfcomm, the P910 ask for a password to connect to my Laptop… Either the syncml pass or empty doesn’t work… do you have any idea ‘which’ password I’shall enter at the P910 prompt?

  9. Administrator Administrator

    Hmm, maybe the Bluetooth pairing pin ?

  10. PHiL PHiL

    Yes, you’re right… I was used that both devices ask for that password. The laptop was setting
    it in the config file. Now I’am able to create the ppp link. But my SuSE10.0 version of multisynk (yes with a k) doesn’t know about syncml, all plugin are Konnector plugins…
    The classic Gnome-multisync is available too. I tried with this one too. pppd seems to work correctly but the P910 keep saying “Connecting” and after 2-3 min the link is shut down.
    Still sth broken somewhere in the flow. I’ll re-check all the parameters and fetch the ngrep tool. Thank for your help

  11. Thanks for this information, but I am having 1 problem that seems to be stopping things.

    When I create the ppp connection, the phone then makes a GPRS connection and the route back the laptop doesn’t work, and the sync doesn’t happen.

    Any ideas.

  12. John John

    Have been playing with my p910. Can get solid ppp over BT or USB. I was having the same issue as PHiL where the phone disconnected after a short time. Using ethereal against ppp0 I could see the phone making DNS requests for the name mrouter. Once you can deliver the response the phone no longer disconnects. I set up named listening on ppp0 and in the /etc/ppp/ip-up.local I added ‘rndc reload’ so named picked up the now new ppp0. I suspect that mDnsdaemon (sp?) can do this as well, but I knew roughly how named worked. I got some stuff working with multisync, and also seperately with funambol. All seems really buggy and unstable. I even managed to crash something on my phone using ‘nmap x.x.x.x -p 1-65535’. Still trying.


Comments are closed, but trackbacks and pingbacks are open.