Ultralite AVB

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

Moderators: MattKingUSA, khz

buonamorte.records
Established Member
Posts: 98
Joined: Tue Apr 07, 2020 4:31 am
Has thanked: 11 times
Been thanked: 11 times

Re: Ultralite AVB

Post by buonamorte.records »

So...I've make a test with the modified kernel and the motu driver but...audio is completely corrupted...the device is completely unusable...but no channel hopping...
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Ultralite AVB

Post by Drumfix »

If 64 channel mode is what you're after, then you have to go into the routing tab of the web interface and set the values of "to computer" and "from computer" to a value > 32.
obw
Established Member
Posts: 3
Joined: Thu Jan 27, 2022 4:35 pm

Re: Ultralite AVB

Post by obw »

got an UltraLite AVB today, works great with Drumfix's custom driver! i absolutely do not know enough about C driver development to help out, I prefer to stick to Rust...

dropping my iProduct string in here as well:

Code: Select all

  iManufacturer           1 MOTU
  iProduct                2 UltraLite AVB
obw
Established Member
Posts: 3
Joined: Thu Jan 27, 2022 4:35 pm

Re: Ultralite AVB

Post by obw »

one thing that i've noticed as of today is that the interface->PC return (e.g. input device) is very quiet? The volume meter in pavucontrol doesn't seem to reach anywhere near 0db, wheras the mixer master on the web interface does. People on Zoom reported that my mic was super quiet.

wondering if this is an issue somewhere in the driver? or maybe pulse is averaging based on all 24 input channels??
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 »

Been using drumfix' driver in vendor mode with jack2 on 5.15.13-zen for some time, although with problems.
It took a while to find out that some of my problems were due to my pretty frequent standby/resume, see below.

When I switched from 88.2kHz 24 ch to 96kHz 32 ch recently, I had massive problems to get my interface to run stable again.

After some fiddling, I found out that drumfix' driver only works with my interface if I do the following:

1."Host Buffer Size" in the WebUI is host/win/buffer_sizes_1x in the datastore * 2,
Host Buffer Size = Jack buffer_size (period_size * 2) = cat /proc/asound/card0/pcm0p/sub0/hw_params' buffer_size.
Everything else leads to distortion, unpredictable channel hopping (no modulo), from the start or after some time..

1.1 For no particular reason, I set Host Safety Offset, which is host/win/safety_offsets_1x * 2 :, to Host Buffer Size / 2.
Option seems only to exist to help out their poor windows audio drivers anyway.

2. Setting Channelcount everywhere the same, loading module last
curl --data 'json={"value":XX"}' IP/datastore/host/maxUSBToHost
WebUI Routing (From/To Computer = XX),
alsa-base.conf / modprobe ins=XX outs=XX
set channelcount in jack/qjackctl

3. afer resume from standby
unload modules modprobe -r motu && modprobe -r snd_usb_audio
load modules modprobe motu && modprobe snd_usb_audio
else most of the time strange behaviour after resume, stopping jack before suspend sometimes helped, 1 out of 10 times working good?


4. WineASIO fixed buffer size / disable dynamic buffer size changes
For WineASIO set HCU/Software/Wine/WineASIO to 1, Preferred buffersize = period_size (Host Buffer Size / 2)
Allowing this once put my left channel dynamically at full blast on buffersize change until module reload.
When this happened, channelcount wasn't set correctly on maxUSBToHost, didn't try again...

5. Blacklist snd_usb_audio only for the Ultralite
In alsa-base.conf add

Code: Select all

options snd_usb_audio enable=0 vid=0x07fd pid=0x0005 autoclock=no
Without it, snd_usb_audio will sometimes load before the motu module and do its sample rate checks (plops and cracks), and leaving the sample rate at 192kHz, and also it sometimes sets the interface to uac mode I think.
Blacklisting the whole module isn't a good idea if you're using usb-webcams or the like.



But, after that, this seems rock solid for days, even hwlatdetect can't break it (dropouts, of course).

Just to mention it, I didn't restart my Interface for quite some time (>1 year), so some of my weird problems might come from there also.

For me, 5.15/5.16 without drumfix' driver is still unusuable.

