I need to access to a audio midi keyboard (M-audio Code49) connected via USB, in wine. The program .exe that I use is preset editor that send or retrieve presets stored in the keyboard controler.
Available here : https://m-audio.com/support/download/so ... dows-1.0.6
I've tried to add string key in using
Code: Select all
regedit
https://wiki.winehq.org/Wine_User%27s_G ... llel_Ports
Here are the steps I followed so far ( currently run Wine 7, stable.)
First, I connect my controller, turn it on, and then use this simple script to list the usb currently connected and print the corresponding serial ID.
Code: Select all
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
)
done
Code: Select all
/dev/sdb - _USB_DISK_3.2_07001A60B1A20F76-0:0
/dev/sdb1 - _USB_DISK_3.2_07001A60B1A20F76-0:0
/dev/sda - _USB_DISK_3.2_07001AE54BA30234-0:0
/dev/input/event9 - M-Audio_Code_49_Ver00.10
/dev/input/event8 - M-Audio_Code_49_Ver00.10
/dev/input/mouse3 - M-Audio_Code_49_Ver00.10
/dev/snd/controlC1 - M-Audio_Code_49_Ver00.10
Note : It is a composite usb device (one cable, but recognize four distinct devices).
I then list the dos device mapping for wine, using the command
Code: Select all
ls -l .wine/dosdevices
Code: Select all
lrwxrwxrwx 1 sly sly 10 Jun 29 01:09 c: -> ../drive_c
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com1 -> /dev/ttyS0
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com10 -> /dev/ttyS9
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com11 -> /dev/ttyS10
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com12 -> /dev/ttyS11
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com13 -> /dev/ttyS12
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com14 -> /dev/ttyS13
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com15 -> /dev/ttyS14
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com16 -> /dev/ttyS15
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com17 -> /dev/ttyS16
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com18 -> /dev/ttyS17
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com19 -> /dev/ttyS18
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com2 -> /dev/ttyS1
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com20 -> /dev/ttyS19
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com21 -> /dev/ttyS20
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com22 -> /dev/ttyS21
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com23 -> /dev/ttyS22
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com24 -> /dev/ttyS23
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com25 -> /dev/ttyS24
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com26 -> /dev/ttyS25
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com27 -> /dev/ttyS26
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com28 -> /dev/ttyS27
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com29 -> /dev/ttyS28
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com3 -> /dev/ttyS2
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com30 -> /dev/ttyS29
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com31 -> /dev/ttyS30
lrwxrwxrwx 1 sly sly 11 Jun 29 15:47 com32 -> /dev/ttyS31
lrwxrwxrwx 1 sly sly 11 Jun 29 15:18 com33 -> /dev/ttyS28
lrwxrwxrwx 1 sly sly 11 Jun 29 15:18 com34 -> /dev/ttyS29
lrwxrwxrwx 1 sly sly 11 Jun 29 15:18 com35 -> /dev/ttyS30
lrwxrwxrwx 1 sly sly 11 Jun 29 15:18 com36 -> /dev/ttyS31
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com4 -> /dev/ttyS3
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com5 -> /dev/ttyS4
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com6 -> /dev/ttyS5
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com7 -> /dev/ttyS6
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com8 -> /dev/ttyS7
lrwxrwxrwx 1 sly sly 10 Jun 29 15:47 com9 -> /dev/ttyS8
lrwxrwxrwx 1 sly sly 8 Jun 29 01:09 d:: -> /dev/sdb
lrwxrwxrwx 1 sly sly 16 Jun 29 15:47 e: -> /media/sly/deneb
lrwxrwxrwx 1 sly sly 8 Jun 29 01:09 e:: -> /dev/sda
lrwxrwxrwx 1 sly sly 16 Jun 29 15:47 f: -> /media/sly/orion
lrwxrwxrwx 1 sly sly 9 Jun 29 01:09 f:: -> /dev/sdb1
lrwxrwxrwx 1 sly sly 1 Jun 29 01:09 z: -> /
SInce the midi keyboard controller does not seems to be there (I don't see any correspondance with the previous outputs), I then use
Code: Select all
regedit
NAME - Type - Data
COM1 - REG_SZ - /dev/input/event8
COM2 - REG_SZ - /dev/input/event9
COM3 - REG_SZ - /dev/input/mouse3
COM4 - REG_SZ - /dev/snd/controlC1
But without sucess. The preset editor.exe does not detect the midi controller.
Some additional informations:
- The midi keyboard works well with linux app.
- I installed a virtual piano midi keyboard .exe via wine, like this one : https://vmpk.sourceforge.io/
The application detects the midi keyboard, and I didn't even had to remap the USB using
Code: Select all
regedit
So, I suspect that the preset editor.exe do not use the same usb entry than a standard virtual piano applications.
I don't really know where to look now, any help or idea are welcome

Best