Solved mixer errors and pulseaudio doesn't work

I never had any issues with sound (or anything else) in 13.2 RELEASES.
Need help with this FRESH install 14.1-RELEASE and its sound issues. Thank you.

SYSTEM

Code:
Operating system release:       FreeBSD 14.1-RELEASE
OS architecture:                    amd64
Kernel build dir location:           FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC
Currently booted kernel:            /boot/kernel/kernel


Graphic card information:                                                                   
vgapci0@pci0:1:0:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x6740 subvendor=0x1028 subdevice=0x04a3
vgapci0@pci0:1:0:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x6740 subvendor=0x1028 subdevice=0x04a3
vendor='Advanced Micro Devices, Inc. [AMD/ATI]'
device='Whistler [Radeon HD 6730M/6770M/7690M XT]'
dmesg | grep pcm
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1

SYSTEM CONFIGURATION

Code:
kldstat
Id Refs Address                Size Name
 1  133 0xffffffff80200000  1f370e8 kernel
 2    1 0xffffffff82139000   5cd608 zfs.ko
 3    1 0xffffffff82707000     77d8 cryptodev.ko
 4    1 0xffffffff8270f000     45c0 snd_driver.ko
 5    2 0xffffffff82714000    1b6a0 snd_uaudio.ko
 6    2 0xffffffff82730000     72c0 snd_vibes.ko
 7    2 0xffffffff82738000     5c10 snd_via82c686.ko
 8    2 0xffffffff8273e000     5cc0 snd_t4dwave.ko
 9    4 0xffffffff82744000     3238 snd_spicds.ko
10    2 0xffffffff82748000     7650 snd_solo.ko
11    2 0xffffffff82750000    12298 snd_neomagic.ko
12    2 0xffffffff82763000     c048 snd_maestro3.ko
13    2 0xffffffff82770000     a268 snd_hdspe.ko
14    2 0xffffffff8277b000     4808 snd_fm801.ko
15    2 0xffffffff82780000     8cf8 snd_envy24ht.ko
16    2 0xffffffff82789000     a078 snd_envy24.ko
17    2 0xffffffff82794000     5ca8 snd_cs4281.ko
18    2 0xffffffff8279a000     7c98 snd_atiixp.ko
19    2 0xffffffff827a2000     61d0 snd_als4000.ko
20    1 0xffffffff83200000   504958 amdgpu.ko
21    2 0xffffffff83020000    7c050 drm.ko
22    1 0xffffffff8309d000     22b8 iic.ko
23    3 0xffffffff830a0000     3080 linuxkpi_hdmi.ko
24    3 0xffffffff830a4000     6350 dmabuf.ko
25    3 0xffffffff830ab000     3378 lindebugfs.ko
26    1 0xffffffff830af000     b360 ttm.ko
27    1 0xffffffff830bb000     3390 acpi_wmi.ko
28    1 0xffffffff830bf000     3250 ichsmb.ko
29    1 0xffffffff830c3000     2178 smbus.ko
30    1 0xffffffff830c6000     3360 uhid.ko
31    1 0xffffffff830ca000     4364 ums.ko
32    1 0xffffffff830cf000     33c0 usbhid.ko
33    1 0xffffffff830d3000     3380 hidbus.ko
34    1 0xffffffff830d7000     3360 wmt.ko
35    1 0xffffffff830db000     6760 cuse.ko


Bootloader settings:
                                                                        
The /boot/loader.conf has the following contents:
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"
snd_driver_load="YES"

/etc/rc.conf

clear_tmp_enable="YES"
syslogd_flags="-ss"
hostname="local.domain"
ifconfig_em0="inet 10.0.0.50 netmask 255.255.255.0"
defaultrouter="10.0.0.1"
ifconfig_em0_ipv6="inet6 2601:600:4200:3ea0:d267:e5ff:fe54:33f3/64"
ipv6_defaultrouter="fe80::2e95:69ff:febc:8dbd%em0"
sshd_enable="YES"
ntpd_sync_on_start="YES"
powerd_enable="YES"
# moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
kld_list="amdgpu"
cuse_enable="YES"
dbus_enable="YES"
webcamd_enable="YES"
webcamd_0_flags="-d ugen0.3"
#xrdp_enable="YES"
#xrdp_sesman_enable="YES"

Mutimedia (sound) related as per Handbook/Multimedia:

/etc/sysctl.conf
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
vfs.zfs.min_auto_ashift=12
hw.snd.default_unit=1

TROUBLESHOOTING

Code:
dmesg | grep pcm

pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> at nid 13,11 and 10,15 on hdaa1
pcm2: <IDT 92HD90BXX (Analog)> at nid 14 and 17 on hdaa1

cat /dev/sndstat

Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> (play/rec) default
pcm2: <IDT 92HD90BXX (Analog)> (play/rec)
No devices installed from userspace.

Tests  as "su"  from regular user's GUI Desktop!

root@local:/home/geo # pacmd

XDG_RUNTIME_DIR (/var/run/xdg/geo) is not owned by us (uid 0), but by uid 1001! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
No PulseAudio daemon running, or not running as session daemon.

root@local:/home/geo # pulseaudio --check
root@local:/home/geo # 

-------------------------------------------------------------------------------------------------

ADDITIONAL Troubleshooting:

mixer -a
pcm0:mixer: <ATI R6xx (HDMI)> on hdaa0 (play)
    vol       = 1.00:1.00     pbk
    pcm       = 1.00:1.00     pbk
