On 11/16/2010 11:57 AM, Greg KH wrote: > On Tue, Nov 16, 2010 at 10:59:45AM -0400, Charles Tassell wrote: >> [snip] >> Something triggers the kernel to unregister the device from the input >> layer... > Something from userspace perhaps? Do you have any other programs > running on your system that might do this? > > thanks, > > greg k-h Hmm, I thought it might be HALd but I stopped that and it made no difference. I tried it on another machine (an ARM embedded box running an old Ubuntu) and dmesg shows this: [ 1074.880000] usb 1-1.3: new low speed USB device using fsl-ehci and address 9 [ 1075.000000] usb 1-1.3: configuration #1 chosen from 1 choice [ 1075.010000] input: Metrologic Metrologic Scanner as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input4 [ 1075.030000] generic-usb 0003:0C2E:0200.0003: input: USB HID v1.11 Keyboard [Metrologic Metrologic Scanner] on usb-fsl-ehci.0-1.3/input0 [ 1075.170000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.190000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.200000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.220000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.230000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.250000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.270000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.280000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.300000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.310000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.330000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.350000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.360000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.380000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.390000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1075.410000] usb 1-1.3: USB disconnect, address 9 [ 1075.410000] drivers/hid/usbhid/hid-core.c: can't reset device, fsl-ehci.0-1.3/input0, status -71 [ 1078.720000] usb 1-1.3: new low speed USB device using fsl-ehci and address 10 [ 1078.840000] usb 1-1.3: configuration #1 chosen from 1 choice So I'm guessing this device doesn't respond properly to the HID reset request, so the kernel won't register it as a HID device. I'm thinking of trying to rebuild hid-core.c to not check the rc of usb_lock_device_for_reset in the hid_reset() function to see if that works... Is there some way from userspace to override this check instead? Also, here is the dump of /var/log/messages from when I insert the device as Alan thought it might be helpful. I'm rebuilding my kernel now to support debugfs and usb gadgets so I can try to generate a usbmon dump. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html