DriverKit USB Transport to support multiple devices with different Vendor IDs

I have two different USB devices with different vendor IDs I would like to connect to. I submitted two separate requests for the com.apple.developer.driverkit.transport.usb entitlement for each vendor ID. However I am noticing the provisioning profile only has one of the vendor IDs.

How do I submit a request for the USB Transport entitlement to support more than one vendor ID? I'm new to writing a DriverKit driver, so is this even possible?

Answered by DTS Engineer in 811018022

I have two different USB devices with different vendor IDs I would like to connect to. I submitted two separate requests for the com.apple.developer.driverkit.transport.usb entitlement for each vendor ID. However I am noticing the provisioning profile only has one of the vendor IDs.

Yes. You can basically think of each request as "I would like to create a DEXT that supports <this>", where <this> can basically be an arbitrarily complicated set of match criteria.

How do I submit a request for the USB Transport entitlement to support more than one vendor ID? I'm new to writing a DriverKit driver, so is this even possible?

You can do this by submitting an entitlement request saying that you want a profile that supports multiple vendor IDs. However, keep in mind that you can also ship multiple DEXTs in the same app, so I would only do this if the same DEXT is supporting multiple devices or you're creating a "complex" DEXT where different parts of the driver stack need to directly interact.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Accepted Answer

I have two different USB devices with different vendor IDs I would like to connect to. I submitted two separate requests for the com.apple.developer.driverkit.transport.usb entitlement for each vendor ID. However I am noticing the provisioning profile only has one of the vendor IDs.

Yes. You can basically think of each request as "I would like to create a DEXT that supports <this>", where <this> can basically be an arbitrarily complicated set of match criteria.

How do I submit a request for the USB Transport entitlement to support more than one vendor ID? I'm new to writing a DriverKit driver, so is this even possible?

You can do this by submitting an entitlement request saying that you want a profile that supports multiple vendor IDs. However, keep in mind that you can also ship multiple DEXTs in the same app, so I would only do this if the same DEXT is supporting multiple devices or you're creating a "complex" DEXT where different parts of the driver stack need to directly interact.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Kevin,

Thank you for your response. My team and I would prefer going down the path for one DEXT supporting multiple devices as it is the design choice we like the most.

With that being said, how would I create one entitlement request for the USB Transport for two vendor IDs when the form only accepts one?

how would I create one entitlement request for the USB Transport for two vendor IDs when the form only accepts one?

Write up what you need and include it in the "Describe" section.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

DriverKit USB Transport to support multiple devices with different Vendor IDs
 
 
Q