1

I'm trying to make a USB gadget, using the ConfigFS utilities. I'm following this clear guide and have successfully created a usb gadget with an interface. My problem is that I would like to implement another interface, different from the NCM that I just added, with a Vendor-Specific Class (bInterfaceClass 0xff) and a bInterfaceSubClass value of 0xf0. When i try to change the bInterfaceClass of the NCM interface I get the error bInterfaceClass: Permission denied, which seems reasonable since I've created a function of a predefined class (ncm). I would like to create a function where I can specify the bInterfaceClass Value, and also add two endpoints to it. Additionally, I have not been able to create a new interface with the desired descriptors.

For context, I'm using an iMX8QM board with Linux 6.1.36-imx8qm+gdd01990ad5ea. My goal is to connect an iPhone to the board using CarPlay, in fact the usb interface I need to add is the iAP2. Any advice or hint would be greatly appreciated.

2
  • What exactly do you mean by "I get an error"? Hiding or paraphrasing error messages is rarely useful when asking for technical help on how to solve the error. Commented Dec 9, 2024 at 19:19
  • When I do echo 0xff > bInterfaceClass I get the error bInterfaceClass: Permission denied, which seems reasonable since I've created a function of a predefined class (ncm). I would like to create a function where I can specify the bInterfaceClass Value, and also add two endpoints to it. Commented Dec 10, 2024 at 9:32

0