Thinkcentre M93 no HDMI sound
Posted: Tue Mar 14, 2023 6:45 pm
Greetings,
My first foray into BSD I have GhostBSD 13 installed on a Lenovo Thinkcentre M93. It works great. The only issue is no HDMI sound. I have read through the forums here and freeBSD but have found no insights. I also read man snd_hda. I'm sure there is an 'operator' error somewhere that I have missed.
The HDMI sound works excellent under various Linux distros so it is a puzzle. Output sound preferences in the mixer app is set to HDMI. Headphone jack puts out sound when set to it. Is it possible to compile a linux driver for the sound using the compatibility layer?
Could someone look through these settings to see what I am missing?
TIA
hw_probe = URL: https://bsd-hardware.info/?probe=c9279ce424
cat /dev/sndstat
Installed devices:
pcm0: <Intel Haswell (HDMI/DP 8ch)> (play) default
pcm1: <Realtek ALC283 (Front Analog)> (play/rec)
pcm2: <Realtek ALC283 (Rear Analog Mic)> (rec)
No devices installed from userspace.
mixer
Mixer vol is currently set to 55:55
Mixer pcm is currently set to 100:100
cat /boot/loader.conf
rc_system="bsdrc"
crypto_load="YES"
aesni_load="YES"
geom_eli_load="YES"
vfs.zfs.arc_max="512M"
zfs_load="YES"
snd_hda_load="YES"
sysctl dev.hdac.0
dev.hdac.0.polling: 0
dev.hdac.0.pindump: 0
dev.hdac.0.%parent: pci0
dev.hdac.0.%pnpinfo: vendor=0x8086 device=0x0c0c subvendor=0x17aa subdevice=0x30a3 class=0x040300
dev.hdac.0.%location: slot=3 function=0 dbsf=pci0:0:3:0 handle=\_SB_.PCI0.B0D3
dev.hdac.0.%driver: hdac
dev.hdac.0.%desc: Intel Haswell HDA Controller
kldstat -v | grep snd
268 hdac/snd_hda
267 pci/snd_hda
266 hdaa/snd_hda_pcm
265 hdacc/snd_hda
264 pci/snd_via8233
263 pci/snd_ich
262 pci/snd_es137x
261 emu10kx/snd_emu10kx_midi
260 emu10kx/snd_emu10kx_pcm
259 pci/snd_emu10kx
258 csa/snd_csapcm
257 pci/snd_csa
256 pci/snd_cmi
dmesg | grep pcm
pcm0: <Intel Haswell (HDMI/DP 8ch)> at nid 3 on hdaa0
pcm1: <Realtek ALC283 (Front Analog)> at nid 33 and 25 on hdaa1
pcm2: <Realtek ALC283 (Rear Analog Mic)> at nid 26 on hdaa1
cat /etc/sysctl.conf
# $FreeBSD$
#
# 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
# add user mount
vfs.usermount=1
# the following is required to run chromium browser
kern.ipc.shm_allow_removed=1
# Disable creating *.core files
kern.coredump=0
# Improve responsiveness on high work load.
kern.sched.preempt_thresh=224
# Fix stuttering issue on AMD
kern.sched.steal_thresh=1
# A table of 100000 file descriptors should be enough for desktop system.
kern.maxfiles=100000
# Improve write speed a little bit
vfs.lorunningspace=1048576
vfs.hirunningspace=5242880
# this is required for MBR 4 alignement
kern.geom.part.mbr.enforce_chs=0
# PROPOSED SECURITY ADDITIONS BELOW
#
# hw.kbd.keymap_restrict_change=4
# kern.randompid=1
# kern.sugid_coredump=0
#
# Prevent users from seeing information about processes
# that are being run under another UID.
# security.bsd.see_other_uids=0
# security.bsd.see_other_gids=0
#
# security.bsd.hardlink_check_gid=1
# security.bsd.hardlink_check_uid=1
# security.bsd.stack_guard_page=1
#
# Disable Reading Kernel Buffers
# security.bsd.unprivileged_read_msgbuf=0
#
# Disable Process Debugging Facilities
# security.bsd.unprivileged_proc_debug=0
#
# Prandomizing PID's of newly created processes
# kern.randompid=1
#
# Hide processes running in jails
# security.bsd.see_jail_proc=0
#
# drop udp and tcp packets going to closed sockets
# net.inet.udp.blackhole=1
# net.inet.tcp.blackhole=2
#
# IPv4 ICMP drop redirect security enhancement
# net.inet.icmp.drop_redirect=1
#
# IPv4 security additions
# net.inet.ip.check_interface=1
# net.inet.ip.process_options=0
# net.inet.ip.random_id=1
# net.inet.ip.redirect=0
# net.inet.ip.accept_sourceroute=0
# net.inet.ip.forwarding=0
# net.inet.ip.sourceroute=0
#
# IPv4 TCP security additions
# net.inet.tcp.always_keepalive=0
# net.inet.tcp.drop_synfin=1
# net.inet.tcp.icmp_may_rst=0
# net.inet.tcp.nolocaltimewait=1
# net.inet.tcp.path_mtu_discovery=0
#
# IPv4 icmp additions
# net.inet.icmp.bmcastecho=0
#
# IPv6 and icmp6 redirect for enhancing security
# net.inet6.icmp6.rediraccept=0
# net.inet6.ip6.redirect=0
hw.snd.default_unit=0
My first foray into BSD I have GhostBSD 13 installed on a Lenovo Thinkcentre M93. It works great. The only issue is no HDMI sound. I have read through the forums here and freeBSD but have found no insights. I also read man snd_hda. I'm sure there is an 'operator' error somewhere that I have missed.
The HDMI sound works excellent under various Linux distros so it is a puzzle. Output sound preferences in the mixer app is set to HDMI. Headphone jack puts out sound when set to it. Is it possible to compile a linux driver for the sound using the compatibility layer?
Could someone look through these settings to see what I am missing?
TIA
hw_probe = URL: https://bsd-hardware.info/?probe=c9279ce424
cat /dev/sndstat
Installed devices:
pcm0: <Intel Haswell (HDMI/DP 8ch)> (play) default
pcm1: <Realtek ALC283 (Front Analog)> (play/rec)
pcm2: <Realtek ALC283 (Rear Analog Mic)> (rec)
No devices installed from userspace.
mixer
Mixer vol is currently set to 55:55
Mixer pcm is currently set to 100:100
cat /boot/loader.conf
rc_system="bsdrc"
crypto_load="YES"
aesni_load="YES"
geom_eli_load="YES"
vfs.zfs.arc_max="512M"
zfs_load="YES"
snd_hda_load="YES"
sysctl dev.hdac.0
dev.hdac.0.polling: 0
dev.hdac.0.pindump: 0
dev.hdac.0.%parent: pci0
dev.hdac.0.%pnpinfo: vendor=0x8086 device=0x0c0c subvendor=0x17aa subdevice=0x30a3 class=0x040300
dev.hdac.0.%location: slot=3 function=0 dbsf=pci0:0:3:0 handle=\_SB_.PCI0.B0D3
dev.hdac.0.%driver: hdac
dev.hdac.0.%desc: Intel Haswell HDA Controller
kldstat -v | grep snd
268 hdac/snd_hda
267 pci/snd_hda
266 hdaa/snd_hda_pcm
265 hdacc/snd_hda
264 pci/snd_via8233
263 pci/snd_ich
262 pci/snd_es137x
261 emu10kx/snd_emu10kx_midi
260 emu10kx/snd_emu10kx_pcm
259 pci/snd_emu10kx
258 csa/snd_csapcm
257 pci/snd_csa
256 pci/snd_cmi
dmesg | grep pcm
pcm0: <Intel Haswell (HDMI/DP 8ch)> at nid 3 on hdaa0
pcm1: <Realtek ALC283 (Front Analog)> at nid 33 and 25 on hdaa1
pcm2: <Realtek ALC283 (Rear Analog Mic)> at nid 26 on hdaa1
cat /etc/sysctl.conf
# $FreeBSD$
#
# 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
# add user mount
vfs.usermount=1
# the following is required to run chromium browser
kern.ipc.shm_allow_removed=1
# Disable creating *.core files
kern.coredump=0
# Improve responsiveness on high work load.
kern.sched.preempt_thresh=224
# Fix stuttering issue on AMD
kern.sched.steal_thresh=1
# A table of 100000 file descriptors should be enough for desktop system.
kern.maxfiles=100000
# Improve write speed a little bit
vfs.lorunningspace=1048576
vfs.hirunningspace=5242880
# this is required for MBR 4 alignement
kern.geom.part.mbr.enforce_chs=0
# PROPOSED SECURITY ADDITIONS BELOW
#
# hw.kbd.keymap_restrict_change=4
# kern.randompid=1
# kern.sugid_coredump=0
#
# Prevent users from seeing information about processes
# that are being run under another UID.
# security.bsd.see_other_uids=0
# security.bsd.see_other_gids=0
#
# security.bsd.hardlink_check_gid=1
# security.bsd.hardlink_check_uid=1
# security.bsd.stack_guard_page=1
#
# Disable Reading Kernel Buffers
# security.bsd.unprivileged_read_msgbuf=0
#
# Disable Process Debugging Facilities
# security.bsd.unprivileged_proc_debug=0
#
# Prandomizing PID's of newly created processes
# kern.randompid=1
#
# Hide processes running in jails
# security.bsd.see_jail_proc=0
#
# drop udp and tcp packets going to closed sockets
# net.inet.udp.blackhole=1
# net.inet.tcp.blackhole=2
#
# IPv4 ICMP drop redirect security enhancement
# net.inet.icmp.drop_redirect=1
#
# IPv4 security additions
# net.inet.ip.check_interface=1
# net.inet.ip.process_options=0
# net.inet.ip.random_id=1
# net.inet.ip.redirect=0
# net.inet.ip.accept_sourceroute=0
# net.inet.ip.forwarding=0
# net.inet.ip.sourceroute=0
#
# IPv4 TCP security additions
# net.inet.tcp.always_keepalive=0
# net.inet.tcp.drop_synfin=1
# net.inet.tcp.icmp_may_rst=0
# net.inet.tcp.nolocaltimewait=1
# net.inet.tcp.path_mtu_discovery=0
#
# IPv4 icmp additions
# net.inet.icmp.bmcastecho=0
#
# IPv6 and icmp6 redirect for enhancing security
# net.inet6.icmp6.rediraccept=0
# net.inet6.ip6.redirect=0
hw.snd.default_unit=0