Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jul 2023 13:13:46 +0200
From:      Alban Hertroys <haramrae@gmail.com>
To:        freebsd-stable@freebsd.org
Subject:   Re: USB audio stopped working between p7 and p8
Message-ID:  <D8AD153A-45BE-4B37-B515-89257F19EB25@gmail.com>
In-Reply-To: <545BC192-8060-4172-A825-618DDB9E8722@gmail.com>
References:  <545BC192-8060-4172-A825-618DDB9E8722@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 25 Jul 2023, at 13:19, Alban Hertroys <haramrae@gmail.com> wrote:
>=20
> Hi list,
>=20
> I recently upgraded my home server with musicpd from 13.1-RELEASE-p7 =
to 13.1-RELEASE-p8, and now USB audio stopped working.

(=E2=80=A6)

> For the upgrade, I used:
> freebsd-update fetch
> freebsd-update install
>=20
> Before the upgrade, the USB DAC registered as pcm0 while now it =
registers as pcm2, so the sysctl=E2=80=99s applied to the device now =
obviously go to another device (namely one of the HDMI outputs), but =
even then I should get audio from it.

(=E2=80=A6)

I got this working again.
I had entirely forgotten that I had a custom kernel in place (and also =
that freebsd-update updates the sources too, so that you can compile a =
custom kernel based on updated sources).=20
That kernel conf contains this bit:

# Sound support
nodevice        sound                   # Generic sound driver =
(required)
nodevice        snd_cmi                 # CMedia CMI8338/CMI8738
nodevice        snd_csa                 # Crystal Semiconductor =
CS461x/428x
nodevice        snd_emu10kx             # Creative SoundBlaster Live! =
and Audigy
nodevice        snd_es137x              # Ensoniq AudioPCI ES137x
nodevice        snd_hda                 # Intel High Definition Audio
nodevice        snd_ich                 # Intel, NVidia and other ICH =
AC'97 Audio
nodevice        snd_via8233             # VIA VT8233x Audio

That in turn causes only the necessary Audio subsystem kernel modules to =
be loaded, probably from the USB uaudio device detection:

> kldstat
Id Refs Address                Size Name
 1   66 0xffffffff80200000  1487e60 kernel
(=E2=80=A6)
 7    1 0xffffffff82214000     6730 cuse.ko
 8    1 0xffffffff8221b000     3378 acpi_wmi.ko
 9    1 0xffffffff8221f000     3218 intpm.ko
10    1 0xffffffff82223000     2180 smbus.ko
11    1 0xffffffff82226000     2280 uhid.ko
12    1 0xffffffff82229000     3320 usbhid.ko
13    1 0xffffffff8222d000     31f8 hidbus.ko
14    1 0xffffffff82231000     32c0 wmt.ko
15    1 0xffffffff82235000     3268 ums.ko
16    1 0xffffffff82239000     c4d0 snd_uaudio.ko
17    2 0xffffffff82246000    43488 sound.ko
(=E2=80=A6)

And now the only PCM device is:
> cat /dev/sndstat=20
Installed devices:
pcm0: <USB audio> (play) default
No devices installed from userspace.

And everything falls into place again.

It=E2=80=99s still unclear to me why it didn=E2=80=99t work with sound =
and snd_hda included in the GENERIC kernel, or is it perhaps because =
uaudio isn=E2=80=99t in that kernel and instead gets loaded on demand =
after the other drivers?
If so, was this the expected result?

Regards,

Alban Hertroys
--
There is always an exception to always.







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D8AD153A-45BE-4B37-B515-89257F19EB25>