Independent ALSA and linux audio support site

Ice1724

From the ALSA wiki

Jump to: navigation, search

Contents

Alsa driver ice1724

Support * Chaintech AV-710

User experience

M-Audio Revolution 5.1 (Fedora Core 6)

Works great, except for headphone output (but just use the normal two channel output). For simple 2 channel output you shouldn't have to do much besides tweak the volume and plug the speakers into the correct output jack (ringed in green; see http://seehuhn.de/pages/revolution for detailed diagrams.

For 5.1 and spdif usage, you may want to see the .asoundrc mentioned in a recent mailing list post.

Remember to set the volume in alsamixer before searching for problems, as almost every feature Just Works. An "alsactl restore" in /etc/rc.local might be needed for the left channel volume problem.

ESI Juli@ PCI (Gentoo 1.2006, GNU/Debian 4.0, Fedora Core 6)

Doesn't work well or has huge problems. Soundcard is regonized by both OSes but doing "alsaconf" causes kernel panic. On Gentoo it's able to be configured in a such way accidentally that alsasound process will cause kernel panic when shutting down system so you are never able to close computer cleanly unless that daemon is not started at all. You might be able to get sound but no recording is possible. No MIDI either. You can use KMix once for a while to replace alsasound on gentoo. Debian doesn't give sound out at all. Juli@ works somewhat allright when using Fedora Core 6. -AnXa 07:29, 9 February 2007 (EST)

I have tried the audiophile 192 soundcard and have had nothing but trouble... so much so that I am taking it back tomorrow. I have installed JackLab and got nothing but a distorted signal. It was horrible. I then installed Fedora 6. I can't remember if I heard anything or distortion. In any event I installed 64Studio tonight. Jack starts fine, but hydrogen hung the UI. It was like I was on windows. I was hoping that someone had a driver that worked. I am not smart enough to write my own...

-The ESI juli@ works very well using optical s/pdif (I've not tried analogue output). I use kernel 2.6.25 vanilla on gentoo. Here my .asoundrc to use s/pdif (don't hesitate to correct it if there's something wrong).

defaults.pcm.rate_converter "samplerate_best"

pcm.!default {

  type plug
  slave.pcm {
      type dmix
      ipc_key 1478
      slave {
          pcm "hw:0,1"
          format S32_LE
          period_time 0 
          period_size 1024 #useful if you ear scratch or have a crappy sound (try other values if it doesn't work)
          buffer_size 8192 #useful if you ear scratch or have a crappy sound (try other values if it doesn't work)
          rate 96000 #set to 44100 or other.

} } }

\

Terratec Aureon Space 7.1 (Mandrake 9.2)

Mandrake 9.2 detects and correctly configures this card (Space 7.1) upon a fresh installation, although the volume/mixer settings are not very loud by default. Mandrake 9.2 uses alsa version 0.9.6. However, when installing the card in an installed system, the card is not detected when a scan is done for new hardware and I found it impossible to get it to work correctly without completely re-installing mandrake 9.2 (which I had to do anyway). NB, the stereo sound output is actually plug 4 from the fibre connectors (Front Stereo).


Problems: the playing frequency seems to be different from the common sample frequency, causing the music to sound strangely high pitched! Also clicks can be heard when playing videos, since they are synchronised every few seconds.

After installing the 1.0.0-pre2/pre1 drivers and utilities, I was able to use alsamixer to set the output frequency to 44100 Hz. This solves the problem mostly, but I think there are quite some issues to resolve before all programs will simply work ;-)


TODO: more configuration details.

/etc/modules.conf

alias sound-slot-0 snd-ice1724
above snd-ice1724 snd-pcm-oss

I don't know if more configuration details can be found or are of influence.

Terratec Aureon 7.1 Space (Debian)

Working .asoundrc for AC3, DTS and dmix through spdif. Using debian and alsa version 1.0.1 with IC Ensemble Inc ICE1724 [Envy24HT] (rev 01)

pcm.spacespdifdmix {
        type dmix
        ipc_key 83484784
        slave {
                pcm "hw:0,1"
                format S32_LE
                rate 44100
        }
}

pcm.spacespdif {
        type plug
        slave {
                pcm spacespdifdmix
        }
}

pcm.!default {
        type plug
        slave {
                pcm spacespdifdmix
        }
}

# For ogle

pcm.!spdif {
        type plug
        slave {
                pcm "hw:0,1"
                format S32_LE
        }
}

# For mplayer, ao (mplayer -ac hwac3, -ao alsa9:mplayer)
# For vlc, use mplayer as alsa device

pcm.!iec958 {
        type plug
        slave {
                pcm "hw:0,1"
                format S32_LE
        }
}

pcm.mplayer {
        type plug
        slave {
                pcm "hw:0,1"
                format S32_LE
        }
}

Aureon Space 7.1 (slackware)

Lately I have been getting some questions regarding the digital out (spdif) of the Aureon Space 7.1. In order to help some of the people who want to play their audio through the spdif interface I have added some info below. Currently this is only part 1. There will be a part 2 as soon as I can get my kde cvs properly compiled (currently kdelibs still gives me errors when compiling so it might take some days).

Part 1: For my own system (Slackware current) I have used the alsa cvs tree. As far as I know not much or nothing has changed forthe ice1724 driver between versions so it should also be Ok to use the main version (but I not 100% sure). I had a few problems when compiling every driver by using a simple ./configure. It seems that usbaudio doesn't compile properly so it is better to use the compile instructions that are specified in the docs on the site. In short:

alsa-driver:
    ./configure --with-cards=ice1724 --with-sequencer=yes
    make
    make install

alsa-utils:
    ./configure
    make
    make install

Since I use hotplug I won't have to bother with figuring out which modules to load. Here's my list that get's loaded after a fresh reboot:

Module                  Size  Used by    Not tainted
tuner                  10920   1  (autoclean)
tda9887                 3104   1  (autoclean)
tvaudio                14248   0  (autoclean) (unused)
bttv                   96192   0  (unused)
videodev                6592   2  [bttv]
snd-ice1724            23908   2 
snd-ice17xx-ak4xxx      1552   0  [snd-ice1724]
snd-pcm                63172   1  [snd-ice1724]
snd-page-alloc          6516   0  [snd-pcm]
snd-timer              14980   0  [snd-pcm]
snd-ac97-codec         48556   0  [snd-ice1724]
snd-mpu401-uart         3376   0  [snd-ice1724]
snd-rawmidi            14048   0  [snd-mpu401-uart]
snd-seq-device          4400   0  [snd-rawmidi]
snd-ak4xxx-adda         3932   0  [snd-ice1724 snd-ice17xx-ak4xxx]
snd                    32612   1  [snd-ice1724 snd-pcm snd-timer \
 snd-ac97-codec snd-mpu401-uart snd-rawmidi snd-seq-device snd-ak4xxx-adda]
soundcore               3844   0  [bttv snd]

Not all modules might be related to the Aureon Space since I also have a Pinnacle PCTV Rave card. Also notice that the oss compatibility modules are not loaded. So far I have not needed them and maybe they are not needed at all (We'll know once I get to part 2). Now we will have to create a .asoundrc. This is important because otherwise the sound will only be routed through the analog output and not through the spdif. For some of the players you can also add a device on the commandline so you can route it to the spdif interface that way but I find it easier when this is done by default. Add the following info to this file (and create the file in your home dir):

pcm.ice1724 {
    type hw
    card 0
}

ctl.ice1724 {
    type hw
    card 0
}

pcm.!default {
    type plug
    slave.pcm "spdif"
}

That's all. When I try to play an mp3 with mpg123 for example the sound is nicely routed through the spdif interface instead of the analog output:

mpg123 -o alsa /my_mp3.mp3

You might have noticed that the sound doesn't have to be unmuted first. It seems that this is only needed for analog output. Well, that's all for now.

Dennis van der Meer


Chaintech AV-710 (Mandrake 9.2)

I also got this driver working on my Chaintech AV-710 which uses the Envy24HT-S chipset. I also have Mandrake 9.2, but I upgraded alsa to the latest 1.0.1 version before trying to get the card working.

I had some problems with not understanding what all the various switches in alsamixer do, but finally got stereo out working by setting the HW and HW1 switches to PCM Out (HW will set left channel volume, HW1 sets right channel volume).

After that, I created the .asoundrc as Dennis suggests above, restarted xine, plugged in the optical cable into my reciever, and voila, spdif was working. I also had a problem with the left channel being muted, but that was fixed by setting IEC958 switch in alsamixer to PCMOut (my right switch was already set to PCM Out).

The only problem then was that xine wasn't passing AC3 through, when I enabled the a52_pass_through flag on a recording with ac3, I didn't get any volume. Xine also has a setting where you can control which channel that AC3 gets passed to and its set by default to IEC958:AES0=0x6,AES1... . On my old SB Live Value, if I set that option to default, I would hear pops and clicks on my receiver. So I tried the same thing with this sound card, and as soon as I started up xine, it was playing the movie and my receiver was showing Dolby Digital.

Oh, also, for AC3 passthrough, I had to do some weird things with alsaconf, my final /etc/modules.conf turned out to be

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.1 ---
alias char-major-116 snd
alias char-major-14 soundcore
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  device_mode=0666
alias snd-card-0 snd-*** info [liblow.c(320)]:
alias sound-slot-0 snd-ice1724
# --- END: Generated by ALSACONF, do not edit. ---
above snd-ice1724 snd-pcm-oss

This allows AC3 to work, but now I can't hear the system sounds, and none of the games make sound. If anyone knows how to fix this, I would appreciate it.

DaniilMag

\ I got this card to work in Gentoo Linux, kernel 2.6.31, with ALSA 1.0.20, using the higher quality Wolfson DAC behind the rear-surround port. The results of my research are posted here. cemysce

\


M-Audio Revolution 7.1 (Arch Linux)

Simplified version of .asoundrc recommended above (for AC3, DTS, and dmix through spdif). Sample rates no longer need to be specified since everything from 8 - 44 kHz is enabled by changes to ALSA 1.0.10. The S32_LE format has apparently been made the default for non-dmix type outputs, and no longer needs to be specified.

Tested on Arch Linux using ALSA 1.0.10 and an M-Audio Revolution 7.1 sound card.

# hw:0,1 designates the Digital Coaxial Output
# S32_LE is the only format supported by the driver
# period_time, period_size, and buffer_size are needed to make aRts not stutter. Increase buffer_size if stuttering persists.
pcm.spdifdmix {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,1"
        format S32_LE
        period_time 0
        period_size 1024
        buffer_size 4096
    }
}

# default ALSA route for software support of multiple sound streams
pcm.!default {
    type plug
    slave.pcm spdifdmix
}

# Ogle
pcm.!spdif {
    type plug
    slave.pcm "hw:0,1"
}

# mplayer -ac hwac3
pcm.!iec958 {
    type plug
    slave.pcm "hw:0,1"
}

Just some cut and paste from a mailinglist posting concerning the ICE1724 Controls by Takashi Iwai:

=================== controls list =======================
> numid=1, iface=CARD,name='ICE1724 EEPROM'

EEPROM contents.  not for mixer.

> numid=2, iface=MIXER,name='Multi Track Internal Clock'

the internal clock of the board.
note that ice1724 has a single rate for all channels.

> numid=3, iface=MIXER,name='Multi Track Rate Locking'

the rate locking - allow each app to set the rate or use
the fixed rate.

> numid=4, iface=MIXER,name='Multi Track Rate Reset'

reset the rate to the default value at each time the PCM is closed.
(the default value is the last internal clock rate.)

> > numid=5, iface=MIXER,name='H/W Playback Route'
> numid=6, iface=MIXER,name='H/W Playback Route',index=1
> ...
> numid=12,iface=MIXER,name='H/W Playback Route',index=7

the analog output routing for each channel.  they're enum.

> numid=13,iface=MIXER,name='Multi Track Peak'

peak meter.  read only.

> numid=14,iface=MIXER,name='IEC958 Playback Route'
> numid=15,iface=MIXER,name='IEC958 Playback Route',index=1

spdif output routing (left/right).  the enum valus.

> numid=16,iface=MIXER,name='IEC958 Output Switch'

turn on/off spdif output.

> numid=17,iface=PCM,name='IEC958 Playback Default',device=1

spdif status bits.  32bit long.

> numid=18,iface=MIXER,name='IEC958 Playback Con Mask',device=1
> numid=19,iface=MIXER,name='IEC958 Playback Pro Mask',device=1

available spdif status bit mask for consumer and professional modes.

> numid=20,iface=MIXER,name='DAC Volume'
> numid=21,iface=MIXER,name='DAC Volume',index=1
> ...
> numid=27,iface=MIXER,name='DAC Volume',index=7

DAC = digital-analog-converter
for each analog output channel.

> numid=28,iface=MIXER,name='Master Playback Volume'

master playback volume for analog outputs.

> numid=29,iface=MIXER,name='ADC Volume'
> numid=30,iface=MIXER,name='ADC Volume',index=1

ADC = analog-digital-converter
for each analog input channel.

> numid=31,iface=MIXER,name='Capture Route'

the recording source selection.   the enum values.

Asound config to get all M-Audio Revolution 7.1 out channels operational:

#---------------------------------------------

ctl.!default {
        type hw
        card 1
}

#---------------------------------------------

pcm.envy_1
{
        type plug
        slave.pcm {
                type hw
                card 1
                device 0
                subdevice 0
        }
}

ctl.envy_1
{
        type hw
        card 1
}

pcm.envy_2
{
        type plug
        slave.pcm {
                type hw
                card 1
                device 2
                subdevice 0
        }
}

pcm.envy_3
{
        type plug
        slave.pcm {
                type hw
                card 1
                device 2
                subdevice 1
        }
}

pcm.envy_4
{
        type plug
        slave.pcm {
                type hw
                card 1
                device 2
                subdevice 2
        }
}

pcm.envy_spdif
{
        type plug
        slave.pcm {
                type hw
                card 1
                device 1
                subdevice 0
        }
}

#---------------------------------------------

My (=Andreas Bulling) .asoundrc for stereo -> surround-like output for example with xmms etc. Just type in "duplicate" under "Audio device" in xmms's "Alsa Driver configuration". With the newest 2.6.9 kernel for the first time even the Center, LFE, Front and Rear channels work as expected - thanks to the developers ;)

pcm.!default {
    type plug
    slave ice1724_S32_LE;
}

pcm.duplicate {
        type plug
        slave.pcm "surround51"
        slave.channels 6
        route_policy duplicate
}

pcm_slave.ice1724_S32_LE {
        pcm surround51;
        format S32_LE;
}

\

M-Audio Revolution 7.1 (Gentoo, Ubuntu 6.06)

Card works in Ubuntu 6.06 right out of the box, and in Gentoo with standard configuration procedures.

Needed to add the following plugin to .asoundrc to get spdif pass-through working in Xine (not tested in mplayer):

pcm.!iec958 {
    type plug
    slave.pcm "hw:0,1"
}

M-Audio Revolution 7.1 (Ubuntu 8.04)

.asoundrc to fix surround71 bindings, and duplicate front channel through all other channels in a stereo configuration by default:

# 8 channel dmix
pcm.!surround71 {
    type dmix
    ipc_key 1024
    ipc_key_add_uid false
    ipc_perm 0660
    slave {
        pcm "hw:0,0"
        rate 48000
        channels 8
        period_time 0
        period_size 1024
        buffer_time 0
        # prevent stutter at 48000
        buffer_size 8192
        # alternately lower to 44100 and keep the buffer low
        #rate 44100
        #buffer_size 5120
    }
    bindings {
        0 1   # front left
        1 0   # front right
        2 6   # rear left
        3 7   # rear right
        4 2   # center
        5 3   # lfe
        6 4   # side left
        7 5   # side right
    }
}
# perform upmixing
pcm.ch71dup {
    type route
    slave.pcm surround71
    slave.channels 8
    ttable {
        0.0 1     # front right
        1.1 1     # front left
        0.2 1     # rear left
        1.3 1     # rear right
        0.4 0.5   # right channel to centre 0.5 gain
        1.4 0.5   # left channel to centre 0.5 gain
        0.5 0.5   # right channel to lfe 0.5 gain
        1.5 0.5   # left channel to lfe 0.5 gain
        0.6 1     # side left
        1.7 1     # side right
    }
}
pcm.duplex {
    type asym
    playback.pcm "ch71dup" # upmix first
    capture.pcm "hw:0"
}
# change default device
pcm.!default {
    type plug
    slave.pcm "duplex"
}
# for aoss
pcm.dsp "duplex"
pcm.dsp1 "duplex"

M-Audio Delta Audiophile 192

Mixer Control Elements from M-Audio Delta Audiophile 192

numid=1,iface=CARD,name='ICE1724 EEPROM'
numid=14,iface=MIXER,name='PCM Playback Volume'
numid=8,iface=MIXER,name='IEC958 Playback Route'
numid=9,iface=MIXER,name='IEC958 Playback Route',index=1
numid=10,iface=MIXER,name='IEC958 Output Switch'
numid=15,iface=MIXER,name='Deemphasis'
numid=5,iface=MIXER,name='H/W Playback Route'
numid=6,iface=MIXER,name='H/W Playback Route',index=1
numid=2,iface=MIXER,name='Multi Track Internal Clock'
numid=7,iface=MIXER,name='Multi Track Peak'
numid=3,iface=MIXER,name='Multi Track Rate Locking'
numid=4,iface=MIXER,name='Multi Track Rate Reset'
numid=12,iface=PCM,name='IEC958 Playback Con Mask',device=1
numid=11,iface=PCM,name='IEC958 Playback Default',device=1
numid=13,iface=PCM,name='IEC958 Playback Pro Mask',device=1

\~/.asoundrc to enable spdif output (works with Ubuntu 8.04)

pcm.ice1724 {
    type hw
    card 0
}
ctl.ice1724 {
    type hw
    card 0
}
pcm.!default {
    type plug
    slave.pcm "spdif"
}

M-Audio Revolution 5.1 (Ubuntu 6.10 Edgy Eft)

Upgrade to latest alsa, and use the following tailor made \~/.asoundrc for this card

# 6 channel dmix:
pcm.dmix6 {
    type dmix
       ipc_key 1024
       ipc_key_add_uid false
       ipc_perm 0660
       slave {
               pcm "hw:0,0"
               rate 48000
               channels 6
               period_time 0
               period_size 1024
               buffer_time 0
               buffer_size 5120
       }
    }
# upmixing: 
pcm.ch51dup {
       type route
       slave.pcm dmix6
       slave.channels 6
       ttable.0.0 1
       ttable.1.1 1
       ttable.0.2 1
       ttable.1.3 1
       ttable.0.4 0.5
       ttable.1.4 0.5
       ttable.0.5 0.5
       ttable.1.5 0.5
  }
pcm.duplex {
    type asym
    playback.pcm "ch51dup" # upmix first
    capture.pcm "hw:0"
}
# change default device:
pcm.!default {
    type plug 
    slave.pcm "duplex"
}
# for aoss
pcm.dsp "duplex"
pcm.dsp1 "duplex"

For indepth information on how to configure this card, check this out.

ESI MAYA44 PCI

Support for the ESI MAYA44 PCI card is currently under development. The card should be supported by alsa in a few months. (If some would like to work on drivers for this card, please contact me at [email protected] - I have a spare one to lend. -Christian.)

It looks like a driver has been written for this, but has not been merged into git as it has not been signed off by the developer according to the alsa-devel mailing list. The project still seems to be active (August 2008) and is avaliable through the ubuntu forums.

ESI DSP 2000, ESI ESP 1010

According to a post in the JackLab support forum both the ESI DSP 2000 and the ESI ESP 1010 should work. The former (DSP) is fully supported, the latter (ESP) lacks software controls for headphone volume and microphone preamps, therefore some channels are not useable.

Dynex DX-SC51

Linux seems to really like this card. AC3 and DTS passthrough out the optical jack works perfectly, and I can dump stereo audio into it no problem. I get full 5.1 sound out of the analog jacks too. Haven't tried capture or the headphone jack, mainly because I bought this card specifically for an HTPC.

External links

Simon Oosthoek, Andreas Bulling

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

Category: ALSA modules