Index | Thread | Search

From:
Zé Loff <zeloff@zeloff.org>
Subject:
Re: uaudio: Handle certain devices with multiple clock domains
To:
Alexandre Ratchov <alex@caoua.org>
Cc:
tech@openbsd.org
Date:
Fri, 14 Nov 2025 11:36:33 +0000

Download raw body.

Thread
On Fri, Nov 14, 2025 at 09:27:35AM +0100, Alexandre Ratchov wrote:
> On Thu, Nov 13, 2025 at 08:13:00PM +0000, Zé Loff wrote:
> > 
> > 
> > On Thu, Nov 13, 2025 at 02:11:18PM +0100, Alexandre Ratchov wrote:
> > > uaudio(4) doesn't support devices with multiple "clock domains". They
> > > would be almost multiple independent devices in a single piece of
> > > hardware.
> > > 
> > > Physical clocks cost money, so I suspect that most devices have one
> > > physical clock only, i.e. that the different clocks the device exposes
> > > are synchronous. If so, uaudio(4) could handle them with the diff
> > > below.
> > > 
> > > To test this, first use a know working uaudio(4) device to validate
> > > your setup (usb host controller, hub etc). Once you feel audio is
> > > stable, try the device with the multiple clock domains on the same
> > > port.
> > > 
> > > I'm insisting on this because there are still usb-related bugs, that
> > > would prevent understanding the cause of a possible failure.
> > 
> > Not sure if this is useful, but at least it confirms your patch handles
> > weird/bad devices properly.
> > 
> 
> thanks, it's useful, error code-paths need to be correct as well!
> 
> > Please note that I'm not complaining/asking for anything.  This is
> > *not* supposed to work, since these are not actual audio devices,
> > AFAICT.  I'm sending just to show that the "clock attributes differ"
> > code path works properly here.
> > 
> > Context: my mainboard exposes three USB devices that for some reason get
> > attached as uaudio* devices.  I have no idea what they might actually
> > be, and the mainboard specs offer no clues.  There is a "proper" audio
> > device that attaches as azalia (ATI Van Gogh HD Audio) with no usable
> > codecs, but no other audio outputs.
> 
> I'm surprised, if these devices were just garbage usb descriptors, the
> uaudio driver would blow up much earlier, the clock check is the last
> initilization step. So, these might be actual audio interfaces.
> 
> Your dmesg says:
> 
> > bios0: Gigabyte Technology Co., Ltd. B850I AORUS PRO
> 
> by searching for above string, I got:
> 
> https://www.gigabyte.com/fr/Motherboard/B850I-AORUS-PRO-rev-10/sp
> 
> according to which the board has a "Realtek ALC4080 CODEC", which is a
> USB chip.
> 
> https://theretroweb.com/chip/documentation/alc4080-datasheet-1-1-67e79e1650425288346876.pdf
> 
> Furthermore the HD Audio device:
> 
> > azalia0 at pci15 dev 0 function 1 "ATI Van Gogh HD Audio" rev 0x00: msi
> > azalia0: no supported codecs
> 
> has no analog codecs and might be just a HDMI transmitter, which
> suggests the audio interfaces should be elsewhere.
> 
> To confirm that:
> 
> - in src/sys/dev/usb/uaudio.c, in uaudio_process_ac() delete or
>   comment out the call to uaudio_clock_equiv() to bypass the clock
>   domain checks.
> - rebuild a kernel with UAUDIO_DEBUG defined
> - reboot and show thee dmesg output?
> 
> this should force initialization to complete and attach audio
> devices. The devices might work partially in play-only and rec-only
> modes.
> 

Thanks for looking into this.

Without the clock domain check the device attaches as audio0, and
playback works (a "pcm_s24le 2ch 48000 Hz" wav file).  I only get
silence when recording (and yes, kern.audio.record=1), without any
visible error messages or record.errors on audioctl.

Relevant dmesg lines, audioctl and mixerctl attached below.

One further detail: there's a BIOS knob to configure the audio outputs
with the following options:

  1. HDA(3SDI) + PDM(2CH)
  2. HDA(1SDI) + PDM(6CH)
  3. HDA(1SD1) + SW0(1MDATA) + PDM(2CH)
  4. SW0(4MDATA) + PDM(6CH)
  5. SW0(4MDATA) + SW1(1MDATA) + PDM(2CH)

In all five cases the playback works, and the output of audioctl and
mixerctl is the same (see below).  However, when options 1 or 2 are
selected (i.e.  the ones _without_ SW0 or SW1) an additional azalia
device appears but with "no HD-Audio codecs", and the "(41 entries)" on
bios0 changes to "40 entries".  

Cheers
Zé

-- 


dmesg (with your patch and UAUDIO_DEBUG):


OpenBSD 7.8-current (CUSTOM) #1: Fri Nov 14 09:23:57 WET 2025
    zeloff@amphiprion.lan.phistat.com:/sys/arch/amd64/compile/CUSTOM
(..trimmed...)
bios0 at mainbus0: SMBIOS rev. 3.7 @ 0x978c6000 (41 entries)
bios0: vendor American Megatrends International, LLC. version "F8b" date 09/05/2025
bios0: Gigabyte Technology Co., Ltd. B850I AORUS PRO
(...trimmed...)
uaudio0 at uhub0 port 8 configuration 1 interface 1 "Generic USB Audio" rev 2.00/0.03 addr 2
uaudio_process_ac: ifnum = 0, 2981 bytes to process
uaudio_process_header: version 0x200
03: clock source, attr = 0x7, ctl = 0x7
11: in, nch = 2, term = 0x202, assoc = 0
27: feature id = 11, nch = 2, size = 4
	mute[-1]
uaudio_req: type = 0xa1, req = 0x2, val = 0x201, index = 0x1b00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
uaudio_req: type = 0xa1, req = 0x2, val = 0x202, index = 0x1b00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
19: out, id = 27, nch = 2, term = 0x101, assoc = 11
04: clock source, attr = 0x7, ctl = 0x7
12: in, nch = 2, term = 0x201, assoc = 0
28: feature id = 12, nch = 2, size = 4
	mute[-1]
uaudio_req: type = 0xa1, req = 0x2, val = 0x201, index = 0x1c00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
uaudio_req: type = 0xa1, req = 0x2, val = 0x202, index = 0x1c00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
20: out, id = 28, nch = 2, term = 0x101, assoc = 12
05: clock source, attr = 0x7, ctl = 0x7
13: in, nch = 2, term = 0x101, assoc = 0
29: feature id = 13, nch = 2, size = 4
	mute[-1]
uaudio_req: type = 0xa1, req = 0x2, val = 0x201, index = 0x1d00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
uaudio_req: type = 0xa1, req = 0x2, val = 0x202, index = 0x1d00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
21: out, id = 29, nch = 2, term = 0x301, assoc = 13
06: clock source, attr = 0x7, ctl = 0x7
14: in, nch = 2, term = 0x101, assoc = 0
30: feature id = 14, nch = 2, size = 4
	mute[-1]
uaudio_req: type = 0xa1, req = 0x2, val = 0x201, index = 0x1e00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
uaudio_req: type = 0xa1, req = 0x2, val = 0x202, index = 0x1e00, size = 2
uaudio_req: failed: IOERROR
uaudio0: failed to get ranges for level control
22: out, id = 30, nch = 2, term = 0x302, assoc = 14
uaudio0: units list:
06: clock source <prog>
14: input <dac>, dest = 30 <dac>
30: feature <dac>, src = 14 <dac>, dst = 22 <hp>, cls = 0
22: output <hp>, source = 30 <dac>
05: clock source <prog1>
13: input <dac1>, dest = 29 <spkr>
29: feature <spkr>, src = 13 <dac1>, dst = 21 <spkr>, cls = 0
21: output <spkr>, source = 29 <spkr>
04: clock source <prog2>
12: input <mic>, dest = 28 <record>
28: feature <record>, src = 12 <mic>, dst = 20 <record>, cls = 1
20: output <record>, source = 28 <record>
03: clock source <prog3>
11: input <mic1>, dest = 27 <record1>
27: feature <record1>, src = 11 <mic1>, dst = 19 <record1>, cls = 0
19: output <record1>, source = 27 <record1>
uaudio0: mixer controls:
30:	dac.mute
29:	spkr.mute
28:	record.mute
27:	record1.mute
uaudio_process_ac_ep: addr = 0x89, type = intr, maxpkt = 16, ival = 8
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x600, size = 2
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x600, size = 86
06: clock rates: 44100, 48000, 88200, 96000, 176400, 192000, 384000 (7 vals)
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x500, size = 2
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x500, size = 86
05: clock rates: 44100, 48000, 88200, 96000, 176400, 192000, 384000 (7 vals)
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x400, size = 2
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x400, size = 50
04: clock rates: 44100, 48000, 96000, 192000 (4 vals)
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x300, size = 2
uaudio_req: type = 0xa1, req = 0x2, val = 0x100, index = 0x300, size = 50
03: clock rates: 44100, 48000, 96000, 192000 (4 vals)
uaudio_process_ac: pclock = 6, rclock = 4
uaudio_process_conf: stop altnum 0, ifnum 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x83, async/data, maxpktsz = 186, ival = 1
uaudio_process_conf: stop altnum 0, ifnum 2
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 186, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 124, ival = 1
uaudio_process_as_ep: addr = 0x84, async/data, maxpktsz = 186, ival = 1
uaudio_process_conf: stop altnum 0, ifnum 3
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x5, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_conf: stop altnum 0, ifnum 4
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 248, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 372, ival = 1
uaudio_process_as_ep: addr = 0x6, adapt/data, maxpktsz = 496, ival = 1
uaudio_process_conf: skipped iface
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 1 at 1
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 2 at 2
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 3 at 3
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: 4 at 4
uaudio_process_conf: claim: ac 0 at 0
00: <outputs>, next = -1, prev = -1, class = -1
01: <inputs>, next = -1, prev = -1, class = -1
uaudio_req: type = 0xa1, req = 0x1, val = 0x100, index = 0x1e00, size = 1
02: <dac_mute>, next = -1, prev = -1, class = 0, members: off(=0) on(=1), val = 0
uaudio_req: type = 0xa1, req = 0x1, val = 0x100, index = 0x1d00, size = 1
03: <spkr_mute>, next = -1, prev = -1, class = 0, members: off(=0) on(=1), val = 0
uaudio_req: type = 0xa1, req = 0x1, val = 0x100, index = 0x1c00, size = 1
04: <record_mute>, next = -1, prev = -1, class = 1, members: off(=0) on(=1), val = 0
uaudio_req: type = 0xa1, req = 0x1, val = 0x100, index = 0x1b00, size = 1
05: <record1_mute>, next = -1, prev = -1, class = 0, members: off(=0) on(=1), val = 0
6 controls
alts:
mode = play, ifnum = 3, altnum = 3, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 6, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 9, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 12, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 15, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 18, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 21, addr = 0x5, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 3, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 6, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 9, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 12, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 15, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 18, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 21, addr = 0x6, maxpkt = 496, sync = 0x0, nch = 2, fmt = s32le4, rates: 44100 48000 88200 96000 176400 192000
mode = rec, ifnum = 1, altnum = 2, addr = 0x83, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 4, addr = 0x83, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 6, addr = 0x83, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 8, addr = 0x83, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 2, addr = 0x84, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 4, addr = 0x84, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 6, addr = 0x84, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 8, addr = 0x84, maxpkt = 186, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 96000 192000
mode = play, ifnum = 3, altnum = 2, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 5, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 8, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 11, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 14, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 17, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 20, addr = 0x5, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 2, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 5, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 8, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 11, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 14, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 17, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 20, addr = 0x6, maxpkt = 372, sync = 0x0, nch = 2, fmt = s24le3, rates: 44100 48000 88200 96000 176400 192000
mode = rec, ifnum = 1, altnum = 1, addr = 0x83, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 3, addr = 0x83, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 5, addr = 0x83, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 1, altnum = 7, addr = 0x83, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 1, addr = 0x84, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 3, addr = 0x84, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 5, addr = 0x84, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = rec, ifnum = 2, altnum = 7, addr = 0x84, maxpkt = 124, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 96000 192000
mode = play, ifnum = 3, altnum = 1, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 4, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 7, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 10, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 13, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 16, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 3, altnum = 19, addr = 0x5, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 1, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 4, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 7, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 10, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 13, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 16, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
mode = play, ifnum = 4, altnum = 19, addr = 0x6, maxpkt = 248, sync = 0x0, nch = 2, fmt = s16le2, rates: 44100 48000 88200 96000 176400 192000
parameters:
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s24le3, rchan = 2, s24le3, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
pchan = 2, s16le2, rchan = 2, s16le2, rates: 44100 48000 88200 96000 176400 192000
uaudio0: class v2, high-speed, sync, channels: 2 play, 2 rec, 4 ctls
audio0 at uaudio0
uhidev0 at uhub0 port 8 configuration 1 interface 5 "Generic USB Audio" rev 2.00/0.03 addr 2
uhidev0: iclass 3/0, 6 report ids
uhid0 at uhidev0 reportid 6: input=63, output=1, feature=0


audioctl:

name=USB Audio
mode=
pause=0
active=0
nblks=2
blksz=960
rate=48000
encoding=s16le
play.channels=2
play.bytes=0
play.errors=0
record.channels=2
record.bytes=0
record.errors=0


mixerctl:

outputs.dac_mute=off
outputs.spkr_mute=off
inputs.record_mute=off
outputs.record1_mute=off
record.enable=sysctl


--