How to define base driver & extend driver? RRS feed

  • Question

  • Hi,

        For our monitor product , we have two drivers ( USB to I2C driver & communication driver) for specific features .

    USBtoI2C driver(provided by IHV) is used to communicate with monitor via generic USB HID interface

    Communication driver is used to send/receive commands to/from monitor.

    Once the monitor connected to PC by USB cable, the PC only recognized that there's a USB controller connected.

    The PID/VID belong to USB controller, not to our product. PC gets our PID/VID via 3rd party application that uses our two drivers.  

    We need to follow the DCHU design principles but we have no idea that which one should be the base driver.

    Could you provide some suggestions?


    Wednesday, March 6, 2019 1:45 AM


  • I guess USB-to-I2C driver is loaded by H/W ID, obviously USB H/W ID, and communication driver is loaded by some software mechanism like root-enumeration. In that case, the driver that is loaded by H/W ID should be the base driver, which registers the extension ID for loading of the extension driver.

    Jesse Ahn



    • Marked as answer by Louis Chen1 Tuesday, April 16, 2019 2:03 AM
    Monday, April 15, 2019 9:37 AM