Skip to content

Add Windows OS Descriptors for Automatic NCM Driver Binding #2

@mihai-chiorean

Description

@mihai-chiorean

Description

Currently, the USB gadget in meta-edgeos uses static MAC addresses and lacks Windows OS descriptors. This causes Windows to not automatically bind the correct driver for NCM networking.

Background

Windows 10+ includes a built-in NCM driver (UsbNcm.sys) but needs OS descriptors to automatically bind it. Without these descriptors, users must manually install drivers or Windows falls back to less efficient protocols.

References

Implementation from edgeos-flavor

# Lines 65-72 in edgeos-usbgadget-init.sh
mkdir -p "$G/os_desc"
echo 1        > "$G/os_desc/use"
echo 0xbc     > "$G/os_desc/b_vendor_code"
echo MSFT100  > "$G/os_desc/qw_sign"
mkdir -p "$G/functions/$FUNC_NCM/os_desc/interface.ncm"
echo WINNCM   > "$G/functions/$FUNC_NCM/os_desc/interface.ncm/compatible_id"

Acceptance Criteria

  • Windows 10/11 automatically uses NCM driver without manual installation
  • OS descriptors properly configured in usb-gadget.sh
  • Tested on Windows 10 and 11

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions