From: Zé Loff Subject: Re: uaudio: Handle certain devices with multiple clock domains To: Alexandre Ratchov Cc: tech@openbsd.org Date: Fri, 14 Nov 2025 11:36:33 +0000 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 14: input , dest = 30 30: feature , src = 14 , dst = 22 , cls = 0 22: output , source = 30 05: clock source 13: input , dest = 29 29: feature , src = 13 , dst = 21 , cls = 0 21: output , source = 29 04: clock source 12: input , dest = 28 28: feature , src = 12 , dst = 20 , cls = 1 20: output , source = 28 03: clock source 11: input , dest = 27 27: feature , src = 11 , dst = 19 , cls = 0 19: output , source = 27 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: , next = -1, prev = -1, class = -1 01: , next = -1, prev = -1, class = -1 uaudio_req: type = 0xa1, req = 0x1, val = 0x100, index = 0x1e00, size = 1 02: , 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: , 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: , 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: , 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 --