Hardware, ALSA, or Driver Issue?

Here’s the issue I’m currently facing: I just installed openSUSE 11.0 and I have sound, but it’s “choppy,” for lack of a better term. I.e., I hear sound, but it’s in 0.5 sec increments: it’s 0.5 sec of sound, followed by 0.5 sec of silence, followed by 0.5 sec of sound, etc. I’ve gone to YAST and edited the card with various settings and it’s all the same result. The card is recognized, but it’s all “choppy” no matter program I use to produce sound.

I had Kubuntu installed on the machine before, and it did the same thing, which is bringing me to think it’s a hardware issue. I deleted all partitions when installing openSUSE 11 though. But, before that I had Fedora 9 on it and the sound worked fine. In fact, this sound card has been with me through numerous different distros and I’ve never had a driver issue. I think it’s a Turtle brand card.

Anyway, any pointers would be greatly appreciated.

You could download a live CD from a distro like Kanotix, Knoppix, or Sidux, burn the CD, boot to it, and see if your audio behaves the same.

Have you installed the package “alsa-firmware”? If not, maybe try that and reboot.

Pulse audio is known to cause a lag with the sound in some user’s sound on openSUSE-11.0. To see what pulse apps you have installed, type:
rpm -qa | grep pulse
Those apps are supposed to provide enhanced sound control, but they are safe to remove, … so you could remove them to see if you still have this sound problem. Make a note of what you remove, so you can install later if appropriate.

Its possible there is a bug in alsa with the recent openSUSE. Perhaps you could provide us with more information on you hardware. Run the following two commands, which will run diagnostic scripts to provide more information on your PC audio setup. They will each run a diagnostic script that will give you a URL that you can post here on this thread.

wget -O alsa-info.sh http://www.alsa-project.org/alsa-info.sh && bash alsa-info.sh

For the next script, select NO for every question you can not answer, and enter your root password when prompted for a password.

su -c 'wget -O tsalsa wget http://home.cfl.rr.com/infofiles/tsalsa && bash tsalsa'

Thanks for your reply.
The command

rpm -qa | grep pulse

returned empty. If I remember correctly, when I tried Fedora 9 I had problems with pulse, so I didn’t install any pulse packages. (A bit off-topic, but the last time I tried a Fedora distro, it was Fedora Core 5 and after trying Fedora 9, it’ll be a long time before I try another Fedora distro.)

wget -O alsa-info.sh http://www.alsa-project.org/alsa-info.sh && bash alsa-info.sh

returned http://git.alsa-project.org/?p=alsa-driver.git;a=blob_plain;f=utils/alsa-info.sh. (I guess that’s the URL.)

su -c 'wget -O tsalsa wget http://home.cfl.rr.com/infofiles/tsalsa && bash tsalsa'

said to "paste this url in #alsa: tsalsa.txt - nopaste.com (beta)
I did that and the line

System: Linux ubuntu 2.6.25.5-1.1-pae #1 SMP 2008-06-07 01:55:22 +0200 i686 athlon i386 GNU/Linux

is a bit weird to me. I’ve reinstalled openSUSE 11.0 a few times and each time the command prompt says “brian@ubuntu:~>” which was what it said when I ran Kubuntu on the machine. I kept thinking that maybe some things were left over from my Kubuntu installation. But I opted to deleted all previous partitions on each install. Could this be it?

I’m using openSUSE 10.2 (which I love very much) on my main computer and I have the same exact sound card on that machine. The same drivers show up on both machines.

I will run Knoppix later today and see if the problem persists. I’ll post the results when I do.

I do have alsa-firmware installed.

I’m a bit of a scavenger, any spare computer parts that people don’t want I usually take up. So the computer in question is like a resurrected computer cemetery/orphanage. I think my motherboard is a Gigabyte GA-7N400. The sound card is a Turtle Beach, but I’m unsure of the exact model.

No, thats not the correct URL. You are just feeding the URL of the script back to me. :frowning:

… anyway, I’ll take a look at the tsalsa script output, where you did provide the correct URL.

I don’t see anything obvious in that, although I noted you have one digital audio parameter enabled:
“amixer set ‘IEC958 5V’,0 on” … is that necessary?

I note the follow alsa page guidance on your module:
Matrix:Module-cmipci - AlsaProject

Its possible there is a change we could do to your /etc/modprobe.d/sound file based on that, and test to see if such a change would help. Can you post the contents of your /etc/modprobe.d/sound file? i.e. run …
cat /etc/modprobe.d/sound

Its weird to me to. Did you do a clean install of openSUSE? Did you keep your ubuntu /home, or replace that also?

If you made a mistake, and installed on top of your old Ubuntu config, and did not do a completely clean install, this indeed could be your problem.

I assume the sound works on one pc with no problem, and not on the other? If so, how about comparing your audio config files on both of those PCs to see what the differences might be?

Please also confirm that was a “clean install” of 11.0 (GM-gold-mastered version), and not an update from an alpha version.

I saw a similar affect on an alpha version of 11.0 on my PC (different sound card). It was not present in the beta versions of 11.0.

I could not get any sound while running Knoppix.

The command prompt now says ‘brian@Knoppix:~>’ when running SUSE.

I used openSUSE-11.0-DVD-i386.iso. I chose to install and during the partitioning process I opted to delete all previous partitions. The computer has two hard drives. The first time I used one for /, /home, and swap and the other time I installed I used the other drive. Each time I chose “Installation.” And both times I’ve reformatted the partitions. What else would I do for a clean install? Should I try re-downloading and/or re-burning the DVD?

The sound works fine on my other machine.

cat /etc/modprobe.d/sound

returned: options snd slots=snd-cmipci
#2_DJ.leFtcOMtGx0:CMI8738/C3DX PCI Audio Device
alias snd-card-0 snd-cmipci

while the same code for the machine with no problems returned:
options snd-cmipci enable=1 index=0
options snd-hda-intel enable=1 index=1

u1Nb.NJUir9jiH51:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-1 snd-hda-intel

YmUS.leFtcOMtGx0:CMI8738/C3DX PCI Audio Device

alias snd-card-0 snd-cmipci

<sigh>

Problem solved: I put the card in a new PCI slot. (hides in embarrassment…) Thanks for your help oldpcu.

Glad to read its working. Congratulations.

I’m having the exact same problem. However, it’s a laptop with onboard sound so i can’t change the slots. I performed a clean install of opensuse 11 and have installed the alsa-firmware package but the problem does not go away. The sound hardware is a sis si7012 with a realtek alc202. The system is using the snd-intel8x0 driver. Any ideas?

I suspect a simple edit to your /etc/modprobe.d/sound file will solve the problem, but to be more certain, can you run these two diagnostic scripts with your PC connected to the internet:

wget -O alsa-info.sh http://www.alsa-project.org/alsa-info.sh && bash alsa-info.sh

For the next script, select NO for every question you can not answer, and enter your root password when prompted for a password.

su -c 'wget -O tsalsa wget http://home.cfl.rr.com/infofiles/tsalsa && bash tsalsa'

Please paste the URLs they provide here.

Also provide the output of:
rpm -qa | grep alsa
rpm -qa | grep pulse
rpm -q libasound2
cat /etc/modprobe.d/sound

Also, please advise what model/manufact# laptop you are using.

The results of the first script are located at general pastebin - default - post number 1062249. The url for the second is tsalsa.txt - nopaste.com (beta).

Thanks for that. I note in your mixer that your external amp is ON. Please switch that OFF, and test your sound again. Also, what are you using for a sound test?

I recommend copy and paste this as a test into a terminal/xterm/konsole:
speaker-test -c2 -Ddefault -l5 -twav

Please, if switching off your external amp does not work, provide the answers from this request:

rpm -qa | grep alsa
alsa-utils-1.0.16-35.1
alsa-plugins-1.0.16-57.1
kalsatools-1.5.0-544.1
alsa-1.0.16-39.1
alsa-firmware-1.0.16-24.1
alsa-tools-1.0.16-47.1
alsamixergui-0.9.0rc1-705.1
alsa-tools-gui-1.0.16-47.1
alsa-oss-1.0.15-48.1

rpm -qa | grep pulse
returns nothing

rpm -q libasound2
libasound2-1.0.16-39.1

cat /etc/modprobe.d/sound
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0

