I've got a bulk transport kernel module composite function. Nothing fancy, just opens the two pipes to a character device just like f_hid.c. It works fine, as far as I can tell. Now, I'm trying to implement WCID so that Windows will automatically recognize it and attach it to the WinUSB drivers. However, I simply cannot figure out how to create a string with an index of 0xEE and data of "MSFT100" so that Windows will pick up the device and then request the extra features. Alternatively, I'm happy to adjust my bcdUSB to flag USB 2.01 or USB 2.1 and use the BOS system. However, as there appear to be very few examples of that in the Linux codebase (none that I can see--but I'm not on latest), I suspect that would be just swapping something that might be possible but I'm just missing the path vs something that has a path that is wholly untrod. WCID References: https://github.com/pbatard/libwdi/wiki/WCID-Devices https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/microsoft-defined-usb-descriptors Any help, advice or pointers would be appreciated. Thanks, -a