I know nothing about the particular hardware, but when USB sees the device it will announce to drivers the device is there. If a driver understands the device, then it will take ownership. The driver taking ownership and loading is what triggers the creation of devices in “
/dev”, and so if those devices do not exist, but the USB lists, then it simply means you need to add the driver (there might also be user space software).
Note that the “
/dev/input/by-id” is typically a udev rule which performs a symbolic link to the base device special file. It is possible that if the driver is present, then the base device special file is there, but a udev rule might be missing and not add this to the “by-id” directory. If that is the case, then pointing to the base device from your software (instead of “by-id”) would make the device work.
The key is that since this is USB, which is hot plug, you could monitor “
dmesg --follow”, and then see what shows up as you plug in the device. You’ll then know if USB sees something, followed by if a driver loaded, followed by if udev rules were triggered. My guess is you will see USB insert event, but no driver will attach (which in turn causes no udev rule to trigger). If this is the case, then you’ll need to know the name of the driver.
If you know the name of the driver, then you can compile that driver from the correct kernel source and simply copy a file and it would work.