Thanks drumfix !
baptiste
Established Member
Posts: 26
Joined: Sat Oct 06, 2018 7:18 am
Has thanked: 10 times
Been thanked: 8 times

Re: Ultralite AVB

Post by baptiste »

Which version of the firmware are you using ?
I've been going back and forth between 1.3.5+626 and 1.2.8+378.
I got some hope today, trying the Drumfix driver and reading your latest post : still no channel hopping, having run for a few hours with the liquorix 5.15 kernel.

Thanks for the tips !
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'm using 1.3.5+626 on the non-ess version.
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 »

Working in pipewire 0.3.45 with drumfix' driver in vendor mode and patched kernel, using the "Pro Audio" profile in pavucontrol.

Doesn't work ootb, because pipewire seems to initialize some variables wrong (causing not enough memory errors even with low channel count).
Also I couldn't change single settings for the device in pw-cli in runtime (segfault), but changing all values at once works.


Use

Code: Select all

pw-cli ls Node
To get both ids of the MOTU device (input and output).

Then set (alsa)-parameters for both ids:

Code: Select all

pw-cli s <id> Props '{ "params": [
              "audio.channels",
              32,      
              "audio.rate",
              96000,                          
              "audio.format",              
              "S24_3LE",    
              "audio.position",         
              "[]",              
              "audio.allowed-rates",
              "96000",     
              "api.alsa.period-size",
              1024, 
              "api.alsa.period-num",      
              2,                          
              "api.alsa.headroom",                  
              0,      
              "api.alsa.start-delay",           
              10,                      
              "api.alsa.disable-mmap",
              false,                       
              "api.alsa.disable-batch",         
              false,   
              "api.alsa.use-chmap",
              false,         
              "api.alsa.multi-rate",
              false,                 
              "clock.name", 
              "api.alsa.1"       
            ]               
          }'           
This gives period_size 512 / buffer_size 1024, instead of 1024*2.

For some reason, pipewire doesn't set everything I specify in ~/.config/pipewire.conf.

Have to do:

Code: Select all

pw-metadata -n settings 0 clock.rate 96000
pw-metadata -n settings 0 clock.allowed-rates 96000
Pipewire runs really well and it's also kind of smart when it initializes the devices correctly.
With the settings above, it's using 48kHz for one of my monitors (hda_intel), which can only do that rate, automagically.

It should be possible to save those settings to a card profile or the like, although it's not clear to me where to put it, since pipewire.conf is somehow ignored for certain settings.
StuB
Established Member
Posts: 10
Joined: Wed Mar 31, 2021 3:23 pm
Been thanked: 1 time

Re: Ultralite AVB

Post by StuB »

I'm looking at audio interfaces and see that the MOTI Ultralite AVB seems to be by far the best out there. I haven't read 45 pages of forum posts, but I'd lke to run AV Linux - would here be any problems in 2022?
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 »

StuB wrote: Sat Feb 19, 2022 4:12 pm would here be any problems in 2022?
Yes, at least with USB out of the box.

To be clear, it's still not working 24/7 for me, no matter how much I play around.

If you're lucky, one of drumfix' drivers might work for you, probably the best bet is his AVB driver, which only works with a intel i210 NIC.

unfortunately, there ain't many alternatives for similar interfaces "without" problems on linux.
asbak
Established Member
Posts: 897
Joined: Thu Sep 11, 2014 3:04 pm
Has thanked: 71 times
Been thanked: 64 times

Re: Ultralite AVB

Post by asbak »

StuB wrote: Sat Feb 19, 2022 4:12 pm I'm looking at audio interfaces and see that the MOTI Ultralite AVB seems to be by far the best out there.
That's a pointless exercise if the intention is to use Linux.

Vendors such as MOTU do not support Linux, don't write drivers for Linux, don't write software for Linux and don't design products to work under Linux.

