[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