snd-firewire-improve Projekt/Linux Treiber für MOTU 828 mk3 u.v.m.

audiot.

audiot.

Hitglied
(kann sein, daß das für den Einen oder Anderen hier bereits ein alter Hut ist)

Gute Nachricht an die Nutzer eines MOTU 828 mk3, die wie ich jahrelang darüber verzweifelt waren, daß die feine Hardware bisher nur unter macOS oder Windows lief - es funktioniert mittlerweile auch unter Linux :cool:

Hier ein Video dazu:

https://youtu.be/n4KhMyMFNz4


Hier das Projekt dazu:

Hier ein "Beweisfoto" von meinem Desktop:
Bildschirmfoto_2022-02-22_17-02-44.png
Latenz liegt in meinem Fall (MOTU 828 mk3) bei 4.35 ms @ 64 Frames/Periode.
Das Interface ist via Thunderbolt per Firewire angebunden an einem MBP aus Mitte 2015.

uname -a sagt:
Linux musix 5.13.0-30-lowlatency #33~20.04.1-Ubuntu SMP PREEMPT Mon Feb 7 15:23:11 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Dert Strom guter Nachrichten will nicht abreißen:
Der gute Mann (er heißt Takashi Sakamoto) hat auch auch noch diverse andere Firewire ALSA-Treiber an's Fliegen gebracht - siehe:
Released and merged:
- snd-fireworks: for devices based on Echo Audio's Fireworks module
- snd-bebob: for devices based on BridgeCo's chipset and BeBoB firmware
- snd-oxfw: for devices based on Oxford Semiconductor OXFW970/971 chipset
- snd-dice: for devices based on TC Applied Technologies DICE chipset family
- snd-firewire-digi00x: for devices of Digidesign 002/003 family
- snd-firewire-tascam: for devices of TASCAM FireWire series
- snd-firewire-motu: for devices of Mark of the Unicorn FireWire series
- snd-fireface: for devices of RME Fireface series
- snd-firewire-lib: for helper functions of AMDTP/CMP/FCP and AV/C commands
 
... weil ich gerade Zeit dafür habe (Urlaub):

(M)ein Träumchen wird ndlich wahr - nach gefühlt 15 Jahren kann ich nun mein MOTU 828 mk3 vollunfänglich auch unter Linux nutzen -
hier die Verschaltung aus dem Pulse Audio JACK Sink an den MOTU Main Bus:
motu_828_mk3.png
Bitwig kann nun kommen :xencool:

wie geil ist das denn?
wie geil ist das denn?
wie geil ist das denn?
 
Ich träum ja immer noch davon, dass sich Jemand auch die Mühe macht, Treiber für USB zu schreiben oder noch geiler wäre, auch wenns völlig unrealistisch ist, wenn Motu nen Anfall von Nachhaltigigkeitsbewusstsein kriegt und plötzlich nen ClassCompliant Update für die Firmware rausbringt.
 
2023 hat sich ja einiges getan - Stichwort Class Compliant USB - und so weit ich weiss, können das auch die modernen MOTUs (kann mich allerdings auch irren).
Das MOTU 828 mk3 stammt allerdings noch aus Zeiten, als USB(2) noch sehr "wackelig" und Firewire state of the art war (00er-Jahre).
Ananlog dazu auch die damaligen RMEs für die Windows-Welt - stabil und mit äusserst geringen Latenzen.

Für meinen "ollen Outboard Krempel" - MOTU 828 mk3 zzgl. SONIC CORE A 16 ULTRA im ADAT-Verbund - hatte ich damals ein kleines Vermögen ausgegeben - sowas tolles ersetzt man nicht 'mal eben durch ein Class Compliant USB Gerät. Zum wegschmeissen wäre das viel zu schade. Rennt ausserdem immer noch via Thunderbolt - oder PCI Firewire Karte mit Texas Instruments Chip.

Dies sollte meinen Grund zur Begeisterung hier erklären, denn für solch grosse "Investitionen" bzw. alte und gute Geräte freie und offene Treiber zu implementieren - und diese auch anderen zur Verfügung zu stellen: So etwas nenne ich nenne ich nachhaltig.

Der einzige Grund warum ich noch Macs habe: Weil es nur Closed Source MOTU-Treiber für eben entweder nur Apple oder Windows bisher gab.
Kann jetzt gehen, war 'mal cool - Apple & Logic hat fertig.
 
Die Mixes und Channel Mutes kann man nur direkt am Gerät einstellen (über die vier CueMix-Knöppe), weil es hier (noch?) keine Unterstützing via ffado-mixer gibt.

Naja mindestens eine, eher unschöne Möglichkeit, seh ich da schon, die eigentlich funktionieren müsste, man könnte mit Qemu ne Windoof oder MacOS VM aufsetzen bei der man USB Passtrough fürs 828mk3 einrichtet.
Dann sollte es mit CueMixFX klappen, ne Wine oder Bottles Lösung, wäre natürlich deutlich komfortabler. Wenn man den Gedanken etwas weiterspinnt, könnte man auch noch weiter gehen und auf CueMixFX über OSC zugreifen, dann müsste man nicht mal mehr in die VM rein, welche natürlich vor Parameter Änderungen trotzdem aus dem hibernate geholt werden muss, um Änderungen vorzunehmen, wenn die VM nicht dauerhaft laufen soll, was ich als totale Resourcen veschwendung ansehen würde, müsste sich eigentlich auch automatisieren lassen, ist aber definitiv keine Lösung für DAUs, da virtuelle Networkstacks schon eher nicht trivial sind und so Sachen wie Wake on Request, auch Alles andere als simpel sind.

Bin mir nur nicht ganz sicher, wie des 828mk3 Hybrid sich verhält, wenn gleichzeitig jeweils ein Treiber über USB und Firewire aufs Gerät Zugriff hat.

Die Mixes per Encoder am Gerät einzustellen würde ich als Folter empfinden, zumindest bei so nem eher komplexen Routing wie ich es hier habe.

Evtl ist es auch nicht ganz so schlimm, habs tatsächlich des letze mal am 828mk2 USB von Hand am Gerät gemacht, da ich damals 2x mk3 Hybrid mit defektet Displayhintergrundbeleuchtung gekauft habe und ich bisher seit bald ner Dekade viel zu Faul bin die eine SMD LED auszutauschen =).
Eins der 2 828mk3 Hybrid wurde mir leider geklaut, als damals in meinen PrivatClub eingebrochen wurde.
Hab sogar extra nen eigenenes altes Notebook, mit Windoof drauf, dass ich eigentlich so gut wie nur für CueMixFX nutze, um die Mixes einzustellen und auch manchmal um Signale visuell zu analysieren, also Spektrum/Scope/Gonio usw.

Ist übrigens mein letztes Windoof Gerät.
Wäre froh wenn ich dieses auch los wäre.

Wenn ich schnell mal die Main Lautstärke ändern muss, was ich eigentlich eher ganz selten bis garnicht muss, nutz ich immer ne Taschenlampe um aufs Display zu leuchten, dann ist es Lesbar =).


Kommt man eigentlich wirklich vom Gerät aus, an Alle Parameter ran oder gibt es welche für die man zwingend CueMixFX braucht? Wenn du es nicht sicher weißt und suchen musst, lass es, dies kann ich auch, bin gerad nur zu Faul.
 
Zuletzt bearbeitet:
@everNoob

wg. Paravirtualisierung:
Ich weiss nicht ob das funktioniert - hört sich nach Frickelei an und man wäre weiterhin auf Windows angewiesen. Für mich absolutes K.O.-Kriterium. Um nicht zu sagen: K.L.O.
Zielführender fände ich es, ffado-mixer anzupassen - wahrscheinlich ist das auch gar nicht so komplex im Vergleich zur Implementierung des Kernel-Treibers, ist schliesslich "nur" der Controller (analog zu CueMix).
BTW: Mit meinem PreSonus FIRESTUDIO mobile funktioniert ffado-mixer übrigens sehr gut - müsste mir 'mal den Code anschauen - und wenn ich Zeit dafür habe ggf. anpassen.

