USB CDC NCM devices not assigned to UsbNcm driver automatically

Benedek Kupper 6 Reputation points
2020-07-26T17:21:30.433+00:00

I've been developing USB devices and interacting with them on Windows for a while, and I had to notice an unfortunate double standard: while e.g. USB HID or CDC ACM interfaces are automatically assigned an HID or a Serial Port driver respectively, the same thing doesn't happen with USB CDC NCM interface. This is despite the fact that the Windows driver for it is readily available in the OS files (C:\Windows\system32\drivers\UsbNcm.sys by default).

Some background on NCM (Network Control Model): it's the latest USB standardized communication interface to transfer Ethernet packets over USB. It is designed to overcome the limitations of previously established protocols such as RNDIS, ECM and EEM. The NCM protocol number and descriptor layout are defined by USB-IF documents, so the host OS could identify this interface type during device enumeration, and assign the UsbNcm driver based on this information alone, as it is done for the above mentioned protocols as well.

I have a device side demonstration firmware here for reference: https://github.com/IntergatedCircuits/IPoverUSB

So my question is, what is the reason for not assigning the UsbNcm driver automatically to such USB devices? Is it simply a missing functionality that hasn't been implemented yet? Or are there security related reasons for doing so? In that case why are other Ethernet packet transferring protocols treated differently?

Windows 10 Compatibility
Windows 10 Compatibility
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Compatibility: The extent to which hardware or software adheres to an accepted standard.
480 questions
{count} vote

1 answer

Sort by: Most helpful
  1. Arun Raj Sundararaju 11 Reputation points
    2021-04-27T17:15:39.797+00:00

    Hi,

    Works with my embedded QNX device.

    Please refer to the attachment 91824-win10-native-ncm.pdf. I've put together the steps as a series of images. Pardon me for the incorrect orientation on few of the pages.

    references:

    Regards,
    Arun Raj Sundararaju

    2 people found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.