Results 1 to 8 of 8
It's an exciting day. I have a Gateway M-Series laptop with this bloody Intel sound card using the SigmaTel STAC9205 codec, and I have never until now been able to ...
- 10-16-2009 #1
Take that SigmaTel STAC9205!
It's an exciting day. I have a Gateway M-Series laptop with this bloody Intel sound card using the SigmaTel STAC9205 codec, and I have never until now been able to get sound from headphones working with ALSA. Plug in headphones and everything muted. It would work using OSS4, though the external speakers wouldn't mute (though I could turn them down myself and keep the headphones), but not ALSA.
It had been a while since I checked up on it, and today I was googling around when bam, there it was. As of ALSA 1.0.20, a new option was added.
Stuck this in /etc/modprobe.d/modprobe.conf
and there you go. Sound out of my damned headphones.Code:options snd-hda-intel model=eapd probe_mask=1 position_fix=1
I now have no piece of hardware that doesn't work swimmingly with linux.
- 10-17-2009 #2
It's good to know that options can be added to the sound module. I ran modinfo on the snd-hda-intel module, and here are all of the options:
It doesn't give any actual option choices, so I wonder how to find them. Some are somewhat obvious, but others?Code:parm: power_save:Automatic power-saving timeout (in second, 0 = disable). (int) parm: index:Index value for Intel HD audio interface. (array of int) parm: id:ID string for Intel HD audio interface. (array of charp) parm: enable:Enable Intel HD audio interface. (array of bool) parm: model:Use the given board model. (array of charp) parm: position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF). (array of int) parm: bdl_pos_adj:BDL position adjustment offset. (array of int) parm: probe_mask:Bitmask to probe codecs (default = -1). (array of int) parm: single_cmd:Use single command to communicate with codecs (for debugging only). (bool) parm: enable_msi:Enable Message Signaled Interrupt (MSI) (int) parm: power_save_controller:Reset controller in power save mode. (bool)
Paul
Please do not send Private Messages to me with requests for help. I will not reply.
- 10-17-2009 #3
In my kernel source there is this document:
/Documentation/sound/alsa/ALSA-Configuration.txt
It has quite a bit of info in it. Here is the section for the snd-hda-intel module (sorry for the big post):
I never should have read your post, reed9!Code:Module snd-hda-intel -------------------- Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620, RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461 [Multiple options for each card instance] model - force the model name position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. Passing -1 will make the driver to choose the appropriate value based on the controller chip. [Single (global) options] single_cmd - Use single immediate commands to communicate with codecs (for debugging only) enable_msi - Enable Message Signaled Interrupt (MSI) (default = off) power_save - Automatic power-saving timtout (in second, 0 = disable) power_save_controller - Reset HD-audio controller in power-saving mode (default = on) This module supports multiple cards and autoprobe. Each codec may have a model table for different configurations. If your machine isn't listed there, the default (usually minimal) configuration is set up. You can pass "model=<name>" option to specify a certain model in such a case. There are different models depending on the codec chip. Model name Description ---------- ----------- ALC880 3stack 3-jack in back and a headphone out 3stack-digout 3-jack in back, a HP out and a SPDIF out 5stack 5-jack in back, 2-jack in front 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out 6stack 6-jack in back, 2-jack in front 6stack-digout 6-jack with a SPDIF out w810 3-jack z71v 3-jack (HP shared SPDIF) asus 3-jack (ASUS Mobo) asus-w1v ASUS W1V asus-dig ASUS with SPDIF out asus-dig2 ASUS with SPDIF out (using GPIO2) uniwill 3-jack fujitsu Fujitsu Laptops (Pi1536) F1734 2-jack lg LG laptop (m1 express dual) lg-lw LG LW20/LW25 laptop tcl TCL S700 clevo Clevo laptops (m520G, m665n) medion Medion Rim 2150 test for testing/debugging purpose, almost all controls can be adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y auto auto-config reading BIOS (default) ALC260 hp HP machines hp-3013 HP machines (3013-variant) hp-dc7600 HP DC7600 fujitsu Fujitsu S7020 acer Acer TravelMate will Will laptops (PB V7900) replacer Replacer 672V basic fixed pin assignment (old default model) test for testing/debugging purpose, almost all controls can adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y auto auto-config reading BIOS (default) ALC262 fujitsu Fujitsu Laptop hp-bpc HP xw4400/6400/8400/9400 laptops hp-bpc-d7000 HP BPC D7000 hp-tc-t5735 HP Thin Client T5735 hp-rp5700 HP RP5700 benq Benq ED8 benq-t31 Benq T31 hippo Hippo (ATI) with jack detection, Sony UX-90s hippo_1 Hippo (Benq) with jack detection sony-assamd Sony ASSAMD toshiba-s06 Toshiba S06 toshiba-rx1 Toshiba RX1 ultra Samsung Q1 Ultra Vista model lenovo-3000 Lenovo 3000 y410 nec NEC Versa S9100 basic fixed pin assignment w/o SPDIF auto auto-config reading BIOS (default) ALC267/268 quanta-il1 Quanta IL1 mini-notebook 3stack 3-stack model toshiba Toshiba A205 acer Acer laptops acer-aspire Acer Aspire One dell Dell OEM laptops (Vostro 1200) zepto Zepto laptops test for testing/debugging purpose, almost all controls can adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y auto auto-config reading BIOS (default) ALC269 basic Basic preset quanta Quanta FL1 eeepc-p703 ASUS Eeepc P703 P900A eeepc-p901 ASUS Eeepc P901 S101 ALC662/663 3stack-dig 3-stack (2-channel) with SPDIF 3stack-6ch 3-stack (6-channel) 3stack-6ch-dig 3-stack (6-channel) with SPDIF 6stack-dig 6-stack with SPDIF lenovo-101e Lenovo laptop eeepc-p701 ASUS Eeepc P701 eeepc-ep20 ASUS Eeepc EP20 ecs ECS/Foxconn mobo m51va ASUS M51VA g71v ASUS G71V h13 ASUS H13 g50v ASUS G50V asus-mode1 ASUS asus-mode2 ASUS asus-mode3 ASUS asus-mode4 ASUS asus-mode5 ASUS asus-mode6 ASUS auto auto-config reading BIOS (default) ALC882/885 3stack-dig 3-jack with SPDIF I/O 6stack-dig 6-jack digital with SPDIF I/O arima Arima W820Di1 targa Targa T8, MSI-1049 T8 asus-a7j ASUS A7J asus-a7m ASUS A7M macpro MacPro support mbp3 Macbook Pro rev3 imac24 iMac 24'' with jack detection w2jc ASUS W2JC auto auto-config reading BIOS (default) ALC883/888 3stack-dig 3-jack with SPDIF I/O 6stack-dig 6-jack digital with SPDIF I/O 3stack-6ch 3-jack 6-channel 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O 6stack-dig-demo 6-jack digital for Intel demo board acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) acer-aspire Acer Aspire 9810 medion Medion Laptops medion-md2 Medion MD2 targa-dig Targa/MSI targa-2ch-dig Targs/MSI with 2-channel laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) lenovo-101e Lenovo 101E lenovo-nb0763 Lenovo NB0763 lenovo-ms7195-dig Lenovo MS7195 lenovo-sky Lenovo Sky haier-w66 Haier W66 3stack-hp HP machines with 3stack (Lucknow, Samba boards) 6stack-dell Dell machines with 6stack (Inspiron 530) mitac Mitac 8252D clevo-m720 Clevo M720 laptop series fujitsu-pi2515 Fujitsu AMILO Pi2515 3stack-6ch-intel Intel DG33* boards auto auto-config reading BIOS (default) ALC861/660 3stack 3-jack 3stack-dig 3-jack with SPDIF I/O 6stack-dig 6-jack with SPDIF I/O 3stack-660 3-jack (for ALC660) uniwill-m31 Uniwill M31 laptop toshiba Toshiba laptop support asus Asus laptop support asus-laptop ASUS F2/F3 laptops auto auto-config reading BIOS (default) ALC861VD/660VD 3stack 3-jack 3stack-dig 3-jack with SPDIF OUT 6stack-dig 6-jack with SPDIF OUT 3stack-660 3-jack (for ALC660VD) 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD) lenovo Lenovo 3000 C200 dallas Dallas laptops hp HP TX1000 asus-v1s ASUS V1Sn auto auto-config reading BIOS (default) CMI9880 minimal 3-jack in back min_fp 3-jack in back, 2-jack in front full 6-jack in back, 2-jack in front full_dig 6-jack in back, 2-jack in front, SPDIF I/O allout 5-jack in back, 2-jack in front, SPDIF out auto auto-config reading BIOS (default) AD1882 / AD1882A 3stack 3-stack mode (default) 6stack 6-stack mode AD1884A / AD1883 / AD1984A / AD1984B desktop 3-stack desktop (default) laptop laptop with HP jack sensing mobile mobile devices with HP jack sensing thinkpad Lenovo Thinkpad X300 AD1884 N/A AD1981 basic 3-jack (default) hp HP nx6320 thinkpad Lenovo Thinkpad T60/X60/Z60 toshiba Toshiba U205 AD1983 N/A AD1984 basic default configuration thinkpad Lenovo Thinkpad T61/X61 dell Dell T3400 AD1986A 6stack 6-jack, separate surrounds (default) 3stack 3-stack, shared surrounds laptop 2-channel only (FSC V2060, Samsung M50) laptop-eapd 2-channel with EAPD (ASUS A6J) laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100) ultra 2-channel with EAPD (Samsung Ultra tablet PC) samsung 2-channel with EAPD (Samsung R65) AD1988/AD1988B/AD1989A/AD1989B 6stack 6-jack 6stack-dig ditto with SPDIF 3stack 3-jack 3stack-dig ditto with SPDIF laptop 3-jack with hp-jack automute laptop-dig ditto with SPDIF auto auto-config reading BIOS (default) Conexant 5045 laptop-hpsense Laptop with HP sense (old model laptop) laptop-micsense Laptop with Mic sense (old model fujitsu) laptop-hpmicsense Laptop with HP and Mic senses benq Benq R55E test for testing/debugging purpose, almost all controls can be adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y Conexant 5047 laptop Basic Laptop config laptop-hp Laptop config for some HP models (subdevice 30A5) laptop-eapd Laptop config with EAPD support test for testing/debugging purpose, almost all controls can be adjusted. Appearing only when compiled with $CONFIG_SND_DEBUG=y Conexant 5051 laptop Basic Laptop config (default) hp HP Spartan laptop STAC9200 ref Reference board dell-d21 Dell (unknown) dell-d22 Dell (unknown) dell-d23 Dell (unknown) dell-m21 Dell Inspiron 630m, Dell Inspiron 640m dell-m22 Dell Latitude D620, Dell Latitude D820 dell-m23 Dell XPS M1710, Dell Precision M90 dell-m24 Dell Latitude 120L dell-m25 Dell Inspiron E1505n dell-m26 Dell Inspiron 1501 dell-m27 Dell Inspiron E1705/9400 gateway Gateway laptops with EAPD control panasonic Panasonic CF-74 STAC9205/9254 ref Reference board dell-m42 Dell (unknown) dell-m43 Dell Precision dell-m44 Dell Inspiron STAC9220/9221 ref Reference board 3stack D945 3stack 5stack D945 5stack + SPDIF intel-mac-v1 Intel Mac Type 1 intel-mac-v2 Intel Mac Type 2 intel-mac-v3 Intel Mac Type 3 intel-mac-v4 Intel Mac Type 4 intel-mac-v5 Intel Mac Type 5 intel-mac-auto Intel Mac (detect type according to subsystem id) macmini Intel Mac Mini (equivalent with type 3) macbook Intel Mac Book (eq. type 5) macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3) macbook-pro Intel Mac Book Pro 2nd generation (eq. type 3) imac-intel Intel iMac (eq. type 2) imac-intel-20 Intel iMac (newer version) (eq. type 3) dell-d81 Dell (unknown) dell-d82 Dell (unknown) dell-m81 Dell (unknown) dell-m82 Dell XPS M1210 STAC9202/9250/9251 ref Reference board, base config m2-2 Some Gateway MX series laptops m6 Some Gateway NX series laptops pa6 Gateway NX860 series STAC9227/9228/9229/927x ref Reference board ref-no-jd Reference board without HP/Mic jack detection 3stack D965 3stack 5stack D965 5stack + SPDIF dell-3stack Dell Dimension E520 dell-bios Fixes with Dell BIOS setup STAC92HD71B* ref Reference board dell-m4-1 Dell desktops dell-m4-2 Dell desktops dell-m4-3 Dell desktops STAC92HD73* ref Reference board no-jd BIOS setup but without jack-detection dell-m6-amic Dell desktops/laptops with analog mics dell-m6-dmic Dell desktops/laptops with digital mics dell-m6 Dell desktops/laptops with both type of mics STAC9872 vaio Setup for VAIO FE550G/SZ110 vaio-ar Setup for VAIO AR The model name "genric" is treated as a special case. When this model is given, the driver uses the generic codec parser without "codec-patch". It's sometimes good for testing and debugging. If the default configuration doesn't work and one of the above matches with your device, report it together with the PCI subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel ML (see the section "Links and Addresses"). power_save and power_save_controller options are for power-saving mode. See powersave.txt for details. Note 2: If you get click noises on output, try the module option position_fix=1 or 2. position_fix=1 will use the SD_LPIB register value without FIFO size correction as the current DMA pointer. position_fix=2 will make the driver to use the position buffer instead of reading SD_LPIB register. (Usually SD_LPIB register is more accurate than the position buffer.) NB: If you get many "azx_get_response timeout" messages at loading, it's likely a problem of interrupts (e.g. ACPI irq routing). Try to boot with options like "pci=noacpi". Also, you can try "single_cmd=1" module option. This will switch the communication method between HDA controller and codecs to the single immediate commands instead of CORB/RIRB. Basically, the single command mode is provided only for BIOS, and you won't get unsolicited events, too. But, at least, this works independently from the irq. Remember this is a last resort, and should be avoided as much as possible... MORE NOTES ON "azx_get_response timeout" PROBLEMS: On some hardwares, you may need to add a proper probe_mask option to avoid the "azx_get_response timeout" problem above, instead. This occurs when the access to non-existing or non-working codec slot (likely a modem one) causes a stall of the communication via HD-audio bus. You can see which codec slots are probed by enabling CONFIG_SND_DEBUG_VERBOSE, or simply from the file name of the codec proc files. Then limit the slots to probe by probe_mask option. For example, probe_mask=1 means to probe only the first slot, and probe_mask=4 means only the third slot. The power-management is supported.
Now you got me going on this, And I don't even have that sound card!
EDIT: I must correct myself. My Eee PC is showing this module loading:
snd_hda_intelPaul
Please do not send Private Messages to me with requests for help. I will not reply.
- 10-17-2009 #4What I did was find out which "codec" the sound card uses. Which initially I did as soIt doesn't give any actual option choices, so I wonder how to find them. Some are somewhat obvious, but others?
until I found this easier to read methodCode:cat /proc/asound/card0/codec#0 | less
Then check it against the kernel documentation.Code:head -n 1 /proc/asound/card0/codec*
Linux Kernel Documentation :: sound : alsa : HD-Audio-Models.txt
Searched for STAC9205, and find the module options.
Some of the other options are described in this bit.Linux Kernel Documentation :: sound : alsa : ALSA-Configuration.txt
But I didn't pour through that. I found a blog post somewhere regarding a gateway t-series laptop, and I thought I'd try it with my m-series.
- 10-17-2009 #5
OK, one more thing that troubled me.

Your choice of model=eapd isn't listed in the documentation that I have, but laptop-eapd is. Since you have the latest version, that must be the reason, so the latest documentation on supported cards in found here:
git.alsa-project.org Git - alsa-kernel.git/blob - Documentation/sound/alsa/HD-Audio-Models.txt
The eapd option has been added back in, as you already know.Paul
Please do not send Private Messages to me with requests for help. I will not reply.
- 10-17-2009 #6snd_hda_intel is fairly generic as it turns out. You have to find the codec as I mentioned above to get at the goods.EDIT: I must correct myself. My Eee PC is showing this module loading:
snd_hda_intel
- 10-17-2009 #7Yeah, that was part of my problem. For months I've been looking and it looks like this options was only added recently. Fortunately Arch is bleeding edge.Your choice of model=eapd isn't listed in the documentation that I have
- 10-17-2009 #8
I am not having sound problems, but I also don't use headphones. This is the codec that my Eee Pc 900 uses.
Codec: Realtek ALC662 rev1
It may come in handy some day, thanks.Paul
Please do not send Private Messages to me with requests for help. I will not reply.


Reply With Quote
