Speaker and Headphone Output
One of the most frequent (and obvious) bugs with HD-audio is the silent output from either or both of a built-in speaker and a headphone jack. In general, you should try a headphone output at first. A speaker output often requires more additional controls like the external amplifier bits. Thus a headphone output has a slightly better chance.
Before making a bug report, double-check whether the mixer is set up correctly. The recent version of snd-hda-intel driver provides mostly "Master" volume control as well as "Front" volume (where Front indicates the front-channels). In addition, there can be individual "Headphone" and "Speaker" controls.
Ditto for the speaker output. There can be "External Amplifier" switch on some codecs. Turn on this if present.
Another related problem is the automatic mute of speaker output by headphone plugging. This feature is implemented in most cases, but not on every preset model or codec-support code.
In anyway, try a different model option if you have such a problem. Some other models may match better and give you more matching functionality. If none of the available models works, send a bug report.
See the bug report section for details.
If you are masochistic enough to debug the driver problem, note the following:
- The speaker (and the headphone, too) output often requires the external amplifier. This can be set usually via EAPD verb or a certain GPIO. If the codec pin supports EAPD, you have a better chance via SET_EAPD_BTL verb (0x70c). On others, GPIO pin (mostly it's either GPIO0 or GPIO1) may turn on/off EAPD.
- Some Realtek codecs require special vendor-specific coefficients to turn on the amplifier. See patch_realtek.c.
- IDT codecs may have extra power-enable/disable controls on each analog pin. See patch_sigmatel.c.
- Very rare but some devices don't accept the pin-detection verb until triggered. Issuing GET_PIN_SENSE verb (0xf09) may result in the codec-communication stall. Some examples are found in patch_realtek.c.