<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Eduardo Habkost / diary</title>
	<link>http://raisama.net/diary</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Fri, 26 Dec 2008 17:17:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>
	<language>en</language>
			<item>
		<title>Playing with HDA Intel codecs</title>
		<link>http://raisama.net/diary/archive/2006/11/28/hda-graphs</link>
		<comments>http://raisama.net/diary/archive/2006/11/28/hda-graphs#comments</comments>
		<pubDate>Tue, 28 Nov 2006 17:47:44 +0000</pubDate>
		<dc:creator>Eduardo Habkost</dc:creator>
		
	<category>Nerd</category>
	<category>Ferramentas</category>
	<category>Projetos</category>
	<category>In English</category>
	<category>Hardware</category>
		<guid isPermaLink="false">http://raisama.net/diary/archive/2006/11/28/hda-graphs</guid>
		<description><![CDATA[When debugging a problem with the snd-hda-intel module on a machine that has an unsupported codec model, I&#8217;ve spent some time studying the Intel HDA specification, and noticed that we can get very interesting information from the hardware. You can do many interesting things even if the driver never saw an specific model of the [...]]]></description>
			<content:encoded><![CDATA[<p>When debugging a problem with the snd-hda-intel module on a machine that has an unsupported codec model, I&#8217;ve spent some time studying the <a href="http://www.intel.com/standards/hdaudio/">Intel HDA specification</a>, and noticed that we can get very interesting information from the hardware. You can do many interesting things even if the driver never saw an specific model of the audio codec, because the HDA architecture allows you to ask lots of information and control many aspects of the codecs.</p>

<p>I&#8217;ve written a <a href="http://raisama.net/projects/hda-tools/codecgraph.py">small script</a> that generate a graphviz graph from the information on <code>/proc/asound/card*/codec#*</code>. I&#8217;ve generated the graph for a bunch of different machines that have HDA Intel. They are interesting to see if you want to know what the hardware you have can do, and to find out the correct NID and commands supposed to be used by the alsa drivers. Here they are:</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/boiko.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-boiko.png"/></a><br />
A Realtek ALC660 on an Asus W5F notebook</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/alc861.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-alc861.png"/></a><br />
A Realtek ALC861 codec, found somewhere on the web</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/boto-120l.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-boto-120l.png"/></a><br />
A SigmaTel STAC9200 on a Dell Latitude 120L notebook</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/claudio.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-claudio.png"/></a><br />
A Realtek ALC880 on a LG LW20 Express notebook</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/fbl.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-fbl.png"/></a><br />
A SigmaTel STAC9200 on a Dell Latitude D-<em>something</em> notebook</p>

<p><a href="http://raisama.net/projects/hda-tools/codec-examples/hp.png"><img src="http://raisama.net/projects/hda-tools/codec-examples/thumb-hp.png"/></a><br />
A Realtek ALC86x on a HP DX2200 machine</p>

<p>The script is on <a href="http://raisama.net/gitweb?p=hda-tools.git;a=summary">a GIT repository</a>. You can clone it with:<br />
<code>git clone http://git.raisama.net/hda-tools.git</code>.</p>

<p>What I would really like to see in the end is the ability to change the way the nodes are associated to alsa streams and mixers from user-space. Then this could be configurable using a GUI where the user would change the input connection settings and associate nodes with mixers and streams, while seeing the graph. Then instead of waiting somebody to change the Alsa driver to do what you want regarding the mixer and streams, you could simply change the codec settings on a GUI and everybody would be happy.   :)</p>
]]></content:encoded>
			<wfw:commentRSS>http://raisama.net/diary/archive/2006/11/28/hda-graphs/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
