Usbser.sys vs. Winusb.sys RRS feed

  • Question

  • Hi, 

    my name is Stefan and I am responsible for software development of embedded devices and PC software. My company is developing RFID readers, which are mostly connected via USB.

    During the last years we were using the usbser.sys driver for Windows with a custom INF file, which we adopted from the template of Atmel (because we use an Atmel µC). Unfortunately or gladly (depends on the answers) we did not sign the INF file yet and accepted the warnings during the installation process until now.

    But since Windows 8 uses such hard restrictions and it is not that easy to install a unsigned driver like in Windows 7, we are searching for a better solution.

    Our goal is to find a solution, where our readers can be connected to any operating system (Windows XP-8.1 (RT), Linux, Mac OS) without big trouble at installation of the readers and at developing applications for the readers by our customers.
    For development we found out, that the easiest cross platform way is to use serial ports, that is why we want to keep this.
    (Linux and Mac OS work fine without any description file)

    Since I now stumbled over an article describing the WinUSB.sys and another that shows how to use WinUSB.sys without providing a custom INF file, I have a few questions, where I hope you can help me with.

    1. Does the WinUSB.sys create serial ports if a CDC/ACM device is connected? If yes, we could use the MS_COMP_WINUSB to enable the device to be used without any INF file.

    2. Is there a possibility to use usbser.sys in Windows 8 RT?

    3. Is there any option to use usbser.sys without an INF file, like with WinUSB.sys and the MS_COMP_WINUSB id? 

    4. Is it possible to use usbser.sys on desktop PCs and use WinUSB.sys (with MS_COMP_WINUSB) on RT devices with the same device descriptor? (I think depends on the order, which driver is detected/loaded first)

    5. Is there any cheaper way to sign the INF file than the "Symantec Code Signing Certificate for Microsoft Authenticode"?

    The main question is: Should we either stay using the usbser.sys or should/can we replace it using WinUSB.sys?

    Thanks in advance for your help,

    Tuesday, December 10, 2013 10:50 AM


  • 1) no. winusb does not expose any type of com port interface at all

    2) no, I don't think so

    3) no, I don't think so

    4) technically yes. winusb would be installed by default on all platforms, you would then have to force install usbser with a signed driver package on all non RT platforms

    5)  no idea

    Should you stay with usbser? it depends on what the apps expect and what you control. If you control the apps, go with winusb, it will be a far simpler path moving forward

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    • Marked as answer by Stefan Asking Wednesday, December 11, 2013 12:16 PM
    Tuesday, December 10, 2013 8:13 PM