Not sure if this really is the fault of midihub, but this used to work at least a year ago.
I noticed that on my desktop using a2jmidi I only see the first port appear in the connection graph.
In the logs I see the following:
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (capture): Midihub MH-2KPRPDN Midihub MH-2'
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (playback): Midihub MH-2KPRPDN Midihub MH-2'
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (capture): Midihub MH-2KPRPDN Midihub MH-2'
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (playback): Midihub MH-2KPRPDN Midihub MH-2'
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (capture): Midihub MH-2KPRPDN Midihub MH-2'
Sat Aug 16 13:14:51 2025: ERROR: a2j_port_create: jack_port_register() failed for 'Midihub MH-2KPRPDN [32] (playback): Midihub MH-2KPRPDN Midihub MH-2'
It seems there are naming conflicts for these ports.
In amidi -l
I see this:
Dir Device Name
IO hw:4,0,0 Midihub MH-2KPRPDN Midihub MH-2
IO hw:4,0,1 Midihub MH-2KPRPDN Midihub MH-2
IO hw:4,0,2 Midihub MH-2KPRPDN Midihub MH-2
IO hw:4,0,3 Midihub MH-2KPRPDN Midihub MH-2
On my laptop I see the ports as this:
Dir Device Name
IO hw:1,0,0 Midihub MH-2KPRPDN A
IO hw:1,0,1 Midihub MH-2KPRPDN B
IO hw:1,0,2 Midihub MH-2KPRPDN C
IO hw:1,0,3 Midihub MH-2KPRPDN D
Where each port is clearly distinguished and there are no conflicts.
Both the desktop and laptop are running Debian 12/bookworm, but on the desktop it’s pure alsa + jack audio.
On the laptop I am using pipewire, but I’d think that in this case the port naming comes from the alsa implementation right?
Any ideas/insight into how this port naming conflict is caused are welcome.
ps;
I have the exact same udev rules on both machines:
SUBSYSTEM=="tty", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0c9c", MODE="0666", SYMLINK+="midihub_%s{serial}"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0c9c", MODE="0666", SYMLINK+="midihub%n"
There are however different kernels:
- desktop: 6.1.0-17-amd64
- laptop: 6.15.6-1-liquorix-amd64