At Thu, 6 Jun 2013 18:14:58 +0200, Anisse Astier wrote:
On Thu, 06 Jun 2013 11:49:00 +0200, Takashi Iwai tiwai@suse.de wrote :
At Wed, 5 Jun 2013 17:36:43 +0200, Anisse Astier wrote:
On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai tiwai@suse.de wrote :
I'm on a dead end on this computer, I can't seem to find how the mic jack presence works. It's always on(presence detected whatever the status) on NID 0x18, the one used for the external mic. I have tried every NID, manually enabling pin_sense on each, but only the headphone jack detection works. The mic sense is nowhere to be seen.
I also don't know any other method for Realtek. For IDT codecs, there are some devices with GPIO unsol events, but Realtek codecs seem to use only the normal pin detection unsol events.
So, on your device, GET_PIN_SENSE doesn't return the detection bit set? You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
I did more tests, this time using hda-verb directly instead of hda-analyzer tools. And GET_PIN_SENSE does return the correct value… sometimes. (without the need for SET_PIN_SENSE) It seems the value is correct only if queried once every 10 to 15 seconds.
Does this mean that it gives a wrong result (i.e. no detect bit although plugged, or vice versa)? Also, is the unsol event issued per
It means it gives detect bit (most of the time) although unplugged.
jack plug/unplug? If so, is the detection correct just after the unsol event?
I don't know yet. From what I observed for now:
- there are multiple events in a row.
- the event is issued for unplugs, everytime. For plugs, it's only issued sometimes, if we wait long enough.
- when unpluged, we get unsol events every 10 seconds or so, even when doing nothing.
To gather more information I added some printfs:
FYI, you can track the tracepoints instead of printks. See HD-Audio.txt "Tracepoints" section.
Takashi