Compiling and installing an esoteric external module

There is an OpenWRT device called a Bomebox, based on a Carambola2 hardware (MIPS malta Kc24). It routes MIDI over Ethernet, providing virtual local MIDI ports from remote MIDI devices. With it I can connect a synthesiser over there, to sequencer software over here. I have also a MIDI device that Bomebox has no driver for, but for which a driver has been coded, and I have compiled the code as a module on another platform (Raspberry Pi running Debian Trixie), and used it without problems.

Can anyone direct me to a recipe for getting this code turned into a module that will install on the Bomebox? I would consider QEMU VM's, Docker containers, cross-compilation, or anything else, but I need clear and consistent instructions. I have poured hours into this problem and got not very far.

I absolutely understand that nobody owes their time or attention to this, but if anyone can help, I would be very grateful. And so I believe would some other people who use Bomeboxes.

There are quite a few out-of-tree kernel modules packaged for OpenWrt, use those as inspiration. Not all buildsystems are easily cross-compiled, so there may be dragons ahead, but if full source is available, it should be an realistic endeavour.

Keep their firmware, unlikely you get a good sequencer (or midi driver) here in context of network routing.

I see I was a bit general. Once a compiled module is available, a running Bomebox allows uploading and inserting of modules with insmod. The essential problem is how to compile the already existing code so it will run on the mips architecture.

Quite simple ..

If you have the code, look in the package directory.

take whatever package, suits your needs, with tar or git source, as sample.

Copy the whole directory as your “driver”, do the needed changes

compile, check and test

for your “driver” look into package/kernel/

voila

You need vendor SDK with their kernel headers and configurations. You can use aligned version of OpenWRT SDK to build static userspace programs if totally desperate.

Luckyly nobody can read.

If this code compiles on Rasperbby PI with/on Debian this is feasable.

As I said, normaly this is a “piece of cake”, but only the owner of these devices can test the whole setup. The turnaround time, to use some other developer here is too high and disturbs their workflow.