On Sat, 23 Mar 2024, at 10:38, Alexandre Ratchov wrote:
> Could you try this diff please?
> (with UAUDIO_DEBUG enabled)

Ok, there are good news and bad news. Good - the diff worked and interface 
seems to be detected and set up now. Here is the dmesg confirmation:

...
wskbd3 at ukbd1 mux 1
uhidev2 at uhub0 port 22 configuration 1 interface 3 "R\M-XDE Microphones 
R\M-XDE NT-USB Mini" rev 2.00/2.36 addr 4
uhidev2: iclass 3/0, 8 report ids
uhid1 at uhidev2 reportid 1: input=9, output=0, feature=0
uhid2 at uhidev2 reportid 2: input=0, output=9, feature=0
uhid3 at uhidev2 reportid 3: input=28, output=0, feature=0
uhid4 at uhidev2 reportid 4: input=0, output=28, feature=0
uhid5 at uhidev2 reportid 5: input=14, output=0, feature=0
uhid6 at uhidev2 reportid 6: input=0, output=14, feature=0
uhid7 at uhidev2 reportid 7: input=27, output=0, feature=0
uhid8 at uhidev2 reportid 8: input=0, output=27, feature=0
uaudio0 at uhub0 port 22 configuration 1 interface 1 "R\M-XDE Microphones 
R\M-XDE NT-USB Mini" rev 2.00/2.36 addr 4
uaudio_process_conf: skipped iface
uaudio_process_ac: ifnum = 0, 206 bytes to process
uaudio_process_header: version 0x100
01: in, nch = 1, term = 0x202, assoc = 0
02: feature id = 1, nch = 1, size = 1
uaudio_req: type = 0xa1, req = 0x82, val = 0x200, index = 0x200, size = 2
uaudio_req: type = 0xa1, req = 0x83, val = 0x200, index = 0x200, size = 2
uaudio_req: type = 0xa1, req = 0x84, val = 0x200, index = 0x200, size = 2
[0:10240]/256 (10241 vals)
        level[-1]
03: out, id = 2, nch = 1, term = 0x101, assoc = 0
05: in, nch = 2, term = 0x101, assoc = 0
06: feature id = 5, nch = 2, size = 1
        mute[-1]
uaudio_req: type = 0xa1, req = 0x82, val = 0x200, index = 0x600, size = 2
uaudio_req: type = 0xa1, req = 0x83, val = 0x200, index = 0x600, size = 2
uaudio_req: type = 0xa1, req = 0x84, val = 0x200, index = 0x600, size = 2
[-15360:0]/256 (15361 vals)
        level[-1]
04: feature id = 1, nch = 1, size = 1
        mute[0]
07: mixer, nch = 2:
08: out, id = 7, nch = 2, term = 0x302, assoc = 0
uaudio0: units list:
04: feature <output_input>, src = 01 <input>, dst = 07 <output>, cls = 1
05: input <dac>, dest = 06 <dac>
06: feature <dac>, src = 05 <dac>, dst = 07 <output>, cls = 0
07: mixer <output>:
07:     source 6 <dac>:
07:     source 4 <output_input>:
08: output <output>, source = 07 <output>
01: input <input>, dest = 04 <output_input>
02: feature <record>, src = 01 <input>, dst = 03 <record>, cls = 1
03: output <record>, source = 02 <record>
uaudio0: mixer controls:
04:     output_input.mute[0]
06:     dac.level
06:     dac.mute
02:     record.level
uaudio_process_conf: stop altnum 0
uaudio_process_as_ep: addr = 0x82, async/data, maxpktsz = 147, ival = 1
uaudio_process_conf: stop altnum 0
uaudio_process_as_ep: addr = 0x2, async/data, maxpktsz = 294, ival = 1
uaudio_process_as_ep: addr = 0x83, unk/feed, maxpktsz = 3, ival = 1
uaudio_process_conf: claim: 2 at 3
uaudio_process_conf: claim: 1 at 2
uaudio_process_conf: claim: ac 0 at 1
00: <outputs>, next = -1, prev = -1, class = -1
01: <inputs>, next = -1, prev = -1, class = -1
uaudio_req: type = 0xa1, req = 0x81, val = 0x100, index = 0x400, size = 1
02: <output_input_mu>, next = -1, prev = -1, class = 1, members: off(=0) 
on(=1), val = 1
uaudio_req: type = 0xa1, req = 0x81, val = 0x200, index = 0x600, size = 2
03: <dac>, next = -1, prev = -1, class = 0, nch = 1, delta = 1, val = 255
uaudio_req: type = 0xa1, req = 0x81, val = 0x100, index = 0x600, size = 1
04: <dac_mute>, next = -1, prev = -1, class = 0, members: off(=0) on(=1), val = 0
uaudio_req: type = 0xa1, req = 0x81, val = 0x200, index = 0x200, size = 2
05: <record>, next = -1, prev = -1, class = 1, nch = 1, delta = 1, val = 166
6 controls
alts:
mode = play, ifnum = 2, altnum = 1, addr = 0x2, maxpkt = 294, sync = 0x83, nch 
= 2, fmt = s24le3, rates: 48000
mode = rec, ifnum = 1, altnum = 1, addr = 0x82, maxpkt = 147, sync = 0x0, nch = 
1, fmt = s24le3, rates: 48000
parameters:
pchan = 2, s24le3, rchan = 1, s24le3, rates: 48000
uaudio0: class v1, full-speed, async, channels: 2 play, 1 rec, 4 ctls
audio1 at uaudio0
uhidev3 at uhub1 port 4 configuration 1 interface 0 "Logitech USB Optical 
Mouse" rev 2.00/72.00 addr 2
uhidev3: iclass 3/1
ums1 at uhidev3: 3 buttons, Z dir
...

