On Thu, Jul 25, 2002 at 06:34:09PM +0900, MOKUNO Masakazu wrote: > Hi all, > > Does anyone know the reason why the following lines were removed from 2.5 > kernel? > > --- > usb_kbd_probe() usbkbc.c:192 > > usb_set_protocol(dev, interface->bInterfaceNumber, 0); > usb_set_idle(dev, interface->bInterfaceNumber, 0, 0); > --- > > These ones exist in 2.4 kernel. I think they are still needed in 2.5 > kernel. > > Section 7.2.6 of USB HID specification 1.11 states that > > "When initialized, all devices default to report protocol. However > the host should not make any assumptions about the device's state and > should set the desired protocol whenever initializing a device." > > So usb_set_protocol() is needed especially for boot protocol kbd/mouse drivers.
Yes, and no. Actually it doesn't do anything on every keyboard/mouse I've seen. They have Boot Protocol compatible layout even in their 'native' mode and just ignore the command. > And it is better to use usb_set_idle(dev, ... , 0, 0) so that bus usage > can be more efficient. Without this initialization, the keyboard > transfers scancodes(usage id) on every interrupt period. If use > usb_set_idle(,,0,0), it reports just NAKs until actual key presses are > occurred. > > Same issues exist in usbmouse.c and hid-core.c. Yes, but a large amount of keyboards just crashes after receiving the set_idle command. -- Vojtech Pavlik SuSE Labs ------------------------------------------------------- This sf.net email is sponsored by: Jabber - The world's fastest growing real-time communications platform! Don't just IM. Build it in! http://www.jabber.com/osdn/xim _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
