When using bluez-pin via dbus (manually started bluez-pin --dbus for now; see related bug 185208) and attempting to pair with a device, I get the following in the syslog: Mar 11 15:39:55 caladan hcid[24662]: pin_code_request (sba=00:14:A4:D4:CE:99, dba=00:0F:86:26:BF:9B) Mar 11 15:39:55 caladan hcid[24662]: org.bluez.Error.WrongArgs: Byte array expected, other type given and the following outputted by bluez-pin: 24678: arguments to dbus_message_iter_get_fixed_array() were incorrect, assertion "(subtype == DBUS_TYPE_INVALID) || dbus_type_is_fixed (subtype)" failed in file dbus-message.c line 1743. This is normally a bug in some application using the D-BUS library. Consequently I cannot properly pair a device using the default configuration for hcid. If I edit hcid.conf and change: # PIN helper #pin_helper /usr/bin/bluepin; # D-Bus PIN helper dbus_pin_helper; to this: # PIN helper pin_helper /usr/bin/bluepin; # D-Bus PIN helper #dbus_pin_helper; (i.e. bypass dbus) then I am properly prompted for a passkey.
bluez-utils failed to keep up with dbus and its ever-changing API. I think they're (at least briefly) in sync now.