Bug 134767

Summary: [sound] [snd_hda] [regression] Sigmatel STAC9205X no sound under RELENG_7_2_0_RELEASE
Product: Base System Reporter: Lars Hecking <lhecking>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.txt none

Description Lars Hecking 2009-05-21 00:40:00 UTC
Sound on my machine stopped working when I upgraded from 7.1 to 7.2. I have
attached the relevant parts of a verbose boot, and have posted some details here:
http://lists.freebsd.org/pipermail/freebsd-multimedia/2009-May/010078.html .
Playing with hw.snd.default_unit and hw.snd.verbose=4 did not help. Due to the
nature of my workaround, I believe this is a genuine bug rather than a
configuration issue.

Fix: The workaround I am using is to replace the files under /usr/src/sys/dev/sound/pci/hda with their equivalents from RELENG_7_1_0_RELEASE, and recompile the
kernel:

hda_reg.h       1.2.8.1
hdac.c          1.44.2.7.2.1
hdac.h          1.1.8.1
hdac_private.h  1.8.6.1
hdac_reg.h      1.1.8.1


Patch attached with submission follows:
How-To-Repeat: Boot into Gnome desktop and try anything that would produce sound (Gnome sound
effects, play CD, etc.).
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-05-21 05:31:09 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-multimedia

Over to maintainer(s).
Comment 2 Alexander Motin freebsd_committer freebsd_triage 2009-07-15 09:40:29 UTC
Try to dump pin status with `sysctl dev.hdac.0.pindump=1` with speakers
connected and not connected. Your codec is configured for automatic
audio redirection, but it may not be implemented in hardware.

You may try to disable jack sensing on headphones connector by adding to
loader.conf:
hint.hdac.0.cad0.nid10.config="misc=1"

-- 
Alexander Motin
Comment 3 Lars Hecking 2009-07-17 10:47:37 UTC
 Both times, head phones plugged in or not, I get

# sysctl dev.hdac.0.pindump=1
dev.hdac.0.pindump: 0 -> 0

 Disabling jack sensing in device hinst works according dmesg

# dmesg|grep -i hdac
hdac0: <Intel 82801H High Definition Audio Controller> mem
0xfebfc000-0xfebfffff irq 21 at device 27.0 on pci0
hdac0: HDA Driver Revision: 20090329_0131
hdac0: [ITHREAD]
hdac0: HDA Codec #0: Sigmatel STAC9205X
hdac0: HDA Codec #1: Conexant (Unknown)
hdac0: No jack detection support at pin 10
pcm0: <HDA Sigmatel STAC9205X PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Sigmatel STAC9205X PCM #1 Analog> at cad 0 nid 1 on hdac0

 but I still have no sound through either speakers or head phones.



---------------------------------------------------------------
This message and any attachments may contain Cypress (or its
subsidiaries) confidential information. If it has been received
in error, please advise the sender and immediately delete this
message.
---------------------------------------------------------------
Comment 4 Alexander Motin freebsd_committer freebsd_triage 2009-07-17 22:54:37 UTC
pindump result is written by kernel to first text console and syslog, 
but not to sysctl command output.

-- 
Alexander Motin
Comment 5 Lars Hecking 2009-07-21 00:28:12 UTC
Here is the pindump with headphones connected:

Jul 21 00:19:13 localhost kernel: hdac0: Dumping AFG cad=0 nid=1 pins:
Jul 21 00:19:13 localhost kernel: hdac0:  nid 10 0x0321101f as  1 seq 15    Headphones  Jack jack  1 loc  3 color   Black misc 0
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT HP      VREF Sense: 0x80002710
Jul 21 00:19:13 localhost kernel: hdac0:  nid 11 0x03811020 as  2 seq  0       Line-in  Jack jack  1 loc  3 color   Black misc 0
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x7fffffff delay 100000us
Jul 21 00:19:13 localhost kernel: hdac0:  nid 12 0x40f000f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x00002710
Jul 21 00:19:13 localhost kernel: hdac0:  nid 13 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT HP           Sense: 0x7fffffff delay 100000us
Jul 21 00:19:13 localhost kernel: hdac0:  nid 14 0x40f000f1 as 15 seq  1         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x00002710
Jul 21 00:19:13 localhost kernel: hdac0:  nid 15 0x40f000f2 as 15 seq  2         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x7fffffff delay 100000us
Jul 21 00:19:13 localhost kernel: hdac0:  nid 20 0x40f000f3 as 15 seq  3         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps:    OUT             
Jul 21 00:19:13 localhost kernel: hdac0:  nid 22 0x40f000f4 as 15 seq  4         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:19:13 localhost kernel: hdac0:  nid 23 0x90a60030 as  3 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 0
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:19:13 localhost kernel: hdac0:  nid 24 0x40f000f5 as 15 seq  5         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:19:13 localhost kernel: hdac0:  nid 33 0x40f000f6 as 15 seq  6         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps:    OUT             
Jul 21 00:19:13 localhost kernel: hdac0:  nid 34 0x40f000f7 as 15 seq  7         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:19:13 localhost kernel: hdac0:        Caps: IN        EAPD      Sense: 0x00000000
Jul 21 00:19:13 localhost kernel: hdac0: NumGPIO=5 NumGPO=0 NumGPI=0 GPIWake=1 GPIUnsol=1
Jul 21 00:19:13 localhost kernel: hdac0: GPIO: data=0x00000001 enable=0x00000001 direction=0x00000001
Jul 21 00:19:13 localhost kernel: hdac0:       wake=0x00000000  unsol=0x00000000    sticky=0x00000000

