Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 152130 - media-sound/alsa-lib-1.0.12 breaks record configuration
Summary: media-sound/alsa-lib-1.0.12 breaks record configuration
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo ALSA team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-20 09:17 UTC by Maik Musall
Modified: 2007-02-17 02:29 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maik Musall 2006-10-20 09:17:57 UTC
Hi folks,
after updating alsa-lib (along with alsa-headers, alsa-utils, alsa-tools and alsa-oss) from 1.0.11-r1 to 1.0.12, my ecasound recordings would not work any more. I get this error message:

$ ecasound -t:10 -i alsa,delta_in01a -q -o file.wav
ALSA lib pcm_direct.c:1391:(snd_pcm_direct_parse_bindings) invalid slave channel number 2 in binding to 2

I'm using a 4-channel ice1712 card from M-Audio, with the following .asoundrc which worked perfectly for several former releases:

-- .asoundrc begin --
pcm.ice1712 {
        type hw
        card 0
        device 0
}

# Add a control device for mixer access
ctl.ice1712 {
        type hw
        card 0
        device 0
}

pcm.delta_recshared {
        type dsnoop
        ipc_key 2736212 # must be unique for all dmix plugins!!!!
        ipc_key_add_uid yes
        slave {
                pcm ice1712
                format S32_LE
                #channels 12
                period_size 1024
                buffer_size 4096
                rate 44100
                periods 0
                period_time 0
        }
        bindings {
                0 0
                1 1
                2 2
                3 3
        }
}

# capture from stereo pair 0-1
pcm.delta_in01a {
        type plug
        slave.pcm delta_recshared
        #slave.channels 4
        ttable.0.0 1
        ttable.1.1 1
}

# capture from stereo pair 0-1
pcm.delta_in01b {
        type plug
        slave.pcm delta_recshared
        #slave.channels 4
        ttable.0.0 1
        ttable.1.1 1
}

# capture from stereo pair 2-3
pcm.delta_in23a {
        type plug
        slave.pcm delta_recshared
        ttable.0.2 1
        ttable.1.3 1
}

# capture from stereo pair 2-3
pcm.delta_in23b {
        type plug
        slave.pcm delta_recshared
        ttable.0.2 1
        ttable.1.3 1
}
-- .asoundrc end --

I tried unmasking ecasound 2.4.4 (currently using 2.4.3) and alsa-lib 1.0.13 in all possible combinations, all the same. Only downgrading to alsa 1.0.11-r1 helps. Since I don't see any error in my configuration, I consider it a bug. alsa Changelogs didn't reveal anything helpful to me.

Here is my emerge --info:

Portage 2.1.1 (default-linux/x86/2006.1/server, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 i686)
=================================================================
System uname: 2.6.17-gentoo-r8 i686 Pentium II (Klamath)
Gentoo Base System version 1.12.5
Last Sync: Thu, 19 Oct 2006 09:50:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.3.5-r2, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/service"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/"
LINGUAS=""
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://einstein.mknet.prv/gentoo-portage"
USE="x86 X aac alsa apache2 berkdb bitmap-fonts cdr cli cracklib crypt cups dlloader dri elibc_glibc encode esd exif flac fortran gdbm gif input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jack kernel_linux ladspa ldap libg++ libwww mad mailwrapper mbox mmx mp3 ncurses nls nptl nptlonly oci8 ogg oss pam pcre perl php png ppds pppd python readline recode reflection samba sdl session shorten snmp sox spl sse ssl tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_ati video_cards_mach64 video_cards_r128 video_cards_vesa vorbis xinetd xml xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Toni Arnold 2006-10-22 01:47:07 UTC
It seems that you're using the in-kernel alsa-driver of kernel 2.6.17-gentoo. You can check with
$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.11rc4 (Wed Mar 22 10:27:24 2006 UTC).

The versions of alsa-driver and alsa-lib must match. I'm using the in-kernel drivers, too, and therefore need to mask alsa-lib from time to time when the gentoo-sources version is behind. A quick web search confirms the new version for the new kernel:
kernel "2.6.18" alsa "1.0.12"

Consult http://www.gentoo.org/doc/en/alsa-guide.xml if you'd like to use the separate media-sound/alsa-driver package.
Comment 2 Maik Musall 2006-10-22 12:20:06 UTC
Thanks for the info, that was it. I just never happened to have that problem before, as alsa-lib seems to have been unmasked not before the corresponding kernel. So, users are supposed to mask packages themselves to keep things running? That's unusual. Why not keep the new versions soft-masked until everything fits together?

Maik
Comment 3 Maik Musall 2006-11-12 12:25:42 UTC
Ok, I'm now on 2.6.18-gentoo-r2 with alsa 1.0.12 and again have the same problem. This time however, versions should match:

# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).

I had to revert to 1.0.11 to have ecasound recording with 2.6.18.

For the normal version thing, I suggest to add a check to the ebuild that looks if alsa-driver is installed. If not, the matching kernel version is looked up, and if too low, installation is refused. (Which still leaves this new case unresolved.)
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2007-02-17 02:29:43 UTC
More than trying to suggest using alsa-driver I'm afraid I can't do, as kernel team is still suggesting the other way around, and ALSA breaks stuff quite often, not something I can fix :/