Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Well, I'm glad to here that you have sound again, but until you decide to upgrade alsa to 1.0.15rc1 (or later) I won't be able to help. The alsa-info output you posted indicates that you are still on 1.0.14rc3, which is VERY old. It is also from an older kernel (2.6.21.5-smp).
Please try to understand that alsa development is at a far more rapid pace than the kernel is, and it's the kernel developers that have requested alsa to spin 1.0.15rc1 (it has over 60 patches to hda-intel since 1.0.14 final).
This is the correct location. I can now access it and go forward. Here is a patch for you to try. It is against alsa-driver-1.0.15rc1. It adds specific support for your system, so after installing it, make sure you remove any "model=" references from your modprobe config files.
To apply the patch:
Code:
cd alsa-driver-1.0.15rc1/alsa-kernel/
patch -p1 <Dell-Vostro.patch # you will need to enter the correct path to this patch
cd ..
./configure --with-cards=hda-intel && make && sudo make install
tajsandhu & Spinlock: Post the output from the above script for your machines, and I can add them as well.
Oops... I have been enjoying my system and forgot to post back here.
Just an update, i play with a few options on the model and try to figure which give the best performance, After a few trial, model=5stack is the best. If I set to 3stack, the output for "Surround" has not sound, but with 5stack, it works. I have not tried to do recording yet (I don't have a mic), but this is not that critical for me.
Ghostdancer: Please try the patch I sent you. I'd like to submit it upstream soon if it works better.
Spinlock: Your system is fully supported in the newer drivers. I'm not sure how far back, but I can definitely say that it is in alsa-driver-1.0.15rc1. I also know it wasn't in 1.0.14 final, but it may have been pulled in the newer kernel. If you are fully working, great. Otherwise, please try 1.0.15rc1.
Hunk #1 FAILED at 97.
Hunk #2 FAILED at 1061.
Hunk #3 FAILED at 1081.
Hunk #4 FAILED at 1112.
4 out of 4 hunks FAILED -- saving rejects to file /usr/src/a/pci/hda/patch_sigmatel.c.rej
Would upgrading alsa-lib and alsa-utils to 1.0.15rc1 make any difference to me? The way that Pat V. has done it appears to be using the kernel-based alsa driver, and compiling the alsa-utils, alsa-lib, and alsa-oss separately. I'm just curious if I'm missing out by updating the driver and not the rest. Thanks!
For me (with Dell Ins 1520) 1.0.15RC2 works but the volume is very low even at 100 under alsamixer. What are the various models about? Can some one enlighten me, so I can choose the right parameters for this module?
1. How do I know which model I have? 'lspci -v' doesn't return anything like stac9205.
lspci -v may not tell you much, but for someone (like me) that knows the source code for the driver, it gives me a reference to look for. The hda-intel driver looks first at the main pci bus id's to see if there is an Intel HD Audio Controller. Several manufacturers have adopted this bus standard, so you don't necessarily have to have Intel silicon for this driver to work.
Once the driver determines that you have a compatible audio bus controller, it queries the bus to see what devices (codecs) are on it. The HD Audio Bus can have up to 15 devices, according to the bus specification, however only 4 are supported on current motherboards electrically. The driver then queries each device to determine what function group (audio, modem, HDMI, future definitions) it belongs to. Some codecs, namely Conexant's, have both audio and modem built into one physical chip.
Once the driver determines the function group for the chip, it also gets the chip's vendor ID to determine which "patch" of the driver it should load. At the end of each "patch_<vendor>.c" within the driver source tree, is an array defining what code is used for each codec ID. That branch of code then determines what presets and mixer controls (for some codecs) to use, based on the PCI subsystem ID (and we have now come full circle to the output of lspci -v). For example, lspci -v on my system (DP965LT) returns (shortened to the audio device only):
Based on this, I know I have an Intel Audio subsystem ID 8086:2111 (vendor:device). I can then look in the patch_sigmatel.c (my motherboard specifications tell me this is the brand, as does line 1 from /proc/asound/card0/codec#*) and find that I have a predefined model of 3stack (matches the back panel output connectors for this motherboard).
Back to your question, this only can help you if your system has been added to the driver. Otherwise we (the developers) will need to add your system to the predefined model list based on "best fit" by testing the different models. Worst case, we need to add a model specific to your system vendor's idea of how an audio chip should be integrated (some vendors have multiple models for the same audio chip and the same number of connectors, all wired differently in each system - joy).
Quote:
2. What change exactly does a model bring?
In your case, by looking at the lspci -v output, I can look at the appropriate Windows driver (yes, I cheat a little) to see which INF file is associated with your specific configuration, then I can add the codec predefined settings from the Windows configuration into snd-hda-intel. In the case of the STAC9205, all currently known (by alsa developers) systems that use this codec are produced by Dell, and the "model" corresponds with the Windows driver config file (ex: dell-M42 corresponds with Dell's Windows driver using the configuration in 92XXM4-2.INI). If I knew what the actual output from your lspci -v (just for the audio bus - see example above), I could determine exaclty what model you should use, and add your system to the driver.
Sorry if this seems long winded, but I get asked this a lot, and I hope others will read this.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.