From: Wu Fengguang <fengguang.wu@intel.com>
To: Paulo Cavalcanti <promac@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: idt blue jack patch
Date: Sat, 21 Feb 2009 09:05:19 +0800 [thread overview]
Message-ID: <20090221010519.GA6175@localhost> (raw)
In-Reply-To: <68720af30902200807i29cf0df2q106e92c67287ba30@mail.gmail.com>
On Fri, Feb 20, 2009 at 06:07:03PM +0200, Paulo Cavalcanti wrote:
>
>
> On Fri, Feb 20, 2009 at 11:31 AM, Wu Fengguang <fengguang.wu@intel.com<mailto:fengguang.wu@intel.com>> wrote:
> On Fri, Feb 20, 2009 at 04:16:52PM +0200, Paulo Cavalcanti wrote:
> >
> >
> > On Fri, Feb 20, 2009 at 8:20 AM, Wu Fengguang <fengguang.wu@intel.com<mailto:fengguang.wu@intel.com><mailto:fengguang.wu@intel.com<mailto:fengguang.wu@intel.com>>> wrote:
> > On Fri, Feb 20, 2009 at 12:15:16PM +0200, Paulo Cavalcanti wrote:
> > >
> > >
> > > On Thu, Feb 19, 2009 at 10:00 PM, Wu Fengguang <fengguang.wu@intel.com<mailto:fengguang.wu@intel.com><mailto:fengguang.wu@intel.com<mailto:fengguang.wu@intel.com>><mailto:fengguang.wu@intel.com<mailto:fengguang.wu@intel.com><mailto:fengguang.wu@intel.com<mailto:fengguang.wu@intel.com>>>> wrote:
> > > Hi Tobin,
> > >
> > > Here are the Linux and WinXP pin configurations.
> > > Both Linux and WinXP configure node 0x0c as an output pin.
> > >
> > > However the driver seems to be offering three schemes:
> > >
> > > scheme desc 0xC dev
> > > ------------------------------------------------------
> > > IDS_CONFIG_OPEN Speaker_Side/LineIn
> > > IDS_CONFIG_51 LineIn
> > > IDS_CONFIG_71 Speaker_Side
> > >
> > > Paulo, maybe you can run these commands to switch between
> > > linein/lineout modes:
> > >
> > > # wget http://www.kernel.org/pub/linux/kernel/people/tiwai/misc/hda-verb-0.3.tar.bz2
> > >
> > > # set PIN_IN mode
> > > hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x20
> > >
> > > # set PIN_OUT mode
> > > hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x40
> > >
> > > Thanks,
> > > Fengguang
> > > ---
> > >
> > > /proc/asound/card0/codec\#2
> > >
> > > Codec: IDT 92HD73E1X5
> > > Address: 2
> > > Vendor Id: 0x111d7676
> > > Subsystem Id: 0x80865002
> > > Revision Id: 0x100202
> > >
> > >
> > > AUD_allOS_6033.2_PV_IDTGUI_v124/WDM/WinXP/Sthda.ini
> > >
> > > # sthda.INI
> > > [Models]
> > > ...
> > > HDAUDIO\FUNC_01&VEN_111D&DEV_7676&SUBSYS_80865002=I73E-EL2.INI
> > > ...
> > >
> > >
> > > AUD_allOS_6033.2_PV_IDTGUI_v124/WDM/WinXP/I73E-EL2.INI
> > >
> > > [HKR\Settings\Pin\0C]
> > > CfgDflt = dword: 0x01113214
> > > AltCfg = hex: 5E,32,81,01
> > > AssignedDAC = hex: 0x18
> > >
> > >
> > > /proc/asound/card0/codec\#2
> > >
> > > Node 0x0c [Pin Complex] wcaps 0x400183: Stereo Amp-In
> > > Amp-In caps: N/A
> > > Amp-In vals: [0x00 0x00]
> > > Pincap 0x00001737: IN OUT Detect Trigger ImpSense
> > > Vref caps: HIZ 50 GRD 80
> > > Pin Default 0x01113014: [Jack] Speaker at Ext Rear
> > > Conn = 1/8, Color = Blue
> > > DefAssociation = 0x1, Sequence = 0x4
> > > Pin-ctls: 0x40: OUT VREF_HIZ
> > > Unsolicited: tag=04, enabled=1
> > > Connection: 6
> > > 0x15 0x16 0x17 0x18* 0x19 0x1e
> > >
> > >
> > > Thanks a lot, Fengguang.
> > >
> > > The other models for this codec are for Dell computers.
> > > Probably, all of then will behave the same way, right?
> >
> > I guess the hda-verb commands will work for all IN/OUT configurable pins.
> >
> > > I still have a question. I see that you changed Pin Default 0x01113014,
> > > for 0x01813021, in the driver for having LineIn.
> > > Also, Pin-ctls: 0x40 should provide the pin as an output. The Node is 0x0c.
> > >
> > > Therefore,
> > >
> > > # set PIN_OUT mode
> > > hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x40
> > >
> > > makes sense.
> > >
> > > But how would I know that 0x20 would turn the pin 0x0c into LineIn?
> > >
> > > # set PIN_IN mode
> > > hda-verb /dev/snd/hwC0D2 0x0c SET_PIN_WIDGET_CONTROL 0x20
> >
> > ALSA defined the following values according to the HDA spec:
> >
> > /* Pin widget control - 8bit */
> > #define AC_PINCTL_IN_EN (1<<5)
> > #define AC_PINCTL_OUT_EN (1<<6)
> > #define AC_PINCTL_HP_EN (1<<7)
> >
> > #define PIN_IN (AC_PINCTL_IN_EN)
> > #define PIN_OUT (AC_PINCTL_OUT_EN)
> > #define PIN_HP (AC_PINCTL_OUT_EN | AC_PINCTL_HP_EN)
> >
> > So PIN_OUT=0x40 and PIN_IN=0x20.
> >
> > > I am asking because I have a Dell laptop (Vostro 1400) where the external mic
> > > works when I use model=ref (and I loose the speakers in this case), but not
> > > when I use model=dell-3stack. If I could figure out how to switch
> > > the pin using hda-verb in this case, would solve my problems when using skype.
> >
> > You can locate the external mic pin in /proc/asound/card0/codec#* and
> > feed its node id to the hda-verb command. It should work the same way.
> >
> > This is from model=ref. I can see it defines Line In as the
> > pin 0xe (exactly the jack marked as mic in the Vostro 1400).
> > This is how it should be.
> >
>
> But you pasted info for 0x0c instead of 0xe below...
> Would you provide the full codec file?
>
> > Node 0x0c [Pin Complex] wcaps 0x400181: Stereo
> > Pincap 0x00001737: IN OUT Detect Trigger ImpSense
> > Vref caps: HIZ 50 GRD 80
> > Pin Default 0x0181304e: [Jack] Line In at Ext Rear
> > Conn = 1/8, Color = Blue
> > DefAssociation = 0x4, Sequence = 0xe
> > Pin-ctls: 0x20: IN VREF_HIZ
> > Unsolicited: tag=04, enabled=1
> > Connection: 1
> > 0x03
> >
> > ----------------------------------
> >
> > This is from model=dell-3stack. There is no Line In defined. This
> > is the problem....
> >
> >
> > Node 0x10 [Pin Complex] wcaps 0x400181: Stereo
> > Pincap 0x00000037: IN OUT Detect Trigger ImpSense
> > Pin Default 0x01813050: [Jack] Line In at Ext Rear
> > Conn = 1/8, Color = Blue
> > DefAssociation = 0x5, Sequence = 0x0
> > Pin-ctls: 0x20: IN
> > Unsolicited: tag=04, enabled=1
> > Connection: 1
> > 0x04
> >
> >
> > The question is: how can I use hda-verb to make pin 0xe
> > be an input pin (0x20), the way it were when using model = ref?
>
> Where is Node 0x0e? You didn't paste Node 0x0e info, but 0x0c and 0x10.
>
> > set PIN_IN mode:
> > hda-verb /dev/snd/hwC0D0 0x0c SET_PIN_WIDGET_CONTROL 0x20
> >
> > The node is 0x0c, but I am not sure if it is that simple.
>
> It's trivial to try it out, its harmless anyway :)
> You only have to replace 0x0c with your mic node.
>
>
> Using hda-verb-0.3, the pins are:
>
> 0xa - headphones (first connector - the one which works)
> 0xf - headphones (second connector - no output)
> 0xe - analog mic
>
> I am attaching the dell-3stack codec and the ref codec.
>
> This laptop has a digital Mic and a jack for connecting an analog
> mic, ehich I am supposing it is the "Line In" in the "model=ref" codec.
>
> The dell-3tack model works well, but I have no analog mic, and the
> digital mic sounds too low to be usable.
So you want the analog mic function of node 0x0e to be usable for model
dell-3tack, as it has worked in model ref?
--- ref.txt
+++ dell-3stack.txt
Node 0x0e [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x00001737: IN OUT Detect Trigger ImpSense
Vref caps: HIZ 50 GRD 80
- Pin Default 0x01a19040: [Jack] Mic at Ext Rear
+ Pin Default 0x01111212: [Jack] Speaker at Ext Rear
- Conn = 1/8, Color = Pink
+ Conn = 1/8, Color = Black
- DefAssociation = 0x4, Sequence = 0x0
+ DefAssociation = 0x1, Sequence = 0x2
- Pin-ctls: 0x24: IN VREF_80
+ Pin-ctls: 0x40: OUT VREF_HIZ
- Unsolicited: tag=02, enabled=1
+ Unsolicited: tag=00, enabled=0
Connection: 1
0x04
From the above info I'd suggest to try this command to make node 0x0e
a port for mic instead of speaker:
hda-verb /dev/snd/hwC0D0 0x0e SET_PIN_WIDGET_CONTROL 0x20
Thanks,
Fengguang
next prev parent reply other threads:[~2009-02-21 1:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-16 9:13 idt blue jack patch Paulo Cavalcanti
2009-02-16 10:55 ` Takashi Iwai
2009-02-18 2:04 ` Paulo Cavalcanti
2009-02-18 6:50 ` Takashi Iwai
2009-02-18 9:04 ` Paulo Cavalcanti
2009-02-18 9:44 ` Vedran Miletić
2009-02-18 15:24 ` Takashi Iwai
2009-02-19 3:02 ` Wu Fengguang
2009-02-19 3:22 ` Tobin Davis
2009-02-19 9:37 ` Takashi Iwai
2009-02-20 1:00 ` Wu Fengguang
2009-02-20 10:15 ` Paulo Cavalcanti
2009-02-20 11:20 ` Wu Fengguang
2009-02-20 14:16 ` Paulo Cavalcanti
2009-02-20 14:31 ` Wu Fengguang
2009-02-20 16:07 ` Paulo Cavalcanti
2009-02-21 1:05 ` Wu Fengguang [this message]
2009-02-20 17:18 ` Takashi Iwai
2009-02-21 1:42 ` Wu Fengguang
2009-02-21 16:28 ` Takashi Iwai
2009-02-23 8:54 ` Takashi Iwai
2009-02-23 9:53 ` Wu Fengguang
2009-02-23 10:21 ` Takashi Iwai
2009-02-23 12:58 ` Wu Fengguang
2009-02-23 13:00 ` Takashi Iwai
2009-02-23 16:15 ` Takashi Iwai
2009-02-24 2:30 ` Wu Fengguang
2009-02-21 1:55 ` Wu Fengguang
2009-02-21 2:42 ` Paulo Cavalcanti
2009-02-21 2:56 ` Wu Fengguang
2009-02-21 3:12 ` Paulo Cavalcanti
2009-02-21 16:28 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090221010519.GA6175@localhost \
--to=fengguang.wu@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=promac@gmail.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox