Tuesday, December 23, 2014

Bluedevil 2.1 released

I am happy to announce that new version of Bluedevil is out!

On 3rd December, I have released Bluedevil 2.0. It was a first stable release that supported Bluez 5 and it contained mainly crash fixes over 2.0-rc1. Unfortunately, there was also a big regression.
Libbluedevil was automatically enabling (power on) all adapters that have been found. However, this behavior was causing issues that even if the user disabled Bluetooth, it was enabled again after reboot. So the libbluedevil was adjusted not to automatically change powered state of any adapters. The problem is that Bluez is not enabling adapters at startup, so as a result, Bluetooth was now always disabled on startup.

In the new 2.1 release, powered state of all adapters is saved and restored in Bluedevil daemon. Another change is that the alias of adapter will be used in every place where name of adapter is displayed. It was always possible to change alias of adapter in KCM, but it wasn't actually used anywhere.

There is also one small improvement in kio_obexftp. It will show icons of storage types in root folder of obexftp filesystem. It should work correctly with Nokia (S40, Symbian) and Android (KitKat, Lollipop) devices. If you find any issue with the icons, please let me know.

Storage icons on Android phone

Bugs fixed in 2.1:
  • remember powered state of all adapters #337193
  • monolithic (Bluetooth icon) will now be correctly hidden in system tray when all adapters are powered off #341768
  • monolithic will now be removed from system tray when there are no adapters
  • action to send files over Bluetooth will now be shown only for file that can actually be sent (only local files)
  • PIN in pairing wizard will now be accepted only after clicking "Matches" button
  • kio_obexftp should now better handle errors and correctly reconnect after losing connection #321560
  • kio_bluetooth will not crash when trying to access invalid device

bluedevil: bluedevil-2.1.tar.xz
libbluedevil: libbluedevil-2.1.tar.xz


  1. i see you have access to the external sd card.

    i never had access to the external sd card of my smartphone.

    i use :
    samsung S2 plus with android 4.2.2 and the "astro bluetooth module" which supplies obex ftp support .

    where is the pb ? android 4.2.2 ? astro bluetooth module ?


    1. Hi,
      the problem must be in Astro Bluetooth module. Maybe there is an option to also export external sd card to obexftp file system?

    2. there is no option in astro bluetooth.

      android 4.2.2 bluetooth does not supplies any obex ftp support .

      do you know a better android app which supplies obex ftp support ?


    3. Unfortunately not. I am now using CyanogenMod and it supports obex ftp out-of-the-box.

  2. I'm really glad you're working on this, and the Dolphin screenshot you posted reminded me to ask if a developer could make the "obexftp: 40-78-6a-0b-39-74" textual folder location label more human-friendly, rather than machine-friendly.

    Is it possible? Maybe saying something like "Bluetooth: (something simple)"...?

    I ask because I install KDE systems on my friend's computers and they love it, but they're not technical like I am and these little details make them uncomfortable.

    1. Hi, I've been looking in this too. But unfortunately, it looks like this is not supported by KIO afaik.

  3. For some reason all access from bluedevil 2.1 to Bluez 5.37 do fail. I looks like dbus protections are in it's way.
    Can someone describe what is actualy needed to get things roling?

    The kernel Bluetooth side & bluez can pair/detect & communicate with various equipment. Bluedevil thinks there are no devices and everything is powered down, powerup doesn't work:
    Feb 04 20:27:29 [dbus] [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.47" (uid=2000 pid=2017 comm="kdeinit4: kcmshell4 [kdeinit] bluedeviladapters") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=1930 comm="/usr/libexec/bluetooth/bluetoothd "

    1. Can you try if you can get some output from:

      qdbus --system --literal org.bluez / org.freedesktop.DBus.ObjectManager.GetManagedObjects

      If not, then you are not either running BlueZ 5, or there is issue with permissions. By default, BlueZ ships with policy to allow normal users to acces org.bluez.

  4. Thanks for sharing this with so much of detailed information, its much more to learn from your article. Keep sharing such good stuff.
    ์‚ฌ์„คํ† ํ† 


  5. I'm so happy to finally find a post with what I want.

    The article has really peaks my interest.

  6. I read your article well It's been a great help I will visit you again to read your article. Thank you