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?