MicroPython 1.29 adds network.USBD_NCM (Ethernet-over-USB as a USB device class; extmod/network_usbd_ncm.c, documented under network), off by default. usbif's costume roster is the org's statement of which USB device classes a board can wear, and it says nothing about NCM either way.
The pin-move checklist (micropython-pydevices#1) asks for one of two outcomes, and this issue is where it gets recorded:
- Deliver it: a costume that enables
USBD_NCM alongside (or instead of) the existing classes, with the descriptor policy usbif's extension header already applies, proven on the S3 and the P4 the way the other classes were.
- Exclude it: a line in the roster saying NCM is upstream's own class, reachable by enabling it in a board's config without usbif, and why usbif does not wrap it.
Nothing is broken today; the class is simply unaccounted for. Found in the post-pin-move sweep, 2026-09-23.
MicroPython 1.29 adds
network.USBD_NCM(Ethernet-over-USB as a USB device class;extmod/network_usbd_ncm.c, documented undernetwork), off by default. usbif's costume roster is the org's statement of which USB device classes a board can wear, and it says nothing about NCM either way.The pin-move checklist (micropython-pydevices#1) asks for one of two outcomes, and this issue is where it gets recorded:
USBD_NCMalongside (or instead of) the existing classes, with the descriptor policy usbif's extension header already applies, proven on the S3 and the P4 the way the other classes were.Nothing is broken today; the class is simply unaccounted for. Found in the post-pin-move sweep, 2026-09-23.