Tascam US122L , how can I get it working?

Hello everyone, I’m new to Endeavour, but not new to Linux, but I am still a novice.

I have a Tascam US122L and there is a difference from what I can find searching between the 122L and 122 with no L.

Anyway, I installed Endeavour in offline mode and the default XFCE setup which is what I like. On a side note I have an Nvidia 1050 TI Gaming 4g I think it’s called and a Dell HDMI monitor.

So I type cat /proc/asound/cards in terminal and I get this

0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7310000 irq 33
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf7080000 irq 17
2 [US122L ]: USB US-122L - TASCAM US-122L
TASCAM US-122L (644:800e if 0 at 003/008)

It is showing up with that command, but if I select the pulse audio mixer it’s not showing there.
I can run alsamixer in terminal and select it there with the F6 but that seems to have no effect whatsoever.

I have tried to edit my asound.conf file to look like this

pcm.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default “2”
}

type usb_stream

card $CARD
}

ctl.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default “2”
}

type hw

card $CARD
}

even tried 2 without the quotes 2 instead of “2”, didn’t seem to matter.

I realize it’s an Alsa driven USB device, so should I install apulse or something like that? I have tried installing that but I’m stumped as to how exactly to get this device working and any help would be appreciated.

All the information that I have found on the internet for the most part seems to be old and repositories are no longer existant in most cases and written for Ubuntu or other devices.

Anyway, thank you for your time. And THANK YOU to the creators of Endeavour OS! I switched from Windows 10 back to Linux and the main reason was this OS, and I’ve pretty much tried them all. I just want to get this USB device working and I will be set, NO MORE WINDOWS!

Thanks again…

Bobcat

1 Like

Welcome aboard! :rocket: :partying_face:

For something serious or incompatible with alsa / pulse (a lot of pro gear doesn’t show outputs and stuff) you should use jack, here’s some steps to get you started easy :upside_down_face:

NO MORE WINDOWS!

THAT’s the spirit, anything you need help with - ask! :upside_down_face:

2 Likes

Welcome to the forum @Bobcat :tada::balloon:

1 Like

Thank you, I’ll give it a try. There is a Qjack or something like that, I think it is. Should I just remove Pulse audio completely and make sure Alsa is installed and go from there? Meaning, remove Pulse and make sure Alsa is installed and then install apulse, but I am not sure how to use a pulse, although the instructions I’ve seen more or less seem to point to saying “apulse and then the command to execute the software for things like firefox and chrome etc”… Although that would be rather tedious to do for everything on the system.

I’m sorry, I’m a dummy I guess. I get that you have to use Jack to have it talk to the device, but … Well, shouldn’t there be a way to simply have the Tascam US122L device be my audio default device without having to hack it?

LOL! I appologize, it’s confusing to me and I’m not that smart I guess.

Anyway, thanks for the reply, I’ll look into the jack stuff. Thanks again!

1 Like

No just leave alsa (required for any audio) and pulseaudio (required by a lot of stuff on Arch like for Firefox) and follow that post for the rest.

Yep, it’s another front end for jack, but cadence is much nicer / easier in my opinion :slight_smile:

It’s not a hack really, but like i’ve said in a lot of pro-audio gear you either won’t see all I/O or audio interface at all, in that case jack will help (apart from being way better tool) think of it as something like a driver for your device…

Probably pipewire will fix that problem in future (it’s pulseaudio debloated inplace replacement), but it’s too early development to be sure of that :upside_down_face:

2 Likes

Pipewire is not quite ready, yet, but it’s going to be great! :slight_smile: A bit like GNU Hurd…

2 Likes

@Bobcat
Maybe this is helpful?

Edit: Are you able to use the asoundconf package in the AUR to accomplish what you need? It’s a GUI tool to change sound card. Don’t know much about it.

The other question i have is i see you are using 2 in the asound.conf. Is that because the device is listed as 2 in cat /proc/asound/cards?

https://bbs.archlinux.org/viewtopic.php?id=124964

Edit2:

https://www.alsa-project.org/main/index.php/Matrix:Module-usb-us122l

Edit3: User on Arch with qjackctl

Edit4: https://askubuntu.com/questions/532826/how-do-i-get-the-tascam-us122l-usb-audio-interface-to-work

Hopefully this is enough info for you to get it working. :wink:

1 Like

Thank you keybreak, kjw, Kresimir frog, and ricklinux for the help. I managed to get it working and seems to be working great! Solved the pulse audio issue with the browser also. I will try and explain what I did incase it might help someone else facing this issue.

NOTE : I set this up using a USB 2.0 port on my PC, the USB 3.0 ports on my PC would not recognize the device. So if all you have is USB 3.0 and it doesn’t recognize it then not sure what to tell you there. Maybe someone can add to this on how to handle that type of a situation. But for my USB 2.0 ports this worked for me and my PC.

1st thing I did was run the command cat /proc/asound/cards in terminal to see if it was seeing my device and it was. The output show my device as number 2, which it might differ from system to system.

2nd I created a .asoundrc text file to set my device as the default device and placed it in home/user with the following settings for .asoundrc, note the dot in the name also. Your device number may be different than mine are in these settings I added to .asound.conf, but basically just change the number to your devices number.

The usb_stream plugin configuration

pcm.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default “2”
}

    type usb_stream

    card $CARD

}

ctl.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default “2”
}

    type hw

    card $CARD

}

Third I had to add myself to the audio group and give myself permission for real time usage. Sorry I can’t remember exactly how I did that step but I think I ran the jackd and some command in terminal and it told me that I wasn’t a member of the audio group and how to add that and on a second attempt it told me I needed to add a line to some file so I did that and rebooted.

I installed QjackCtl and started it, in the settings the only thing I had to change were settings/interface I changed that to usb_stream:2 2 being the number of my device.

Make sure to select Apply.

After that step I went back to QjackCtl and clicked start and it was working.

This is where I ran into the issue of the browser using pulse and getting no sound, so after a little bit of research I found this solution, go into QjackCtl/Settings/Options put a check mark by "Execute script after Startup and add in the box this command

pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out

Make sure to select Apply. I restarted QjackCtl and started it and now I have sound for pulse from my browser and everything else.

I didn’t like that in order to have this work at startup that I was going to have to run qjackctl -s at startup and have to see QjackCtl menu everytime on start and all the time. So here is how I got around that issue.

I added this first command in Session and Startup like this so it would start jackd automatically,

jackd -dalsa -dusb_stream:2 -r48000 -p128 -n2

You might note that I made a couple of changes with the 48000 and 128 and 2, those are just my personal settings, you can always use what you prefer depending on your systems capabilities.

Okay, so I added that to Session and startup, that got it started but I still had the issue of not having sound from the browser, so I had to take one more step.

I created a small script with a delay for the post command script that was in QjackCtl, the reason for the delay is it has to have time for jackd to start first.

Creating the script was easy, just name your text file and end it with .sh and add the following, I added a 5 second delay but you might can change it to something shorter, I haven’t tried, 5 seemed to work fine for me. Add to the script.

#!/bin/bash
sleep 5s
pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out

After that go back into Session and Startup and add a startup item for your script, add the location of the script and add ./ in front of your scripts name

For example :

Name : Jack Post Startup
Description: Jack Post Startup
Command: /home/USERNAME/Documents/./jackscriptdelay.sh

note the ./ in the command.

Anyway, I’m terrible at explaining things, but I thought I would try in case it might help someone facing a simular situation or at least get them going in the right direction. Thanks again to everyone for the help, I will not be using Windows ever again since I have this working.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.