Jump to content











Photo
- - - - -

Windows 11 PE Audio

winpe winpe11 audio

  • Please log in to reply
No replies to this topic

#1 MetallicWheat

MetallicWheat
  • Members
  • 2 posts
  •  
    United States

Posted 2 weeks ago

Hey everyone, I'm currently working on integrating Audio/Sound into Windows PE 11 22621.
 
I've been following these two guides and have had limited success.
https://reboot.pro/i...wtopic=21235

https://msfn.org/boa...after-load-add/

I added all of the registry dependencies, Imported registry entries and edited registry permissions as listed in those guides.
I have also used dependency walker to add the following DLL Dependencies

Windows\System32\audiohandlers.dll
Windows\System32\audioresource*
Windows\System32\wdmaud.drv
Windows\System32\windows.media.devices*
Windows\System32\bluetoothapis*
Windows\System32\dxdiag*
Windows\System32\powerprof*
Windows\System32\MMDev*
Windows\System32\RMCLIENT*
Windows\System32\SSDM*

As well as all of the MS Drivers listed in the reboot.pro guide, And the Sound/iGPU Drivers for my specific computer

At startup I have startnet.cmd load all of the MS generic drivers and OEM Sound drivers as well as start mmcss, AudioEndpointBuilder, AudioSrv and also regsvr32 /s quartz.dll

The issues im facing is every driver loads except HDaudio.inf, And every service starts except for mmcss, It fails to start due to "Error 577, windows cannot verify the digital signature for this file" And audio from any program is non functional.

If anyone has any extra dependencies/registry entries I should add any help is greatly appreciated! 
 


#2 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted A week ago

Hi,

did you use a winbuilder to build you winpe ou did you use ADK tools?

 

every driver loads except HDaudio.inf

Please, give a detail for this (in a cmd, launch "net start HDaudio.inf") You can see the log files "x:\\windows\\inf\\setupapi.*.log".

 

 

 

 

every service starts except for mmcss, It fails to start due to "Error 577,...

Is it the driver or the service which gives you this error?

Drivers are signed in winpe64. They need a ".cat" file. Did you add the ".cat" file for hdaudio driver?

Hope this can help you.

Noel



#3 MetallicWheat

MetallicWheat
  • Members
  • 2 posts
  •  
    United States

Posted A week ago

 
Hi,
 
did you use a winbuilder to build you winpe ou did you use ADK tools?
 
Please, give a detail for this (in a cmd, launch "net start HDaudio.inf") You can see the log files "x:\\windows\\inf\\setupapi.*.log".
 
I am using the windows ADK and manually adding file dependencies and using DISM to add drivers.
My startnet.cmd loads the following drivers. acxhdaudio, audioendpoint, c_apo, hdaudio, hdaudss, ks.inf, kscaptur, ksfilter, wave.inf, wdmaudio.inf, As well as OEM specific intel/realtek audio drivers.
All of the listed drivers load successfully except for hdaudio.inf and i get the following error:
DrvLoad: Unable to load X:\Windows\System32\DriverStore\FileRepository\hdaudio.inf_amd64_9d91e80525dca930 (Error 0x80070103).
 
and checking the setupapi.dev.log I can see a few errors:
!    inf:           Included INF 'ks.inf' not found. Only system provided INFs may be included. Code = 1202, Line = 59
 
I have installed the ks.inf driver, but there is no ks.inf file in the folder containing the hdaudio.inf. Perhaps ks.inf needs to be loaded in the startnet before hdaudio? Maybe not considering ks.inf loads successfully and I try to load hdaudio afterwards i get the same error.
 
I also get the following errors:
!    dvs:           No better matching drivers found for device 'HDAUDIO\FUNC_01&VEN_10DE&DEV_0081&SUBSYS_1458375C&REV_1001\5&e939db7&0&0001'.
 
!    dvs:           No better matching drivers found for device 'HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_10280611&REV_1003\4&1be0487a&0&0201'.
 
When I have the OEM specific drivers installed, I can use a program called soundvolumeview https://www.nirsoft....olume_view.html
 
It lists the Intel HD audio output as a render device. But when I attempt to play audio through any application I get no sound, And in Procmon, The applications attempt to access the render device in the MMDevices registry and fail with a "NAME NOT FOUND" 

Is it the driver or the service which gives you this error?
 
Drivers are signed in winpe64. They need a ".cat" file. Did you add the ".cat" file for hdaudio driver?
 
it is the service, In my startnet cmd I run, 
 
C:\>net start mmcss 
Error 577: Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that was signed incorrectly or damaged, or that might be malicious software from an unknown source.
 
For the .cat files, I did not find any security catalog files for the hdaudio driver nor MMCSS sys file/service
 
