Hey folks. I’ve been working on this for several days now. No joy from solutions on the web. I’m getting no sound.
I am running NomadBSD on a 256G USB3.1 Sanyo thumb drive on a Dell 2-in-1 7659 laptop with windows10 on it. BIOS have been updated to current. It has the ALC225 device as well as a Intel Skylake device (for HDMI) , snd_hda driver is active:
nomad@NomadBSD$ cat /dev/sndstat
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:
pcm0: <Realtek ALC225 (Analog)> on hdaa0 (1p:1v/1r:1v) default
snddev flags=0xee2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC,EQ,EQ_ENABLED>
[pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000014
interrupts 986, underruns 0, feed 986, ready 0 [b:2048/1024/2|bs:2048/1024/2]
channel flags=0x2100<BUSY,HAS_VCHAN>
{userland} -> feeder_mixer(0x00200010) -> feeder_eq(0x00200010) -> {hardware}
pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 44100/48000, fmt 0x00200010, flags 0x10000000, 0x00000029
interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:8192/1024/8]
channel flags=0x10000000<VIRTUAL>
{userland} -> feeder_root(0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:3 44100 -> 48000) -> {hardware}
[pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000005
interrupts 3742, overruns 0, feed 7452, hfree 512, sfree 512 [b:512/256/2|bs:512/256/2]
channel flags=0x2100<BUSY,HAS_VCHAN>
{hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) -> {userland}
pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 44100/48000, fmt 0x00200010, flags 0x10000000, 0x00000029
interrupts 0, overruns 0, feed 0, hfree 0, sfree 32768 [b:0/0/0|bs:32768/256/128]
channel flags=0x10000000<VIRTUAL>
{hardware} -> feeder_root(0x00200010) -> feeder_rate(0x00200010 q:3 48000 -> 44100) -> feeder_volume(0x00200010) -> {userland}
pcm1: <Intel Skylake (HDMI/DP 8ch)> on hdaa1 (1p:1v/0r:0v)
snddev flags=0xee7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,EQ,EQ_ENABLED>
[pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010, flags 0x00006100, 0x00000014
interrupts 962, underruns 0, feed 962, ready 0 [b:2048/1024/2|bs:2048/1024/2]
channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
{userland} -> feeder_mixer(0x00200010) -> feeder_eq(0x00200010) -> {hardware}
pcm1:play:dsp1.p0[pcm1:virtual:dsp1.vp0]: spd 44100/48000, fmt 0x00200010, flags 0x10000000, 0x00000029
interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:8192/1024/8]
channel flags=0x10000000<VIRTUAL>
{userland} -> feeder_root(0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:3 44100 -> 48000) -> {hardware}
No devices installed from userspace.
File Versions:
$FreeBSD$
$FreeBSD$
............................................................
/etc/sysctl.conf:
# Set default sound device
hw.snd.default_unit=0
# Good sound sampling quality
hw.snd.feeder_rate_quality=3
# Max. number of virtual channels
dev.pcm.0.play.vchans=4
dev.pcm.0.rec.vchans=4
hw.snd.maxautovchans=32
# Set level of sndstat reporting
hw.snd.verbose=4
…
dmesg:
hdacc0: <Realtek ALC225 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC225 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC225 (Analog)> at nid 33 and 18 on hdaa0
hdacc1: <Intel Skylake HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel Skylake Audio Function Group> at nid 1 on hdacc1
pcm1: <Intel Skylake (HDMI/DP 8ch)> at nid 3 on hdaa1
…
Loader.conf:
snd_hda_load="YES"
…
I opened Simple Recorder and recorded a short video/audio test and got no sound. I cat’d the file to /dev/dsp and got no sound. Nor do I get sound on YouTube through Firefox.
As I said, everything works perfectly on my Arch Linux box, so it’s something particular to this model laptop. The snd_hda driver should have taken care of the sound card. I don’t know enough to start messing with GPIO settings and such, as mentioned in some of the documentation, without some coaching.
I have gone over every solution I could find that came anywhere close to applicable to my situation. I know it’s particular to this laptop, because I get sound with this same configuration on my linux desktop. While I am familiar with FreeBSD, I’m not particularly adept at trouble-shooting where it goes beyond the handbook. Any suggestions?
UPDATE: I just got another hint. Don’t know why I didn’t try it before, but I get sound through headphones. I’m pretty sure it’s just a simple setting I don’t know about.
pin dump dmesg (pertinent lines):
hdaa0: Setting amplifier nid=33 index=0 out mute=0/0 vol=0/0
hdaa0: Setting amplifier nid=2 index=0 out mute=0/0 vol=52/52
hdaa0: Setting amplifier nid=7 index=0 in mute=1/1 vol=0/0
hdaa0: Setting amplifier nid=18 index=0 in mute=1/1 vol=0/0
hdaa0: Dumping AFG pins:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 18 b7a60150 5 0 Mic Fixed Digital Lid-In Unknown 1
hdaa0: Caps: IN
hdaa0: 19 40000000 0 0 Line-out None Unknown 0x00 Unknown 0 DISA
hdaa0: Caps: IN
hdaa0: 20 901701b0 11 0 Speaker Fixed Analog Internal Unknown 1 DISA
hdaa0: Caps: OUT EAPD Sense: 0x00000000 (disconnected)
hdaa0: 22 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: OUT HP Sense: 0x80000000 (connected)
hdaa0: 23 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: OUT HP Sense: 0x00000000 (disconnected)
hdaa0: 24 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN Sense: 0x00000000 (disconnected)
hdaa0: 25 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN VREF Sense: 0x00000000 (disconnected)
hdaa0: 26 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN VREF Sense: 0x00000000 (disconnected)
hdaa0: 27 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN OUT EAPD VREF Sense: 0x80000000 (connected)
hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: OUT
hdaa0: 33 04211020 2 0 Headphones Jack 1/8 Right Black 0
hdaa0: Caps: OUT HP EAPD Sense: 0x00000000 (disconnected)
hdaa0: NumGPIO=3 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
hdaa0: GPIO0: disabled
hdaa0: GPIO1: disabled
hdaa0: GPIO2: disabled
…
I’m guessing the “1” under the misc column indicates “muted”, since nid33 is the headphones and shows “0”. Can anybody tell me how to reset that to unmute the internal speakers on nid20?