wg. Parameter mit Knöppen am Gerät einstellen:
Man hat Zugriff auf *alle* Parameter und - ganz wichtig - man kann seine Einstellungen als Presets speichern.
Ich habe ungefähr 15 Minuten benötigt zu kapieren wie das geht - Versuch macht kluch.
Allerdings beschränken sich meine Einstellungen höchstens z.B. auf "Eingang X auf MUTE setzen" - Reverb, EQ oder Kompressoren am 828 nutze ich nie (wofür auch?).
 
wg. Paravirtualisierung:
Ich weiss nicht ob das funktioniert - hört sich nach Frickelei an und man wäre weiterhin auf Windows angewiesen.

Ja deswegen hab ich ja auch unschöne Lösung geschrieben, bei mir würde sich zumindest die frickelei fürs aufsetzen der VM in Grenzen halten, da ich ehh Proxmox als Level 1 Hypervisor auf meinem DailyDriver Notebook laufen hab.

Der Part, dass man weiterhin auf Windoof angewiesen wäre, stimmt nicht ganz, da man ja auch ne MacOS/Hackintosh VM aufsetzen kann, sogar völlig legal wenn man noch irgendwo nen alten ungenutzen Mac rum stehen hat. Der Code/Satz den man zur freischaltung braucht, ist aber ehh bei Allen Macs gleich. Wobei natürlich ne MacOS VM mehr Frickelarbeit als ne Windoof VM ist.
Es soll als VM soweit ich gelesen habe, deutlich leichter sein, als nen normalen Hackintosh aufzusetzen, da man ja einfach kompatible Hardware emulieren kann.

Edit: Wobei wie gesagt, bei meiner unschönen Lösung, Alles damit steht oder fällt, ob man Zeitgleich über USB mit CueMixFX Parameter ändern kann, während der Firewire Treiber aktiv ist.

Zielführender fände ich es, ffado-mixer anzupassen - wahrscheinlich ist das auch gar nicht so komplex im Vergleich zur Implementierung des Kernel-Treibers, ist schliesslich "nur" der Controller (analog zu CueMix).
BTW: Mit meinem PreSonus FIRESTUDIO mobile funktioniert ffado-mixer übrigens sehr gut - müsste mir 'mal den Code anschauen - und wenn ich Zeit dafür habe ggf. anpassen.

Ich hab mir ffado-mixer noch garnicht richtig angeschaut, hab mir nur vor ich glaub über nem Jahr oder 2, die Github Readme durchgelesen.

Des Thema ist für mich aber im Moment ehh nicht ganz so aktuell, da ich ehh kein Notebook mit Thunderbolt oder Firewire habe und meinen Homelab Rackserver in dem ich ne FireWire Karte einbauen könnte, nutze ich in meiner Momentanen Wohnsituation nicht, da er im Moment bei mir im Zimmer stehen muss und somit mit seinen 80db Lüftern ehh zu laut ist und des Zimmer zu sehr aufheizt.
Daher auch meine Zurückhaltung tiefer in den Kanninchenbau zu kriechen.

War aber trotzdem etwas neugierig und dachte mir, dass du so begeistert wie du bist, gern etwas dazu schreibst =)

Allerdings beschränken sich meine Einstellungen höchstens z.B. auf "Eingang X auf MUTE setzen" - Reverb, EQ oder Kompressoren am 828 nutze ich nie (wofür auch?).

Ich nutze den EQ für Raumanpassung, muss des natürlich nur machen, wenn ich irgendwo neu einmessen muss, was bei mir durch meine häufigen Umzüge garnicht so selten ist =)

Sonst will ich den Eq auch wieder als HighPass der Monitore und Lowpass des Subs nutzen, da ich versuche mein Setup daheim mehr oder minder so zu reduzieren, wie ich es auch für nen DAWless Liveset nutzen würde.
Damit würde dann auch meine B... CX3400 Frequenzweiche obsolet werden, die den Job im Moment macht, da ich mal dachte, ich fände es besser, wenn die Frequenzweiche Analog ist, dem war dann doch nicht so. Bin nur im Moment noch zu Faul rumzubasteln, vor Allem da mein Sub vor kurzem des zeitliche gesegnet hat.

