Skip to content

[TODO]: Create cleaner for Korg driver uninstall as it (potentially?) messes up other WinMM ports #602

@Psychlist1972

Description

@Psychlist1972

The Korg driver uninstallation appears to create a "midi0" entry. "midi0" is invalid, it should be "midi".
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32

Mididiag output: Note the "midi0" entry. This should be "midi"

reg_drivers32_entry       : MidisrvTransferComplete = 1
reg_drivers32_entry       : midi0 = wdmaud2.drv
reg_drivers32_entry       : midi1 = wdmaud.drv
reg_drivers32_entry       : midi2 = wdmaud.drv
reg_drivers32_entry       : midi3 = wdmaud.drv
reg_drivers32_entry       : midi4 = wdmaud.drv
reg_drivers32_entry       : midi5 = wdmaud.drv
reg_drivers32_entry       : midi6 = wdmaud.drv

As a result, it can cause wdmaud2.drv to not be seen by Windows, and the WinMM endpoints will not work.

A correct restoration of properties would have midi set to wdmaud.drv and midi1 set to wdmaud2.drv. Doing that restores WinMM functionality.

Image

From this discussion:
https://discord.com/channels/980245825202552942/980248130379460619/1350220582557319280

Recording this here as I'll likely need to create a cleanup tool for this, and other customers should be aware.

Edit: Full mididiag.exe output


========================================================================================================================
header
========================================================================================================================

This application Copyright (c) 2024- Microsoft Corporation
Information, license, and source available at https://aka.ms/midi

Microsoft Windows MIDI Services - Diagnostics Report

ver_build_source          : GitHub Preview
ver_build_name            : Customer Preview 2
ver_build_full            : 1.0.3-preview-11.250228-237

========================================================================================================================
os
========================================================================================================================

os_version                : 10.0.27813 

========================================================================================================================
processor_env
========================================================================================================================

PROCESSOR_ARCHITECTURE    : AMD64
PROCESSOR_IDENTIFIER      : AMD64 Family 25 Model 33 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL           : 25
PROCESSOR_REVISION        : 2102

========================================================================================================================
native_system_info
========================================================================================================================

processor_architecture    : 64-bit Intel/AMD
processor_level           : 25
processor_revision        : 0x2102
------------------------------------------------------------------------------------------------------------------------
running_emulated          : Native Intel/AMD x64 on x64 PC (Not Emulated)
------------------------------------------------------------------------------------------------------------------------

timecaps_min_period       : 1
timecaps_max_period       : 1000000

timer_resolution_min      : 0.500 ms
timer_resolution_max      : 15.625 ms
timer_resolution_current  : 0.500 ms

========================================================================================================================
reg_drivers32
========================================================================================================================

reg_drivers32_entry       : MidisrvTransferComplete = 1
reg_drivers32_entry       : midi0 = wdmaud2.drv
reg_drivers32_entry       : midi1 = wdmaud.drv
reg_drivers32_entry       : midi2 = wdmaud.drv
reg_drivers32_entry       : midi3 = wdmaud.drv
reg_drivers32_entry       : midi4 = wdmaud.drv
reg_drivers32_entry       : midi5 = wdmaud.drv
reg_drivers32_entry       : midi6 = wdmaud.drv

========================================================================================================================
enum_winrt_midi1_api_input_ports
========================================================================================================================

endpoint_device_id        : \\?\SWD#MMDEVAPI#MIDIU_KSA_6786417747213017648_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name                      : UMC1820 MIDI In
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\SWD#MMDEVAPI#MIDIU_KS_1799052488109692798_OUTPIN.0_INPIN.2_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name                      : nanoKONTROL2 _ SLIDER/KNOB

========================================================================================================================
enum_winrt_midi1_api_output_ports
========================================================================================================================

endpoint_device_id        : \\?\SWD#MMDEVAPI#MIDIU_KS_1799052488109692798_OUTPIN.0_INPIN.2_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name                      : nanoKONTROL2
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\SWD#MMDEVAPI#MicrosoftGSWavetableSynth#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name                      : Microsoft GS Wavetable Synth
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\SWD#MMDEVAPI#MIDIU_KSA_6786417747213017648_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name                      : UMC1820 MIDI Out

