alc888 spdif input

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi -

I have an MSI Wind U123 netbook, which although it does not have 
physical spdif in and out connectors, has a Realtek ALC888S codec with 
spdif in and out available on pins 47 and 48.  I want to make the U123 
usable with spdif, so I have  connected an optical (TOSLINK) transmitter 
to pin 48 and an optical receiver to pin 47 (with appropriate power and 
ground).  I then added the line "options snd-hda-intel model=3stack-dig" 
(I've also tried most of the other possibilities, including 6stack-dig) 
to alsa-base.conf.  I also installed the latest ALSA snapshot.

The output works.  I can't get the input to work.

If I look at this input pin (pin 47) with a voltmeter during boot, I see 
that the voltage on the pin starts out as 0 V, and partway through the 
Ubuntu boot - while the Ubuntu startup line-graph is at  about 25% - it 
rises to 3.3 V.  Unfortunately I can't figure out how to single-step the 
boot process (is this possible?) so I don't know precisely when this 
happens, but it seems likely to be happening when ALSA loads.

Now this 3.3 V is clearly an output - it will drive 10 mA into 330 ohms 
- so I believe that ALSA is configuring this pin as an output during 
boot, when it needs to be an input.

I have noticed that the spec sheet for the ALC888 is slightly different 
than the sheet for the ALC883 regarding the verb Set Pin Widget Control 
in section 8.20.  The ALC888 sheet mentions spdif in and out explicitly 
in this section, while the ALC883 sheet doesn't.  This may be a typo, 
but it occurred to me that the ALC888 might need to have pin 47 (node 
0x1f) explicitly set as an input.  I had a go at doing this in the 
driver, by playing around with patch_realtek.c, adding stuff in various 
places that I thought might set node 0x1f as an input (e.g. - {0x1f, 
AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}), but no luck. I could never 
make pin 47 go low.  I can't really claim to know what I'm doing, though.

There was a thread earlier on this list 
(http://article.gmane.org/gmane.linux.alsa.user/32197/)  in which 
Jacques reported not being able to make the spdif input on his ALC888 
machine work either - and that machine had a legitimate spdif 
connector!  I've been in touch with him, and so far he doesn't have a 
solution either.

So two questions:

1.  Can anyone confirm that a machine containing an ALC888 has its spdif 
input working under ALSA?

2.  Is there something in the ALSA code which is keeping the ALC888 from 
using its spdif input, perhaps by setting it as an output?

Thanks

- Tom


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux