Hi all how are you?, I`m new in this so Ill be glad if I can get any help. My sound card is a intel higth definition audio hdmi(dont know exactrly what reference, thats the info that windows throws out, my pc is a compaq presario cq40 305la). I ran some comands that I found in this forum, that I think it will help you more if you want to help me.
First comand:speaker-test -Dplug:front -c2 -l5 -twav
what I get:
speaker-test 1.0.18
Playback device is plug:front
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 16384
Period size range from 32 to 8192
Using max buffer size 16384
Periods = 4
was set period_size = 4096
was set buffer_size = 16384
0 - Front Left
second: speaker-test -c2 -l5 -twav
what I get:
speaker-test 1.0.18
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 8192
Period size range from 1024 to 1024
Using max buffer size 8192
Periods = 4
was set period_size = 1024
was set buffer_size = 8192
0 - Front Left
Welcome to openSUSE. You are doing well to have researched and posted the above.
OK, I think I see the problem. For your information, the methodolgoy that I follow, is documented in an openSUSE audio troubleshooting guide that I wrote, which is located here: SDB:AudioTroubleshooting - openSUSE
I notice from the script, that your PC has a IDT 92HD71B7X hardware audio codec. From what I recall, from helping various users, is to get sound working with that hardware audio codec, you need to install a newer alsa version (ie to 1.0.19). To do that, I am going to give you six zypper commands that your are to send from a konsole or terminal, with root permissions, where these commands will obtain rpms from two different repositories (removing the repositories after they are complete, which is important). The guide that I wrote, and that I am going to follow (and that I recommend) for updating alsa is the following: Alsa-update - openSUSE
If the above confuses you, don’t worry. Just send the six commands below.
So, to update to 1.0.19 of alsa, please open a terminal or konsole and type “su” (no quotes - enter root password) and then with your PC connected to the internet, please copy and paste in sequence, one at a time, the following six zypper commands, executing them one at a time:
zypper ar http://download.opensuse.org/repositories/multimedia:/audio/openSUSE_11.1/ multimedia
zypper ar http://download.opensuse.org/repositories/multimedia:/audio:/KMP/openSUSE_11.1/ multimedia
zypper install alsa-driver-kmp-pae
zypper rr multimedia
Then restart your PC (to unload the old audio kernel modules and load the newly installed kernel modules) and test your audio.
Note those commands are for the older 2.6.27.7-9-pae kernel which is on your PC. They would be different for a different kernel and for a different kernel version. So if you update your kernel (and there is an updated kernel available) you will have to update your sound driver again.
Note there is a possibility, that even after updating to the 1.0.19 kernel of alsa (which is the sound driver) your audio with the IDT 92HD71B7X hardware audio codec may still not work. Sometimes that happens if the auto probe of your audio hardware during the boot does not successfully recognize the specific configuration needed for your IDT 92HD71B7X hardware audio codec. If that happens, then there are some custom edits to the /etc/modprobe.d/sound file that can be tried. But we can “cross that bridge” if and when we come to it.
Hi again, thanks for your help I tried updating alsa, but it didnt work(when I try the sound test I get sound, but its a loop, and the test crashes, I think we are getting closer), Im going to try to find info about my codec that you I found in SDB:AudioTroubleshooting - openSUSE. If you can still continue helping ill be very glad. Mi codec is supposed to be 0x9c5000.
Hi again how are you?, thanks for your help. I tried updating alsa, but it didnt work, but I think we are getting closer, because im getting sound when I run the test, the problem is that the sound is a loop that crashes konsole. I read SDB:AudioTroubleshooting - openSUSE, so ill try to find info about my codec in the page that you suggested, when I ran the test I got HDA Intel at 0x9c5000 irq 22, if I understood well your manual I suppose that the codec is 0x95c5000. Im going to try find some info, if you can help me with anything else ill be glad.
thanks anyway
In addition to that, it may be useful to see the output of your dmesg after booting. To do that, immediately after booting, with your PC connected to the internet, please copy and paste the following into a terminal or konsole, execute the line, and the post here the output URL that it gives you.
dmesg > dmesg.txt && curl -F file=@dmesg.txt nopaste.com/a Sometimes the dmesg gives a hint as to the problem.
This could be beyond my ability to solve, but I do have an idea you can try. But no matter if we succeed or fail, you definitely need to write a bug report on this.
You could consider re-installing alsa-driver-kmp-pae, in case your initial install was corrupted. Then restart your PC and test. But I anticipate the same looping behaviour.
The rpms looked ok. The dmesg had some interesting aspects:
HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
HDA Intel 0000:00:1b.0: PCI INT B -> GSI 22 (level, low) -> IRQ 22
HDA Intel 0000:00:1b.0: setting latency timer to 64
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:634: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3789: autoconfig: line_outs=1 (0xd/0x0/0x0/0x0/0x0)
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3793: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3797: hp_outs=1 (0xa/0x0/0x0/0x0/0x0)
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3798: mono: mono_out=0x0
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3801: dig-out=0x1e/0x0
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_codec.c:3809: inputs: mic=0xc, fmic=0xb, line=0x0, fline=0x0, cd=0x0, aux=0x0
ALSA /usr/src/packages/BUILD/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c:2990: stac92xx: dac_nids=1 (0x10/0x0/0x0/0x0/0x0)
input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input10
input: HDA Intel Mic at Ext Front Jack as /devices/pci0000:00/0000:00:1b.0/input/input11
input: HDA Intel HP Out at Ext Front Jack as /devices/pci0000:00/0000:00:1b.0/input/input12
and
ALSA /usr/src/packages/BUILD/alsa-driver/acore/../alsa-kernel/core/pcm_lib.c:1597: playback write error (DMA or IRQ trouble?)
ALSA /usr/src/packages/BUILD/alsa-driver/acore/pcm_native.c:1498: playback drain error (DMA or IRQ trouble?)
ALSA /usr/src/packages/BUILD/alsa-driver/acore/../alsa-kernel/core/pcm_lib.c:1597: playback write error (DMA or IRQ trouble?)
ALSA /usr/src/packages/BUILD/alsa-driver/acore/../alsa-kernel/core/pcm_lib.c:1597: playback write error (DMA or IRQ trouble?)
So it appears your ACPI changes something in your sound / HD Audio (HDA) Controller and it also appears you have a playback error with alsa (DMA or IRQ related).
I note this from alsa 1.0.19 HD-Audio.txt file:
HD-AUDIO CONTROLLER
-------------------
DMA-Position Problem
~~~~~~~~~~~~~~~~~~~~
The most common problem of the controller is the inaccurate DMA
pointer reporting. The DMA pointer for playback and capture can be
read in two ways, either via a LPIB register or via a position-buffer
map. As default the driver tries to read from the io-mapped
position-buffer, and falls back to LPIB if the position-buffer appears
dead. However, this detection isn't perfect on some devices. In such
a case, you can change the default method via `position_fix` option.
`position_fix=1` means to use LPIB method explicitly.
`position_fix=2` means to use the position-buffer. 0 is the default
value, the automatic check and fallback to LPIB as described in the
above. If you get a problem of repeated sounds, this option might
help.
In addition to that, every controller is known to be broken regarding
the wake-up timing. It wakes up a few samples before actually
processing the data on the buffer. This caused a lot of problems, for
example, with ALSA dmix or JACK. Since 2.6.27 kernel, the driver puts
an artificial delay to the wake up timing. This delay is controlled
via `bdl_pos_adj` option.
When `bdl_pos_adj` is a negative value (as default), it's assigned to
an appropriate value depending on the controller chip. For Intel
chips, it'd be 1 while it'd be 32 for others. Usually this works.
Only in case it doesn't work and you get warning messages, you should
change this parameter to other values.
So it appears you may need to tune the value of “position_fix” and possibly the value of “bdl_pos_adj”. The openSUSE alsa developer likely understands this stuff, … I really don’t, other than to regurgitate what is said in the HD-Audio.txt file.
But if you wished to test, you could try changing position_fix and bdl_pos_adj. You probably should rerun the script “/usr/sbin/alsa-info.sh” and confirm that position_fix=0 and bdl_pos_adj=1 (at least that was its state in 1.0.17 of alsa in your earlier post).
I note that your hardware audio codec is an IDT 92HD71B7X. So there are a series of edits you can try to the /etc/modprobe.d/sound file :
I note this list of options from the HD-Audio-Models.txt file for 1.0.19 of alsa for the 92HD71B7X:
STAC92HD71B*
============
ref Reference board
dell-m4-1 Dell desktops
dell-m4-2 Dell desktops
dell-m4-3 Dell desktops
hp-m4 HP dv laptops
So you could try each of those options, ONE AT A TIME, by editing your /etc/modprobe.d/sound file. For example, to try “dell-m4-1” you would try:
options snd slots=snd-hda-intel
options snd-hda-intel model=dell-m4-1
# u1Nb.ymTDDUiFrW9:82801I (ICH9 Family) HD Audio Controller
alias snd-card-0 snd-hda-intel
then after saving that, restart alsa with su -c ‘rcalsasound restart’ and restart your mixer, and test your audio. If that does not work, then replace “dell-m4-1” with “dell-m4-2” and try again. Retry each of them. Its possible those model configurations have correct settings for position_fix and bdl_pos_adj.
But lets say they don’t and the above does not work. In that case you could try removing the model option, and trying a position_fix option by the following in the /etc/modprobe.d/sound file:
options snd slots=snd-hda-intel
options snd-hda-intel position_fix=1
# u1Nb.ymTDDUiFrW9:82801I (ICH9 Family) HD Audio Controller
alias snd-card-0 snd-hda-intel
then restart alsa, restart your mixer, and test your sound. If that fails, change “position_fix=1” to “position_fix=2”, restart alsa, restart your mixer, and test the sound.
There may also be different bdl_pos_adj values that can be applied, but I do not know enough to give advice there (you need help from either the openSUSE alsa developer, or from someone else who has successfully tuned bdl_pos-adj).
You could also try different combinations of the model setting (such as dell-m4-1 and position_fix=1 ) in the same /etc/modprobe.d/sound file to see if that helps … ie
options snd slots=snd-hda-intel
options snd-hda-intel model=dell-m4-1 position_fix=1
# u1Nb.ymTDDUiFrW9:82801I (ICH9 Family) HD Audio Controller
alias snd-card-0 snd-hda-intel
trying different combinations of model options and different position_fix values (1 or 2) until you find one that works.
Finally, the place to write a bug report is here:
Be certain to select “sound” as the area where you are writing the bug report.
I find the openSUSE / alsa developer very helpful in sorting sound problems. Submitting Bug Reports - openSUSE
hi, I tried what you said, I modified the sound file, y suppose that what I had to do was to find that file in that folder, and then paste the codes that you gave me then I restarted alsa pasting and running the code in konsole, it didnt work what can I do next? and could you please explain me a little bit more what am I doing when i change position fix to 1 or 2?
thanks for your help I will try now to find more bdl_pos_adj in google and Ill tell you what I find.
You saved the file after editing it? Right? If you do not save the change before restarting alsa, nothing will work properly and the test will not be successful.
Note the directory in which those files are located (and the file themselves) require root permissions to change. So to edit them, if using kde, one should open the files with:
kdesu kwrite /etc/modprobe.d/sound
and enter root password when prompted for a password. Thats very basic Linux stuff, its very difficult to know a user’s Linux knowledge level, and so please don’t be offended by this post.