USB Alternate Setting and Bandwidth Debugging

How to debug USB alternate settings, bandwidth reservation, UVC camera modes, audio sample rates, isochronous endpoints, interface switching, and high-quality stream failures.

usb alternate setting, usb bandwidth, uvc camera, usb audio, isochronous endpoint, streaming interface, usb diagnostics

A UVC camera that is stable at 720p may freeze at 1080p, while a USB audio interface that is clean at 48 kHz may click at 192 kHz. That pattern points to USB alternate setting bandwidth or a failed SET_INTERFACE transition, not a completely dead device. Comparing the selected UVC camera alternate setting, USB audio isochronous bandwidth, and the first failing transfer can show which interface mode broke; it cannot by itself prove whether the limit belongs to the host controller, hub, cable, or firmware.

Bus Scope is useful because alternate settings are visible in descriptors and SET_INTERFACE requests. The key evidence is which alternate setting was selected before the failure.

What alternate settings are

A USB interface can define multiple alternate settings. Alternate setting 0 often has no streaming endpoints. Higher alternate settings may enable endpoints with different packet sizes or bandwidth requirements.

Example:

Interface 1 alternate 0: no streaming
Interface 1 alternate 1: low bandwidth endpoint
Interface 1 alternate 2: medium bandwidth endpoint
Interface 1 alternate 3: high bandwidth endpoint

The host selects one using:

SET_INTERFACE interface=1 alternate=3

If alternate 3 requires more bandwidth than the bus can provide, streaming may fail.

UVC camera modes

USB Video Class cameras often expose many modes:

  • MJPEG vs uncompressed YUY2
  • 720p vs 1080p vs 4K
  • 15 fps vs 30 fps vs 60 fps
  • Different endpoint packet sizes
  • Different alternate settings

Uncompressed video can require much more bandwidth than MJPEG. A camera may enumerate correctly but fail when the application selects an aggressive mode.

USB audio sample rates

Audio interfaces may switch alternate settings for sample rate, channel count, bit depth, and packet size. A mode that works on one host controller may fail through a hub or dock.

Symptoms:

  • Clicks and pops at high sample rate.
  • Stream fails only with many channels.
  • Device works after reconnect but fails after mode switch.
  • Audio stops when another USB device starts traffic.

The bus trace should show the selected alternate setting and isochronous packet status.

Bandwidth reservation

Isochronous and interrupt transfers reserve periodic bandwidth. If the bus cannot satisfy the request, the host may reject the interface selection or the stream may run poorly.

Bandwidth pressure comes from:

  • Multiple cameras on one hub.
  • USB audio plus capture device.
  • Full-speed device behind a transaction translator.
  • Dock topology.
  • Host controller scheduling limits.
  • Cable causing speed fallback.

Debug checklist

Use this workflow:

  1. Capture descriptors from plug-in.
  2. List alternate settings for the streaming interface.
  3. Capture the SET_INTERFACE request.
  4. Record selected alternate setting.
  5. Compare working and failing quality modes.
  6. Inspect endpoint max packet size and interval.
  7. Check negotiated device speed.
  8. Test direct port vs hub/dock.
  9. Reduce resolution, frame rate, sample rate, or channel count.
  10. Preserve setup and streaming packets together.

Final diagnosis

USB alternate setting failures are mode-selection and bandwidth problems. A device can enumerate and work in one mode but fail when the host selects a higher-bandwidth alternate setting.

Bus Scope helps expose the selected interface mode and endpoint evidence so high-quality streaming failures can be diagnosed as USB bandwidth and descriptor behavior, not generic application instability.