I have an HP thin client (model t5325) which runs Debian Linux (kernel 18.104.22.168-1-armel). We are testing some kiosk keyboards from Operator Interface Technology which are presenting themselves to Linux as HID devices, but the OS will not bind the
usbhid driver to the device and allow them to function properly. Here is what the devices list show for the keyboard when connected:
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 13 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=04d8 ProdID=ffd5 Rev= 1.73 S: Manufacturer=Operator Interface Technology, Inc. S: Product=QVP01T S: SerialNumber=00003502 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=(none) E: Ad=82(I) Atr=03(Int.) MxPS= 3 Ivl=10ms
As you can see, the "Driver" for the two interfaces on the device shows "(none)" and isn't bound to anything. I have tried to bind the device directly to the driver to no avail:
root@TC-40041:/sys/bus/usb/drivers/usbhid# echo -n "1-1.1:1.0" > bind -bash: echo: write error: No such device
I have also tried adding the vendor/product ID to the
new_id file for the
usbhid driver and get the same result:
root@TC-40041:/sys/bus/usb/drivers/usbhid# echo 04d8 ffd5 > new_id root@TC-40041:/sys/bus/usb/drivers/usbhid# echo -n "1-1.1:1.0" > bind -bash: echo: write error: No such device
1-1.1:1.0 comes from the USB device list:
root@TC-40041:/proc/bus/usb# ls -l /sys/bus/usb/devices total 0 lrwxrwxrwx 1 root root 0 Nov 30 12:08 1-0:1.0 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-0:1.0 lrwxrwxrwx 1 root root 0 Nov 30 12:08 1-1 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-1 lrwxrwxrwx 1 root root 0 Nov 30 14:10 1-1.1 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-1/1-1.1 lrwxrwxrwx 1 root root 0 Nov 30 15:11 1-1.1:1.0 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-1/1-1.1/1-1.1:1.0 lrwxrwxrwx 1 root root 0 Nov 30 15:11 1-1.1:1.1 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-1/1-1.1/1-1.1:1.1 lrwxrwxrwx 1 root root 0 Nov 30 12:08 1-1:1.0 -> ../../../devices/platform/ehci_marvell.70059/usb1/1-1/1-1:1.0 lrwxrwxrwx 1 root root 0 Nov 30 12:08 usb1 -> ../../../devices/platform/ehci_marvell.70059/usb1
The keyboard works okay when plugged into a Windows 7 PC (though it did go through a discovery process and install a device driver on its own). The vendor claims the keyboards are designed as generic HID interfaces and should work on any modern operating system with USB support. We have similar keyboards from another vendor which present themselves in much the same way to the operating system and they bind to the
usbhid driver without error and work perfectly. These do not.
Have we missed anything? Are there other way we can attempt to bind the driver or have these keyboards work properly with Debian Linux?