
At Tue, 24 Mar 2015 17:09:00 +0900, Michel D4nzer wrote:
On 28.02.2015 16:58, Takashi Iwai wrote:
At Sat, 28 Feb 2015 15:03:41 +0900, Michel D4nzer wrote:
On 24.02.2015 18:05, Takashi Iwai wrote:
At Tue, 24 Feb 2015 17:43:10 +0900, Michel D4nzer wrote:
On 19.02.2015 20:38, Takashi Iwai wrote:
At Thu, 19 Feb 2015 15:24:15 +0900, Michel D4nzer wrote: > > the built-in speakers of my HP ProBook 455 G2 are not working by > default. I'm attaching the output of alsa-info.sh.
[...]
In Linux, I haven't seen any visible change when plugging in or out the headphones.
You can watch the output of "alsactl monitor".
When plugging in headphones:
card 1, #38 (0,0,0,Mic Jack,0) VALUE
So, your headphone is recognized wrongly as a microphone.
Actually, there are two pins for the (black) headphone jack, which BTW has a headset icon next to it. Maybe some kind of headset quirk is needed, or maybe one of the jacks should be gated by the other one?
For a headset support, yes, some extra quirk would be needed. But usually the headset pin is assigned as the headphone primarily. If you don't get the headphone jack detect event, it means that the headphone pin isn't properly assigned.
This implies that the pins aren't properly set up by BIOS. Maybe BIOS update will solve this?
If no BIOS update doesn't solve (or you don't want it),
I already have the latest BIOS version.
you have to figure out the right pin configuration by trial and error. hdajackretask and hda-analyzer would be your friend.
I've been playing around with them, but I don't really know what I'm doing, and I haven't had much luck yet.
Basically you need to figure out which pin corresponds to the headphone jack. You can do it even without GUI. For example, to check whether the pin widget 0x0a:
hda-verb /dev/snd/hwC0D0 0x0a SET_PIN_SENSE 0 hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
The first triggers the jack detection and the second reads the detected value. If the jack is detected on that pin, you'll see the bit 31 on. Repeat this for all widgets until you hit.
(In the above I assume the codec chip is in the card 0, codec address 0. If it's different, use another corresponding hwdep device.)
Something else I've noticed in the meantime: With inv_jack_detect enabled, I can get sound from the speakers by choosing them for output in the GNOME sound preferences. If I choose "Analog Output - Built-in Audio" there, the sound comes out of the connected headphones.
inv_jack_detect is most likely wrong for new machines. It's only for some old machines with the wrong h/w implementation. I've never seen this for the recent machines.
That said, the reason inv_jack_detect makes speaker working is that the headphone jack is wrongly detected as if constantly plugged. Then with the inverted logic, it's regarded as constantly unplugged, so the speaker gets unmuted.
HTH,
Takashi