diff options
-rw-r--r-- | audio/alsa-tools/alsa-tools.SlackBuild | 17 | ||||
-rw-r--r-- | audio/alsa-tools/alsa-tools.info | 10 | ||||
-rw-r--r-- | audio/alsa-tools/tascam-us122-HOWTO | 56 |
3 files changed, 61 insertions, 22 deletions
diff --git a/audio/alsa-tools/alsa-tools.SlackBuild b/audio/alsa-tools/alsa-tools.SlackBuild index 0c53b7832a..914c632352 100644 --- a/audio/alsa-tools/alsa-tools.SlackBuild +++ b/audio/alsa-tools/alsa-tools.SlackBuild @@ -15,9 +15,13 @@ # 20140219 bkw: fix .desktop files so they validate +# 20140823 bkw: +# - Update for 1.0.28 +# - Add usbcore.autosuspend=-1 to tascam howto + PRGNAM=alsa-tools -VERSION=${VERSION:-1.0.27} -BUILD=${BUILD:-3} +VERSION=${VERSION:-1.0.28} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -50,7 +54,7 @@ fi set -e FIRMWARE=alsa-firmware -FIRMVER=1.0.27 +FIRMVER=${FIRMVER:-$VERSION} rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT @@ -91,11 +95,7 @@ fi # hdspconf and hdspmixer depend on fltk. Don't build them if disabled or # not installed. -if [ -e /usr/bin/fltk-config -a "${FLTK:-yes}" = "yes" ]; then - : do nothing -else - rm -rf hdspconf hdspmixer -fi +[ -e /usr/bin/fltk-config -a "${FLTK:-yes}" = "yes" ] || rm -rf hdspconf hdspmixer # one loop to build them all. The -include stddef.h fixes qlo10k1 'ptrdiff_t doesn't # name a type' errors, and doesn't hurt anything else. @@ -152,6 +152,7 @@ make install-strip DESTDIR=$PKG # hdspmixer.desktop and hdspconf.desktop fail desktop-file-validate. # We'll leave the deprecation warning for FilePattern, as it's just a # warning, and FilePattern might still be useful. +[ -e $PKG/usr/share/applications/hdspmixer.desktop ] && sed -i \ -e '/^Encoding/d' \ -e '/^FilePattern/s,$,;,' \ diff --git a/audio/alsa-tools/alsa-tools.info b/audio/alsa-tools/alsa-tools.info index d2c5603c85..fe34b574fd 100644 --- a/audio/alsa-tools/alsa-tools.info +++ b/audio/alsa-tools/alsa-tools.info @@ -1,10 +1,10 @@ PRGNAM="alsa-tools" -VERSION="1.0.27" +VERSION="1.0.28" HOMEPAGE="http://www.alsa-project.org/" -DOWNLOAD="http://alsa.cybermirror.org/tools/alsa-tools-1.0.27.tar.bz2 \ - http://alsa.cybermirror.org/firmware/alsa-firmware-1.0.27.tar.bz2" -MD5SUM="1ea381d00a6069a98613aa7effa4cb51 \ - b373b350d5151dd7d64db2fc12936b04" +DOWNLOAD="http://alsa.cybermirror.org/tools/alsa-tools-1.0.28.tar.bz2 \ + http://alsa.cybermirror.org/firmware/alsa-firmware-1.0.28.tar.bz2" +MD5SUM="e6c929175d8ee729c06d49b51439bad6 \ + 0615aedafe8251fdf835b68ea3463559" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/audio/alsa-tools/tascam-us122-HOWTO b/audio/alsa-tools/tascam-us122-HOWTO index ea36dcfce3..7bf066d9fa 100644 --- a/audio/alsa-tools/tascam-us122-HOWTO +++ b/audio/alsa-tools/tascam-us122-HOWTO @@ -1,4 +1,6 @@ -How to get a Tascam US-122 working with Slackware 13.37. +How to get a Tascam US-122 working with Slackware 13.37 and later. + +[ 20140823 bkw: updated to include usbcore.autosuspend=-1 ] The Tascam US-122 is a bus-powered USB 1.1 audio interface, with 2 channels of input (either 1/4" unbalanced or XLR balanced) and adjustable @@ -44,7 +46,43 @@ or via "su -". Don't use "su" without the hyphen though). Steps ----- -1. To get the US-122 working without audio glitches: +1. For 3.x series kernels, you'll have to disable USB autosuspend. +Actually this is a good idea for any system that uses USB audio, or +even any desktop system that doesn't need to save every last milliwatt +of power possible. If you don't do this, the US-122 will usually work +for a few seconds, then freeze up with "incomplete URB" messages in dmesg. + +In Slackware's kernels, usbcore is built into the kernel (even the +-generic one), so you'll have to pass a parameter on the kernel's +command line. + +In /etc/lilo.conf, in the section for your kernel, add a line like +this: + + append="usbcore.autosuspend=-1" + +If you already had an append=, add usbcore.autosuspend=-1 to the options +inside the double-quotes. An example might be: + + append="threadirqs usbcore.autosuspend=-1" + +(BTW, threadirqs is a useful option for systems that need low latency for +realtime audio). + +Don't forget to re-run "lilo" and reboot after editing lilo.conf. + +There's another method for disabling autosuspend that doesn't require +a reboot. Do this: + +# echo "-1" > /sys/module/usbcore/parameters/autosuspend +# for i in /sys/bus/usb/devices/*/power/autosuspend; do +# echo "-1" > $i +# done + +Put that code in /etc/rc.d/rc.local (or in a separate script that gets +called from rc.local) so it will execute on every boot. + +2. To get the US-122 working without audio glitches: # echo 'options snd_usb_usx2y nrpacks=1' > /etc/modprobe.d/tascam.conf @@ -55,7 +93,7 @@ happened, I was using jack, and it didn't report any x-runs. I don't really understand why nrpacks works, I found it by googling (see the links section, below). -2. Install fxload and alsa-tools from slackbuilds.org. +3. Install fxload and alsa-tools from slackbuilds.org. # sbopkg -i fxload alsa-tools @@ -66,13 +104,13 @@ If you're not actually using Slackware, or if you decide to compile alsa-tools without using the slackbuilds.org package, see the "Udev Rules" section of this document. -3. Plug in the device. +4. Plug in the device. After a couple of seconds, the green USB light on the Tascam should light up. The snd_usb_usx2y should be auto-loaded by udev (check the output of "lsmod"). -4. Testing +5. Testing Have a look at the output of "aplay -l", and/or run alsamixer and press F6. The card should show up as "USX2Y [TASCAM US-X2Y]". It will probably @@ -245,12 +283,12 @@ this (it already includes a suitable set of udev rules for the US-122, US-224, and US-428). # cat > /lib/udev/rules.d/99-tascam.rules <<EOF -BUS=="usb", ACTION=="add", SYSFS{idProduct}=="8006", SYSFS{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", SYSFS{idProduct}=="8007", SYSFS{idVendor}=="1604", RUN+="/bin/sh -c '/usr/bin/usx2yloader'" +SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idProduct}=="8006", SYSFS{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'" +SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idProduct}=="8007", SYSFS{idVendor}=="1604", RUN+="/bin/sh -c '/usr/bin/usx2yloader'" EOF -(the above is two long lines beginning with "BUS==". There shouldn't be any -other line breaks) +(the above is two long lines, each beginning with "SUBSYSTEMS==". There +shouldn't be any other line breaks) For the US-224, change the "us122fw.ihx" above to "us224fw.ihx", and change the SYSFS{idProduct} numbers to 8004 and 8005. For the US-428, |