Tuesday, December 03, 2024

Re: Dell SB522A USB audio device not working

Hi,

On Tue, Dec 03, 2024 at 08:59:29AM GMT, Alexandre Ratchov wrote:
> Hi,
>
> Could you do this quick test please: make sure no program will try to
> open /dev/audio1 (ex. stop sndiod), plug the device and try to dump
> the mixer controls:
>
> doas mixerctl -f /dev/audioctl1 -v
>
> then, try to set one for the controls. Does it work?

This works without dmesg outputs.

$ doas mixerctl -f /dev/audioctl1 -v
outputs.dac=255
outputs.dac_mute=off [ off on ]
inputs.record=255
inputs.record_mute=off [ off on ]
record.enable=sysctl [ off on sysctl ]

$ doas mixerctl -f /dev/audioctl1 -v outputs.dac=128
outputs.dac: 255 -> 128

$ doas mixerctl -f /dev/audioctl1 -v
outputs.dac=128
outputs.dac_mute=off [ off on ]
inputs.record=255
inputs.record_mute=off [ off on ]
record.enable=sysctl [ off on sysctl ]

>
> If it does, play few samples (silence):
>
> doas dd of=/dev/audio1 </dev/zero
>
> Do you get the same error in dmesg? If so, unplug and plug the device
> and retry. Still get the error?

While running dd, I got no dmesg messages.

$ doas dd of=/dev/audio1 </dev/zero
^C8551+0 records in
8550+0 records out
4377600 bytes transferred in 27.775 secs (157609 bytes/sec)

But since I ^C the dd command, I get an error.

uaudio0: can't reset interface

Same error happens if I unplug and plug back the device.
>
> If so does the mixer still works (try above mixerctl commands)?
>

Since the error happens, mixerctl command fail after a couple of
seconds:

$ doas mixerctl -f /dev/audioctl1 -v
mixerctl: AUDIO_MIXER_READ: Input/output error

Thanks,
Joel C.

> This is to see if a mixer request could be the cause of the error.
>
> Thank you
>
> On Tue, Dec 03, 2024 at 12:13:14AM +0100, Joel Carnat wrote:
> > Hi,
> >
> > I just got a Dell Slim (USB) Soundbar SB522A and it seems to not be
> > functionnal on OpenBSD 7.6 (and latest snapshot available tonight). I
> > have tested in on Windows 11 and FreeBSD 14.1 and it works as expected.
> >
> > Here's what dmesg says when I plug it in:
> > umodem0 at uhub1 port 7 configuration 1 interface 0 "DELL DELL Slim Soundbar SB522A" rev 2.00/0.00 addr 5
> > umodem0: data interface 1, has no CM over data, has no break
> > umodem0: status change notification available
> > ucom0 at umodem0: usb1.0.00007.1
> > uaudio0 at uhub1 port 7 configuration 1 interface 3 "DELL DELL Slim Soundbar SB522A" rev 2.00/0.00 addr 5
> > uaudio0: class v1, full-speed, sync, channels: 2 play, 2 rec, 4 ctls
> > audio1 at uaudio0
> > uhidev0 at uhub1 port 7 configuration 1 interface 5 "DELL DELL Slim Soundbar SB522A" rev 2.00/0.00 addr 5
> > uhidev0: iclass 3/0, 185 report ids
> > ucc0 at uhidev0 reportid 1: 3 usages, 3 keys, enum
> > wskbd1 at ucc0 mux 1
> > wskbd1: connecting to wsdisplay0
> > uhid0 at uhidev0 reportid 5: input=1, output=1, feature=0
> > uhid1 at uhidev0 reportid 154: input=0, output=0, feature=63
> > uhid2 at uhidev0 reportid 155: input=2, output=0, feature=0
> > uhid3 at uhidev0 reportid 184: input=63, output=0, feature=0
> > uhid4 at uhidev0 reportid 185: input=0, output=63, feature=0
> >
> > Reading the Multimedia FAQ, I did:
> > $ doas rcctl set sndiod flags -f rsnd/0 -F rsnd/1
> > $ doas rcctl restart sndiod
> >
> > Then using mpv to play a video, it freezes a few seconds before
> > starting, the sound gets out of the laptop speaker (and not the USB
> > soundbar). dmesg adds:
> > uaudio0: can't reset interface
> > uaudio0: can't reset interface
> >
> > sndioctl also takes a few seconds to output things:
> > $ sndioctl -v
> > output.level=1.000
> > server.device=1
> > app/mpv0.level=1.000
> > $ sndioctl -d
> > 013:output.level=0..127 (127)
> > 011:server.device=0(azalia0)
> > 012:server.device=1
> > 001:mpv0.level=0..127 (127)
> >
> > Here's a few more outputs:
> > $ doas mixerctl -v
> > inputs.dac-2:3=128,128
> > inputs.dac-0:1=128,128
> > record.adc-0:1_mute=off [ off on ]
> > record.adc-0:1=192,192
> > record.adc-2:3_mute=off [ off on ]
> > record.adc-2:3=192,192
> > outputs.spkr_source=dac-2:3 [ dac-2:3 ]
> > outputs.spkr_mute=off [ off on ]
> > outputs.spkr_eapd=on [ off on ]
> > outputs.spkr2_source=dac-2:3 [ dac-2:3 dac-0:1 adc-0:1 ]
> > outputs.spkr2_mute=off [ off on ]
> > outputs.spkr2_boost=off [ off on ]
> > inputs.mic=170,170
> > outputs.mic_dir=input-vr80 [ none input input-vr0 input-vr50 input-vr80 input-vr100 ]
> > outputs.hp_source=dac-0:1 [ dac-2:3 dac-0:1 ]
> > outputs.hp_mute=off [ off on ]
> > outputs.hp_boost=off [ off on ]
> > outputs.hp_eapd=on [ off on ]
> > record.adc-2:3_source=mic { mic }
> > record.adc-0:1_source=mic { mic }
> > outputs.mic_sense=unplugged [ unplugged plugged ]
> > outputs.hp_sense=unplugged [ unplugged plugged ]
> > outputs.spkr_muters=hp { hp }
> > outputs.master=128,128
> > outputs.master.mute=off [ off on ]
> > outputs.master.slaves=dac-2:3,dac-0:1,spkr,spkr2,hp { dac-2:3 dac-0:1 spkr spkr2 hp }
> > record.volume=192,192
> > record.volume.mute=off [ off on ]
> > record.volume.slaves=adc-0:1,adc-2:3 { adc-0:1 adc-2:3 mic }
> > record.enable=sysctl [ off on sysctl ]
> > $ doas usbdevs
> > Controller /dev/usb0:
> > addr 01: 8086:0000 Intel, xHCI root hub
> > Controller /dev/usb1:
> > addr 01: 8086:0000 Intel, xHCI root hub
> > addr 02: 06cb:00fc Synaptics, product 0x00fc
> > addr 03: 174f:1813 , Integrated Camera
> > addr 04: 8087:0033 Intel, Bluetooth
> > addr 05: 413c:8204 DELL, DELL Slim Soundbar SB522A
> > $ doas usbdevs -v -a 05
> > addr 05: 413c:8204 DELL, DELL Slim Soundbar SB522A
> > full speed, power 500 mA, config 1, rev 0.00, iSerial 0
> > driver: umodem0
> > driver: uaudio0
> > driver: uhidev0
> >
> > Am I missing something?
> >
> > Thanks,
> > Joel C.
> >
> >
>

--
Bonne journée,
Joel C.

No comments:

Post a Comment