Audio devices messed up nearly each time computer is started

Hello,
this is not a problem in mAirList, but in all probability Windows / driver related isuue, which affects my mAirList and other audio SW configuration though.

My config: Windows 10 Pro 64bit CZech, Behringer UMC 1820 soundcard (driver 4.38.0.0, the latest at the moment), Logitech C270 webcam, mAirList 6.1 + some other audio SW

I use Direct Sound / WASAPI sound drivers in mAirList and the other audio apps, which performs very well for me, no problem as far. Each input / output pair of the UMC 1820 is displayed as separate audio device in the Windows Sound Manager and in all audio apps I use (some of them are not capable of using ASIO drivers, that is one reason I use the DS/WASAPI, the other is that I run Thimeo StereoTool in ASIO mode on one I/O pair for some realtime processing, so I cannot use the ASIO mode in other apps, even if they are capable of it) . I have configured different ins/outs in each app as well as for individual players etc. in mAirList.

The problem is, that nearly each time I turn on or restart the computer, the Windows audio devices (i.e. in/out pairs) are in different order, as they were before the restart / power cycle. It means, that all the apps and players in mAirList are routed to different inputs/outputs than intended and configured before, so I have to reconfigure them all again after (nearly) each system start, which is pretty frustrating. The problem does not affect StereoTool, running in ASIO mode, as mentioned above. Aside that, the whole system works fine, stable, no exclamation marks in the Device Manager etc., using the latest drivers.
It seems, like the UMC is detected with a different GUID (or what, sorry, here my knowlege ends) sometimes, despite it is connected to the very same USB port and I do not make any changes in the PC’s configuration, nor connecting / disconnecting any devices etc., and the soundcard is powered on before the computer starts. (I anticipate that also from the fact, that in the Audio Devices Control Panel in mAirList the device is labeled differently from time to time, like (7 - BEHRINGER UMC 1820) one day and (2 - BEHRINGER UMC 1820) when I turn the computer on the other day. That is also probably the reason, that despite I save the Audio Devices configuration in mAirList, it cannot be correctly reloaded later after system restart, when the audio devices mess-up occures.).

Any help is appreciated, thank you very much.

P.S. I dont know if it helps, but these messages appear in the Windows Device Manager / Properties / Events dialog (sorry if the terms are not precise, it is labelled in czech on my system):

[code]Device USB\VID_1397&PID_0503\10DA9A04 was started.

Driver Name: oem143.inf
Class Guid: {c1ed5f38-23ff-4313-9bec-fb56977c57a3}
Service: umc_audio
Lower Filters:
Upper Filters:

Device USB\VID_1397&PID_0503\10DA9A04 was configured.

Driver Name: oem143.inf
Class Guid: {c1ed5f38-23ff-4313-9bec-fb56977c57a3}
Driver Date: 02/20/2018
Driver Version: 4.38.0.0
Driver Provider: BEHRINGER
Driver Section: _Install_3.NTamd64
Driver Rank: 0xFF0001
Matching Device Id: USB\VID_1397&PID_0503
Outranked Drivers: usb.inf:USB\COMPOSITE:00FF2003
Device Updated: false
Parent Device: USB\ROOT_HUB30\4&1dc62523&0&0

Device USB\VID_1397&PID_0503\10DA9A04 was not migrated due to partial or ambiguous match.

Last Device Instance Id: USB\VID_1397&PID_0503\52FF9D79
Class Guid: {c1ed5f38-23ff-4313-9bec-fb56977c57a3}
Location Path: PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(11)
Migration Rank: 0xF000000000000000
Present: false
Status: 0xC0000451

in audio devices section:

Správa ovladačů dokončila proces instalace ovladače umc_audioks.inf_amd64_f37ab1b3ae754954 pro ID instance zařízení TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\10DA9A04 s následujícím stavem: 0x0.

Správa ovladačů ukončila proces přidání služby umc_audioks pro ID instance zařízení TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\10DA9A04 s následujícím stavem: 0.

Device TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\10DA9A04 was not migrated due to partial or ambiguous match.

Last Device Instance Id: TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\52FF9D79
Class Guid: {4d36e96c-e325-11ce-bfc1-08002be10318}
Location Path:
Migration Rank: 0xF0000000FFFFF002
Present: false
Status: 0xC0000451

Device TUSBAUDIO_ENUM\VID_1397&PID_0503&KS\10DA9A04 requires further installation.[/code]

With DirectSound, devices are addressed by their index (position in the device list), which will even change when you adjust the default playback device in Windows.

With WASAPI, devices are adressed by their internal GUID - and that will never change, unless Windows re-detects the device as a “new” devices (and gives it a new name, counting up the number). This usually only happens when you switch USB ports. (Or receive a major Windows 10 upgrade, for that matter.) I haven’t heard of any cases where it changed just by a simple reboot.

So it’s actually a Windows or a driver issue. The question is, why does Windows re-detect it as a new device all the time?

Yes, I guess it is a driver issue, because the problem has not occured, or at least not so often, with other soundcard I used earlier on the same system. I will try to get help from the Behringer support (hope so, because I am very pleased with the UMC 1820 otherwise).

Torben, thank you very much for the deeper clarification of the DirectSound / WASAPI enumeration mechanisms.

Maybe a manufacturing defect, as stated by the technical support. The soundcard identifies itself with different serial number (ID) every few reboots (tested on several different computers), so the computer handles it as different piece of hardware, which leads to the reordering of ins/outs in DirectSound / WASAPI.
Because I cannot currently allow to wait for RMA, I have resolved it by disabling / uninstalling the WDM drivers and using just the ASIO mode (which works fine), with the help of ASIO Link Pro utility for apps which don’t support ASIO. Works fine.

Another working solution without the ASIO Link Pro utility, just using standard Behringer WDM drivers:
set IgnoreHWSerNum flag in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\IgnoreHWSerNum13970503
(Binary)
01
(the number behind the “IgnoreHWSerNum” derived from the Hardware ID of the UMC1820 in Windows Device Manager, VID_1397&PID_0503 in my case)

The serial number is still changing, but it does not affect anymore the order of WDM sound devices.

Adapted from: https://www.ftdichip.com/Support/Knowledgebase/index.html?ignorehardwareserialnumber.htm