Search for a virtual USB HID driver

We have developed a special communication tool for use on a wheelchair for controlling lights, etc. We use Z-wave . We have an application to manage these devices through a PC.

Unfortunately, the application expects a USB drive. Our design does not allow you to connect a USB drive. Instead, we use a serial interface module that connects to a PC via Bluetooth and a virtual computer. We know that the application uses the HID standard wind band. (third-party driver is not involved)

We were wondering if we could use the HID wrapper driver, which mimics the USB and PnP identifiers in such a way that the application considers the stick to be connected and then connects the data of the Bluetooth virtual copy with the application.

+4
source share
3 answers

Yes, I think this is possible, it can be quite interesting, I never thought about modeling a HID device from a PC. Does anyone in your group have experience developing drivers? If not, get ready for a steep learning curve.

Question: with "USB stick" do you mean a USB stick containing a file with instructions or some type of HID device, such as a mouse or joystick, as indicated in the header?

This does not matter, although in any case, of course, you can write a driver to simulate it from a PC. Regardless of whether it is economical for your store / project to support you to the point that you can do this, this is the main question. This will definitely not be a code that you can cut on the weekend.

+5
source
+3
source

Its quite interesting ... I want to know more about your existing device, that is, "The USB drive is actually a radio transmitter."

How does it connect to a PC? is it via a USB cable (like a virtual COM port)? or you are using any USB-UART adapters (USB-RS232), such as those mentioned in the following link ( http://www.ftdichip.com/Products/Cables/USBRS232.htm ) between your transceiver and PC. that is, a USB to serial adapter fits between your device and the PC.

  • If your device is directly connected to the PC’s USB port (like a virtual COM port), I have one solution for you. We need to develop a WDM or WDF USB HID mini-driver for kernel mode, so after installing our driver, your virtual COM device will be visible on the PC host and PC application as a USB-HID device. In this HID minidriver, we can define a high-level custom HID collection in the HID report descriptor, so that sometime the application you said expects the device to be easily connected as a USB-HID device through HID API calls such as HidD_GetFeature, HidD_SetFeature, HidD_GetInputReport, HidD_SetOutputReport, even ReadFile and WriteFile functions.

  • But if your transceiver has an RS232 D9 port, you may have to insert a USB-serial adapter, as I said, to the PC and your transceiver. In this case, we need to develop a UMDF USB Hid mini-driver with a top-level custom HID collection in the HID report descriptor. This driver will be a fully virtual driver and is tied to the device manager along with a virtual COM port. An HID-compatible application will contact this virtual driver and see the transceiver as a USB-HID device, although this is actually a COM port. The UMDF driver will take care of the communication between the virtual com port and the HID application.

Please let me know if you have any doubts or are looking for any further clarifications.

0
source

All Articles