Ultralite AVB

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

randyrandy2000
Established Member
Posts: 15
Joined: Wed Dec 09, 2020 2:17 pm

Re: Ultralite AVB

Post by randyrandy2000 »

hi,
is the motu ultralie avb working with linux? or other motu interfaces with much in/outs
my babyface pro fs works without problems out of the box (cc mode) but i need more in/outs so i buy a audiofuse 8pre but i have latency problems and sometimes audio crackers/pops.
the motu is a good alternative i think!
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Ultralite AVB

Post by bluebell »

randyrandy2000 wrote: Sat Jan 09, 2021 2:27 pm is the motu ultralie avb working with linux? or other motu interfaces with much in/outs
I have the older model (without ESS chips) that runs fine with Drumfix' driver, see
viewtopic.php?f=6&t=18046&p=122814&hili ... .c#p122814

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

User avatar
wrl
Established Member
Posts: 48
Joined: Wed Nov 03, 2010 12:46 am
Been thanked: 2 times

Re: Ultralite AVB

Post by wrl »

shellwalker wrote: Sat Jan 09, 2021 8:16 am 1. One new thought on the differences: how is your motu 828es configured? In my case I have:
- 6 "Computer to MOTU" channels ("From USB").
- 14 "Motu to Computer" USB channels.
Actually, here's a thought – in the device web interface what do you have your "Host buffer size" and "Host safety offset" set to? I've got them both at 128.

-w
shellwalker
Established Member
Posts: 68
Joined: Sun Jan 03, 2021 1:54 pm
Has thanked: 21 times
Been thanked: 11 times

Re: Ultralite AVB

Post by shellwalker »

wrl wrote: Sat Jan 09, 2021 7:21 pm
shellwalker wrote: Sat Jan 09, 2021 8:16 am 1. One new thought on the differences: how is your motu 828es configured? In my case I have:
- 6 "Computer to MOTU" channels ("From USB").
- 14 "Motu to Computer" USB channels.
Actually, here's a thought – in the device web interface what do you have your "Host buffer size" and "Host safety offset" set to? I've got them both at 128.

-w
In my case both are set to 256 samples.

MOTU 828mk3, MOTU 828ES, Cakewalk by Bandlab, Kubuntu 22.04.1 LTS, https://github.com/shellwalker-coder/motu_patch_testing

xthechar
Established Member
Posts: 3
Joined: Thu Dec 03, 2020 9:33 am

Re: Ultralite AVB

Post by xthechar »

wrl wrote: Mon Jan 04, 2021 1:16 am Sure, there's the issue of the MOTU not... well, working, but RME doesn't fully support Linux either, and in this case it was Linux incompletely implementing the UAC spec.

-w
Thanks a lot for your feedback, it helped a lot. But ultimately I went with the Babyface Pro FS considering the ensuing messages from this thread. Ultimately the device simply working is the most important thing to me. I will go insane if my audio continues to not "just work"... my current setup is slowly driving me mad with noise interference ("helicopter sounds" as my friends like to call them) and the audio cutting out intermittently. And I'm going to leave the device plugged in basically 24/7, so hopefully the USB jack won't pose an issue for me. Given how people talk about RME devices, I feel like it should be fine to leave powered on 24/7 even though it's billed as a mobile device. I really hope that's the case. Thomann has a 3 year warranty anyway so I can test that theory to some extent without too much on the line.

Best of luck with the Ultralite AVB driver work. If a driver does become stable, I may eventually switch to one or a similar MOTU device. A real shame they won't do the minimal work necessary to get their driver working on Linux.
shellwalker
Established Member
Posts: 68
Joined: Sun Jan 03, 2021 1:54 pm
Has thanked: 21 times
Been thanked: 11 times

Re: Ultralite AVB

Post by shellwalker »

shellwalker wrote: Sat Jan 09, 2021 8:33 pm
wrl wrote: Sat Jan 09, 2021 7:21 pm
shellwalker wrote: Sat Jan 09, 2021 8:16 am 1. One new thought on the differences: how is your motu 828es configured? In my case I have:
- 6 "Computer to MOTU" channels ("From USB").
- 14 "Motu to Computer" USB channels.
Actually, here's a thought – in the device web interface what do you have your "Host buffer size" and "Host safety offset" set to? I've got them both at 128.

