When using the USB cdc there USB_CDC.h have the following config defaults:
#define CDC_USB_CLASS 2 // 2: Communication Device Class
#define CDC_USB_SUBCLASS 0x00 //
#define CDC_USB_PROTOCOL 0x00 //
But they are not used, when sniffing the usb connection the Device Descriptor package looks like this: 12 01 00 02 02 02 00 08 CF 2D 02 60 00 01 01 02 03 01 translated to:
12 Length
01 Device Descriptors
00 bcdUSB
02 bcdUSB
02 bDeviceClass
02 bDeviceSubClass
00 bDeviceProtocol
…
Giving a SubClass of 0x02 this is not a valid value, according to https://www.usb.org/defined-class-codes both subclass and protocol can only be set to 0x00.
Are there any way of setting the subclass field?