Windows 10: Trying to Analyze a Realtek Audio driver install

  1.    03 Jan 2017 #1

    Trying to Analyze a Realtek Audio driver install


    This thread is a continued discussion from another thread Latest Realtek HD Audio Driver Version post #1904 (Didn't want to hijack original thread)

    CountMike said: View Post
    <snip>Biggest problem is finding what the heck does Realtec uses ????
    Agreed. But seeing how and which driver is selected is a start. Will try and walk through in this thread as best i know. Understanding Windows drivers is a black art. I say my knowledge is a light shade of grey Will explain what I know (or think I know ) as best I've come to understand things.


    As I see it, everything is driven by Hardware ids. (There are also Compatible IDs that matter but will say Hardware Ids to refer to both for convenience unless a distinction need be made)

    Fyi for anyone reading… every driver includes an INF file (file with an .inf extension). This is a text based file you can open with Notepad. It tells windows what devices, OS and PC architectures the driver supports. It also has instructions telling windows what driver files to install, directories they belong in, how to modify the registry, define and start services, etc. It’s all text, but is still cryptic when you see it.

    If you look at the Realtek audio driver download on your PC you'll find the INF and driver files split between 2 folders WIN32 and WIN64. (I've seen a single INF file can be written to support either 32 or 64 bit or can be written to support both). The folders contain both the INFs and all the drivers files needed for all the driver installs as defined by all the INFs

    Typically when a device is installed its Windows that looks at the different driver INF files and Windows chooses what it thinks is best for your PC hardware. However, Ifound when you run Setup for the Realtek audio driver, it's Realtek that makes that choice.
    @CountMike
    Of course, simplest way to tell which Realtek HD audio driver was chosen and installed among all the possibilities is right clicking the device->Properties->Details. Scroll down and select inf name. File will be named oem.nnn. (When Windows installs the driver, the original INF file gets renamed to oem.nnn. To map oem.nnn back to the original INF filename, enter from a command prompt
    Code:
    dism /online /get-drivers
    Once you have the original INF name, you can compare it to all the other INF driver files in the Realtek audio driver download and see what files are common across INFs and what files are unique to an INF driver install.

    Other things that can help understand is the Device Manger trace file ( C:\WINDOWS\inf\setupapi.dev.log ) and the Devcon tool but more about those later.

    /* EDIT */
    So CountMike, have a look and post the original INF filename used in your case. Also, in Device Manager on Details tab, scroll through the items and you should see one named something like Matching Device ID. Post that too
    Last edited by ComputerGeek; 03 Jan 2017 at 20:53.
      My ComputerSystem Spec

  2.    04 Jan 2017 #2

    These are INFs

    C:\WINDOWS\system32>Published Name : oem43.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : dot4prt.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Dot4Print
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Hewlett-Packard
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 10-Mar-15
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 7.0.0.29
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem44.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : ccdcmbx64.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Wireless Communication Devices
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Nokia
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 26-Aug-11
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 7.1.32.72
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem45.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : virtualaudio.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : MEDIA
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Wondershare Software Co., Ltd.
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 02-Nov-12
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 1.0.0.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem5.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : cnnctfy4_lwf.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : NetService
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Connectify
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 01-Sep-15
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 3.2.4.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem50.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : prnms009.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Printer
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Microsoft
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 21-Jun-06
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 10.0.14986.1000
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem51.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : prnms001.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Printer
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Microsoft
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 21-Jun-06
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 10.0.14986.1000
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem53.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : c0309792.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Display
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Advanced Micro Devices, Inc.
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 19-Dec-16
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 21.19.407.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem6.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : dfx11_1x64.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : MEDIA
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : DFX
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 28-Aug-12
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 11.1.0.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem7.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : conwise btx64x86.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Bluetooth
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : CONWISE Technology Corporation Lt
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 05-Jan-08
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 1.0.0.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem8.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : cfywlan2_lwf.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : NetService
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Connectify
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Date : 22-Oct-15
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy) Version : 3.2.4.0
    The system cannot accept the date entered.
    Enter the new date: (dd-mm-yy)

    C:\WINDOWS\system32>Published Name : oem9.inf
    'Published' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Original File Name : scadrv60.inf
    'Original' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Inbox : No
    'Inbox' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Class Name : Image
    'Class' is not recognized as an internal or external command,
    operable program or batch file.

    C:\WINDOWS\system32>Provider Name : Hamrick Software
    'Provider' is not recognized as an internal or external command,
    operable program or batch file.

    Matching Device Id:
    hdaudio\func_01&ven_10ec&dev_0889&subsys_1458a132
      My ComputerSystem Spec

  3.    04 Jan 2017 #3

    Hmmm... Somehow your output got mangled. Let's try this again. I'll want
    • Original INF file name and
    • Matching ID

    I'll write the instructions for original INF in separate post that follows so I can reference it again if I want it for someone else in the future

    For matching ID, Right click the device in Device Manager, select Properties. Click the Details tab. Scroll through the pull down menu to find and select Matching Device ID. ​Post the ID it shows
      My ComputerSystem Spec

  4.    04 Jan 2017 #4

    Find the driver's original INF filename for a device
    When Windows installs a driver that wasn't included on the original Windows install media, it renames the original driver INF filename to oem.nnn where nnn are digits. (That's just the way Windows does it.) Windows uses whatever digits are next in sequence or available.


    1. You first need know the INF filename for the device. Right click the device in Device Manager, select Properties. Click the Details tab. Scroll through the pull down menu to find and select ​Inf name.
      • If the filename starts oem continue to step 2. Otherwise, it's the original filename.

    Click image for larger version. 

