how to tell if USB DAC is async or adaptive?

Output of lsusb -v or file /proc/asound/cardX/stream0 . Here is output of
HiFimeDIY Audio SA9023 (copied from problem with volume level after reboot : Bug report • RuneAudio Forum ):

Code:
interface #0 stream status: (/proc/asound/card0/stream0)
--------------------------------------------------------
HiFimeDIY Audio SA9023 USB Audio at usb-bcm2708_usb-1.2, full speed : USB Audio

Playback:
  Status: Running
    Interface = 3
    Altset = 1
    Packet Size = 388
    Momentary freq = 44100 Hz (0x2c.199a)
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 3
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
 
Awesome! Thanks for sharing that. Here are the contents of the "stream0" file for the DAC (while I am giving it a listen):
Code:
SA9023 USB Audio at usb-3f980000.usb-1.2, full speed : USB Audio

Playback:
  Status: Running
    Interface = 3
    Altset = 1
    Packet Size = 224
    Momentary freq = 44100 Hz (0x2c.199a)
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 3
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 96000, 88200, 48000, 44100, 32000