sgorpi / midex8

Linux driver for Steinberg's MIDEX8
GNU General Public License v3.0
3 stars 3 forks source link

Midex3 support #5

Closed Iliolou closed 2 years ago

Iliolou commented 2 years ago

Thank you for your effort. It's great you got this interface to work under Linux.

I have a Midex3 0a4e:1100, and tried the module by changing

define SB_MIDEX8_PID1 0x1100 in midex.c

and got snd-usb-midex: usb_submit_urb: -2 at sb_midex_init_device snd-usb-midex: error during probing snd-usb-midex: probe of 1-1:1.0 failed with error -2

You mention something about providing you with "USB raw packets monitoring / pcap files". If you have the time, I would love to help. Can you send me some instructions or a link on how to do that?

Thanks.

Iliolou commented 2 years ago

Success!

cp -a snd-usb-midex.ko /lib/modules/5.15.3/kernel/sound/usb/. depmod -a modprobe snd-usb-midex

And works perfectly! Is there a way to have the module load the firmware on init?

sgorpi commented 2 years ago

Hi!

Great to hear that you have had some success!

Currently I am very short in time (due to kids a.o....), so I can't say when I have time to implement the firmware loading. I've received some pcap tracing (you can use wireshark + usbmon to sniff usb packets, please google on how to use that) from someone with a MIDEX3 recently, so that at least helps! He made a stand-alone midex3 firmware flasher, maybe he's willing to share it? Otherwise, try https://github.com/ykcirtsyb/midex-pid-changer until the firmware loading is implemented.

Happy creating!

Iliolou commented 2 years ago

Here is the MIDEX3 firmware loader! Compile with:

# gcc midex3fwloader.c -o midex3fwloader -lusb

And load with a udev rule:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a4e", ATTRS{idProduct}=="1100", ACTION=="bind", RUN+="/usr/bin/midex3fwloader 0x0a4e 0x1100"

Remember to edit the kernel module code for the MIDEX3 ID and ports mentioned on the comments above.

midex3fwloader.c.tar.gz