Name:	oem.PNG 
Views:	3 
Size:	50.8 KB 
ID:	115897

    2. Open an elevated command prompt. Enter or copy/paste the text below
    Code:
    dism /online /get-drivers
    You'll see output something like below. Find the oem.nnn of your device and you'll see the original file name along with it
    Code:
    Published Name : oem95.inf
    Original File Name : unifhid.inf
    Inbox : No
    Class Name : HIDClass
    Provider Name : Logitech
    Date : 9/9/2016
    Version : 1.10.78.0
    
    
    Published Name : oem96.inf
    Original File Name : nv_dispi.inf
    Inbox : No
    Class Name : Display
    Provider Name : NVIDIA
    Date : 10/25/2016
    Version : 21.21.13.7570
    Last edited by ComputerGeek; 06 Jan 2017 at 09:20.
      My ComputerSystem Spec

  5.    05 Jan 2017 #5

    Details = oem2.inf
    Published Name : oem2.inf
    Original File Name : hdxpcee4.inf
    Inbox : No
    Class Name : MEDIA
    Provider Name : Realtek Semiconductor Corp.
    Date : 20-Dec-16
    Version : 6.0.1.8023
      My ComputerSystem Spec

  6.    05 Jan 2017 #6

    fyi... 2 simple tools i like to use when i searching for INFs, text in INFs and comparing INF files
    • SearchMyFiles (freeware from Nirsoft). Use it to search for files or search for text inside of files. Supports wild cards. Easy interface can used for all versions of Windows
    • Notepad++. Comparing INF files

    For our discussion, I have Realtek HD Audio driver Relase v2.80, Driver Version 6.0.1.8004 downloaded. Here's initial findings
    • The Realtek driver download has both a WIN32 and a WIN64 folder.
      • There are 83 INFs in WIN32.
      • 94 INFs in WIN64 meaning
      • A total 177 INF files in the driver download.
      • That means this download supports 177 different config variations of the Realtek driver. Two different people with different PCs can have different INF files used to do their install meaning they have different file configurations of the driver

    • The Realtek driver download itself includes the union of all driver files needed to support all of the 177 different driver packages as defined by INFs i.e. all driver files for all INFs are in the download. Each INF only uses (defines) a subset of the files as part of the driver being installed
    • Your earlier post showed h/w id hdaudio\func_01&ven_10ec&dev_0889&subsys_1458a13 for your audio chip
    • When I search all INFs for the h/w id it's found in only one INF, file hdxpcee4.inf. That means of all the 177 driver INFs (i.e. driver configurations) in the Realtek download there was only one choice for your h/w
    • File hdxpcee4.inf was found in the WIN64 folder leads me to believe there's only a 64-bit driver for your audio chip

    However, note an INF can be defined to support only a 32 bit driver, only a 64 bit driver or it can be written to support both the 32 and 64 bit driver for a h/w id.

    Every plug and play device (in this case Realtek HD Audio chips) have a set of IDs burned into the firmware by the vendor (Realtek). Windows uses these IDs to try and find suitable drivers. If I google your h/w id, the result indicates its a Realtek audio chip on a Gigabyte m/b. (Shorter h/w ids can indicate to use a generic driver. A generic driver wouldn't indicate a specific board. But your h/w ID is specific)

    Click image for larger version. 

Name:	2017-01-05_120158.jpg 
Views:	21 
Size:	45.1 KB 
ID:	115990
      My ComputerSystem Spec

  7.    05 Jan 2017 #7

    My "problem" is not drivers themselves, they are all working fine, tried dozen(s) of them. I tend to collect drivers so I have bunch of them from few years ago. The thing I want to do is to find what Realtek uses to identify MB make and eventually spoof it to think it's Asus or MSI.
    Used text search and than even manually to go thru .inf and Setup .ini files and nothing resembling MB make came out. Bunch of .ini files are for languages, some deal with parts of GUI etc. but couldn't find anything about GUI as a whole.
      My ComputerSystem Spec

  8.    05 Jan 2017 #8

    CountMike said: View Post
    My "problem" is not drivers themselves, they are all working fine, tried dozen(s) of them. I tend to collect drivers so I have bunch of them from few years ago. The thing I want to do is to find what Realtek uses to identify MB make and eventually spoof it to think it's Asus or MSI.
    Used text search and than even manually to go thru .inf and Setup .ini files and nothing resembling MB make came out. Bunch of .ini files are for languages, some deal with parts of GUI etc. but couldn't find anything about GUI as a whole.
    IMHO As said before, it's all about the hardware IDs.

    You need either find/determine the h/w ids of realtek chips on an ASUS board you think compatible (there's often a lot of customization) OR search for "asus" but you're doing it wrong. Download strings from Sysinternals and put in C:\Windows\system32. Open elevated command prompt, navigate to the directory where the unzipped Realtek download is stored.
    Code:
    strings -s * | findstr -i "asus" 1> c:\asus.txt 2>&1
    I've attached the output. Then i'd guess which dll's might be ASUS specific based on output. Then i'd search that .dll for ALL strings and see if any other mb vendor is in it too. As an example, for x64, I found AcpiServiceVnA64.dll
    Code:
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ASUS SYSTEM CONTROL PIPE
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: E:\projects\ASUS System Control Service\AsusService\AsusService64\AsusService64\x64\Release\AsusService64.pdb
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: AsusService64.dll
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ??0CAsusService64@@QEAA@XZ
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ??4CAsusService64@@QEAAAEAV0@AEBV0@@Z
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ?fnAsusService64@@YAHXZ
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ?nAsusService64@@3HA
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ASUSTeK Computer Inc.1>0<
    C:\mytemp\WIN64\AcpiServiceVnA64.dll: ASUSTeK Computer Inc.0
    which I also then searched looking for all strings and didn't see any other mb vendor names other then ASUS

    Search through WIN64 INF files to find INFs containing that .dll. Those are ASUS INF driver packages you could try install... though often with customizations to support the chip on what's on the real mb, no idea if the driver on your machine would still work... but i guess that's what you want to test. Of course you also need hack the INF file to add your own hwid and still get Windows to agree to install it even after you broke the digital sig for the driver. But that's a whole other challenge you need mount. You can google and find others describe how to create a new digital sig and trick Windows into using your new one, not the one the digital sig that came with the original driver package.

    Good luck.
    Trying to Analyze a Realtek Audio driver install Attached Files
      My ComputerSystem Spec


 

Related Threads
Latest Realtek High Definition Audio Codecs Last Updated: March 21st 2017 DRIVER VERSION: 6.0.1.8098 (32-bit and 64-bit Windows) Download at: Microsoft Update Catalog Direct download:
Realtek Driver Audio in Drivers and Hardware
Look in vídeo, My microphone audio is cut from nothing. Look my computer setings and please, help me. (Windows 10) (Driver : Realtek Hight Audio Definition) https://www.youtube.com/watch?v=P15hcFXsJ3U&amp;feature=youtu.be
In my right speaker, I have a slight distortion when i hear high-pitched sounds. I checked on my headphones and I dont hear it. I updated my Realtek audio drivers a few times. It improved the first time. I still have a subtle issue and I'm not...
Hi guys, I have some issue with my internal mic. I've updated to the latest Realtek HD Audio Driver from this forum, I then used windows "Voice Recorder" program to record my voice to see if the mic was working, but it did not register a single...
New RealTek HD Audio Driver available in WU. 18634
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 23:23.
Find Us
Twitter Facebook Google+ Ten Forums iOS App Ten Forums Android App



Windows 10 Forums