Regarding High Definition Audio device HardwareID

Anonymous
Hi,
Our product uses customized Hardware which supports Windows 10 IOT Enterprise OS
By default my High definition Audio device Hardware ID is :HDAUDIO\FUNC_01&VEN_111D&DEV_76D9&SUBSYS_103C184B&REV_1001 but sometimes with multiple restarts the Hardware is getting changed to different ID. Some thing like 'HDAUDIO\FUNC_01&VEN_111D&DEV_76D9&SUBSYS_80860101&REV_1001
It is not happening frequently. Only sometimes when the system is restarted id is changing.
It would be great if someone helps me out why windows is changing this hardware ID.
Thanks,
{count} votes
Hi,
Thanks for the reply.
In our application in one of the case we are reading this Hardware ID from device Manager and comparing with the hardcoded Hardware ID and if it matches we are saying the Audio device is good. If it doesn't exist we are throwing an error like 'Audio Device failed'.
So this triggered me to check this. When i check it Hardware ID is getting changed.
Thanks,
Hi,
Could you please put the screenshot of the hardcoded Hardware ID here? Is it the PnP device ID shown in the System Information?
I've checked my High Definition Audio Hardware ID in Device Manger and System Information but they are in totally different format.
You've mentioned your application. Do you mean that this application determines whether the Hardware ID in Device Manager and hardcoded one match? When the application finds a mismatch and reports "Audio device failed", does the device do fail?
Yes correct.
We are using SetupDiEnumDeviceInfo() api to get the all the device information and comparing with each device Hardware ID with harcoded Hardware ID which is HDAUDIO\FUNC_01&VEN_111D&DEV_7675&SUBSYS_00000100&REV_1001 because we thought hardware id will always be always constant.
But sometimes am seeing the Audio Hardware ID is getting changed in the Device manager.
Is anyone has an idea why windows is changing the Hardware ID?
Is anyone has an idea why windows is changing the Hardware ID?
When i checked the Event log looks like the below component is changing the hardware ID:
Driver Management concluded the process to install driver hdaudio.inf_amd64_0c2cf47624b46899 for Device instance ID HDAUDIO\FUNC_01&VEN_111D&DEV_7675&SUBSYS_CC823D27&REV_1001\4&1A9CE985&0&0001 with the following status: 0x0
Driver Management has concluded the process to add Service HdAudAddService for Device Instance ID
HDAUDIO\FUNC_01&VEN_111D&DEV_7675&SUBSYS_CC823D27&REV_1001\4&1A9CE985&0&0001 with the following status: 0x0
Microsoft-Windows-UserPnpP InstallDeviceID :http://manifests.microsoft.com/win/2004/08/windows/userpnp
For more Info :
Source : UserPnp
Event ID : 20001
Hi,
I’m writing to follow up with you on this post. Was the problem resolved?
If you are satisfied with our solution, I’d like to mark this issue as "Answered". Please also feel free to unmark the issue, with any new findings or concerns you may have.
Thanks,
Alice Yang
Sign in to comment
If when your application gives results “Audio device failed” but the device still works. We could let it go and adjust the criteria of your application for “Audio device is good” as Annabooks suggests.
One device may have multiple Hardware IDs and use different IDs in different situations. For example, the most compatible ID is ID1. But there are less compatible ones, ID2, ID3…When driver that matches less compatible ones is found earlier, it’s used and device works. Vice versa. I think it’s the reason why you see changing hardware IDs in event log.
============================================
If the Answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
Sign in to comment
2 additional answers
Sort by: Most helpful
As Alice pointed out, the Audio driver hardware ID can be seen in Device Manager. What and where is this other Hardware ID that you are comparing too?
Hardware ID's shouldn't change since they are needed to load the device driver. The master OS hardware ID is something different that is used for activation
Some times different stepping of silicon has different compatibility IDs: SUBSYS_CC823D27&REV_1001\4&1A9CE985&0&0001. If you look in the audio drivers INF file, you will see a list of PnP IDs many with the core VEN\DEV but with different SUBSYS_. For example, the audio driver you are using is from IDT. Checking one of the IDT drivers I have, the following list of PnP IDs in the INF file:
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C9&SUBSYS_103C2AA7
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C9&SUBSYS_103C2AA8
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C9&SUBSYS_103C2ABB
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C9&SUBSYS_103C2ADD
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2AB5
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C3AB5
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2AB6
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C3AB6
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2ACE
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2AC8
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2ACD
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2AC3
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2ACB
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2ADC
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2AE5
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2AEC
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2AF1
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2AFA
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76E0&SUBSYS_103C2B04
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_7676&SUBSYS_103C2AD5
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_7676&SUBSYS_103C2ADA
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_7676&SUBSYS_103C2AE0
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2AF3
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76C7&SUBSYS_103C2B17
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76F3&SUBSYS_103C2AF7
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76DF&SUBSYS_103C2B16
%ST.DeviceDesc%=STHDA,HDAUDIO\FUNC_01&VEN_111D&DEV_76DF&SUBSYS_103C2B1C
There are different SUBSYS for the same VEN\DEV ID. Your application should really be checking to see if the driver is working correctly by checking the driver status based on the VEN\DEV - HDAUDIO\FUNC_01&VEN_111D&DEV_7675.
Can't agree more
Sign in to comment
A unique HWID number is generated when the OS is first installed on the computer as a part of Product Activation. It identifies the hardware components that the system is using, and this number is communicated to Microsoft.
With each restart the OS will generate a different HWID number and compare it to the original to make sure that the operating system is still running on the same device.
The reason behind HWID is to ensure that the operating system is not being used on any device other than the one for which it was purchased and registered.
Sign in to comment
Activity