Kernel modules drivers...smart idea? Doesn't feel like it

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.

This is the driver page I’m talking about: GitHub - vampirefrog/motu: MOTU midi express 128 linux driver · GitHub

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.