obex-data-server 0.4

October 17, 2008 on 4:54 pm | In obex-data-server | 5 Comments

obex-data-server 0.4 released: http://tadas.dailyda.com/software/obex-data-server-0.4.tar.gz.

0.4 finally gets released. Major highlights of this release are BIP profile support, USB transport support (ATM only for sessions), Bluez 4.x support (remains compatible with Bluez 3.x as well) and last but not least: capability object support for FTP and BIP servers. Many other new features and lots of bug fixes also included :)

0.4 API is incompatible with 0.3.4. See what has changed: Migrating to 0.4.
Also take a look at:
new API docs
Building obex-data-server
Configuring obex-data-server


  • Implement partial BIP profile support (ImagePush and RemoteDisplay features supported)
  • Add support for Bluez 4.x (also still compatible with Bluez 3.x)
  • Add support for USB transport (only for Sessions ATM)
  • Add a way to cancel Session connection (Manager.CancelSessionConnect)
  • FTP servers now expose a capability object
  • When creating new files, set permissions according to umask
  • Add a way to specify source Bluetooth adapter for Sessions (changed CreateBluetoothSession)
  • Let applications know about all sessions/servers running (GetServerList(), GetSessionList() methods)
  • Lots of other bug fixes


RSS feed for comments on this post. TrackBack URI

  1. Tadas,

    Thank you once again for all your work on this release, some really excellent progress made from 0.3.4, really solid release!



    Comment by Heston James — October 17, 2008 #

  2. Tadas,

    I was using obex-data-server-0.3.4, but always used to get timeout when using CreateBluetoothSession DBUS call. I heard that the timeout issue is fixed in the new release
    obex-data-server 0.4 . However I see some issues with the release

    1) The ifdef seems to have been reversed.(or the comments at least.
    The BlueZ API sdp_extract_seqtype() takes in 3 parameters in rel 3.xx , and since this release uses 4 parameters (bytesleft seems to be extra) it gives linking issues.

    #ifdef USE_BLUEZ3FUNCS
    /* Using Bluez 3.x */
    scanned = sdp_extract_seqtype_safe(rsp, bytesleft, &dataType, &seqlen);
    /* Using Bluez 4.x */
    scanned = sdp_extract_seqtype(rsp,bytesleft,&dataType, &seqlen);
    #endif /* USE_BLUEZ3FUNCS */

    Also any help in CreateBluetoothSession() failing for me due to timeout is greatly appreciated.


    Comment by Ajay — October 23, 2008 #

  3. In Bluez 3.x there were sdp_extract_seqtype and sdp_extract_seqtype_safe functions, in Bluez 4.x sdp_extract_seqtype_safe was renamed to sdp_extract_seqtype. So we are effectively calling the same function, just the name is different. As you can see in that code snippet, it’s used just like that and I used ods with Bluez 3.x for quite some time successfully. When running ./configure, it detects if libbluetooth has sdp_extract_seqtype_safe function, if it does, it is Bluez 3.x.

    Timeout issue is totally solved, see migration to 0.4 API guide. Basically what you do is listen to SessionConnected and SessionConnectError signals on Manager object prior to calling CreateBluetoothSession()


    Comment by admin — October 23, 2008 #

  4. Hi Tadas,

    Well I am using bluez-utils version 3.32 and am unable the function sdp_extract_seqtype_safe()
    but instead has in sdp_lib.h sdp_extract_seqtype() which takes in 3 paramters. So I wonder the if
    3.x switch is compatible with 3.32 version.

    int sdp_extract_seqtype(const uint8_t *buf, uint8_t *dtdp, int *seqlen);

    I am cross compiling the libraries using Montavista toolchain for ARM9.

    I had make the A2DP profile working and thought of proceeding with OBEX implementation.

    But when using obex-data-server version 0.3.4 I get segmentation fault.

    Logs below .. I traced it to something going wrong in cb_data = g_new0 (OdsManagerCreateBluetoothSessionData, 1);
    (line 682 in ods-manager.c)

    [email protected](none):/opt/gnome/usr/bin# ./obex-data-server –no-daemon &
    [1] 803
    [email protected](none):/opt/gnome/usr/bin# INIT doe
    ** Message: obex-data-server 0.3.4
    ** Message: Using Session bus

    [email protected](none):/home# ./ods-dbus-test

    #./ods-dbus-test 00:18:13:19:62:6E “opp” /root/sample-pictures/Test.jpg
    ** Message: CreateBluetoothSession (“00:18:13:19:62:6E”, “opp”)

    ** (process:828): WARNING **: Error: Message did not receive a reply (timeout by message bus)
    [1]+ Segmentation fault ./obex-data-server –no-daemon (wd: /opt/gnome/usr/bin)

    Comment by Ajay — October 25, 2008 #

  5. Just update your bluz-libs to 3.36.
    That other issue is a crasher, go to wiki.muiline.com/obex-data-server and read “Reporting bugs” then report it properly in bug tracker, but you should test with ods 0.4, not 0.3.4. I don’t think it is worth maintaining 0.3 series anymore.

    Comment by admin — October 25, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^