ATI HD Audio ALC889 problem on OpenSUse 12.1

OpenSuse 12.1 fresh install, there are no other linux dist or previous opensuse, so there’s no migration or something like that. When I first login when finished install OpenSuse 12.1, there’s a remark my device ATI HD AUDIO ALC889 was removed, and changed with NVidia HD Audio.
And then I add PackMan Repository, and then ‘upgrade?’ alsa package, after that there’s a sound, but when I played Amarok, and “the message my device was removed” appeared again. Sorry for my bad English.

From :
**/usr/bin/alsa-info.sh
**
http://www.alsa-project.org/db/?f=4cf75042d55f451e0af6b57ec81765462538b973

From :
rpm -qa 'alsa

alsa-plugins-pulse-32bit-1.0.24-18.1.2.x86_64
alsa-plugins-maemo-1.0.24-18.1.2.x86_64
alsa-plugins-samplerate-32bit-1.0.24-18.1.2.x86_64
alsa-plugins-32bit-1.0.24-18.1.2.x86_64
alsa-1.0.24.1-23.1.2.x86_64
alsa-oss-1.0.17-37.1.2.x86_64
alsa-plugins-jack-32bit-1.0.24-18.1.2.x86_64
alsa-docs-1.0.24.1-23.1.2.noarch
alsamixergui-0.9.0rc1-755.1.2.x86_64
alsa-plugins-1.0.24-18.1.2.x86_64
alsa-plugins-samplerate-1.0.24-18.1.2.x86_64
alsa-devel-32bit-1.0.24.1-23.1.2.x86_64
alsa-plugins-maemo-32bit-1.0.24-18.1.2.x86_64
alsa-tools-gui-1.0.24.1-12.1.2.x86_64
alsa-devel-1.0.24.1-23.1.2.x86_64
alsa-plugins-jack-1.0.24-18.1.2.x86_64
alsa-utils-1.0.24.2-12.8.1.x86_64
alsa-tools-1.0.24.1-12.1.2.x86_64
alsa-oss-32bit-1.0.17-37.1.2.x86_64
pyalsa-1.0.22-9.1.2.x86_64
alsa-firmware-1.0.24.1-7.1.1.noarch
alsa-plugins-speex-1.0.24-18.1.2.x86_64
alsa-plugins-pulse-1.0.24-18.1.2.x86_64
alsa-tools-devel-1.0.24.1-12.1.2.x86_64

rpm -qa 'pulse

alsa-plugins-pulse-32bit-1.0.24-18.1.2.x86_64
pulseaudio-1.1-1.2.x86_64
mpg123-pulse-1.13.4-1.4.x86_64
xmms2-plugin-pulse-0.7-18.13.2.x86_64
pulseaudio-module-jack-1.1-1.2.x86_64
libpulse-mainloop-glib0-1.1-1.2.x86_64
pulseaudio-module-bluetooth-1.1-1.2.x86_64
pulseaudio-module-x11-1.1-1.2.x86_64
pulseaudio-utils-1.1-1.2.x86_64
libpulse0-32bit-1.1-1.2.x86_64
libxine1-pulse-1.1.20-59.3.x86_64
pulseaudio-module-lirc-1.1-1.2.x86_64
pulseaudio-module-zeroconf-1.1-1.2.x86_64
pulseaudio-module-gconf-1.1-1.2.x86_64
libpulse0-1.1-1.2.x86_64
alsa-plugins-pulse-1.0.24-18.1.2.x86_64

rpm -q libasound2

libasound2-1.0.24.1-23.1.2.x86_64

uname -a

Linux linux-cfss 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux

cat /etc/modprobe.d/50-sound.conf

options snd slots=snd-hda-intel,snd-hda-intel

5Dex.9U18Ia0zXn7:SBx00 Azalia (Intel HDA)

alias snd-card-0 snd-hda-intel

NXNs.zSQh34NWUK2:nVidia Corporation

alias snd-card-1 snd-hda-intel

I recommend you install the pulse audio volume control application (pavucontrol) and then when running an application for the 1st time, and in parallel run and tune the volume level and settings in pavucontrol. Be certain in the pavucontrol Config Tab to have the appropriate device selected, and in the Output Devices tab to have SHOW all output devices selected and ensure sound not mtued and appropriate device set as default. And when playing audio from the app check the PLAYBACK tab with SHOW all streams selected and the appropriate out put device selected in the PLAYBACK tab.

Does a simple sound test work ? ie with a 5.1 system:


speaker-test -Dplug:surround51 -c6 -twav

or with a 2 channel system:


speaker-test -Dplug:surround51 -c2 -twav

or with a test file (lets say it is called ‘somefile.wav’ …


aplay -vv somefile.wav

For example, on my surround sound system (with 6 speakers):


speaker-test -Dplug:front -c6 -twav

now you may ask where do I get the syntax ‘front’ or ‘surround51’ from ? Simple, I send the command:


oldcpu@corei7:~> aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
**front**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    Front speakers
**surround40**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    4.0 Surround output to Front and Rear speakers
**surround41**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
**surround50**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    5.0 Surround output to Front, Center and Rear speakers
**surround51**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
**surround71**:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
**iec958**:CARD=Intel,DEV=0
    HDA Intel, AD198x Digital
    IEC958 (S/PDIF) Digital Audio Output

which on my system tells me I can try front, or surround40, or surround41, or surround50, or surround51, or surround71 or iec958, which dependent on how my speakers are connected may yield garbage, or might yield good sound.

Now its possible it may be necessary to force a model configuration on your ALC889 fitted PC but before we go down that path, lets better establish what works and what does not work.

speaker-test -Dplug:surround51 -c6 -twav

speaker-test 1.0.24.2

Playback device is plug:surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Playback open error: -16,Device or resource busy

speaker-test -Dplug:surround51 -c2 -twav

speaker-test 1.0.24.2

Playback device is plug:surround51
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Playback open error: -16,Device or resource busy

aplay -L

null
Discard all samples (playback) or generate zero samples (capture)
default
Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=SB
HDA ATI SB, ALC889 Analog
Default Audio Device
front:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
Front speakers
surround40:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
HDA ATI SB, ALC889 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=SB,DEV=0
HDA ATI SB, ALC889 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
HDMI Audio Output

sorry my pc is brand new and still empty, maybe i try to look wav file on the internet first.

oh and I’m sorry, I’m a newbie in this linux thing, so I sometimes just don’t know what to do.

It reads like some other device is using your audio. When testing you should try only one audio at a time.

Try the above tests IMMEDIATELY after starting your PC.

Try as a regular user, and also try those commands with root permissions.

I run opensuse with root, and have rebooted several times, and still have the same responses. And the last reboot it worked :question:
really don’t know what happen

This is a bad idea, to run as root, as openSUSE is designed NOT to be run as root. This could end up causing permission problems, where the least of the side effects will be broken sound.

I can’t help a user who regularly runs openSUSE as root.

What I do recommend, is when testing, a user may open a terminal and in addition to testing sound as a regular user, also type ‘su’ (to get root permissions) and run the speaker test as root. But do not run the desktop as root as that has the possibility of breaking a number of permission related items, where if they are broken, users like myself can not help.

Oh ic, I will change it to common user not a root. Hope my sound card won’t be dissappear again.