AudioDriverKit on iPadOS: USB transport classification breaks audio routing while Thunderbolt works — MIDI remains functional

I'm developing custom AudioDriverKit and MIDI DriverKit drivers for a hardware audio-MIDI device on an M-series iPad.

I've encountered a reproducible issue where advertising the audio device's correct USB transport type prevents iPadOS from making the device available to audio applications, whereas advertising Thunderbolt allows it to function.

I've previously reported this issue through Feedback Assistant but have not received a response: FB25067968.

Environment

  • Hardware: BOSS SY-1000 connected to an M-series iPad via Apple USB-C Digital AV Multiport Adapter
  • Audio: 48 kHz, eight inputs and eight outputs, interleaved Float32
  • DriverKit SDK: 27.0
  • Xcode: 27.1
  • Minimum iPadOS: 18.0
  • AudioDriverKit deployment target: 21.0
  • Separate AudioDriverKit and MIDI DriverKit extensions using USBDriverKit
  • Proprietary USB isochronous audio transport

The SY-1000 is a USB device, not a Thunderbolt device. The physical USB connection and hardware configuration remain unchanged between tests.

Audio behavior

Configuration A — Transport type: Thunderbolt

When the audio device advertises IOUserAudioTransportType::Thunderbolt:

  • The audio driver loads and registers.
  • iPadOS makes the device available to audio applications.
  • StartDevice/StartIO is invoked.
  • Eight-channel audio input and output function.

This has been our established working configuration.

Configuration B — Transport type: USB

Changing the two transport-type assignments to IOUserAudioTransportType::USB results in:

  • Driver initialization succeeds.
  • AddObject succeeds.
  • RegisterService succeeds.
  • HAL successfully establishes its user-client connection.
  • HAL recognizes the 48 kHz, eight-channel Float32 formats.
  • iPadOS audio-route creation fails.
  • The audio device is unavailable to audio applications.
  • StartDevice/StartIO is never invoked.
  • No USB audio transfers occur.

MIDI continues working

The SY-1000's MIDI functionality remains available even when the audio device disappears.

The project uses a separate MIDI DriverKit extension, attached to the SY-1000's MIDI USB interface.

Under the failing USB audio-transport configuration:

  • The SY-1000 remains physically connected and enumerated over USB.
  • The separate MIDI driver continues to be detected.
  • MIDI functionality remains available to MIDI-capable applications.
  • Only the AudioDriverKit device fails to become available as an audio interface.

This is an important distinction: the SY-1000 has not disappeared from the USB system. The problem appears specific to AudioDriverKit/Core Audio device routing

AudioDriverKit on iPadOS: USB transport classification breaks audio routing while Thunderbolt works — MIDI remains functional
 
 
Q