Hi all,

I am trying to run iotivity over bluetooth low energy in linux but it does not 
work. The client is able to get the Gatt services from the server and make the 
discovery request but not able to receive the response. After some testing I 
found the function responsible to receive the responses is 
?CAGattClientOnCharacteristicPropertiesChanged? here: 
https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L84
 
<https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L84>

This function is connected to the PropertiesChanged signal after the 
GattServices discovery happens, here: 
https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L279
 
<https://github.com/iotivity/iotivity/blob/1.1-rel/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c#L279>

I made sure that the correct characteristic is being connected by putting some 
logs: 

51:25.146 DEBUG: BLE_INTERFACE:   Discovering -> true
51:25.146 INFO: BLE_CLIENT: IN CAGattClientSetupCharacteristics
51:25.166 INFO: BLE_CLIENT: connecting  
CAGattClientOnCharacteristicPropertiesChanged, UUID: 
e9241982-4580-42c4-8831-95048216b256
51:25.276 INFO: BLE_CLIENT: is g-properties-changed connected: 1

I then use dbus-monitor to check if the signal is fired, and this is the first 
chunk of data sent by the device:

signal sender=:1.5 -> dest=(null destination) serial=444 
path=/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f; 
interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.bluez.GattCharacteristic1"
   array [
      dict entry(
         string "Value"
         variant             array of bytes [
               d8 c6 45 f4 46 69 9d a0 05 4f 47 b3 6f 69 63 03 72 65 73 11
            ]
      )
   ]
   array [
   ]

I then checked if the UUID of the characteristic was correct with bluetoothctl:

[bluetooth]# attribute-info 
/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f
Characteristic - Vendor specific
        UUID: e9241982-4580-42c4-8831-95048216b256
        Service: /org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c
        Value: 0xff
        Value: 0xff
        Notifying: yes
        Flags: notify
        Descriptors: 
/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f/desc0011

And as you can see everything looks correct, but the callback of the 
characteristic is not called (I put a log in the first line of it). Does anyone 
have an idea of what is happening, or can reproduce this bug?

Thanks,
Hudo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160719/2d066280/attachment.html>

Reply via email to