syncml-obex-client(1)

NAME

syncml-obex-client - simple obex client built on libsyncml

SYNTAX

syncml-obex-client [option]
syncml-obex-client --sync <type> <path>

DESCRIPTION

Simple obex client built on libsyncml
syncml-obex-client is not a real synchronization tool. It is rather used for testing. The tool will list all entries that the device wants to sync and is also capable of adding items to the device.

USAGE
First you should connect your device with the usb cable.
Then make sure that the lsusb command lists your device.
Now we can enumerate the interface available on your device. To do this type (as root!):

    syncml-obex-client -u

This should generate some output like this:

    Found 2 USB OBEX interfaces
    Interface 0:
            Manufacturer: Nokia
            Product: Nokia 6680
            Interface description: SYNCML-SYNC
    Interface 1:
            Manufacturer: Nokia
            Product: Nokia 6680
            Interface description: PC Suite Services

It is important that you have an interface with the description "SYNCML-SYNC". This is the interface we are going to use. Now you can run the first "sync" against the device.

OPTIONS

--sync <type> <path> Emulate a database of the given type on the url.

--slow-sync <type> <path> Emulate a database of the given type on the url and use slow-sync

    type should be a IANA registered mimetype or your own type.
    Common types are:

    - "text/x-vcard" for contacts,
    - "text/x-vcalendar" for events,
    - "text/plain" for notes and
    - "text/x-vMessage" for SMS

    path is the local name of the database. You can choose anything there.

[-u <id>]  Connect to the given usb interface number
    If you don't specify an id, all available interfaces will be listed.

[-b <addr> <channel>]  Connect to the given bluetooth device

[--identifier <name>]  Use the given identifier in the initial alert.
    Some devices require a special string here. Nokias for example require "PC Suite".

[--version <version>]  Set the given version. version can be "1.0",
    "1.1" or "1.2" (The default is "1.1")

--add <type> <path>  Add the file given in path to the device as the given type

    type should be a IANA registered mimetype or your own type.
    Common types are:

    - "text/x-vcard" for contacts,
    - "text/x-vcalendar" for events,
    - "text/plain" for notes and
    - "text/x-vMessage" for SMS

    path to the file to add. The file has to be a VCard, VCalendar, etc.

[--wbxml] Use wbxml (WAP Binary XML) instead of plain xml

[--recvLimit <limit>] Limit the size of the receiving buffer to this size (Needed for some phones)

[--maxObjSize <limit>] The maximum size of a object that we can receive (Needed for some phones)

[--useStringTable] Use wbxml string tables (Improves transmission size, but not supported by some phones)

[--dumpinfo] Print info about the phone at the end which can be sent to the developers

EXAMPLES
If you want to display the contacts for example you could type:

    syncml-obex-client -u 0 --identifier "PC Suite" --sync text/x-vcard Contacts

The number after -u has to be the interface number of "SYNCML-SYNC". With the identifier you can tell the tool to identify itself as something different (like the Nokia PC Suite in the example). The --sync options states that you want to sync vcards and that your local database is named "Contacts". This example would send syncml as plain xml.
Another example:

    syncml-obex-client -u 0 --identifier "PC Suite" --sync text/x-vcard Contacts --sync text/x-vcalendar Calendar --wbxml

This would enable the usage of wap binary xml and get the contacts and the calendar entries (This example works for a Nokia 6680).

TROUBLESHOOTING
If it does not work try the following:
 - Run the syncml-obex-client commands as root.
 - Play with the identifier string
 - Switch between xml and wbxml using the --wbxml switch (Most devices use wbxml)
 - Change the name of the database ("Contacts" and "Calendar" in the example)
 - Phones (and parts of phones) crash quite often. You should restart your phone if everything fails and see if that helps

ENVIRONMENT VARIABLES
When you want to provide trace files please turn on tracing like this:

export SYNCML_TRACE=/path/to/log/dir
export SYNCML_LOG = /path/to/log/dir

Run the tool again with tracing enabled to get a trace (2 files in the log directory).

SEE ALSO
syncml-http-server(1)

AUTHORS

This manual page was written for the Debian GNU/Linux project by Matthias Jahn <jahn.matthias@freenet.de>. But it may be used by other distributions.

syncml-obex-client was written by Armin Bauer and the OpenSync project