I am using Raspberry Pi as a BLE Peripheral and nRF Connect tool as BLE Client. In Raspberry Pi, I'm running Simple Agent Test Program, Advertisement Program and Gatt Server Program given in the Bluez Test Folder.
From the nRF Connect Tool, I, first bonded the devices and connected the devices. I have attached the dbus logs for the process.
- While bonding, the log shows the following
signal time=1595076323.849939 sender=:1.15 -> destination=(null destination) serial=863 path=/org/bluez/hci0/dev_04_C8_07_BC_23_7A; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
string "org.bluez.Device1"
array [
dict entry(
string "Connected"
variant boolean true
)
]
array [
]
method call time=1595076324.986873 sender=:1.15 -> destination=:1.79 serial=864 path=/test/agent; interface=org.bluez.Agent1; member=RequestConfirmation
object path "/org/bluez/hci0/dev_04_C8_07_BC_23_7A"
uint32 243301
While connecting, the log shows the following:
signal time=1595076345.854856 sender=:1.15 -> destination=(null destination) serial=868 path=/; interface=org.freedesktop.DBus.ObjectManager; member=InterfacesAdded object path "/org/bluez/hci0/dev_7A_5D_49_4F_ED_08" array [ dict entry( string "org.freedesktop.DBus.Introspectable" array [ ] ) dict entry( string "org.bluez.Device1" array [ dict entry( string "Address" variant string "7A:5D:49:4F:ED:08" ) dict entry( string "AddressType" variant string "random" ) dict entry( string "Alias" variant string "7A-5D-49-4F-ED-08" ) dict entry( string "Paired" variant boolean false ) dict entry( string "Trusted" variant boolean false ) dict entry( string "Blocked" variant boolean false ) dict entry( string "LegacyPairing" variant boolean false ) dict entry( string "Connected" variant boolean true ) dict entry( string "UUIDs" variant array [ ] ) dict entry( string "Adapter" variant object path "/org/bluez/hci0" ) dict entry( string "ServicesResolved" variant boolean false ) ] ) dict entry( string "org.freedesktop.DBus.Properties" array [ ] ) ]
I am confused with the following:
While bonding and connecting the paths are different:
/org/bluez/hci0/dev_04_C8_07_BC_23_7A
and/org/bluez/hci0/dev_7A_5D_49_4F_ED_08
. Does it mean, to the Rasperry Pi, the device appears different while bonding and connecting?If it is bonded, then shouldn't the Paired and Trusted fields be True while connecting (which is not, from the log)?
While trying to read an encrypted characteristic, the bond is deleted and connection is also disconnected.