Ubuntu: Tascam US-122 audio interface

Step-by-Step descriptions of how to do things.
Post Reply
User avatar
peter_b
Chatterbox
Posts: 383
Joined: Tue Nov 12, 2013 2:05 am

Ubuntu: Tascam US-122 audio interface

Post by peter_b »

I remember that I've been using my Tascam US-122 audio/midi device on previous versions of (X|K)Ubuntu without problems.
Unfortunately, the Ubuntu package maintainers are not allowed (for legal/copyright/patent reasons), to host the firmware binary blob of the US-122 anymore :(
Because it's proprietary.

So, the install procedure is not as smooth as it used to be :roll:

Here's how I got it back to live on Xubuntu Xenial (16.04.3 LTS):
Thanks to the article about the US-122 on alsa.opensrc.org!
There's also an article about this device on help.ubuntu.com, but it's mainly the steps from the ALSA article, and written for older/outdated versions of Ubuntu.

Here's a (slightly modified) copy of the text of that article (it's always good to have a backup ;)):

1) Install the alsa-firmware "driver":
# download these eight packages (use the appropriate
# package manager for your distribution)

apt-get update
apt-get install fxload alsa-base alsa-firmware-loaders alsa-utils

# check for the latest package version here:
ftp://ftp.alsa-project.org/pub/firmware/

# copy the latest tarball URL and download it like this:
wget ftp://ftp.alsa-project.org/pub/firmware ... 29.tar.bz2

# untar the ALSA firmware package
tar -xvjf alsa-firmware-1.0.29.tar.bz2

# build and install ALSA Firmware
cd alsa-firmware-1.0.29
./configure --prefix=/usr && sudo make
I suggest to use "checkinstall" to create a .deb package and install it with this.
This makes the package handling system aware of your manual install:

Code: Select all

$ checkinstall make install
2) Load the firmware:
# determine bus and device number of the interface

lsusb

# output of lsusb should show a line like this
# Bus 003 Device 002: ID 1604:8007 Tascam US-122 Audio/Midi Interface
#
# note Bus and Device number and change the last two numbers accordingly
# to finally load the firmware.

fxload -s ./usx2loader/tascam_loader.ihx -I /usr/share/alsa/firmware/usx2yloader/us122fw.ihx -D /dev/bus/usb/003/002

# This following command should initialize the Tascam US-122
# and start the green LED on your device.
# If you don't want to set a special UDEV rule, you're going to have to
# enter this command after every restart or reconnect of the audio interface.

ln -s /usr/share/alsa/firmware/usx2yloader /lib/firmware/usx2yloader
usx2yloader
3) Persistence: Plug & Play
Create a new file called /etc/udev/rules.d/55-tascam.rules, with the following content:

Code: Select all

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'"
Make sure the paths to firmware and executables in the udev-rule match your system.
If you followed the instructions above, no modification should be necessary.
Post Reply