Ultralite AVB
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 98
- Joined: Tue Apr 07, 2020 4:31 am
- Has thanked: 11 times
- Been thanked: 11 times
Re: Ultralite AVB
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...
Re: Ultralite AVB
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.
Re: Ultralite AVB
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:
dropping my iProduct string in here as well:
Code: Select all
iManufacturer 1 MOTU
iProduct 2 UltraLite AVB
Re: Ultralite AVB
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??
wondering if this is an issue somewhere in the driver? or maybe pulse is averaging based on all 24 input channels??
-
- Established Member
- Posts: 59
- Joined: Sun Jan 14, 2018 8:38 pm
- Has thanked: 3 times
- Been thanked: 3 times
Re: Ultralite AVB
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
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 !
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
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 !
-
- Established Member
- Posts: 26
- Joined: Sat Oct 06, 2018 7:18 am
- Has thanked: 10 times
- Been thanked: 8 times
Re: Ultralite AVB
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 !
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 !
-
- Established Member
- Posts: 59
- Joined: Sun Jan 14, 2018 8:38 pm
- Has thanked: 3 times
- Been thanked: 3 times
Re: Ultralite AVB
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
To get both ids of the MOTU device (input and output).
Then set (alsa)-parameters for both ids:
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:
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.
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
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"
]
}'
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
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.
Re: Ultralite AVB
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?
-
- Established Member
- Posts: 59
- Joined: Sun Jan 14, 2018 8:38 pm
- Has thanked: 3 times
- Been thanked: 3 times
Re: Ultralite AVB
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.
-
- Established Member
- Posts: 897
- Joined: Thu Sep 11, 2014 3:04 pm
- Has thanked: 71 times
- Been thanked: 64 times
Re: Ultralite AVB
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
-
- Established Member
- Posts: 59
- Joined: Sun Jan 14, 2018 8:38 pm
- Has thanked: 3 times
- Been thanked: 3 times
Re: Ultralite AVB
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.
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.
The nvme driver uses 32 (irq-)queues per default.
Code: Select all
nvme.poll_queues=X
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.
Re: Ultralite AVB
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
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)
Firmware
Ubuntu 21.10 with kernel....
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
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
Code: Select all
Firmware: 1.3.5+184 (04/28/20 13:20:07)
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
-
- Established Member
- Posts: 93
- Joined: Fri Aug 17, 2018 10:55 pm
- Has thanked: 36 times
- Been thanked: 5 times
Re: Ultralite AVB
Install Drumfix's driver and be done with it!
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.
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.
Re: Ultralite AVB
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...
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...