Skip to content

Information about using the MOTU M2 under Alsa on Linux

Notifications You must be signed in to change notification settings

kiosion/alsa-motu-m2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

alsa-motu-m2

Some info about using the MOTU M2 audio interface with alsa on Linux.

Info

Issues with the M2 / M4 seem to be caused by a couple different issues -

  • alsa-lib / lib32-alsa-lib / alsa-ucm-conf / alsa-utils > 1.27.1-1
  • A kernel bug present in verisons 5.19.8 and newer (now fixed)
  • Another kernel bug, affecting card detection at boot, requiring a power-cycle to fix (I've had luck increasing msleep from 2000 to 4000 to fix this)

These monkey-patch confs fix MOTU M2 / M4 audio issues specifically relating to the first point.

Install

Downgrade alsa-lib, lib32-alsa-lib, & alsa-ucm-conf to 1.2.7.1-1
Move src/MOTU/* to /usr/share/alsa/ucm2/USB-Audio/MOTU/*

/usr/share/alsa/ucm2/USB-Audio/MOTU/M4.conf
/usr/share/alsa/ucm2/USB-Audio/MOTU/M4-HiFi.conf
+/usr/share/alsa/ucm2/USB-Audio/MOTU/M2.conf
+/usr/share/alsa/ucm2/USB-Audio/MOTU/M2-HiFi.conf

Replace the existing /usr/share/alsa/ucm2/USB-Audio/USB-Audio.conf's MOTU M4 config with the updated config from src/USB-Audio.conf

@@ -67,1 +83,1 @@
-If.M4 {
-	Condition {
-		Type String
-		Haystack "${CardComponents}"
-		Needle "USB07fd:000b"
-	}
-	True.Define.ProfileName "MOTU/M4"
+If.Motu {
+  Condition {
+    Type String
+    Haystack "${CardComponents}"
+    Needle "USB07fd:000b"
+  }
+  True.If.M4 {
+    Condition {
+      Type String
+      Haystack "${CardLongName}"
+      Needle "MOTU M4"
+    }
+    True.Define.ProfileName "MOTU/M4"
+    False.Define.ProfileName "MOTU/M2"
+  }
}