and the laptop is an ECS G732

Thanks.

If switching OFF your external amp does not work, in addition to switching it OFF in your mixer, please add the following additional line to the end of your /etc/modprobe.d/sound file:

options snd-intel8x0 model=auto

and restart your alsa from a konsole with root permissions with:
rcalsasound restart
and test your sound with the sound test I provided above. Be certain to recheck your mixer settings in case they were inadvertently reset by the alsa restart.

I turned off the external amp switch but that did not help.

OK, thanks. Please try the /etc/modprobe.d/sound file edit in addition to that.

I have edited the sound file however, now when i try to restart alsa i get:

Shutting down sound driver done
Starting sound driver: intel8x0FATAL: Error inserting snd_intel8x0 (/lib/modules/2.6.25.5-1.1-pae/kernel/sound/pci/snd-intel8x0.ko): Unknown symbol in module, or unknown parameter (see dmesg)
failed

The system doesn’t seem to like that option

This does not look like it will be easy to solve. … I’m not very optimistic now, but I have a few ideas …

Ok, remove that options line from your /etc/modprobe.d/sound file. Save the change. Your file should be (per your previous post):

alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0 

and restart alsa from an xterm/konsole with root permissions with rcalsasound restart
then test your sound. I assume this gives you a choppy sound, as you noted you had the same problem as the previous poster. While your sound is being tested type:
cat /proc/interrupts
and copy/paste the output here.

Then modify your /etc/modprobe.d/sound file again with this:

alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0 
options snd-intel8x0 buggy_irq=1

and restart alsa from an xterm/konsole with root permissions with rcalsasound restart
then test your sound.

If that doesn’t work, change it from buggy_irq=1 to buggy_irq=2, restart your alsa and test again. If that doesn’t work, try “3” instead of “2”. If that doesn’t work, then instead of “buggy_irq=3” try “buggy_semaphore=1” and restart your alsa, etc … failing that, try “buggy_semaphore=2”,… etc … then “buggy_semaphore=3”, …etc …

Reference (from ALSA-Configuration.txt file). Note you have an SiS SI7012.

Module snd-intel8x0
  -------------------

    Module for AC'97 motherboards from Intel and compatibles.
			* Intel i810/810E, i815, i820, i830, i84x, MX440
				ICH5, ICH6, ICH7, ESB2
			* SiS 7012 (SiS 735)
			* NVidia NForce, NForce2, NForce3, MCP04, CK804
				 CK8, CK8S, MCP501
			* AMD AMD768, AMD8111
			* ALi m5455

    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
    ac97_quirk    - AC'97 workaround for strange hardware
		    See "AC97 Quirk Option" section below.
    buggy_irq     - Enable workaround for buggy interrupts on some
                    motherboards (default yes on nForce chips,
		    otherwise off)
    buggy_semaphore - Enable workaround for hardwares with buggy
		    semaphores (e.g. on some ASUS laptops)
		    (default off)
    spdif_aclink  - Use S/PDIF over AC-link instead of direct connection
		    from the controller chip
		    (0 = off, 1 = on, -1 = default) 

and

AC97 Quirk Option
=================

The ac97_quirk option is used to enable/override the workaround for
specific devices on drivers for on-board AC'97 controllers like
snd-intel8x0.  Some hardware have swapped output pins between Master
and Headphone, or Surround (thanks to confusion of AC'97
specifications from version to version :-)

The driver provides the auto-detection of known problematic devices,
but some might be unknown or wrongly detected.  In such a case, pass
the proper value with this option.

The following strings are accepted:
    - default	Don't override the default setting
    - none	Disable the quirk
    - hp_only	Bind Master and Headphone controls as a single control
    - swap_hp	Swap headphone and master controls
    - swap_surround  Swap master and surround controls
    - ad_sharing  For AD1985, turn on OMS bit and use headphone
    - alc_jack	For ALC65x, turn on the jack sense mode
    - inv_eapd	Inverted EAPD implementation
    - mute_led	Bind EAPD bit for turning on/off mute LED

For backward compatibility, the corresponding integer value -1, 0,
... are  accepted, too.

For example, if "Master" volume control has no effect on your device
but only "Headphone" does, pass ac97_quirk=hp_only module option.