pcm1:mixer: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> on hdaa1 (play/rec) (default)
    vol       = 0.50:0.50     pbk
    pcm       = 1.00:1.00     pbk
    speaker   = 1.00:1.00     pbk
    line      = 0.01:0.01     rec
    mic       = 0.67:0.67     rec src
    mix       = 0.35:0.35     rec
    rec       = 0.35:0.35     pbk
    ogain     = 1.00:1.00     pbk
pcm2:mixer: <IDT 92HD90BXX (Analog)> on hdaa1 (play/rec)
    vol       = 0.90:0.90     pbk
    pcm       = 1.00:1.00     pbk
    rec       = 0.35:0.35     pbk
    ogain     = 1.00:1.00     pbk
    monitor   = 0.67:0.67     rec src


mixer -f /dev/mixer
pcm1:mixer: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> on hdaa1 (play/rec) (default)
    vol       = 0.50:0.50     pbk
    pcm       = 1.00:1.00     pbk
    speaker   = 1.00:1.00     pbk
    line      = 0.01:0.01     rec
    mic       = 0.67:0.67     rec src
    mix       = 0.35:0.35     rec
    rec       = 0.35:0.35     pbk
    ogain     = 1.00:1.00     pbk

mixer -f /dev/mixer1
pcm1:mixer: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> on hdaa1 (play/rec) (default)
    vol       = 0.50:0.50     pbk
    pcm       = 1.00:1.00     pbk
    speaker   = 1.00:1.00     pbk
    line      = 0.01:0.01     rec
    mic       = 0.67:0.67     rec src
    mix       = 0.35:0.35     rec
    rec       = 0.35:0.35     pbk
    ogain     = 1.00:1.00     pbk


dmesg -a | grep mixer

mixer: speaker: no such device
mixer: speaker: no such device
mixer: line: no such device
mixer: line: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mix: no such device
mixer: mix: no such device
mixer: rec: no such device
mixer: rec: no such device
mixer: ogain: no such device
mixer: ogain: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: speaker: no such device
mixer: speaker: no such device
mixer: line: no such device
mixer: line: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mix: no such device
mixer: mix: no such device
mixer: rec: no such device
mixer: rec: no such device
mixer: ogain: no such device
mixer: ogain: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: speaker: no such device
mixer: speaker: no such device
mixer: line: no such device
mixer: line: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mix: no such device
mixer: mix: no such device
mixer: rec: no such device
mixer: rec: no such device
mixer: ogain: no such device
mixer: ogain: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: speaker: no such device
mixer: speaker: no such device
mixer: line: no such device
mixer: line: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mix: no such device
mixer: mix: no such device
mixer: rec: no such device
mixer: rec: no such device
mixer: ogain: no such device
mixer: ogain: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: speaker: no such device
mixer: speaker: no such device
mixer: line: no such device
mixer: line: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mic: no such device
mixer: mix: no such device
mixer: mix: no such device
mixer: rec: no such device
mixer: rec: no such device
mixer: ogain: no such device
mixer: ogain: no such device
mixer: monitor: no such device
mixer: monitor: no such device
mixer: monitor: no such device

This is very strange!

ls -al /dev/mix*  <- doesn't show /dev/mixer
crw-rw-rw-  1 root wheel 0x58 Jul 29 20:42 /dev/mixer0
crw-rw-rw-  1 root wheel 0x5a Jul 29 20:42 /dev/mixer1
crw-rw-rw-  1 root wheel 0x5c Jul 29 20:42 /dev/mixer2


ls -al /dev/mixer <- shows /dev/mixer
crw-rw-rw-  1 root wheel 0x5a Jul 29 20:42 /dev/mixer
 
Got the sound working! Auto switching from speaker to headphones works too. Low volume, but I can fix that. Wonder why all the mixer errors during boot :-|


[B]mixer -d pcm1[/B]
default_unit: 1 -> 1
pcm1:mixer: <IDT 92HD90BXX (Analog 2.0+HP/2.0)> on hdaa1 (play/rec) (default)
vol = 0.50:0.50 pbk
pcm = 1.00:1.00 pbk
speaker = 1.00:1.00 pbk
line = 0.01:0.01 rec
mic = 0.67:0.67 rec src
mix = 0.35:0.35 rec
rec = 0.35:0.35 pbk
ogain = 1.00:1.00 pbk



Now, what configuration file do I place the "mixer -d pcm1" in ?

Solution:

/boot/loader.conf
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"
snd_driver_load="YES"
snd_hda_driver_load="YES" <- was needed!

That information came from "man snd"
 
/boot/loader.conf
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"
snd_driver_load="YES"
snd_hda_driver_load="YES" <- was needed!

I think what's wrong is that you load all available drivers in the bootloader by having snd_driver_load="YES" in /boot/loader.conf. That's unnecessary and probably causes all those mixer messages. Get rid of that line, and also try without the snd_hda line. Like most sound drivers, snd_hda should load automatically when needed.

Unless you have to apply additional driver settings in /boot/loader.conf, there's usually no need to load sound drivers early.
 
That is a bit weird; the snd_hda(4) driver should load automatically with a standard install and a default kerne
After going over my edtis in loader.conf and audio tests again, I forgot to increase mixer volume after adding snd_driver_load="YES". So, YOU WERE RIGHT - "snd_hda" was not needed in loader.conf.
 
I think what's wrong is that you load all available drivers in the bootloader by having snd_driver_load="YES" in /boot/loader.conf. That's unnecessary and probably causes all those mixer messages. Get rid of that line, and also try without the snd_hda line. Like most sound drivers, snd_hda should load automatically when needed.

Unless you have to apply additional driver settings in /boot/loader.conf, there's usually no need to load sound drivers early.
You were right too! I didn't increase mixer volume high enough to hear anything. Maybe I'm deaf - lol
 
Back
Top