========================================================================================================================
enum_winmm_midi1_api_input_ports
========================================================================================================================

endpoint_count            : 0
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count      : 0

========================================================================================================================
enum_winmm_midi1_api_output_ports
========================================================================================================================

endpoint_count            : 0
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count      : 0

========================================================================================================================
enum_registry
========================================================================================================================

reg_current_config        : Default.midiconfig.json
reg_discovery_enabled     : true
reg_use_mmcss             : false
------------------------------------------------------------------------------------------------------------------------
reg_midisrv_exe           : "C:\Program Files\Windows MIDI Services\Service\midisrv.exe"
------------------------------------------------------------------------------------------------------------------------
reg_sdk_installed         : C:\Program Files\Windows MIDI Services\Desktop App SDK Runtime\
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : (Midisrv Transport)
reg_transport_clsid       : {2BA15E4E-5417-4A66-85B8-2B2260EFBC84}
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.MidiSrvTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : (Diagnostics Transport)
reg_transport_clsid       : {ac9b5417-3fe0-4e62-960f-034ee4235a1a}
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.DiagnosticsTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2KSAbstraction
reg_transport_clsid       : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.KSTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2KSAggregateAbstraction
reg_transport_clsid       : {0f273b18-e372-4d95-87ac-c31c3d22e937}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.KSAggregateTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2KSAggregateTransport
reg_transport_clsid       : {0f273b18-e372-4d95-87ac-c31c3d22e937}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.KSAggregateTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2KSTransport
reg_transport_clsid       : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.KSTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2LoopbackMidiTransport
reg_transport_clsid       : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.LoopbackMidiTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2VirtualMidiAbstraction
reg_transport_clsid       : {8feaad91-70e1-4a19-997a-377720a719c1}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.VirtualMidiTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name        : Midi2VirtualMidiTransport
reg_transport_clsid       : {8FEAAD91-70E1-4A19-997A-377720A719C1}
reg_transport_enabled     : true
reg_transport_dll         : C:\Program Files\Windows MIDI Services\Service\Midi2.VirtualMidiTransport.dll
file_version              : 1.0.0.1
------------------------------------------------------------------------------------------------------------------------

========================================================================================================================
sdk_runtime_status
========================================================================================================================

sdk_runtime_initialized   : true

========================================================================================================================
service_status
========================================================================================================================

available                 : true

========================================================================================================================
midi_clock
========================================================================================================================

clock_frequency           : 10000000
clock_now                 : 82120291784

========================================================================================================================
enum_transports
========================================================================================================================

transport_id              : {8FEAAD91-70E1-4A19-997A-377720A719C1}
name                      : Virtual Midi
transport_code            : APP
version                   : 1.0.0.0
author                    : Microsoft
description               : Provides virtual device (app-to-app MIDI) support for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id              : {AC9B5417-3FE0-4E62-960F-034EE4235A1A}
name                      : Diagnostics Endpoints
transport_code            : DIAG
version                   : 1.0.0.0
author                    : Microsoft
description               : Provides the built-in diagnostics loopback and diagnostics ping endpoints for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id              : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
name                      : Loopback MIDI
transport_code            : LOOP
version                   : 1.0.0.0
author                    : Microsoft
description               : Provides simple loopback app-to-app MIDI support
------------------------------------------------------------------------------------------------------------------------
transport_id              : {0F273B18-E372-4D95-87AC-C31C3D22E937}
name                      : KS MIDI (MIDI 1.0 Drivers)
transport_code            : KSA
version                   : 1.0.0.0
author                    : Microsoft
description               : Provides Kernel Streaming (KS) support for USB MIDI 1.0 kernel streaming drivers aggregated into a UMP endpoint.
------------------------------------------------------------------------------------------------------------------------
transport_id              : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
name                      : KS MIDI (UMP Drivers)
transport_code            : KS
version                   : 1.0.0.0
author                    : Microsoft
description               : Provides Kernel Streaming (KS) support for USB MIDI 1.0 and USB MIDI 2.0 using the new MIDI 2.0/UMP class driver.
------------------------------------------------------------------------------------------------------------------------

========================================================================================================================
enum_ump_api_endpoints
========================================================================================================================

endpoint_device_id        : \\?\swd#midisrv#midiu_ksa_6786417747213017648#{e7cce071-3c03-423f-88d3-f1045d02552b}
name                      : BEHRINGER UMC 1820
transport_code            : KSA
name_user_supplied        : 
name_endpoint_supplied    : 
name_transport_supplied   : BEHRINGER UMC 1820
desc_transport_supplied   : 
desc_user_supplied        : 

gtb_number                : 1
gtb_name                  : UMC1820 MIDI In
gtb_first_group_number    : 1
gtb_group_count           : 1
gtb_direction             : Message Source

gtb_number                : 2
gtb_name                  : UMC1820 MIDI Out
gtb_first_group_number    : 1
gtb_group_count           : 1
gtb_direction             : Message Destination

parent_id                 : TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\5A84AA56
parent_name               : BEHRINGER UMC 1820
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\swd#midisrv#midiu_diag_loopback_a#{e7cce071-3c03-423f-88d3-f1045d02552b}
name                      : Service Test Loopback A
transport_code            : DIAG
name_user_supplied        : 
name_endpoint_supplied    : 
name_transport_supplied   : Service Test Loopback A
desc_transport_supplied   : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied        : 
parent_id                 : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name               : MIDI 2.0 Diagnostics Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\swd#midisrv#midiu_diag_loopback_b#{e7cce071-3c03-423f-88d3-f1045d02552b}
name                      : Service Test Loopback B
transport_code            : DIAG
name_user_supplied        : 
name_endpoint_supplied    : 
name_transport_supplied   : Service Test Loopback B
desc_transport_supplied   : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied        : 
parent_id                 : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name               : MIDI 2.0 Diagnostics Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\swd#midisrv#midiu_diag_ping#{e7cce071-3c03-423f-88d3-f1045d02552b}
name                      : Service Test Ping (Internal)
transport_code            : DIAG
name_user_supplied        : 
name_endpoint_supplied    : 
name_transport_supplied   : Service Test Ping (Internal)
desc_transport_supplied   : Internal UMP Ping endpoint. Do not send messages to this endpoint.
desc_user_supplied        : 
parent_id                 : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name               : MIDI 2.0 Diagnostics Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id        : \\?\swd#midisrv#midiu_ks_1799052488109692798_outpin.0_inpin.2#{e7cce071-3c03-423f-88d3-f1045d02552b}
name                      : nanoKONTROL2
transport_code            : KS
name_user_supplied        : 
name_endpoint_supplied    : 
name_transport_supplied   : nanoKONTROL2
desc_transport_supplied   : 
desc_user_supplied        : 

gtb_number                : 0
gtb_name                  : nanoKONTROL2 _ CTRL
gtb_first_group_number    : 1
gtb_group_count           : 1
gtb_direction             : Message Destination

gtb_number                : 1
gtb_name                  : nanoKONTROL2 _ SLIDER/KNOB
gtb_first_group_number    : 1
gtb_group_count           : 1
gtb_direction             : Message Source

parent_id                 : USB\VID_0944&PID_0117\7&167c6443&2&3
parent_name               : nanoKONTROL2

========================================================================================================================
ping_test
========================================================================================================================

ping_attempt_count        : 10
ping_return_count         : 10
round_trip_total_ticks    : 3807
round_trip_average_ticks  : 380

========================================================================================================================
*** Successful Run ***
========================================================================================================================


========================================================================================================================
end_of_file
========================================================================================================================

Metadata

Metadata

Assignees

Labels

area-winmmwmdaud2.drv or other WinMM issuefixed-awaiting-public-release 🕙Fixed in our internal builds. Waiting to make its way to a public release.

Type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions