Linux on an Apple Powerbook G4. State of Linux support on Apple Powerbook G4 laptops. … read more

Griffin iMic Linux Support. State of Linux support for the Griffin iMic USB sound card. … read more

ASUS A8V Linux Support. State of Linux support for the ASUS A8V motherboard. … read more

M-Audio Revolution 5.1 Linux Support

By Jochen Voss, last updated 2011-08-31

This page summarises the Linux hardware support for the M-Audio Revolution 5.1 sound card. If you have questions or additional hints, feel free to contact me.

Summary

The M-Audio Revolution 5.1 sound card is reasonably well supported under Linux with ALSA version 1.0.12 or newer. Support was poor with earlier ALSA versions.

Sound quality is very good and, if you do not need the headphone output (it does not yet work), the M-Audio Revolution 5.1 is a nice sound card for use under Linux.

action status
analog playback works
good sound quality
+
analog recording works +
headphone output works (since Linux kernel 2.6.29?) +
ALSA controls functional
(but some strange labels)
+
digital I/O
(via S/PDIF)
not tried

Table 1. This table summarises the Linux support status for the M-Audio Revolution 5.1 sound card.

ALSA support

The following data corresponds to ALSA version 1.0.13. Hints on how to set up and use ALSA can, for example, be found on my ALSA web page.

The card is supported by the ice1724 ALSA driver. The entry in /proc/asound/cards is

 0 [Revolution51   ]: ICE1724 - M Audio Revolution-5.1
                      M Audio Revolution-5.1 at 0xb800, irq 16

Mixer Settings

Alsamixer shows the following controls for the card. Figure 2 helps to understand the effect of the different mixer controls. Note that the string IEC958 in the control names refers to the digital S/PDIF port.

[diagram of the M-Audio Revolution 5.1 data flows]

Figure 2. A schematic representation of (my best guess about) the data flow inside the Revolution 5.1 sound card. V denotes volume controls, M denotes the possibility to mute a stream. The digital loop-back allows to replace each of the eight DMA output channels with an arbitray one of the four input signals.

Playback

PCM
stereo slider: volume for the two front channels
PCM Center
mono slider: volume for the centre channel are silent)
PCM LFE
mono slider: volume for the low frequence effects (LFE) channel
PCM Rear
stereo slider: volume for the two rear channels
Line Loopback
stereo slider: volume for the analog loopback of line-in
Mic Loopback
stereo slider: volume for the analog loopback of the microphone input
CD Loopback
stereo slider: volume for the analog loopback of the built-in analog CD connector.
Loopback
Toggle the analog loopback. Possible values: mute/unmute.
Capture Channel
Select the analog capture source. Possible values: Mic, Line, CD
H/W
Digital loopback selector for the front left output channel. Possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
H/W 1
Digital loopback selector for the front right output channel. possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
H/W 2
possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
H/W 3
possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
H/W 4
possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
H/W 5
possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
IEC958
Digital loopback selector for the left (?) S/PDIF output channel. Possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
IEC958 1
Digital loopback selector for the right (?) S/PDIF output channel. Possible values: PCM Out, H/W In 0, H/W In 1, IEC958 In L, IEC958 In R.
IEC958 Output
possible values: mute/unmute.
Deemphasis
possible values: 44.1kHz, Off, 48kHz, 32kHz. These numbers seem to reflect the digital de-emphasis parameter settings of the AK4358 D/A converter. No idea what this is good for.
Multi Track Internal Clock
possible values: 8000, 9600, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000, IEC958 Input.
Multi Track Peak
stereo slider: When I enter alsamixer this seems to be set to the peak volume of the previous few seconds for the two stereo channels. I can adjust this but this seems to have no effect.
Multi Track Peak
stereo slider. Yes, the name is the same as above.
Multi Track Peak
mono slider. Yes, the name is the same as above.
Multi Track Peak
mono slider. Again.
Multi Track Rate Locking
mute/unmute
Multi Track Rate Reset
mute/unmute. No idea what this could be.

Capture

PCM
stereo slider (with mute/unmute): control the analog capture volume
Multi Track Peak
stereo slider

Bugs

There are still some buglets and annoyances left for this card. In this section I list and describe some of them with the aim of getting the problems fixed eventually.

Technical Information

This section describes technical details of the inner working of the card. I collected this information to help with improving ALSA support for the card. Now, since most things are working, this information is no longer so useful, but I leave it here for reference.

Access from Linux

The sound card is connected to the computer via the PCI bus. The lspci output for the card is as follows:

Multimedia audio controller: VIA Technologies Inc. VT1720/24 [Envy24PT/HT]\
  PCI Multi-Channel Audio Controller (rev 01)
Subsystem: VIA Technologies Inc. M-Audio Revolution 5.1
Flags: bus master, medium devsel, latency 64, IRQ 16
I/O ports at b800 [size=32]
I/O ports at b400 [size=128]
Capabilities: [80] Power Management version 1

Chipset

The card is driven by a Via Envy24GT audio-controller. Other names for this chip are ICE1722 or VT1722. According to the product description the card should be able to do 24-bit/192kHz playback on 6 channels and 24-bit/96kHz stereo recording.

[photo of the M-Audio Revolution 5.1 board]

Figure 1. A photo of the M-Audio Revolution 5.1 board. Click on the picture for a higher resolution version.

By visual instection of the card (see figure 1) I was able to identify the following chips:

VT1722
This is the Envy24GT audio processor. It handles communication with the PCI bus and connects to all the other chips using some serial protocol.
AK4358
This is a digital-to-analog converter (DAC). According to the data sheet (see the references section) it has 8 channels with a resolution of 24 bit at sampling rates ranging from 8kHz to 192kHz.
AK5365
This is an analog-to-digital converter (ADC). According to the data sheet it has 2 channels with a resolution of 24 bit at sampling rates ranging from 32kHz to 96kHz.
PT2258
This is an electronic volume controller.
24LC01B
A serial EEPROM with 1kb capacity.

VT1722 controller

The VT1722 controller provides 23 general purpose input/output (GPIO) lines for use by the board maker. I did not find any documentation how these are connected for the Revolution 5.1 card.

I tried to find out where each GPIO line leads. Originally I did this just by visual inspection of the board, but recently I got a very nice multimeter which helped considerably. My current best guess is the following.

Table 2 lists the known GPIO connections. The GPIOs not listed (1, 3, 4, and 8-20) seem to be unconnected.

pin name connects to
50 GPIO0 looks connected, no idea where it goes
52 GPIO2 looks connected, no idea where it goes
56 GPIO4 AK 4358, pin 21 (CSN)
57 GPIO5 AK 5365, pin 33 (CSN)
58 GPIO6 PT 2258, pin 7 (SDA)
59 GPIO7 PT 2258, pin 6 (SCL)
103 GPIO21 hard to see whether it is connected or not
104 GPIO22 0 = all mute, 1 = normal operation
Table 2. This table lists the known GPIO connections of the VT1722 controller on the M-Audio Revolution 5.1 sound card. The information was found by inspection of the board and might not be 100% accurate.

AK4358 DAC

Some things I learned about the AK4358 DAC (don't trust this information too much):

AK5365 ADC

Some things I learned about the AK5365 ADC (don't trust this information too much):

PT2258 Volume Controller

This chip is a six-channel volume controller.

Table 3 lists the known pin connections.

pin name connects to
1 IN1 direction of line-in?
2 IN2
3 IN3
4 CODE2 GND
6 SCL VT1722, pin 59 (GPIO 7)
7 SDA VT1722, pin 58 (GPIO 6)
8 IN4
9 IN5
10 IN6
17 CODE1 GND

Table 3. This table lists the known connections of the PT2258 volume controller on the M-Audio Revolution 5.1 sound card. The information was found by inspection of the board and might not be 100% accurate.

References

Copyright © 2011, Jochen Voss. All content on this website (including text, pictures, and any other original works), unless otherwise noted, is licensed under a Creative Commons Attribution-Share Alike 3.0 License.