The only way MOTU gear will work under Linux is by good fortune (if it's class compliant) or through past successful reverse engineering efforts by third parties. Most MOTU gear won't work. The gear that may work will either be ancient or will often 1/2 work, meaning that much of it is going to be close to useless or breaking down or almost-but-not-quite working for some or much of the time.

The closest thing out there today to a vendor that provides at least some support for Linux audio is Behringer. Needless to say they are not popular with buyers who demand "the best". These folks are typically Mac buyers and users too. It makes no sense for them to get sidetracked into using Linux instead of the expensive, well-oiled and mature environment they're already familiar with.

Some of the older RME stuff works or partially works under Linux due to 3d party driver development efforts.

There are a number of older audio devices which should still work, info is on the ALSA website.
Some Focal / 20.04 audio packages and resources https://midistudio.groups.io/g/linuxaudio
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 somehow completely overlooked the fact that a nvme drive in linux spreads irq-processes over all cpu cores/threads and cannot be moved with smp_affinity_list.
The nvme driver uses 32 (irq-)queues per default.

Code: Select all

nvme.poll_queues=X
as kernel boot paramter moves those default irq-queues to poll_queues, so poll_queues=24 leaves me (on 8/16t) with 8 threads occupied by the nvme driver (actually 9: nvme0q0-0q8).

In that configuration, it does occupy the last cores on my system CPU8-15 (nvme0q1-8), and CPU2 (nvme0q0).
I'm using CPU7 for the Ultralite now.

See https://serverfault.com/questions/10524 ... me-devices, which suggests putting options nvme poll_queues=X in /etc/modprobe.d/nvme.conf , which doesn't activate /sys/block/nvme0n1/queue/io_poll here, in cmdline it does work.

Using poll_queues can cause higher cpu or higher nvme bandwidth, depending on workload.
jkohls
Established Member
Posts: 7
Joined: Sat Jan 26, 2019 12:58 am
Been thanked: 1 time

Re: Ultralite AVB

Post by jkohls »

New user checking in!

Got an 828ES about a week ago and everything worked out of the box until I started some recording projects.

I did some research and tried to fix a few issues on my own, mostly failed, and was directed here (that was about an hour ago). In the past week I've built and read through some the code for Jack, QjackCtl, Carla, snd_usb_audio, and I'm about to read through Drumfix/motu-avb-usb.

Maybe I should have just read this whole thread before spending a few sleepless nights hacking on snd_usb_audio by myself :lol:

I'm here to help run tests, try fixes, reports issues, etc. Any additional info or tests I can do that would be helpful to the others working on the driver? I'm currently unemployed (by choice) so I've got plenty of time to help.

Device (MOTU 828ES)

Code: Select all

ID 07fd:0005 Mark of the Unicorn 828ES
Firmware

Code: Select all

Firmware: 1.3.5+184 (04/28/20 13:20:07)
Ubuntu 21.10 with kernel....

Code: Select all

Linux REDACTED 5.13.0-30-lowlatency #33-Ubuntu SMP PREEMPT Fri Feb 4 17:56:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
supereb
Established Member
Posts: 93
Joined: Fri Aug 17, 2018 10:55 pm
Has thanked: 36 times
Been thanked: 5 times

Re: Ultralite AVB

Post by supereb »

Install Drumfix's driver and be done with it! :D

It has worked great for my 8pre-ES on AVL-MXE and AVL MX-21.

Many of us here reread this thread many times and still had sleepless nights, I know I did until Drumfix got things figured out.

Previously I used Drumfix's kernel patch to compile a custom kernel, worked flawlessly on MX-18.
StuB
Established Member
Posts: 10
Joined: Wed Mar 31, 2021 3:23 pm
Been thanked: 1 time

Re: Ultralite AVB

Post by StuB »

The reason why I looked at the AVB is because the interface is web based.. I assumed that this would work just fine on Linux as its CC - therfore tcking all the boxes.

I'm looking to move from Mac (2010 MBP) to Linux for many reasons, but the more I dig down the more I realise that the hardware just isn't up to scratch - laptops aren't that great, audio interfaces don't work etc. Software is great - I know its not all FOSS but Bitwig rocks, as does Reaper, Ardour and harrison Mixbus - I really didn't expect this to be such a headache for hardware. I'm on the verge of giving up trying tbh... Unless anyone can suggest a working system to me soon - I need a good laptop and semi pro interface with good AD/DA converters...
Post Reply