<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all,<br class=""><br class="">I am trying to debug a problem I am having with an IoT framework (Iotivity). The client side of the framework cannot receive data from the server through bluetooth. After digging the code, I found the problem is the callback responsible for receiving the data is not being called. <br class=""><br class="">The callback is connected to the PropertiesChanged signal after the GattServices discovery happens, here: <a href="https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L279" class="">https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L279</a><br class=""><br class="">And it is defined here: <a href="https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L84" class="">https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L84</a><br class=""><br class="">I put some logs to be sure that the right characteristic is being connected, and it is:<br class="">46:43.819 INFO: BLE_CLIENT: IN CAGattClientSetupCharacteristics<br class="">46:43.839 INFO: BLE_CLIENT: connecting CAGattClientOnCharacteristicPropertiesChanged, UUID: e9241982-4580-42c4-8831-95048216b256<br class="">PATH: /org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f<br class="">46:43.969 INFO: BLE_CLIENT: is g-properties-changed connected: 1<br class=""><br class="">I also monitored the bus with dbus-monitor and I got the signals that I was looking for:<br class="">signal sender=:1.4 -> dest=(null destination) serial=953 path=/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged<br class=""> string "org.bluez.GattCharacteristic1"<br class=""> array [<br class=""> dict entry(<br class=""> string "Value"<br class=""> variant array of bytes [<br class=""> d8 c6 45 a2 98 02 40 3a 7d 8b e7 b3 6f 69 63 03 72 65 73 11<br class=""> ]<br class=""> )<br class=""> ]<br class=""> array [<br class=""> ]<br class="">signal sender=:1.4 -> dest=(null destination) serial=954 path=/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged<br class=""> string "org.bluez.GattCharacteristic1"<br class=""> array [<br class=""> dict entry(<br class=""> string "Value"<br class=""> variant array of bytes [<br class=""> 3c e1 fe db c0 ff 81 bf 62 64 69 60 65 6c 69 6e 6b 73 83 a4<br class=""> ]<br class=""> )<br class=""> ]<br class=""> array [<br class=""> ]<br class="">But the “CAGattClientOnCharacteristicPropertiesChanged” callback is never called.<br class=""><br class="">I posted this same issue in their mailing list but had no help. So I though someone here with more experience with bluetooth could help me in debug this problem further. I was looking for a way to check which signal handlers are connected to the dbus object through command line but I couldn’t find.<br class=""><br class="">More info:<br class="">BlueZ 5.37<br class="">Kernel 3.10<br class=""><br class="">Thanks,<br class="">Hudo.</body></html>