Now the bad news, the playback still fails. Here is what dmesg outputs when 
Firefox tries to play something on YouTube:

...
uaudio_set_params: rate 48000 -> 48000 (index 8)
uaudio_set_params: rate = 48000
uaudio_set_params: rate 48000 -> 48000 (index 8)
uaudio_set_params: rate = 48000
uaudio_req: type = 0xa1, req = 0x81, val = 0x200, index = 0x600, size = 2
uaudio_req: type = 0xa1, req = 0x81, val = 0x100, index = 0x600, size = 1
uaudio_req: type = 0xa1, req = 0x81, val = 0x200, index = 0x200, size = 2
uaudio_stream_open: play: blksz = 2880, rate = 48000, fps = 1000
uaudio_stream_open: spf = 0xf00000 in [0xef1000:0xf0f000]
uaudio_stream_open: nframes_max = 11, nframes_mask = 0, maxpkt = 294
uaudio_stream_open: safe_blksz = 3072, nxfers = 4
uaudio_req: type = 0x22, req = 0x1, val = 0x100, index = 0x2, size = 3
uaudio0: can't open data pipe
audio1: failed to start playback
uaudio_stream_open: rec: blksz = 1440, rate = 48000, fps = 1000
uaudio_stream_open: spf = 0xf00000 in [0xef1000:0xf0f000]
uaudio_stream_open: nframes_max = 11, nframes_mask = 0, maxpkt = 147
uaudio_stream_open: safe_blksz = 1536, nxfers = 4
uaudio0: can't set interface
uaudio0: can't reset interface
audio1: failed to start recording
...

Context:
- sndiod has been restarted with flag config `-f rsnd/0 -F rsnd/1`

- here is sndioctl dump:
obsd$ sndioctl -d
006:input[0].level=0..255 (166)
004:output[0].level=0..255 (255)
005:output[0].mute=0..1 (0)
001:server.device=0
002:server.device=1
003:pulseau0.level=0..127 (127)

- here is mixerctl dump:
obsd$ doas mixerctl
inputs.dac-0:1=126,126
inputs.dac-4:5=126,126
inputs.dac-2:3=126,126
inputs.dac-6:7=126,126
record.adc-0:1_mute=off
record.adc-0:1=124,124
record.adc-2:3_mute=off
record.adc-2:3=124,124
inputs.mix_source=mic,mic2,line-in,hp,line-blk,line-org
inputs.mix_mic=120,120
inputs.mix_mic2=120,120
inputs.mix_line-in=120,120
inputs.mix_hp=120,120
inputs.mix_line-blk=120,120
inputs.mix_line-org=120,120
inputs.mix2_source=dac-0:1,mix
inputs.mix3_source=dac-4:5,mix
inputs.mix4_source=dac-2:3,mix
inputs.mix5_source=dac-6:7,mix
outputs.line-grn_source=mix2
outputs.line-grn_mute=off
outputs.line-grn_boost=off
outputs.line-grn_eapd=on
outputs.line-blk_source=mix3
outputs.line-blk_mute=off
outputs.line-blk_dir=output
outputs.line-org_source=mix4
outputs.line-org_mute=off
outputs.line-org_dir=output
outputs.mic_source=mix8
outputs.mic_mute=off
inputs.mic=85,85
outputs.mic_dir=input-vr80
outputs.mic2_source=mix2
outputs.mic2_mute=off
inputs.mic2=85,85
outputs.mic2_dir=input-vr80
outputs.mic2_boost=off
outputs.line-in_source=mix2
outputs.line-in_mute=off
inputs.line-in=85,85
outputs.line-in_dir=input
outputs.hp_source=mix5
outputs.hp_mute=off
inputs.hp=85,85
outputs.hp_dir=output
outputs.hp_boost=off
outputs.hp_eapd=on
outputs.SPDIF_source=dig-dac-0:1
record.adc-2:3_source=mic,mic2,line-in,hp,line-blk,line-org,mix
record.adc-0:1_source=mic,mic2,line-in,hp,line-blk,line-org,mix
inputs.dac-8:9=126,126
inputs.mix8_source=dac-8:9,mix
outputs.line-grn_sense=unplugged
outputs.line-blk_sense=unplugged
outputs.line-org_sense=unplugged
outputs.mic_sense=unplugged
outputs.mic2_sense=plugged
outputs.line-in_sense=unplugged
outputs.hp_sense=plugged
outputs.master=126,126
outputs.master.mute=off
outputs.master.slaves=dac-0:1,dac-6:7,line-grn,hp
record.volume=124,124
record.volume.mute=off
record.volume.slaves=adc-0:1,adc-2:3
outputs.mode=analog
record.enable=sysctl

Is it still broken, or is it me doing something wrong now, to set it up?

Reply via email to