Custom HID not recognized as input device

I used an ESP32-S3 with TinyUSB to create a custom HID device.

The descriptor I used is:

0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x37, // Usage (Dial)
0xA1, 0x01, // Collection (Application)
0x09, 0x37, // Usage (Dial)
0x15, 0x9C, // Logical Minimum (-100)
0x25, 0x64, // Logical Maximum (100)
0x75, 0x08, // Report Size (8)
0x95, 0x04, // Report Count (4)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
// 19 bytes

Which is meant to support 4 input dials of 8-bit each.

When I plug in my device to a linux host PC, this is reported:

kernel: usb 1-5: new full-speed USB device number 4 using xhci_hcd
kernel: usb 1-5: New USB device found, idVendor=303a, idProduct=4004, bcdDevice= 1.00
kernel: usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-5: Product: TurboLEDz QuadDial
kernel: usb 1-5: Manufacturer: GSAS Inc.
kernel: usb 1-5: SerialNumber: 000001
mtp-probe[1217981]: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5"
mtp-probe[1217981]: bus: 1, device: 4 was not an MTP device
kernel: hid-generic 0003:303A:4004.00E4: hiddev0,hidraw0: USB HID v1.11 Device [GSAS Inc. TurboLEDz QuadDial] on usb-0000:00:14.0-5/input0

Note that hid-generic reports it as hiddev0,hidraw0

But evtest will not recognize it as input device.

Compare this with a (throttle) joystick that I plug in, which is reported as:

hid-generic 0003:068E:00FA.00C8: input,hidraw12: USB HID v1.00 Joystick [CH PRODUCTS CH THROTTLE QUADRANT] on usb-0000:00:14.0-11/input0

Note that it reports as input,hidraw12

What is the magic sauce I need to have the PC see it as an input HID device?

2 Related questions 2101 Can't bind to 'ngModel' since it isn't a known property of 'input' 0 Read/Write usb hid device (with one interface type keyboard and mouse) on android 2 How to compile a windows application using DLL's on Linux Related questions 2101 Can't bind to 'ngModel' since it isn't a known property of 'input' 0 Read/Write usb hid device (with one interface type keyboard and mouse) on android 2 How to compile a windows application using DLL's on Linux 1862 How do I prompt for Yes/No/Cancel input in a Linux shell script? 5 Reaching characters from USB HID keyboard device on Linux 1158 Is there a float input type in HTML5? 0 Atmel maxtouch touchscreen not showing in xinput list Load 4 more related questions Show fewer related questions Reset to default

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like