[Pkg-bluetooth-maintainers] Bug#642104: Bug#642104: bluez: bluetoothd refusing input device connection
scott leggett
sml at internode.on.net
Thu Oct 13 02:15:39 UTC 2011
Hi,
I did a little digging into the bluez code..
The error message appears to be caused by the call to input_device_set_channel() on line 89 of input/server.c:
ret = input_device_set_channel(&src, &dst, psm, chan);
if (ret == 0)
return;
error("Refusing input device connect: %s (%d)", strerror(-ret), -ret);
The ENOENT is returned when either the device, or the connection isn't able to be found (line 1209 of input/device.c):
int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm,
GIOChannel *io)
{
struct input_device *idev = find_device(src, dst);
struct input_conn *iconn;
if (!idev)
return -ENOENT;
iconn = find_connection(idev->connections, "hid");
if (!iconn)
return -ENOENT;
...
Not being familiar with the code I can't really say how find_device() or find_connection() is failing. My device does appear under /sys/:
$ find / -iname "*hci0*" 2> /dev/null
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/bluetooth/hci0
/sys/class/bluetooth/hci0
I hope this information gives some more ideas about what might be going wrong here.
Regards,
Scott.
More information about the Pkg-bluetooth-maintainers
mailing list