breadcrumbs:
When filing a WebHID bug, please attach some information so we can debug the issue.
Many issues only occur with a particular device. When filing a WebHID API bug, please provide a link to a page describing the device you are using so that other developers can identify it.
Examples:
chrome://device-log displays a filtered view of logs on multiple platforms.
If there are any messages with type HID, please include them in the bug.
These general tools will help you explore devices that you are attempting to communicate with.
Use HID Explorer to capture information about your device and add it to the bug.
If your device has multiple HID interfaces it will appear as multiple devices in HID Explorer, please include information for all device interfaces.
If you can connect to your device in the browser and capture its information with HID Explorer it is usually not necessary to use the other tools listed in this section as they provide the same information.
Use winhiddump to return a report descriptor reconstructed from the information available through the Windows HID API. This will likely differ from the actual report descriptor.
Please include the winhiddump output in the bug report.
If the device is connected with USB, use UsbTreeView to capture device information. Select your device in the tree view pane and copy the device information into the bug.
Use the macOS I/O Registry to output information about all connected HID devices:
ioreg -c IOHIDInterface -r -d 1 > deviceinfo.txt
The device can be identified by its product name (“Product” key) or its vendor and product IDs (“VendorID” and “ProductID” keys).
IOHIDInterface <class IOHIDInterface, id 0x10000e745, registered, matched, active, busy 0 (11 ms), retain 10>
{
"Transport" = "Bluetooth Low Energy"
"HIDDefaultBehavior" = Yes
"Manufacturer" = "Logitech"
"Product" = "MX Master 3"
"MaxInputReportSize" = 20
"DeviceUsagePairs" = ({"DeviceUsagePage"=1,"DeviceUsage"=6},{"DeviceUsagePage"=1,"DeviceUsage"=2},{"DeviceUsagePage"=1,"DeviceUsage"=1},{"DeviceUsagePage"=65347,"DeviceUsage"=514})
"VendorIDSource" = 2
"MaxOutputReportSize" = 20
"ReportDescriptor" = <05010906a1018501050719e029e71500250175019508810295067508150026a400050719002aa4008100c005010902a10185020901a1009510750115002501050919012910810205011601f826ff07750c95020930093181061581257f75089501093881069501050c0a38028106c0c00643ff0a0202a101851175089513150026ff000902810009029100c0>
"CountryCode" = 0
"VendorID" = 1133
"VersionNumber" = 19
"IOServiceDEXTEntitlements" = ("com.apple.developer.driverkit.transport.hid")
"IODEXTMatchCount" = 1
"PrimaryUsage" = 6
"ProductID" = 45091
"ReportInterval" = 8000
"PrimaryUsagePage" = 1
"DeviceOpenedByEventSystem" = Yes
"MaxFeatureReportSize" = 1
}
Please include in your bug report:
Use lsusb -v to output verbose information about USB devices, if your device is USB.
The Linux kernel exposes the HID report descriptors for connected devices through a debug filesystem interface. Find your device in the list:
sudo ls /sys/kernel/debug/hid
Directories in /sys/kernel/debug/hid represent HID interfaces on connected devices. The name of each directory has the form aaaa:bbbb:cccc.dddd where:
aaaa is the bus type (0003 for USB, 0005 for Bluetooth),bbbb and cccc are the vendor and product IDs as 16-bit hexadecimal values, anddddd is a device index that increments for each newly-connected device.The report descriptor is available as a file named rdesc inside the directory:
sudo cat /sys/kernel/debug/hid/0005:046D:B023.006F/rdesc
Please include the lsusb -v output, edited to only include information for your device. Please also include rdesc for each HID interface exposed by the device.