I bought a brand new BlackLion MIDI Eight midi interface. I was trying to stay away from anything that’s not USB Class Compliant…although The MOTU MIDI Express reversed engineered drivers worked great my machine was having all kinds of problems. Some booting issue where the "kernel " was involved in the error…I had system lock ups which I’ve never had in 24 year of working on Linux.
I get the unit and the latency (turned out it wasn’t actually a latency issue) was well over 1.2 seconds from the time I hit a key to the time you hear the note. Black Lion is telling me they can recreate the issue (happens on Linux, Mac and WInows) and is related to both of my keyboards sending out a constant stream of some data…but it’s not a MIDI clock or anything I can detect using the Ardour MIDI Tracer. I have no idea what it is but it’s always been there on every MIDI interface I’ve had and never caused an issue. They are trying to maybe make a custom firmware version for this problem! I can’t believe this crap. I have little confidence in this unit now.
I hope hoping to get more information on kernel modules drivers that this MOTU uses. I don’t fully understand how and what a Kernel header is but I know it needs it. I have this installed before and it worked like a charm but was a real bear to install. However once the kernel was updated it didn’t work anymore!
I so freaking deflated on this MIDI interface problem that I’m thinking about going back to the MOTU Midi express 128. When it comes to “kernel modules” drivers how does this actually work? If I read what’s on this page it indicates that the DKMS version is recommended for Ubuntu/Debian based OS and to use the existing script within this page to create the .deb file. It creates the deb file but there something wrong with it as it doesn’t install anything. What exactly is a kernel header? It seems that last time I had this driver running it worked great - until a kernel update stopped it from working. I don’t know enough about this stuff to fully grasps what it would take to make sure I install it correctly and to have it continue to run when a kernel update occurs. This is where I got the driver from back in October and it really did work great but what a challenge it was to get it to install. I’m sure it’s because I don’t really know what I’m doing. If anyone shed some light on how to either install from source (which I did before) or use the script that’s in the package to create a deb file and actually have it work please let me know.
A header file is a file with function definitions used by C and C++ software.
The page you linked has instructions on how to install the kernel headers:
sudo apt-get install linux-headers
The instructions were actually for how to install the headers for the running kernel version. My distribution will just always install the latest available if I install the kernel-headers package, so the instructions on the page you linked are probably more reliable in case you are not yet running the latest available kernel version:
sudo apt-get install linux-headers-uname -r
Drivers have to be compiled to match the exact version of the kernel you are using.
If you update your kernel, then you have to update your kernel headers, recompile the driver, and re-install the driver into the kernel modules directory. Basically just follow the instructions from the page you linked again each time you update the kernel. Although you may not have to manually update the kernel headers, it is possible that after you install them once they will be updated automatically when you run apt-get install. That is how it works on Fedora installations, but maybe Debian is more conservative about updating kernel related packages automatically, I don’t know.
From the Wikipedia page for DKMS:
“The concept is to have DKMS modules automatically rebuilt when a new kernel is installed.”
and
" An essential feature of DKMS is that it automatically recompiles all DKMS modules if a new kernel version is installed. This allows drivers and devices outside of the mainline kernel to continue working after a Linux kernel upgrade."
So if you get the DKMS install for that driver working whenever you update your kernel the drive will recompiled and reinstalled automatically.
Did you get an error when installing the deb file with apt?
This is really a Debian system administration question, so asking on Debian forums would be a good resource as well.
Thanks Chris! I looked at of this stuff up but in order for me to grasp things, the process has to work consistantyl…and it hasn’t. Hit or miss on the installation. In regards the question of an error with the deb file. No error and I can tell by the size of the deb file that there is nothing compiled in it. I’ll have to try it again to see exactly what happens but I remember the file contained nothing to install. Honestly this is the usual for odd stuff like this. Either the information is too old and things have changed since the original information was posted or the information is wrong.
I understand the concept and have read many time that DKMS is the way to go but actually experiencing the a successful process of installation…I have not and this is part of the problem. I noticed that when it comes to people that are more involved with Linux on this level they glaze over important information that assume other already understand and it leaves you floating in space without a tether.
So if I run “uname -r” I get this output “6.8.0-117-lowlatency” This is the kneral that the Ubuntu Studio Installer package installs if you choose the low latency kernel. Since I’m using Ubuntu Mate 24.04 and not 26.04 I would think this is why it’s an older kernel version. Now the header for this particular Kernel must be installed. but what about the DKMS option? I don’t see the relationship between the two. Now I’ve installed this driver three times but likely tried to install this driver 30 times. I used my notes and documented what I did when it was successful but likely the kernel was different from the original time had a successful install.
So it seem that the DKMS module script…which is already in the downloaded driver tarball as “dkms.conf”. This would mean to me that DKMS will work on this driver. I also checked to see if the kernel header is installed for my kernel. My kernel is “6.8.0-117-lowlatency” and if I check the package manager I can also see that the package “linux-headers-6.8.0-117-lowlatency” is installed already.
I also found the package DKMS and installed this. So maybe…and this is a big MAYBE, this might just work but, I don’t want to just wing this, have it install like I did before but not be able to fully understand what I’m doing. If I had to make a change to a different version of Ubuntu or AVLinux or something else I would need to make sure I understand what I’m doing to get the driver installed and not have to shoot at the hip and hope for the best.
It seems to me so far that even if the Deb file worked, my understanding is that this method doesn’t use the DKMS method of installation and therefore can’t automatic update the header/driver file when the kenel updates…but this is just a guess.
I ran the script “./debpkg.sh” in a terminal. it does in fact error out indicating
"cp: cannot stat 'dkms-deb.conf': No such file or directory
dpkg-deb: building package 'motu' in 'motu_1.0-26140.deb'"
It appears to be looking for a file called “dkms-deb.conf” within this package file and it’s not there! Oh my God it never ends. If I simply click on the debpkg.sh file it does create the .deb file but like I mentioned…it doesn’t do anything because it’s looking for a file that doesn’t exist in the drive package folder. I’ll have to do one more search for this file and what it’s suppose to contain and then I’ll give up. Thanks for your input and efforts on this Chris
I guess I had an old package of this driver without the dkms-deb.conf file in it because when I re download the package, it was there. I did exactly what the instruction read and it did create the deb file without error. I ran the deb file and after rebooting the package management system is non-functional now, indicating a “major error” with the Motu package. Mentioning that is’ likely due to missing dependencies which is not the case. So now not only can I not seem to fix the package management system but my XR-18 audio interface no longer shows up. Good stuff. I understand why no manufacturer supports Linux when it comes to pro audio gear. Just far far too many variables and every thing you do seem to affect something else. I may have to do this machine over again from scratch because so far I can’t seem to find a way to fix this package management problem. Needless to say I don’t be trying again to install this MOTU driver
So far nothing I do to fix the package manager has worked. Running “sudo apt --fix-broken install
" I get the message " The package motu needs to be reinstalled, but I can’t find an archive for it.”
What a mess. I’m done with this MOTU and the driver for it.
RME used to, but any class compliant interface which works with OSX or MacOS usually works with Linux.
You haven’t given any detailed information, so not possible to help.
Perhaps take it up on the git issues for the project if you wish to pursue any further and are willing to do useful steps like saving the log of commands you run, exact error messages, etc.