Having some trouble after updating vom 3.31 to 3.36 with registering a passkeyagent. Taking a look at the sources I'm wondering couple of things. in 3.31: after adding a new adapter...hcid_dbus_register_device calls dbus_connection_create_object_path and this function of dbus-hci.c adds in data->user_data the adapter name/path (e.g /org/bluez/hci0) When a new passkeyagent registers calling the method register_passkey_agent from the method table security_methods (via the generic_table from dbus-helper.c) the following doesn't fail, since data isnt null: if (!data) { error("register_passkey_agent called without any adapter info!"); return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } In contrary in 3.36 dbus-helper.c is removed and you are more using GLib stuff. the mentioned function hcid_dbus_register_device of dbus-hci.c calls security_init without passing the adapter name. security_init finally calls g_dbus_register_interface without providing adapter name. finally if register_passkey_agent gets called, the following, _does fails_ : if (!data) { error("register_passkey_agent called without any adapter info!"); return NULL; } since the user_data was never filled. Everything seems also to be related with the usage of GLib or I mean because I disabled the usage of that Lib and your own implementation is used instead Is this a problem, isn't it? Sorry if I have demonstrated the problem not clearly. In that case just drop me a line I'll try again tomorrow after having some more sleep. Thanks, Johannes N.