Change Driver Being Used?
Hello All, We're working with a hardware bumpbar* for our current application, and we're noticing some odd behavior with it. When we use it with a Raspberry Pi 2 or 3, we see that the input repeats. Example: I press the down arrow on the bumpbar, and our application will be spammed by an infinite number of down presses until we interrupt it with another key press. However, when we do the exact same test and use the Dragonboard, it works flawlessly. At the end of day, the bumpbar should be able to function as a standard USB keyboard. So I've been digging into the devices on my Rpi3 to see what may be going on. I've managed to come up with the following three device entries, the first for the standard USB keyboard and the next are what appear when I plug in the bumpbar. USB Keyboard: HID\VID_03F9&PID_0100\6&1117E0C3&0&0000 Name: Key Tronic USB Keyboard Hardware IDs: HID\VID_03F9&PID_0100&REV_0102 HID\VID_03F9&PID_0100 HID\VID_03F9&UP:0001_U:0006 HID_DEVICE_SYSTEM_KEYBOARD HID_DEVICE_UP:0001_U:0006 HID_DEVICE Logic Control Bumpbar: HID\VID_0FA8&PID_C280&MI_01\7&18F1AF3C&0&0000 Name: HID-compliant mouse Hardware IDs: HID\VID_0FA8&PID_C280&REV_0263&MI_01 HID\VID_0FA8&PID_C280&MI_01 HID\VID_0FA8&UP:0001_U:0002 HID_DEVICE_SYSTEM_MOUSE HID_DEVICE_UP:0001_U:0002 HID_DEVICE HID\VID_0FA8&PID_C280&MI_00\7&12E22F7&0&0000 Name: HID Keyboard Device Hardware IDs: HID\VID_0FA8&PID_C280&REV_0263&MI_00 HID\VID_0FA8&PID_C280&MI_00 HID\VID_0FA8&UP:0001_U:0006 HID_DEVICE_SYSTEM_KEYBOARD HID_DEVICE_UP:0001_U:0006 HID_DEVICE I realize that the KB1700 isn't on the approved hardware list (https://developer.microsoft.com/en-us/windows/iot/win10/supportedinterfaces#Miscellaneous) but I'm wondering if it's possible to somehow tell Win10IoT to use a different hardware profile for the bumpbar device? Is there a utility that I'm missing that would let me change the hardware IDs for the bumpbar to match the basic USB keyboard? Thanks for help or direction that anyone could provide. *Logic Controls KB1700 (http://bematechus.com/products/peripherals/programmable-keyboards/kb1700/)
Hi Dallas, Potentially this is not a driver issue but could be a USB stack issue. From the IoT Dev: The simple difference is that USB stack on RPi is from MCCI and on Dragonboard it is from Qualcomm. Here is what I suggest – try it with MBM, which uses USB stack from Microsoft. If that programmable keypad works fine with MBM, then issue is RPi specific and go from there. USB protocol analyzer would certainly help to capture the problematic situation and then check is it keyboard get stuck with key or USB stack on RPi2 cannot clear key event. I doubt they need to reprogram device descriptor. I hope that helps! Sincerely, IoTGirl
Hi There, Thank you for the report. The Raspberry Pi and Dragon use different USB stacks and drivers, so there is likely a compatibility issue. We do not have this device in house. Would it be possible for you post a raw USB trace from both the Dragon and the Pi using a protocol analyzer? A hardware based solution like a Beagle (http://www.totalphase.com/products/beagle-usb12/) would be required so you can monitor traffic from your development machine for traffic occurring between the USB device and the IoT Core device. If you are not able to, could you post a method for us to acquire such device? Thanks, Lou
Hi there, We are acquiring unit to test this out. Thanks for the report, Lou
SerialSample sends wrong Data
Prioritize Ethernet Connection Over Wifi Connection
Pi 3 keeps restarting during boot
Execute powershell commands from an exe(Windows form application) used in UWP app deployed on Dragonboard
Windows 10 IoT Enterprise UWF Servicing Screensaver
Calling Application.Current.Exit() in UWP cause Windows IoT Bluescreen?
W10 LTSB 2016 missing features?
IoTOnboardingTask Startup App
"Windows failed to start"
[UWP][UWF] What exclusion required in Unified Write Filter to preserve ApplicationLanguages.PrimaryLanguageOverride
v.10.0.15063.297 - USB, Ethernet, Onscreen keyboard, and more not working
Intel Joule Windows IoT Application Deployment
Using datawriter on a serial port output stream crashes application hard when calling StoreAsync()
Does SerialDevice.IsDataTerminalReadyEnabled work on RPi?
Is Windows 10 IoT still a thing for "Makers"?
Controlling raspberry pi with an application on Windows PC