I am facing an obscure behaviour of device naming when trying to use multiple USB midi devices of the same type of hardware. As this might be hardware/system/driver related, here is my general setup:
- host: Windows 8.1 x64 (tested on multiple machines)
- usb devices: 2x Livid Brain V2 (a general purpose usb-midi interface)
The two devices (same hardware, let's call them device X and Y) are flashed with two different firmware flavours so that they appear with different names in the midi enumeration. If I only connect device X it shows itself as "Brain2" / if I only connect device Y it's "Brain2B". Those are the names I get from the MIDIINCAPS / MIDIOUTCAPS (winmm.dll). So far so good.
The problem arises as soon I connect both devices at the same time, than both get the same name (of the latter connected) - so the enumeration changes:
- first X, then Y => both get the name "Brain2B"
- first Y, then X => both get the name "Brain2"
However, I can access and use the devices but I am not able to distinguish between them anymore (which is basically the same starting position as having the identical firmware on both devices).
I'd be happy if anyone could point me in the right direction. Has anyone encountered anything similiar? Could this be a system related issue? (Or is it a bad driver, maybe?) Thanks in advance!
EDIT:
I had a closer look at the usb properties with a tool callled USB Device Tree Viewer (similar to USBView) and it turned out the identifiers are correct there. So, how does winmm.dll get the midi enumeration - could it be a bug in there? (unlikely)
Moritz
(btw: here is the related topic/post in the manufacturer's forum: link)