Help getting USB keyboard active on MPC5200B&In-Reply-To=<GPECLCIGPLHEOMGPMCPAGENCFKAA.edjubenville at adelphia.net>
Michael Carey
MCarey at nearfield.com
Tue Sep 9 07:35:17 EST 2008
Hi Ed,
I have duplicated your problem with the Dell keyboard.
I then connected a Logitech keyboard and that worked.
I added a bunch of debug messages to track what was going on and I ended up in the function usb_find_interface_driver(...) in usb.c.
As far as I can tell, both keyboards are recognized by usb_match_id(...) in usb.c.
In the inner loop of that function;
728 id = usb_match_id(dev, interface, id);
729 if (id) {
730 down(&driver->serialize);
731 private = driver->probe(dev,ifnum,id);
732 up(&driver->serialize);
733 if (private != NULL)
734 Break;
735 }
736
For the Logitec keyboard, the usb_match_id(...) eventually finds a match and then calls driver->probe
- Result of Logitec probe -
keybdev_connect in drivers/usb/keybdev.c
keybdev.c: Adding keyboard: input1
input: USB HID v10.01 Keyboard [Logitech Logitech USB Keyboard] on usb1:4.0
usb: usb_find_interface_driver in drivers/usb/usb.c
... and then claims the interface in usb_driver_claim_interface(...)
For the Dell keyboard, the usb_match_id(...) eventually finds a match and then calls driver->probe.
But in this case, the probe function returns a null and the driver never claims an interface.
I got a little bit stuck after that. I have not figured out how the probe function works so I was not able to dig deeper.
I do believe that in both cases, the driver name is 'hid' and the id is 0xC02315BC.
I was wondering if anyone else knows how to connect a Dell keyboard to this driver or why it is not accepted by this driver.
Until then, I'm off to 'Keyboards Etc.' to get a Logitech keyboard.
Regards,
Michael Carey
More information about the Linuxppc-embedded
mailing list