I think my biggest issue now is the programs not communicating with the audio service and the output device. But that's just my guess.
 
Thank you for your help Noel.


#4 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted A week ago

some error occurs...



#5 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted A week ago

Hi,

Like you, i build my winpe without the help of a builder. They are helpfull but i don't want to use external programs. For many reasons.

The first one is that i can do it. The second is that what i make match my need. And my need is not to use winpe. My principal goal is to learn reverse engineering.

I add audio in my winpe 22h2 : [version 10.0.22621.382] and i write this post from this winpe11. WMP is not working. But i write this post and i heard a ".mp3" file in the same time in the session "system" the 13th March2023. ;)

In an old winpe 10, i also add hyperV. I show all my work i, the ennemy site. You can find with a search on the web for "microwinpebuilder".

I write an horrible PS script. I also write a pdf file where i put many other details. they contain some details about the load of the audio drivers.

Maybe you can loose some time to read them.

I stop for this comment about me.

Go back to you issue.

DrvLoad: Unable to load X:\Windows\System32\DriverStore\FileRepository\hdaudio.inf_amd64_9d91e80525dca930 (Error 0x80070103).

 

Because hdaudio is a "builtin" driver, its ".cat" comes in a "big/full" other ".cat". Without its ".cat", "drvload.exe" can't load it (some detail in my pdf).

"Drvload.exe" calls "drvinst.exe" and it's this last one who really does the installation of the driver.

I think the classics builders (Slore's WiMbuilder2, win10XPE project, Holmes32's PhoenixPE Project ...)  use an "modified" code for "drvinst.exe" progam. It's only an hypothesy. I don't care. I don't need.

 

I look in my script and i see this :

function audio{
    # 1- copie des cat du pilote hdaudio.sys? oui pour build 14393
    $catFileHdaudio = "Microsoft-Windows-Desktop-Shared-Drivers-onecoreuap-Package~31bf3856ad364e35~amd64~*.cat"
    affichage "Copie du .cat $catFileHdaudio"
    copy-item $(join-path $gSrcCatRoot $catFileHdaudio) -Destination $gMountCatRoot -Force
    # V0.0.0.2.0 : adaptation pour build 14393, retrait de la partie variable dans les noms de répertoire
    #$repHdAudio = join-path $Ref_ISO_Windows "windows\System32\DriverStore\FileRepository\hdaudio.inf_amd64_363c98295dd17f08"
    # 2- copy and DISM /ADD-driver
    $nomRep = "windows\System32\DriverStore\FileRepository\hdaudio.inf_amd64_*"
    $rep=Resolve_Copy_Add_Driver "hdaudio.inf" $nomRep $Ref_ISO_Windows
...

The logic i follow for the installation of "builtin" driver :

- search the "big" ".cat" file

- copy it in the ".cat" directory.

- During the build of winpe, i launch  the command : "DISM ... /addDriver ..."

Maybe it's not the best way but i works for me (and i never see other builders offering hyperv in a winpe ;)  ).

I have installed the ks.inf driver, but there is no ks.inf file in the folder containing the hdaudio.inf.

if you look at in hdaudio.inf file you see :

; Include/Needed OEM sections
%HdAudio.OEM.DeviceDesc% = HdAudOEM.CopyFiles
%HdAudio.OEM.DeviceDesc% = HdAudOEM.AddReg
; Include/Needed MS internal sections
%HdAudio.Settings.DeviceDesc% = HDAudio.SysFx
%HdAudio.Settings.DeviceDesc% = HDAudio.EPProperties
[HdAudModel]
Include=ks.inf,wdmaudio.inf

Because the installation engine of Ms needs these 2 ".inf", you must copy these files in "inf" directory during the building step.

There are some links between "drivers" hive-"driverstore" directory-"inf" directory.

Because i stop building Winpe with the original hives of Winpe since a long time, i can't remember all the needs for you.

 

My choice : i use software and drivers hives from install.wim : and it's the end of many issues for me.

Maybe my pdf and my Ps script can give you some information about the driver installation.

I never find and read some lines of text about how classic builders do the job. Because i write my script, i can adapt when an issue occurs.

C:\>net start mmcss

Error 577: Windows cannot verify the digital signature for this file

 

You don't use the "x:" letter :mellow:

I think the error comes from the driver loaded by the start of the service. Not sure.

Procmon is your best friend to investigate this point.

I'm happy to help you. And more happy if we can share some result.

BTW : i post in the ennemy site the result of 3 months of my work about the "sound bug" in winpe11.

Best regards

Noel







Also tagged with one or more of these keywords: winpe, winpe11, audio

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users