Roland J-6 MIDI output not working under Ubuntu desktop

Hi folks, I’m not sure if this is the right place to post but I’m fresh out of ideas for this.

Ubuntu Version:
25.10 Desktop

Desktop Environment (if applicable):
GNOME

Problem Description:
I have recently got myself a Roland J-6 and am trying to use it as a MIDI controller. It appears to function properly as a MIDI receiver (I can send data from my computer to the device), but reading MIDI from it appears to be stuck.

When running the amidi -p hw:1 -c --dump I only receive two clock messages (F8).

I did some debugging on Windows using MIDI-OX and was able to verify that the device works as a controller from there, so it seems with the right kinds of signalling it’s possible to read MIDI from the device beyond just two clock messages.

Relevant System Information:
I’m using pretty vanilla Ubuntu Desktop (25.10) on an HP Spectre laptop.

lsusb/dmesg Outputs:

lsusb gives me

Bus 003 Device 031: ID 0582:02a0 Roland Corp. J-6

(The device number is pretty high because I’ve been poking around with a kernel patch with no luck so far).

When I turn the device on in sudo dmesg I see:

[21169.066215] usb 3-1: USB disconnect, device number 30                                                                                    
[21181.069275] usb 3-1: new full-speed USB device number 31 using xhci_hcd
[21181.195270] usb 3-1: New USB device found, idVendor=0582, idProduct=02a0, bcdDevice= 1.00                                                
[21181.195276] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=12                                                           
[21181.195278] usb 3-1: Product: J-6                                                                                                        
[21181.195279] usb 3-1: Manufacturer: Roland                  
[21181.195280] usb 3-1: SerialNumber: 21007500165031304D303420                                                                              
[21181.199458] usb 3-1: Parsing interface 3...
[21181.199463] usb 3-1: Quirk or no altset; falling back to MIDI 1.0     

There may be some debug messages in there.

What I’ve Tried:

Alright, I may forget some things, but I’ve tried:

  • Adding a custom quirk in the snd-usb-audio kernel module. I mostly ended up recreating what the kernel just does by default.

    • I attempted setting 0x00 with the SET INTERFACE command (see packet capture) instead of 0x01 during device startup, but this led to an error, so I’m not sure why it seems to work on Windows.
    • I attempted adding a quirk to quirk-tables.h and setting the endpoints manually, but this only ended up recreating the default setup as far as I could tell.
  • Capturing USB packets from the Windows and Ubuntu to see if their setups are different (they are slightly different, but I’m not sure how much some of the things being done matter). See attached.

  • Using qjackctl to wire the J-6 into fluidsynth, but this didn’t appear to work even after mapping to fluidsynth from the J-6. The reverse did work (piping MIDI into the J-6 from fluidsynth).

  • Dumping MIDI via amidi -p hw:1 -c --dump.

  • Sending MIDI (which works fine) via amidi -p hw:1 -S '90 3E 64' (as an example). That works just fine.

  • Setting various snd-usb-audio flags via the modprobe confs.

I think about the only thing I’ve not tried is putting in some ALSA configuration files.

PCAP files are in a Google Drive here (please let me know if there’s a more preferable place to upload them). I have two Linux captures. The USB addresses are in the file names. The one with the higher address name has some debugging attempts in it, so apologies if that is confusing (I’m just attempting to read from the device. You can see a few of the MIDI clock messages in there).