-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[question] about driver installation for MIDI and Audio composite devices #540
Comments
It has to do with the USB descriptors. Many devices with an appropriate Interface Association Descriptor will get picked up by the MIDI 2 driver. In my testing, I see most common MIDI 1 devices picked up by the older usbaudio.sys MIDI 1 class driver, and a few others, including several Korg products, picked up by the new driver. A customer can also move most MIDI 1 devices to the new driver manually if they want to. I'm working on a more friendly way to do that. And, of course, vendor driver MIDI 1 devices get picked up only by the vendor driver, and so are enumerated by the KSA transport. The Moog One issue is unrelated. We're looking into that. #302 is a very specific case where the code is making assumptions about having the USB Audio 1.0 capabilities of usbaudio.sys available. In that case, the device cannot be used with the new driver. The combination of USB MIDI 2.0 and USB Audio 1.0 is not supported. USB MIDI 2.0 and USB Audio 2.0 is as is USB MIDI 1.0 and USB Audio 2.0. |
I am unclear on what you are asking with point 2 above "Is this behavior of driver for these cases installation assumed?" |
Does an "appropriate IAD" needs setting bFunctionSubClass as 0x03 (MIDI Streaming)? There seem to be several devices set the value as 0x00, and they are picked up by the old driver.
Yes, on my research, I think IAD and AudioControl descriptor affect which driver is picked up.
I think it is good.
Yes.
I understand, thanks for your explanations. Point 2 of my question means that "For the existing class-compliant (not using vendor drivers) USB MIDI 1.0 devices, is it correct behavior that the driver installed will change depending on the device?" . |
@tosugawara I'd need to get some info from the USB team to know for sure on the IAD differences. The Moog One has a bad descriptor number in it, which shouldn't work anywhere, but does. So that's an outlier. As to which driver will be picked up: Correct. It will vary by device. However, a customer can move a class-compliant MIDI 1 device to the new driver if they want to. I'm looking into ways to make that option friendlier. |
On Windows 11 Insider Canary 27788, it seems that the new USBMIDI2.sys driver automatically assigned for most USB MIDI 1.0 (class-compliant) devices when they are plugged. These work as "KS" devices and are listed in "MIDI 2.0 UMP Drivers (USB)" in MIDI Setting App.
But when some of MIDI and Audio composite devices which present two items listed in Device Manager has been plugged, USBMIDI2.sys driver seems to be not assigned for these devices. These works as "KSA" devices and are listed in "MIDI 1.0 Driver (USB, etc)" in MIDI Setting App.
(for example: KORG Keystage etc.)
@Psychlist1972
I have some questions for these cases:
Is the different results written above caused by being composite device, or setting of USB Descriptors?
(My research is not enough, but these cases seem to be related with setting of Audio Control Interface in USB Descriptor.)
Is this behavior of driver for these cases installation assumed?
[BUG] Cannot Force USB MIDI 1.0 Device to USB MIDI 2.0 driver if Device Also has USB Audio #302
[BUG][Device Compat] Moog One does not work with Windows MIDI Services #527
The text was updated successfully, but these errors were encountered: