Hi Ting, On Wed, Dec 12, 2012, Ting Chou wrote: > > That means that the profiles that are supposed to be supported with > > this device are not calling either device_set_auto_connect() or > > btd_device_add_attio_callback(). Both of those functions should cause > > bluetoothd to start doing passive scanning and try to connect to the > > device. Btw, which kernel version are you using. IIRC you'll need > > something like 3.5 or newer for LE passive scanning to work. > > > > I tried to let btd_device_add_attio_callback() get called by > > Characterisitc.DiscoverCharacteristics() I thought you said some internally supported profiles get detected? Why then do you need to use the ATT D-Bus interface? FWIW, since attrib/client.c implementation doesn't match what's documented and since there hasn't been anyone stepping up to update the code to use D-Bus properties we'll probably not have the entire Characteristic D-Bus interface in the 5.0 release. Instead, there's a plan to have a more comprehensive and generic GATT D-Bus API for both peripheral and central roles, which will probably land in 5.1 or one of the subsequent releases. > But still the Device1.Connect() after Device1.Disconnect() does not establish > the connection. connect_profiles() returns btd_error_not_available() since > !dev->pending: It seems you've misunderstood this part. If the functions I mentioned are used correctly you will not need to use Device.Connect at all. Instead bluetoothd will start doing passive scanning and automatically establish a connection to any device doing connectable advertising. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html