Important: Please read the Qt Code of Conduct -

Unable to get QBluetoothLocalDevice on Linux Embedded system using Uart Bluetooth device.

  • Hi,

    I have a Linux embedded device using Linux kernel 3.17 and a WiLink 8 wireless module as Bluetooth device (uses UART) (see Gumstix AirStorm-y). Also, I have Qt 5.3.2 and Bluez 4.101 installed on it.

    My problem is when I execute my Qt app, I can't get information on my bluetooth device using QBluetoothLocalDevice. For example, QBluetoothLocalDevice::allDevices() always returns an empty list and QBluetoothLocalDevice::address() always returns "00:00:00:00:00:00". If I try to execute the chat example, I get the 'Cannot bind chat server to "00:00:00:00:00:00"' error.

    I'm sure my bluetooth device is up and running:
    hci0: Type: BR/EDR Bus: UART
    BD Address: 5C:31:3E:CE:C3:CE ACL MTU: 1021:6 SCO MTU: 180:4
    RX bytes:657 acl:0 sco:0 events:37 errors:0
    TX bytes:979 acl:0 sco:0 commands:37 errors:0
    I can also do scan using hcitools.
    Dbus is also running correctly, when I do "dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.DefaultAdapter" I get:
    method return sender=:1.5 -> dest=:1.12 reply_serial=2
    object path "/org/bluez/1743/hci0"

    In my app, everything else seems to work just fine (I a have a QTCPserver and file manager with QFileSystemWatcher), it's only the BLuetooth part I can't manage to make it worked.

    I hope that someone has an idea why it doesn't work, or better yet, a solution to my problem,
    any help would be much appreciated,
    Thank you in advance


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    If possible, you should upgrade to 5.5, IIRC, there's been a lot of work done in the bluetooth module for it.