-w
In my case both are set to 256 samples.
I just changed both sizes to 128 and retested.
Result: still drifting. :(

Again it looks like at the beginning of the test, there is more drfting, then as the test runs, it kind of becomes more stable.

(BTW: just noticed the number of channels configured in the mixer web front-end has no influence on the number of channels linux sees, so that was a rabbit trail...)

@wrl: any other ideas?

@All others in the thread: in theory @wrl patch should be applicable to Ultralite AVB as well (not just 828ES). It would be great if others could test the patch to see if they can reproduce good or bad results. There is a chance that that could help us track down the setup differences.
Who is willing to give it a try?
It is not too difficult to do; if you need any simple HOWTO-instructions, I'd be willing to help (if we limit this to Ubuntu based systems...).

MOTU 828mk3, MOTU 828ES, Cakewalk by Bandlab, Kubuntu 22.04.1 LTS, https://github.com/shellwalker-coder/motu_patch_testing

root2
Established Member
Posts: 25
Joined: Wed Apr 15, 2020 9:48 am
Location: Germany
Has thanked: 1 time

Re: Ultralite AVB

Post by root2 »

i wanna test it as soon as possible (with my ultralite avb ess version), sadly i don't have enoght time atm.
If someone could write-up something about compiling linux-next with the patch that would be very useful. If someone manages to write an AUR package, that would be awesome
shellwalker wrote: Sun Jan 10, 2021 3:37 pm
shellwalker wrote: Sat Jan 09, 2021 8:33 pm
wrl wrote: Sat Jan 09, 2021 7:21 pm

Actually, here's a thought – in the device web interface what do you have your "Host buffer size" and "Host safety offset" set to? I've got them both at 128.

-w
In my case both are set to 256 samples.
I just changed both sizes to 128 and retested.
Result: still drifting. :(

Again it looks like at the beginning of the test, there is more drfting, then as the test runs, it kind of becomes more stable.

(BTW: just noticed the number of channels configured in the mixer web front-end has no influence on the number of channels linux sees, so that was a rabbit trail...)

@wrl: any other ideas?

@All others in the thread: in theory @wrl patch should be applicable to Ultralite AVB as well (not just 828ES). It would be great if others could test the patch to see if they can reproduce good or bad results. There is a chance that that could help us track down the setup differences.
Who is willing to give it a try?
It is not too difficult to do; if you need any simple HOWTO-instructions, I'd be willing to help (if we limit this to Ubuntu based systems...).
shellwalker
Established Member
Posts: 68
Joined: Sun Jan 03, 2021 1:54 pm
Has thanked: 21 times
Been thanked: 11 times

HOWTO test wrl kernel patch

Post by shellwalker »

This post is aimed at providing a quick and simple guide for testing the kernel patch provided by @wrl.
That patch is aimed at fixing the channel drifting issue and should in theory be applicable to MOTU 828ES as well as Ultralite AVB devices.

Please note: the patch does not (yet) provide a stable solution on all devices. It may or may not work on your device. The purpose of this guide is to help more people test it on their setups in the hope that we can detect similarities between systems that do work and those that don't.

Further note: this guide is built on my own approach, which is Ubuntu based. Further I'm assuming that your system is already configured with the appropriate build tools (gcc compiler, make etc.). Furthermore: you carry all risks by yourself. I'm not responsible for any damage caused by following this recipe.
  1. Get the linux-next kernel source (based on https://www.kernel.org/doc/man-pages/linux-next.html):
    1. $ git clone https://git.kernel.org/pub/scm/linux/ke ... /linux.git
    2. $ cd linux
    3. $ git remote add linux-next https://git.kernel.org/pub/scm/linux/ke ... x-next.git
    4. $ git fetch linux-next
    5. $ git fetch --tags linux-next
  2. Download wrls patch from viewtopic.php?p=127428#p127428
    (I'll assume it is saved as ~/0002-usb-audio-urb-fast-completion.patch.txt)
  3. Checkout the reference kernel version and apply the patch on a dedicated branch:
    1. $ git checkout -b wrl_patch_1 next-20201223
    2. $ git apply ~/0002-usb-audio-urb-fast-completion.patch.txt
  4. Create a build folder where all the build and configuration collaterals shall land:
    • $ mkdir ../build_wrl_patch_1
  5. Configure the kernel. This is probably the hardest part (at least for me, since it requires some knowledge about what you need to have in the kernel).
    Do only one (!) of these:
    • make O=../build_wrl_patch_1 defconfig
      (New config with default from ARCH supplied defconfig; maybe this is the safest approach?)
    • make O=../build_wrl_patch_1 menuconfig
      (If you know how to find your way around configuration of the kernel)
  6. Add a local version string, so you can distinguish your own built kernel from whatever your distro provides:
    1. Edit the file ../build_wrl_patch_1/.config with your favorite editor.
    2. Add a short string to the configuration item called "CONFIG_LOCALVERSION". Example:
      CONFIG_LOCALVERSION="wrl-1"
    3. Save and exit editor.
  7. Build the kernel with its modules and install everything:
    1. make O=../build_wrl_patch_1
    2. make O=../build_wrl_patch_1 modules_install
    3. make O=../build_wrl_patch_1 install
      (Under Ubuntu that install step takes care of copying everything to its correct locations, creating initram images and configuring the bootloader (grub) appropriately. Actually no fuss...)
If the build and install ran successfully, you may now reboot your system. Make sure to choose the testing kernel in the bootloader menu.

Once booted on the test kernel, do the following:
  1. Open up a terminal, become root and observe the kernel messages like this:
    # dmesg -Tw
  2. attach the MOTU interface over a USB port and take note of the kernel messages
  3. run your favorite Audio application and test the audio stability of your audio output. Take note of the time for the test start.
  4. Report to this thread, whether the patch is stable for you over a "long time" (that is somewhat subjective. @wrl had stability over 24 hours, I had only a few minutes...).

MOTU 828mk3, MOTU 828ES, Cakewalk by Bandlab, Kubuntu 22.04.1 LTS, https://github.com/shellwalker-coder/motu_patch_testing

Musinux
Established Member
Posts: 59
Joined: Sun Jan 14, 2018 8:38 pm
Has thanked: 3 times
Been thanked: 3 times

Re: Ultralite AVB

Post by Musinux »

I've attached a PKGBUILD + srcfiles for linux-next as in AUR with wrl's patch included.
Just unzip and run makepkg.

Builds fine. Didn't boot with next-210112, 210114 boots ok.

I could also attach the packages, but I don't know if it's cool to put ~130 MB here.

Some thought for debugging:

Can someone where the patch doesn't work confirm it does work on windows? Maybe it's just a wonky combination of USB-Controllers and the Interface or the like?

Edit: Boots now.
Attachments
linux-next-git-motu.zip
(64.16 KiB) Downloaded 60 times
root2
Established Member
Posts: 25
Joined: Wed Apr 15, 2020 9:48 am
Location: Germany
Has thanked: 1 time

Re: Ultralite AVB

Post by root2 »

Thank you so much for all your work! I successfully compiled and installed the kernel with the PKGBUILD. Working flawless since 4 hours on my Motu Ultralite AVB with ESS Chip! Since it's running my whole Smart Home i will report back soon :-)
root2
Established Member
Posts: 25
Joined: Wed Apr 15, 2020 9:48 am
Location: Germany
Has thanked: 1 time

Re: Ultralite AVB

Post by root2 »

I got distortion and channelhopping over night :(
If i receive my new Server next week, my Intel NUC will be dedicated for jack only, maybe i am getting better results then.
User avatar
wrl
Established Member
Posts: 48
Joined: Wed Nov 03, 2010 12:46 am
Been thanked: 2 times

Re: Ultralite AVB

Post by wrl »

Yeah it seems like this approach was a dud. I've got another theory I'm investigating but nothing concrete yet.

-w
shellwalker
Established Member
Posts: 68
Joined: Sun Jan 03, 2021 1:54 pm
Has thanked: 21 times
Been thanked: 11 times

Re: Ultralite AVB

Post by shellwalker »

wrl wrote: Sun Jan 17, 2021 3:38 am Yeah it seems like this approach was a dud. I've got another theory I'm investigating but nothing concrete yet.

-w
Hi wrl,
Good to hear from you again. Yeah, please do keep up the flag! :D
I'm volunteering for testing as soon as you've got something to try out.

MOTU 828mk3, MOTU 828ES, Cakewalk by Bandlab, Kubuntu 22.04.1 LTS, https://github.com/shellwalker-coder/motu_patch_testing

root2
Established Member
Posts: 25
Joined: Wed Apr 15, 2020 9:48 am
Location: Germany
Has thanked: 1 time

Re: Ultralite AVB

Post by root2 »

If there's anything to test i am also pleased to try it out!
If someone gets this driver stable i would donate some money for all the coffee required :-)
shellwalker
Established Member
Posts: 68
Joined: Sun Jan 03, 2021 1:54 pm
Has thanked: 21 times
Been thanked: 11 times

Re: Ultralite AVB

Post by shellwalker »

Musinux wrote: Tue Jan 12, 2021 8:02 pm Some thought for debugging:

Can someone where the patch doesn't work confirm it does work on windows? Maybe it's just a wonky combination of USB-Controllers and the Interface or the like?
Good thought! However it seems it is not possible to run the device in class compliant mode under Windows. I gave it a try, but it didn't work. Running it in the Windows mode (non-class compliant mode) on the same port was stable however.

Does anyone have an idea on how to run the device in class compliant mode under Windows?
What I tried:
- uninstalled the MOTU drivers
- checked the device settings via curl commands to make sure the device is using class compliant mode. But Windows would not show any device in this case.

MOTU 828mk3, MOTU 828ES, Cakewalk by Bandlab, Kubuntu 22.04.1 LTS, https://github.com/shellwalker-coder/motu_patch_testing

Post Reply