[Pkg-alsa-devel] Bug#844501: alsa-firmware-loaders: udev rule causes race condition which blocks us-122 initialisation (with fix!)

jaimet enopatch at gmail.com
Wed Nov 16 10:50:07 UTC 2016


Package: alsa-firmware-loaders
Version: 1.0.28-1
Severity: grave
Justification: renders package unusable

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

I'm trying to use my tascam us-122 on a new jessie installation. The usb 
soundcard should initialise on hotplug but it doesn't. I've traced the 
cause back to the following line:

SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8007", RUN+="/lib/udev/tascam_fpga"

in /lib/udev/rules.d/60-alsa-firmware-loaders.rules

This line "tries" to run usx2yloader once the new device (1604:8007) is 
detected, but usx2yloader depends on the ""hardware dependent interface" 
which is not yet up (see alsa-tools/usx2yloader/README for more info).

My udev-fu is very weak, but after stumbling around with "udevadm 
monitor" for a bit, I replaced that udev rule line with:

SUBSYSTEM=="sound", ACTION=="add", KERNEL=="hwC2D0", RUN+="/lib/udev/tascam_fpga"

and now all is good (my us-122 initialises correctly regardless of 
whether it is hot-plugged once the machine has booted, disconnected and 
reconnected with the machine up, or even connected before the machine is 
switched on).

I understand that this may *not* be the best replacement udev rule, but 
at least it fixes the problem.

J :-)

-- System Information:
Debian Release: 8.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-586
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages alsa-firmware-loaders depends on:
ii  fxload      0.0.20081013-1
ii  libasound2  1.0.28-1
ii  libc6       2.19-18+deb8u6
ii  udev        215-17+deb8u5

alsa-firmware-loaders recommends no packages.

alsa-firmware-loaders suggests no packages.

-- no debconf information



More information about the Pkg-alsa-devel mailing list