>>> The usbmon log on that web site don't show what happens when you unload >>> the drivers. And the dmesg log doesn't say what you are doing at each >>> stage. >> >> sorry about that. here are complete annoatated logs of : >> reboot >> modprobe usbhid >> modprobe -r usbhid >> modprobe usbkbd >> modprobe -r usbkbd >> modprobe usbhid >> >> http://www.missl.cs.umd.edu/~adam/cy/cy.complete.usbmon.txt >> http://www.missl.cs.umd.edu/~adam/cy/cy.complete.dmesg.txt > > There isn't much difference between what usbhid does and what usbkbd does. > In fact, the only differences are these: usbhid does a Set Idle and a Get > Report Descriptor and usbkbd doesn't. Both of them apparently succeed, > but then the device stops responding. > > Now, there's no way to avoid doing the Get Report Descriptor -- without > that usbhid wouldn't know how to communicate with the device at all; it > wouldn't even know what the device did! But you can eliminate the Set > Idle and see what happens. > > Do you feel up to patching your kernel? The change needed is a simple > one. In the source file drivers/usb/input/hid-core.c, find the > hid_set_idle() routine and simply stick a "return 0;" line at its start.
ah, sweet! I can confirm that it makes difference. Before I had to reload usbkbd module to make remote work. Now, I can reload usbhid module to make remote work. So it is progress. However, once I unplug remote and plug it in, I still need to reload either of the modules. There does not seems to more sleep routines in 'core' and 'host' directories, so I guess it is something else. # diff -u input/hid-core.c{-backup,} --- input/hid-core.c-backup 2006-12-02 22:46:34.000000000 +0100 +++ input/hid-core.c 2006-12-02 22:47:19.000000000 +0100 @@ -1344,6 +1344,7 @@ static int hid_set_idle(struct usb_device *dev, int ifnum, int report, int idle) { + return 0; return usb_control_msg(dev, usb_sndctrlpipe(dev, 0), HID_REQ_SET_IDLE, USB_TYPE_CLASS | USB_RECIP_INTERFACE, (idle << 8) | report, ifnum, NULL, 0, USB_CTRL_SET_TIMEOUT); -- Adam Sulmicki http://www.eax.com The Supreme Headquarters of the 32 bit registers ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel