Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 163414 - alsa-firmware needs proper udev-rules to call fxload for >=sys-fs/udev-104
Summary: alsa-firmware needs proper udev-rules to call fxload for >=sys-fs/udev-104
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo ALSA team
Depends on: 159931
  Show dependency tree
Reported: 2007-01-23 10:50 UTC by Risto A. Paju
Modified: 2007-02-17 02:11 UTC (History)
2 users (show)

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

"udevmonitor --env" output when attaching the sound card (udevmonitor--env.log,27.86 KB, text/plain)
2007-01-24 11:05 UTC, Risto A. Paju
udev rules for Tascam US-122 (55-tascam.rules,346 bytes, text/plain)
2007-01-24 11:06 UTC, Risto A. Paju
udev-rules from suse, using fxload (52-usx2yaudio.rules,971 bytes, text/plain)
2007-01-24 11:31 UTC, Matthias Schwarzott

Note You need to log in before you can comment on or make changes to this bug.
Description Risto A. Paju 2007-01-23 10:50:42 UTC
Since upgrading udev to version 103-r1, Tascam US-122 USB sound card does not work as its firmware is not loaded. Downgrading to version 103 makes it work again.

Reproducible: Always

Steps to Reproduce:
1. emerge -u udev
2. etc-update, replace all udev rules
3. udevcontrol reload_rules
4. Remove and insert the USB sound card
5. usx2yloader (for second stage of firmware)

Actual Results:  
Sound card is not found, as the first-stage firmware has not been loaded.

lsusb shows the following line:

Bus 002 Device 029: ID 1604:8006 Tascam US-122 Audio/Midi Interface (without fw)

Expected Results:  
Sound card would turn on. 

lsusb would show the line

Bus 002 Device 031: ID 1604:8007 Tascam US-122 Audio/Midi Interface

whether or not usx2yloader has been run.

# emerge --info
Portage 2.1.2-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, i686)
System uname: i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.12.9
Timestamp of tree: Tue, 23 Jan 2007 08:20:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
dev-java/java-config: 2.0.31-r3
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
CFLAGS="-O4 -march=pentium-m -fomit-frame-pointer -pipe -mfpmath=sse,387 -ffast-math -fweb -frename-registers"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O4 -march=pentium-m -fomit-frame-pointer -pipe -mfpmath=sse,387 -ffast-math -fweb -frename-registers"
FEATURES="autoconfig ccache distcc distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
LINGUAS="en en_GB fi"
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"
USE="X acpi4linux aiglx alsa apm audiofile bitmap-fonts bzip2 bzlib cairo cli cracklib crypt dga djvu dlloader dri dvd dvdr dvi eds emacs emboss encode examples fftw firefox flac fltk foomaticdb fortran gif glitz gstreamer gtk gtk2 hpn hqsinc iconv imlib insecure-drivers ipv6 isdnlog jack jpeg jpeg2k ladcca ladspa libg++ libsamplerate libwww mad maildir midi mikmod mmx mmxext mp3 music ncurses nls no-old-linux nptl nptlonly ogg oggvorbis opengl pam pcre pdf perl png pppd python quicktime readline reflection samplerate sdl session sndfile soundtouch spell spl sse sse2 ssl svg t1lib tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode voice vorbis x86 xcb xml xml2 xorg xv zlib" ALSA_CARDS="intel8x0 usb-usx2y" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB fi" USERLAND="GNU" VIDEO_CARDS="i810 via mga nv"
Comment 1 Matthias Schwarzott gentoo-dev 2007-01-24 09:21:01 UTC
Can you please attach the log of
"udevmonitor --env" while attaching your device.
And then the output of dmesg.

Which version of alsa do you use? Kernel-integrated or ebuild alsa-driver?
Comment 2 Matthias Schwarzott gentoo-dev 2007-01-24 10:29:40 UTC
Found some nice udev-rules on

Slightly changed:
BUS=="usb", ACTION=="add", ATTR{idProduct}=="8006", ATTR{idVendor}=="1604", \
RUN+="/bin/sh -c '/sbin/fxload -D %N -s /usr/share/alsa/firmware/usx2yloader/tascam_loader.ihx -I /usr/share/alsa/firmware/usx2yloader/us122fw.ihx'"
BUS=="usb", ACTION=="add", ATTR{idProduct}=="8007", ATTR{idVendor}=="1604", RUN+="/bin/sh -c '/usr/bin/usx2yloader'"

But I'm not sure about the IDs and Filenames.
Comment 3 Risto A. Paju 2007-01-24 11:03:38 UTC
Thanks Matthias.. the Dapper instructions didn't work as such, but they pointed to another page with a working ruleset:

I'll put the rules as an attachment (line breaks tend to be messed up in the comments ;)

For completeness, I'll also add the udevmonitor log. The drivers I'm using are in-kernel.
Comment 4 Risto A. Paju 2007-01-24 11:05:22 UTC
Created attachment 107995 [details]
"udevmonitor --env" output when attaching the sound card
Comment 5 Risto A. Paju 2007-01-24 11:06:25 UTC
Created attachment 107997 [details]
udev rules for Tascam US-122
Comment 6 Matthias Schwarzott gentoo-dev 2007-01-24 11:29:26 UTC
Should be closed as soon as udev-rules are added to some alsa-package (alsa-firmware?)
Comment 7 Matthias Schwarzott gentoo-dev 2007-01-24 11:31:57 UTC
Created attachment 108011 [details]
udev-rules from suse, using fxload

These udev-rules are extracted from suse alsa-firmware.rpm.

They should work the same for Tascam US-122 device, but also for other devices.
Can you please check if they also work for you.

Please include into alsa-firmware.
Comment 8 Risto A. Paju 2007-01-24 12:29:06 UTC
The Suse rules work fine with US-122.
Comment 9 Diego Elio Pettenò (RETIRED) gentoo-dev 2007-02-17 02:11:53 UTC
Okay, I've decided to make this a little more complicated on ebuild side, but should be easier to manage user-side.

First of all, I've added to 1.0.14_rc2 a bunch of useflags for ALSA_CARDS so that you get proposed some of the supported ALSA drivers.

By doing this, there will be a value for usb-usx2y, for which I can add fxload dependency, and install the udev-rules file.

This way, users who wants the support for that particular driver won't need to do anything more than adding it to ALSA_CARDS in make.conf, just as for alsa-driver.

At the same time I'll be adding alsa-tools as dependency for hdsp/hdspm, so the dependencies will be more accurate in general.