Search code examples
linuxusbkernel

How to force driver to device match in Linux?


I have a piece of USB hardware, for which I know the driver.

However, the vendor id and product id do not match the VID, PID pair registered in the driver.

Is there a way in Linux to force a driver to be associated with a known device, that do not involve kernel module recompilation to add a PID / VID pair?


Solution

  • Find the module in the sysfs tree. In this case it was in

    /sys/bus/usb-serial/drivers/cp2101
    

    In this directory, there is a new_id file entry that can be used to dynamically add VID PID pair like this :

    echo VID PID >new_id
    

    Here is a LWN entry about this feature