Edirol UA-25EX amb Linux I
Introducció
M'he comprat finalment la targeta de so Edirol UA-25EX ([1]), de Roland, a la tenda online Thomman, perquè la Edirol UA-25, l'antecessora, ja no estava disponible. La tarja Edirol UA-25 està ben documentada per a Linux, però no pas la UA-25 EX (que és nova). Així i tot, hi ha gent que ja vol instal.lar la UA-25EX a Linux, i aquí s'escriu el resultat de les provatures.
Conclusió: em vaig estar barallant l'octubre del 2008 recompilant el kernel i aplicant el patch que s'explica, i al final ho vaig deixar córrer perquè em vaig posar a treballar en altres coses. Les proves les feia sobre Ubuntu Studio 7.10 i 8.04. 5 mesos més tard, el març de 2009, torno al fòrum i veig que la nova versió de Ubuntu, la 9.04, encara en fase beta, ja porta un kernel (2.6.28) que ja reconeix la UA-25EX, on s'ha aplicat una solució similar al patch que es proposava. Per tant, ja no cal liar-me amb les recompilacions de kernel.
Totes les proves que vaig fer per recompilar el kernel i aplicar el patch estan documentades a la wiki ([2] i [3]).
Forum: Edirol UA-25EX not recognized
http://ubuntuforums.org/showthread.php?p=5891033
Hey folks, I have just purchased this audio interface and cannot, for the life of me, get it to work. It shows up under lsusb but not when I do the whole cat /proc/sound/alsa (in which case only my onboard sound shows up). Does anyone have any suggestions? I read that this audio interface worked with ubuntu and it's really a pain to get it set up. I'm running Ubuntu 8.04. oh and it does not show up when I do System - Pref - Sound thanks in advance
Same problem here. I thought I read somewhere that the ua-25 worked, but no success... Too bad, I'll just have to cope with a little less sound quality when I'm using Ubuntu...
Hi all, I too have just bought a UA-25EX, with only limited success so far (I'm running Debian with a 2.6.21 kernel but I thought my experiences might be useful to you). In standard mode (set by flicking the switch on the back of the box) the UA-25EX is recognised and I can playback and record using ALSA and JACK, but only in 16 bit, 44.1KHz and no MIDI, due to the UA-25EX's limitations in standard mode. In advanced mode the unit is recognised as a USB device, but not by ALSA. My current thinking is that the ALSA driver, snd-usb-audio, doesn't recognise the new product ID for the UA-25EX, which is different from the UA-25. I'll post back any further successes here, as time permits. Cliff.
Hi all, Same problem here, only able to get Ubuntu to recognize the UA-25EX if the "Advanced Driver" switch is off. Although, I found out this page about the UA-4FX and a really similar problem with the "Advanced Driver": http://alsa.opensrc.org/index.php/Ed...d_mode_to_work May be it is "as simple as" creating a similar patch for the UA-25EX. I'll have a look as soon as I have some free time. Cheerio, Aurélien
Hey guys,
I modified the patch from the link in my previous message.
I made the soundcard work, but may be it needs some improvements...
Code:
Add Alsa support for Roland Edirol UA-25EX in Advanced mode
(for MIDI support and sample rates of 48 kHz and 96 kHz)
usbquirks.h
===================================================================
diff -u sound/usb/usbquirks.h.00 sound/usb/usbquirks.h
--- sound/usb/usbquirks.h.00 2007-11-28 02:15:11.000000000 -0700
+++ sound/usb/usbquirks.h 2007-11-28 02:17:51.000000000 -0700
@@ -1311,6 +1311,37 @@
}
},
/* TODO: add Edirol MD-P1 support */
+{ /*
+ * This quirk is for the "Advanced" modes of the Edirol UA-25EX.
+ * If the switch is not in an advanced setting, the UA-25EX has
+ * ID 0x0582/0x00a4 and is standard compliant (no quirks), but
+ * offers only 16-bit PCM at 44.1 kHz and no MIDI.
+ */
+ USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6),
+ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+ .vendor_name = "EDIROL",
+ .product_name = "UA-25EX",
+ .ifnum = QUIRK_ANY_INTERFACE,
+ .type = QUIRK_COMPOSITE,
+ .data = (const struct snd_usb_audio_quirk[]) {
+ {
+ .ifnum = 0,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = 1,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = 2,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = -1
+ }
+ }
+ }
+},
{
/* Roland SH-201 */
USB_DEVICE(0x0582, 0x00ad),
Let me know anyway...
Aurélien
Re: Edirol UA-25EX not recognized Hello guys, Created a wiki page about the Edirol UA-25EX on the Alsa Wiki: http://alsa.opensrc.org/index.php/Edirol_UA-25EX Hope it helps! Aurelien
Thanks for your efforts, Aurelien, I'll give it a go once I've figured out how! Cliff.
Hello all. I bought the Edirol UA25EX sound card and I'm trying to make it work in advanced mode. I would like to work with jack. So, I'm very dumb in linux configuration (I'm a simple audio user, not a good configurer). When I give the command "$diff -u sound/usb/usbquirks.h.00 sound/usb/usbquirks.h", terminal said that this files don't exist. $cat /proc/bus/usb/devices said file or directory don't exist. Can someone make some "step by step" guide? If so, I can try to test anything. Thanks a lot. Gilson. Ubuntu 8.04 - kernel 2.6.24-19-rt - GNOME 2.22.3 Acer Aspire 5610 - 2gb ram. gilson.beck is offline Reply With Quote
Hello Gilson, Unfortunately, to be able to make the UA-25EX work, you will have to recompile your kernel. It is a fastidious task, but you can find very good articles that explains how to do it: https://help.ubuntu.com/community/Kernel/Compile To apply the patch I created, once you have the kernel source, go to the directory: Code: cd /usr/src/linux/sound/usb and apply the patch there. Ensure when you compile your kernel to activate the module snd-usb-audio Hope this help you a bit.
Thanks for the patch, although I have not got it working on my first attempt, will try again when I get a chance. Its a bit of a pain to patch the kernel and get everything else working (like the NVIDIA driver) each time there is a kernel update. I see that the patch has not made it into the 2.6.27 kernel version in the Ubuntu 8.10 beta. Any idea how long it would be to at least get the patch accepted into a standard kernel? Would it go through the ALSA maintainers?
Hey I can't even get it to operate in basic mode. According to the wiki page at http://alsa.opensrc.org/index.php/Edirol_UA-25EX it's supposed to just show up in /proc/asound/cards, but there's nothing there. When I do lsusb, however, I get Quote: Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 0582:00e6 Roland Corp. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 005: ID 045e:0008 Microsoft Corp. SideWin.der Precision Pro Bus 001 Device 004: ID 15d9:0a37 Bus 001 Device 001: ID 0000:0000 So I know it should be there. What should I do? I would like to get some recording done.
Recordar, com es comenta en el forum, que cada cop que canvio entre mode normal i avançat, he de desconnectar el cable USB.
Ara escric jo. El meu problema anava en la línia de com es compila el kernel, que no ho havia fet mai.
I'm ready to compile my kernel. My kernel is from Ubuntu Studio (/usr/src/linux-headers-2.6.22-15-rt), who is tuned for real-time operations. under the folder /usr/src/linux-headers-2.6.22-15-rt/asound/usb I don't see usbquirks.h file. It seems that the patch is for Debian with a 2.6.21... How to proceed?... Thanks in advance, Joan Quintana
I only applied the patch on the kernel 2.6.24, 2.6.26 and 2.6.27. In 2.6.24, everything works fine even with RT enabled. 2.6.26, if the kernel is compiled with the RT option, Jackd will crash as soon as you try to use midi with the UA-25EX. Couldn't find out what the problem was... 2.6.27, RT is not available yet... But it works fine otherwise. Your best option would be to upgrade the kernel to at least 2.6.24. By the way, I use and created the patch under Ubuntu Studio too, so it is supposed to work ok... Hope this helps !
És a dir, el meu kernel era el 2.6.22 corresponent al Ubuntu Studio 7.10, i el primer que hauré de fer és provar-ho amb el 2.6.24, corresponent al 8.04.
Nota: en el moment d'escriure aquestes línies estic en un Ubuntu 9.04 (beta), amb un kernel 2.6.28. Aquest kernel ja incorpora el patch i per tant s'han acabat els problemes en aquest sentit.
Quote: For some reason though, I get copious, ridiculous numbers of xruns using jack. So many that the system is unusable. If anybody knows how to set jack, or qtjackctrl for this USB device, please let me know the trick. Once you get it to work with the Advanced Driver, you will get less xruns... In addition, a properly recompiled kernel helps a lot. Using Ubuntu Intrepid, kernel 2.6.27 with the Low Latency Scheduler and the patch for the UA-25EX, I get almost no xrun.
Ara ja he instal.lat el Ubuntu Studio 8.04 (que també té funcionalitat rt. Recordo que en el moment d'escriure aquestes línies, el Ubuntu Studio 8.10 no és rt).
Hello, I already installed Ubuntu Studio 8.04 (2.6.24), applied the patch for Advanced Mode i Edirol UA-25EX, with rt flavour. I think that everyting is all right. But when I inserted my new Edirol UA-25 EX in advanced mode or normal mode, the first attempt is wrong. $ cat /proc/asound/cards cat: /proc/asound/cards: file or folder doesn't exist I suppose that I made a mistake compiling the kernel I followed step by step https://help.ubuntu.com/community/Kernel/Compile tutorial, and everything was OK, I think Any ideas? Joan Q
Hello [Censored], The UA-25EX works perfectly with Linux, and it is always useful to know how to recompile a kernel I'll try to help the best I can: Quote: Those precise options weren't there when the GUI popped up. So what I did instead was: I went to Device Drivers -> Sound -> Advanced Linux Sound Architecture -> USB Devices, double clicked USB Audio/Midi Driver (New). I then selected Save, and quitted the gui app. Is that close enough? Yes, that's the module I meant. The error you get recompiling the kernel... Well it seems to be a bit my fault. The article I advised you to follow is REALLY detailed, but you don't need 3/4 of the information... First thing first, I would decompress the archive you got for the kernel 2.6.24 into the directory /usr/src. It is where kernel sources are supposed to be. Once you set up the kernel option using make gconfig and that everything seems to be ok, run this command AS THE ROOT at the root of the kernel source (/usr/src/linux-2.6.24): Code: CONCURRENCY_LEVEL=2 make-kpkg --initrd kernel_image kernel_headers Once the compilation is done, install the kernel (still running those commands as root): Quote: cd /usr/src dpkg -i *.deb "Normally" everything should work ok, but don't be surprise if you get compilation errors the first time or if you computer behaves strangely after running the kernel. It is rare to get it right the first time ! But whatever errors you get, don't hesitate to ask the question here or google it a bit. You always get somebody else who got the exact same error as you do! Good luck!
Algú apunta que el patch hauria d'estar en el proper kernel estable:
I don't have any hardware to test Midi functionality. Has anyone given the UA-25EX a good workout using Midi and all? Just that I'm contemplating making an Ubuntu launchpad bug report that points to the patch, since no one else has yet. I don't really want to forever have to manually install a bunch of restricted drivers (like NVIDIA) and other stuff every time there is a kernel update. I guess we might get it quicker than a Ubuntu release if the patch could get into a stable kernel. What are the chances of that?
Hello Jhmos, I have tested the MIDI part of the UA-25EX extensively and it seems to work ok with: - 2.6.24 rt - 2.6.26 - 2.6.27 But as soon as you use Midi with 2.6.26 rt, Jack crashed. Though I think the problem seems to come from Jack or the RT patch. I couldn't test it on 2.6.27 yet as I don't think the RT patch is available. What is the next step if we want the patch to be included into ALSA?
Looking for who has been most closely involved with submitted edirol patches lately, I found this extract from a recent git merge request: [ALSA PATCH] alsa-git merge request From: Jaroslav Kysela Date: Fri Oct 10 2008 - 08:43:26 EST ... Pedro Lopez-Cabanillas (2): ALSA: snd-usb-audio: support for Edirol UA-4FX device ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk ... The principle ALSA developers are listed on http://www.alsa-project.org/main/index.php/Alsa_Team Maybe Pedro would be worth contacting to liaise with regarding a patch submission?
I la solució ja arriba en el kernel 2.6.28!!
Hey, This is in ChangeLog-2.6.28-rc3 ! commit e2736261b4c85e36f7c8a66dd082ec0751230460 Author: Takashi Iwai <tiwai@suse.de> Date: Mon Oct 20 16:07:45 2008 +0200 ALSA: usb - Add quirk for Edirol UA-25EX advanced modes Added the quirk for UA-25EX advanced modes. UA-25EX is almost compatible with UA-25. Tested-by: Serge Perinsky <sergebass@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> So it will at least be in the 2.6.28 kernel and hopefully will be into Intrepid at some time.
I installed Jaunty alpha 1 on a test partition, since it uses a 2.6.28 release canditate. Audacity at least can see the UA-25EX and could successfully record with it. Have not tried much else yet but its a good start.
Alsa 1.0.19 has been released and I noticed that the card should work in advanced mode as well (some quirks added, mentioned in the previous posts). Hope to see 1.0.19 in Jaunty
Yes, I checked the code of the kernel 2.6.28 and it seems to be really similar to the patch I created for alsa for the previous version of the kernel... Great news so ! That means no need to patch the kernel every time a new version is released !
4 feb 2009
Aquí va un bon resum si vull compilar el kernel. Això encara seria necessari si vull treballar amb el Ubuntu Studio 8.04 (rt), doncs el Ubuntu Studio 8.10 no és rt, i el el 9.04 tampoc ho serà.
Instructions to make Edirol UA-25EX work with advanced driver in Ubuntu Hardy 8.04 LTS.
1. Create the work dir. It is safe to remove it after installation
Code:
~$ mkdir kernel-custom-modules
~$ cd kernel-custom-modules
2. Download below patch and save it with filename "edirolua25expatch" into previously created dir "kernel-custom-modules"
Code:
Add Alsa support for Roland Edirol UA-25EX in Advanced mode
(for MIDI support and sample rates of 48 kHz and 96 kHz)
usbquirks.h
===================================================================
diff -u ubuntu/sound/alsa-kernel/usb/usbquirks.h.00 ubuntu/sound/alsa-kernel/usb/usbquirks.h
--- ubuntu/sound/alsa-kernel/usb/usbquirks.h.00 2007-11-28 02:15:11.000000000 -0700
+++ ubuntu/sound/alsa-kernel/usb/usbquirks.h 2007-11-28 02:17:51.000000000 -0700
@@ -1311,6 +1311,37 @@
}
},
/* TODO: add Edirol MD-P1 support */
+{ /*
+ * This quirk is for the "Advanced" modes of the Edirol UA-25EX.
+ * If the switch is not in an advanced setting, the UA-25EX has
+ * ID 0x0582/0x00a4 and is standard compliant (no quirks), but
+ * offers only 16-bit PCM at 44.1 kHz and no MIDI.
+ */
+ USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6),
+ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+ .vendor_name = "EDIROL",
+ .product_name = "UA-25EX",
+ .ifnum = QUIRK_ANY_INTERFACE,
+ .type = QUIRK_COMPOSITE,
+ .data = (const struct snd_usb_audio_quirk[]) {
+ {
+ .ifnum = 0,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = 1,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = 2,
+ .type = QUIRK_AUDIO_EDIROL_UA700_UA25
+ },
+ {
+ .ifnum = -1
+ }
+ }
+ }
+},
{
/* Roland SH-201 */
USB_DEVICE(0x0582, 0x00ad),
I have just updated patch paths to fit ubuntu modules tree dir. Original path can be found in http://alsa.opensrc.org/index.php/Edirol_UA-25EX
3. Install all the necessary compiling packages
Code:
~/kernel-modules$ sudo apt-get install linux-kernel-devel fakeroot build-essential
~/kernel-modules$ sudo apt-get build-dep linux
4. Download and prepare the kernel-modules
Code:
~/kernel-modules$ sudo apt-get build-dep linux-ubuntu-modules-$(uname -r)
~/kernel-modules$ apt-get source linux-ubuntu-modules-$(uname -r)
5. Patch
Code:
~/kernel-modules$ cd linux-ubuntu-modules-2.6.24-2.6.24
~/kernel-modules/linux-ubuntu-modules-2.6.24-2.6.24$ patch -p0 < ../edirolua25expatch
6. Compile and generate .deb for the RT (real time) kernel (if you are using it). If you use another kernel just replace "binary-modules-rt" by "binary-modules-<kerneltype>". E.g. for the generic kernel put "binary-modules-generic" instead of "binary-modules-rt". In order to compile the modules for all the kernel types just write "binary-debs" instead of "binary-modules-rt". The CONCURRENCY_LEVEL is related to the amount of cpus/cores in your computer, 2 in my case (dual core). You can avoid it without any risk.
Code:
~/kernel-modules/linux-ubuntu-modules-2.6.24-2.6.24$ CONCURRENCY_LEVEL=2 AUTOBUILD=1 fakeroot debian/rules binary-modules-rt
7. Supposing everything was OK, install the created linux-ubuntu-modules .deb
Code:
~/kernel-modules/linux-ubuntu-modules-2.6.24-2.6.24$ cd ..
~/kernel-modules$ sudo dpkg -i linux-ubuntu-modules-2.6.24-23-rt_2.6.24-23.36_amd64.deb
8. Enjoy and may the music be with you
Well, I am not A linux geek, but in another post we have managed to patch the alsa driver. http://ubuntuforums.org/showthread.php?t=1043691 I put my ua-4fx working, without recompiling the kernel, just the modules/alsa driver. go to the post to see an easy way to do this only compiling alsa drivers and the kernel headers. I am thinking in make a python script that does all of this in an automated way, I can put the 3 patches, the ua4fx, ua 25 and ua-25ex. Can anyone try this way? just to see if it works? remeber to use the ua25ex patch and not the ua24fx
creat per Joan Quintana Compte, octubre 2008