Realtek ALC650

From the ALSA wiki

Jump to: navigation, search

The Realtek ALC650 is a 6-channel audio chip which supports the 'traditional' Intel Audio Codec 1997 (AC'97) standard. For use with a computer, the chip needs to be connected to one of the computer buses. This may be done via a dedicated soundcard or, if the chip is on the motherboard, by direct connection to the motherboard southbridge.

Contents

Overview

As input the ALC650 accepts digital PCM (pulse coded modulation) data from the computer and analogue signals from a CD, microphone, telephone and other audio equipment. PCM data is first converted to an analogue signal. The different analogue signals can then be amplified and combined to produce the main stero line-out signal. Output to the additional four analogue output channels can come either from their own PCM input channels or from the line-out signal.

In a separate analogue path through the chip, the input analogue signals (plus the line-out signal) can be combined and amplified to produce a digital output signal for input to the computer. The chip can also send and receive data from other audio devices using the Sony/Phillips Digital Interface Format (S/P DIF).

Motherboard Chips and Alsa Drivers

If the motherboard is based on one of the Nvidia Nforce chipsets it should be possible to control the chip using the intel8x0 Alsa kernel module which supports the Nvidia interface. If the motherboard is based on a Via chipset, the ALC650 may be connected to a Via8233 southbridge or similar chip. In that case it should be possible to control the ALC650 using the via82xx Alsa kernel module. Note that in such cases the system will appear to contain a Nvidia or Via soundcard whose name is the name of the southbridge chip.

\

Installation of a via82xx Driver

Installation

Compiling

Alsa-driver:

./configure
make install
./snddevices

Alsa-lib:

./configure
make install

Alsa-utils:

./configure
make install

Install Driver

Run alsaconf and follow the onscreen instructions. It should generate a section in your /etc/modules.conf that looks like this:

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 0.9.0 ---
alias char-major-116 snd
alias snd-card-0 snd-via82xx
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd major=116 cards_limit=1 device_mode=0666
options snd-via82xx index=0
# --- END: Generated by ALSACONF, do not edit. ---

SPDIF support

It took me a sec to figure this one out, and I don't know if it's just my setup. SPDIF support is controlled by the sound control element called 'IEC958 Playback AC97-SPSA'. The gnome mixer program does NOT control the SPDIF output (the 'digital' output is something different). You can control it through alsamixer or amixer in the console (or you could use the alsa mixer for gnome [2]). The other trick is that the 'percentage' for output needs to be zero for the output.

Putting this in your /etc/rc.d/rc.local should fix this:

amixer set 'IEC958 Playback AC97-SPSA' 0

from the via8233 page, this is expalined as follows...

If the playback device indicates a link is present, but makes no sound, check the mixer 'IEC958 Playback AC97-SPSA'. The S/PDIF always outputs at full volume - even muting the master or PCM mixers does not affect the S/PDIF volume. The meanings of the settings for 'IEC958 Playback AC97-SPSA' are

0. PCM1
1. PCM2,PCM1 (rear)
2. Centre and LFE
3. PCM3,Modem,Dedicated S/PDIF

Most users will want it set to 0 (PCM1). Some of the 82xx chips have a dedicated S/PDIF port, which is (I assume) accessed by setting it to 3 (Dedicated S/PDIF). The default appears to be 3.

The driver's been rock solid for me for a week! Happy listening! Please note that I only use the SPDIF support, although I have confirmed working analog output, too. Your mileage may vary.

Retrieved from "http://alsa.opensrc.org/Realtek_ALC650"

Category: Sound cards

GITHUB | EDIT