Would you recommend the product? yes | Price you paid?: None indicated | Rating: 8
|
Kernel (uname -r):
|
|
|
Distribution:
|
|
[ Log in to get rid of this advertisement]
Essentially all PC's (mobile, desktop) made in the last couple of years and going forward will be using the Intel HD Audio bus specification for on-board audio. It is a replacement to the AC'97 bus definition and is an open specification, so other chipset vendors are implementing the design as well. Device wise, the HD Audio bus shows up as a Class 403 PCI device on most systems. The part that causes the most confusion for users is that they only see Intel HD Audio listed as their audio system. Since this is really just another type of serial bus (very similar to USB, actually), it is easy for manufacturers to add their own audio, modem, and other types of streaming data controllers (currently audio and modems are the only ones using this).
Where it gets confusing in communicating between users and developers, is what exactly is on the other end of this bus. Users only see the pci device, unless they really know where to look. There are currently eight different vendors and 96 different codecs. To add to the trouble, the HD Audio spec allows each "Pin Node" to be reconfigurable through software. Some are dedicated to a specific task (SPDIF, CD, etc.), the rest can be reassigned to either a line in or a line out. To reduce cost, only a couple of nodes have amplifiers for headphones. What ends up happening, is a system integrator (Dell, HP, etc) may decide to buy a specific audio chip for an entire line of systems. Some systems may support only speakers, headphones, and a mic/line-in (standard laptop), whereas other systems using the exact same chip may support up to 8 channels of output (Front, Rear, Sides, Center/LFE, Headphone, Mic). the fun begins when one vendor (Dell) will use a single chip in laptop A wired with Pins ABCD, but in laptop B they use pins EFGH, and in laptop C they use ACFG. The only way we currently have to identify the different configurations is by looking at the pci subsystem ID and the vendor ID in the codec directly. Even this isn't perfect, as some vendors (Apple) don't define a pci subsystem ID for the audio device.
A couple of us working on alsa have looked into this a little, but we have been overloaded with support requests to come up with a better debugging and reporting tool. One user that has been helping on the #alsa IRC node wrote a great little script that will gather all of the information on a system and post it to a web site for use to pick apart.
The script is at: http://bulletproof.servebeer.com/alsa/scripts/alsa-info.sh
|