And here with headphones disconnected:

Jul 21 00:18:12 localhost kernel: hdac0: Dumping AFG cad=0 nid=1 pins:
Jul 21 00:18:12 localhost kernel: hdac0:  nid 10 0x0321101f as  1 seq 15    Headphones  Jack jack  1 loc  3 color   Black misc 0
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT HP      VREF Sense: 0x00002710 delay 10us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 11 0x03811020 as  2 seq  0       Line-in  Jack jack  1 loc  3 color   Black misc 0
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x7fffffff delay 100000us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 12 0x40f000f0 as 15 seq  0         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x00002710 delay 20us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 13 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT HP           Sense: 0x7fffffff delay 100000us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 14 0x40f000f1 as 15 seq  1         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x00002710 delay 10us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 15 0x40f000f2 as 15 seq  2         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN OUT         VREF Sense: 0x7fffffff delay 100000us
Jul 21 00:18:12 localhost kernel: hdac0:  nid 20 0x40f000f3 as 15 seq  3         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps:    OUT             
Jul 21 00:18:12 localhost kernel: hdac0:  nid 22 0x40f000f4 as 15 seq  4         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:18:12 localhost kernel: hdac0:  nid 23 0x90a60030 as  3 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 0
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:18:12 localhost kernel: hdac0:  nid 24 0x40f000f5 as 15 seq  5         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN                 
Jul 21 00:18:12 localhost kernel: hdac0:  nid 33 0x40f000f6 as 15 seq  6         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps:    OUT             
Jul 21 00:18:12 localhost kernel: hdac0:  nid 34 0x40f000f7 as 15 seq  7         Other  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
Jul 21 00:18:12 localhost kernel: hdac0:        Caps: IN        EAPD      Sense: 0x00000000
Jul 21 00:18:12 localhost kernel: hdac0: NumGPIO=5 NumGPO=0 NumGPI=0 GPIWake=1 GPIUnsol=1
Jul 21 00:18:12 localhost kernel: hdac0: GPIO: data=0x00000001 enable=0x00000001 direction=0x00000001
Jul 21 00:18:12 localhost kernel: hdac0:       wake=0x00000000  unsol=0x00000000    sticky=0x00000000



---------------------------------------------------------------
This message and any attachments may contain Cypress (or its
subsidiaries) confidential information. If it has been received
in error, please advise the sender and immediately delete this
message.
---------------------------------------------------------------
Comment 6 per 2009-08-10 08:34:34 UTC
I believe I'm seeing the same problem with a slightly different codec
model:

Aug  7 16:03:58 mars kernel: hdac0: HDA Codec #0: Sigmatel STAC9220
Aug  7 16:03:58 mars kernel: pcm0: <HDA Sigmatel STAC9220 PCM #0 Analog> at cad 0 nid 1 on hdac0

Worked fine in 7.0-RELEASE, no sound in 7.2-RELEASE - using the
7.1-RELEASE sources for snd_hda brings it back to life.

--Per Hedeland
Comment 7 Lars Hecking 2009-11-27 23:07:34 UTC
Back to square one. The problem persists in FreeBSD 8.0, and comparing the
code with 7.x, I don't think my workaround from 7.2 will work.
Comment 8 Lars Hecking 2010-01-31 00:36:12 UTC
 Another update: playing with gnome-sound-recorder and headphones, I found
 that there is sound. It's just barely audible. 

 Any suggestions?
Comment 9 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:36 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped