Hello, I'm trying to setup a RPi0 operating a Bluetooth device; I've setup the device using the following call: --- #configure the bluetooth hardware device def init_bt_device(self): print("Configuring for name " + BTKbDevice.MY_DEV_NAME) #set the device class to a barcode scanner and set the name os.system("hciconfig hcio class 0x002560") os.system("hciconfig hcio name " + BTKbDevice.MY_DEV_NAME) #make the device discoverable os.system("hciconfig hcio piscan") Then after that I attempt to setup the profile using the following code: --- #set up a bluez profile to advertise device capabilities from a loaded service record def init_bluez_profile(self): print("Configuring Bluez Profile") #setup profile options service_record=self.read_sdp_service_record() opts = { "ServiceRecord":service_record, "Role":"server", "RequireAuthentication":False, "RequireAuthorization":False, "Name":BTKbDevice.MY_DEV_NAME, "AutoConnect":True } #retrieve a proxy for the bluez profile interface bus = dbus.SystemBus() self.manager = dbus.Interface(bus.get_object("org.bluez","/org/bluez"), "org.bluez.ProfileManager1") self.profile = BTKbBluezProfile(bus, BTKbDevice.PROFILE_DBUS_PATH) self.manager.RegisterProfile(BTKbDevice.PROFILE_DBUS_PATH, BTKbDevice.UUID, opts) print("Profile registered ") --- The sdp record is available from https://textuploader.com/dv8xt. The profile in question is basically the same as the one defined in the test-profile as shown below: --- class BTKbBluezProfile(dbus.service.Object): fd = -1 @dbus.service.method("org.bluez.Profile1", in_signature="", out_signature="") def Release(self): print("Release") mainloop.quit() @dbus.service.method("org.bluez.Profile1", in_signature="", out_signature="") def Cancel(self): print("Cancel") @dbus.service.method("org.bluez.Profile1", in_signature="oha{sv}", out_signature="") def NewConnection(self, path, fd, properties): self.fd = fd.take() print("NewConnection(%s, %d)" % (path, self.fd)) for key in properties.keys(): print ('key ' + key + ' value ' + properties[key]) if key == "Version" or key == "Features": print(" %s = 0x%04x" % (key, properties[key])) else: print(" %s = %s" % (key, properties[key])) @dbus.service.method("org.bluez.Profile1", in_signature="o", out_signature="") def RequestDisconnection(self, path): print("RequestDisconnection(%s)" % (path)) if (self.fd > 0): os.close(self.fd) self.fd = -1 def __init__(self, bus, path): dbus.service.Object.__init__(self, bus, path) --- However it seems like the profile is not being registered, or least the methods in the profile are not being called. I'm sorry to ask such a basic question but can someone please point me in the right direction as to why the profile is either not being registered or the callbacks on the profile are not being called. Thank you very much for reading this far and any and all help is most appreciated! Cheers, Neil -- Neil Benn MSc Ziath Ltd Phone: +44 (0) 1223 855021 http://www.ziath.com Please consider the environment before printing this email.