Ich hab ehh nen etwas komischen Einsatzzweck fürs 828mk3, da es bei mir im Moment eig nur als ADAT Eingangs Erweiterung des B... UMC1820 dient, welches wiederum an der Force hängt und zusätzlich nutze ich es auch als digitalen Standalone Mixer für 3 S/PDIF Signale, wovon eins die Stereosumme der Force übers UMC1820, durch COAX verbunden ist und optisch ne XBOX und AndroidKodiBox.
Außerdem hab ich ein Analoges Eingangspaar der 828mk3 auf Monitoring an ner Patchbay, wo ich mich mit diversen Geräten verbinde, wenn ich se mal ohne Force nutzen will.

War zwar jez etwas Offtopic, kratz aber immerhin noch leicht am Thema =)
 
Zuletzt bearbeitet:
- weil ich mich so freue dass alles endlich funktioniert (hat ja nur 15 Jahre gedauert)
- nachdem ich meine Audioworkstation reaktiviert habe (mittlerweile lüfterlos und flüsterleise im 19" Rack)
- nachdem ich meinen iMac eingemottet habe (Tschüss Apple - veräppeln lass ich mich nicht mehr von Dir)
- nachdem ich diverse Kabel gezogen, Tutorials durchgeackert und viel Bier getrunken habe

- Vorhang auf & Tusch -

hier meine Recording-Umgebung (JACK/Ardour):
1695554594482.png

Das ganze System rennt mit einer Latenz von 2,7 ms - ohne Knackser bzw. XRuns.
Die uralt-CPU (Intel Core i7 3770) habe ich übertaktet @4,4 GHz - rennt stabil bei 30-50 Grad Celsius.
Wahrscheinlich liefe das ganze sogar noch schneller mit einer moderneren PCI-Anbindung und flotterem RAM.

*FREU*
 
Jared schrieb:
Jared from MOTU here in a totally unofficial capacity - I was really happy to see the level of excitement about the new 828 in Linux circles! To try to help you guys out, I put together this unofficial build of CueMix 5 for Linux in my spare time that should allow you to control your 828 while it's plugged into a Linux computer. To use it, just go into the build folder and run com.motu.CueMix5.

https://drive.google.com/file/d/1WFhmTM ... sp=sharing MD5 Sum: 9479774d594ca9f5e80c876fd62eacb3

This should work for local control of both UltraLite-mk5 and 828 devices - For UltraLite-mk5, it should show up on the discovery page; for the 828, you'll need to click the gear icon and choose "Enable WebMIDI".

Would love to hear how it goes if it's helpful for anyone!

Source:
 
@Jared
Running MOTU 828mk3 here

Connected with virtual 828 shows:
1708803167379.pngStarts without nearly any exceptions - seems to be an electron app ;-)
(node:25554) electron: The default of nativeWindowOpen is deprecated and will be changing from false to true in Electron 15. See [URL]https://github.com/electron/electron/issues/28511[/URL] for more information.
(Use `com.motu.cuemix5 --trace-warnings ...` to show where the warning was created)
[25590:0224/204956.806550:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

running Manjaro Linux/Kernel here:
Linux studio 6.5.13-7-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Dec 20 07:15:58 UTC 2023 x86_64 GNU/Linux

Does not apply with my mk3:
- cannot change any params or input/output channels are not assigned
- does not show any 16 ADAT channels I use here
- "Enable WebMIDI" (as suggested) does not work in conjunction with my mk3.
- ...

BTW: THX - and :cool:

REMARK: And if I maybe could help You I would (like to) - intellectual property and open source problematics beside - I am a software developer.

@khz kannste gerne bitte so weiterleiten
 
Zuletzt bearbeitet:
  • hilfreich
M.i.a.u.: khz


News

Zurück
Oben