Hello George, Thanks for your quick reply. I tested those drivers and can confirm that they are installing successfully on a 1790 adapter. Its kinda funny, cause after looking explicitly for those 6.3.9600.16384 drivers i found them listed on the MS update catalog - being the oldest ones available - 3 years before release of the new adapter Pairing the controller also worked instantly. On the other hand i wasnt able to connect my headset as no new devices show up but i ill continue trying. Will let you know if sth changes. Thanks again. Edit: I see, for me the original MS driver didnt work, cause yours is patched ( PID corrected and signed with a chinese certificate - so maybe it even is the one i mentioned)
A little summary: As already mentioned, the controller works, but the Headset doesnt show up. Checked and compared the USB Tree for W10_NewDriver_Headset and W7_OldDriver_Headset_Controller. Spoiler: W10_NewDriver_Headset_Connected ======================== USB Device ======================== +++++++++++++++++ Device Information ++++++++++++++++++ Friendly Name : Xbox Wireless Adapter for Windows Device Description : Xbox Wireless Adapter for Windows Device Path 1 : \\?\USB#VID_045E&PID_02FE#454632#{cac88484-7515-4c03-82e6-71a87abac361} (GUID_DEVINTERFACE_NET) Device Path 2 : \\?\USB#VID_045E&PID_02FE#454632#{ad498944-762f-11d0-8dcb-00c04fc3358c}\{eec39cb1-0a21-4173-a983-bd6de943cd37} (GUID_NDIS_LAN_CLASS) Device Path 3 : \\?\USB#VID_045E&PID_02FE#454632#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) Kernel Name : \Device\USBPDO-4 Device ID : USB\VID_045E&PID_02FE\454632 Hardware IDs : USB\VID_045E&PID_02FE&REV_0100 USB\VID_045E&PID_02FE Driver KeyName : {4d36e972-e325-11ce-bfc1-08002be10318}\0015 (GUID_DEVCLASS_NET) Driver : \SystemRoot\System32\drivers\mt7612US.sys (Version: 11777.0.0.0 Date: 2017-07-14) Driver Inf : C:\Windows\inf\oem43.inf Legacy BusType : PNPBus Class : Net Class GUID : {4d36e972-e325-11ce-bfc1-08002be10318} (GUID_DEVCLASS_NET) Service : mt7612US Enumerator : USB Location Info : Port_#0004.Hub_#0001 Location IDs : PCIROOT(0)#PCI(0801)#PCI(0003)#USBROOT(0)#USB(4), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP17)#ACPI(XHC0)#ACPI(RHUB)#ACPI(PRT4) Container ID : {e87ff1a1-ec39-54a9-86a8-7500725b27d6} Manufacturer Info : Microsoft Corporation Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 0 Upper Filters : xboxgip HcDisableSelectiveSuspend: 0 EnableSelectiveSuspend : 0 SelectiveSuspendEnabled : 0 EnhancedPowerMgmtEnabled : 0 IdleInWorkingState : 0 WakeFromSleepState : 0 Power State : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2) Child Device 1 : Xbox Controller (USB-Audiogerät) Device Path 1 : \\?\USB#VID_10F5&PID_2189&IGA_00#00&00&0000A8215185ED7E&09&16#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_AUDIO) Device Path 2 : \\?\USB#VID_10F5&PID_2189&IGA_00#00&00&0000A8215185ED7E&09&16#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE) Device Path 3 : \\?\USB#VID_10F5&PID_2189&IGA_00#00&00&0000A8215185ED7E&09&16#{65e8773e-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_RENDER) Kernel Name : \Device\000000e4 Device ID : USB\VID_10F5&PID_2189&IGA_00\00&00&0000A8215185ED7E&09&16 Class : MEDIA Driver KeyName : {4d36e96c-e325-11ce-bfc1-08002be10318}\0003 (GUID_DEVCLASS_MEDIA) Service : usbaudio Location : Xbox Controller Child Device 1 : Kopfhörer (Xbox Controller) (Audioendpunkt) Device ID : SWD\MMDEVAPI\{0.0.0.00000000}.{10C4F5B3-887F-4D92-8575-AEFE10E38D50} Class : AudioEndpoint Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0002 (AUDIOENDPOINT_CLASS_UUID) Child Device 2 : Kopfhörermikrofon (Xbox Controller) (Audioendpunkt) Device ID : SWD\MMDEVAPI\{0.0.1.00000000}.{37D5D958-6505-46FC-B245-FE8785E161A8} Class : AudioEndpoint Driver KeyName : {c166523c-fe0c-4a94-a586-f1a80cfbbf3e}\0009 (AUDIOENDPOINT_CLASS_UUID) Spoiler: W7_OldDriver_Controller_Connected ======================== USB Device ======================== +++++++++++++++++ Device Information ++++++++++++++++++ Device Description : Xbox Wireless Adapter for Windows Device Path 1 : \\?\USB#VID_045E&PID_02FE#454632#{cac88484-7515-4c03-82e6-71a87abac361} (GUID_DEVINTERFACE_NET) Device Path 2 : \\?\USB#VID_045E&PID_02FE#454632#{ad498944-762f-11d0-8dcb-00c04fc3358c}\{5de56c8f-37f4-4de6-b454-e3fa5a0e07a1} (GUID_NDIS_LAN_CLASS) Device Path 3 : \\?\USB#VID_045E&PID_02FE#454632#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) Kernel Name : \Device\USBPDO-13 Device ID : USB\VID_045E&PID_02FE\454632 Hardware IDs : USB\VID_045E&PID_02FE&REV_0100 USB\VID_045E&PID_02FE Driver KeyName : {4d36e972-e325-11ce-bfc1-08002be10318}\0021 (GUID_DEVCLASS_NET) Driver : system32\DRIVERS\mt7612US.sys (Version: 5888.0.0.0 Date: 2015-12-08) Driver Inf : C:\Windows\inf\oem190.inf Legacy BusType : PNPBus Class : Net Class GUID : {4d36e972-e325-11ce-bfc1-08002be10318} (GUID_DEVCLASS_NET) Service : mt7612US Enumerator : USB Location Info : Port_#0002.Hub_#0003 Location IDs : PCIROOT(0)#PCI(0400)#PCI(0000)#USBROOT(0)#USB(3)#USB(2) Container ID : {e87ff1a1-ec39-54a9-86a8-7500725b27d6} Manufacturer Info : Microsoft Corporation Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 0 Upper Filters : xboxgip HcDisableSelectiveSuspend: 0 EnableSelectiveSuspend : 0 SelectiveSuspendEnabled : 0 EnhancedPowerMgmtEnabled : 0 IdleInWorkingState : 0 WakeFromSleepState : 0 Power State : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2) Child Device 1 : Device ID : USB\VID_045E&PID_02FF&IG_00\01&00&0000A47ABB84ED7E Child Device 1 : XINPUT compatible HID device Device Path : \\?\HID#VID_045E&PID_02FF&IG_00#9&2d6b4c07&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (GUID_DEVINTERFACE_HID) Kernel Name : \Device\000000a5 Device ID : HID\VID_045E&PID_02FF&IG_00\9&2D6B4C07&0&0000 Class : HIDClass Driver KeyName : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}\0041 (GUID_DEVCLASS_HIDCLASS) Spoiler: W7_OldDriver_Controller_Headset_Connected ======================== USB Device ======================== +++++++++++++++++ Device Information ++++++++++++++++++ Device Description : Xbox Wireless Adapter for Windows Device Path 1 : \\?\USB#VID_045E&PID_02FE#454632#{cac88484-7515-4c03-82e6-71a87abac361} (GUID_DEVINTERFACE_NET) Device Path 2 : \\?\USB#VID_045E&PID_02FE#454632#{ad498944-762f-11d0-8dcb-00c04fc3358c}\{5de56c8f-37f4-4de6-b454-e3fa5a0e07a1} (GUID_NDIS_LAN_CLASS) Device Path 3 : \\?\USB#VID_045E&PID_02FE#454632#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE) Kernel Name : \Device\USBPDO-13 Device ID : USB\VID_045E&PID_02FE\454632 Hardware IDs : USB\VID_045E&PID_02FE&REV_0100 USB\VID_045E&PID_02FE Driver KeyName : {4d36e972-e325-11ce-bfc1-08002be10318}\0021 (GUID_DEVCLASS_NET) Driver : system32\DRIVERS\mt7612US.sys (Version: 5888.0.0.0 Date: 2015-12-08) Driver Inf : C:\Windows\inf\oem190.inf Legacy BusType : PNPBus Class : Net Class GUID : {4d36e972-e325-11ce-bfc1-08002be10318} (GUID_DEVCLASS_NET) Service : mt7612US Enumerator : USB Location Info : Port_#0002.Hub_#0003 Location IDs : PCIROOT(0)#PCI(0400)#PCI(0000)#USBROOT(0)#USB(3)#USB(2) Container ID : {e87ff1a1-ec39-54a9-86a8-7500725b27d6} Manufacturer Info : Microsoft Corporation Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK) Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER) Problem Code : 0 Upper Filters : xboxgip HcDisableSelectiveSuspend: 0 EnableSelectiveSuspend : 0 SelectiveSuspendEnabled : 0 EnhancedPowerMgmtEnabled : 0 IdleInWorkingState : 0 WakeFromSleepState : 0 Power State : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2) Apparently in the headsets case no Child Devices are getting announced or forwarded to the OS. So i decided to see how the Win10 driver behaves in Win7 (Driver signing deactivated in all attempts) Modifying win10 inf ( NTx86.6.2, NTAMD64.6.2 ==> NTx86.6.1, NTAMD64.6.1) ==> Gets installed, but throws Code 39 (as mentioned in the initial post) PE Inspection shows a few missing exports (available from Win8 - see initial post) Replaced KeInitializeSpinLock with the inline Code: and qword ptr [rcx], 0 Replaced the IAT entries of the APIs missing from NDIS with existing ones and set suspend options to disabled in hope of avoiding this codepath Alternatively set CheckforHang & Reset Handler in NdisMRegisterMiniportDriver to NULL as they are supposed to be optional (hope of avoiding codepath) Set Subsystem Major / Minor in PE optional Header to the Win7 values from the old driver (6/1) Updated PE Header Checksum ==> Crashes and Reboots. Time to hook up the Kernel Debugger Driver gets through the Initial Loading stage of NT!IOPLoadDriver After setting the EventDescriptor KMPnPEvt_DriverInit_Start and calling EtwWrite it dives into the DriverEntry function Getting a Crash in the initial __security_init_cookie due to the new Win8 int29 FailFast When manually forcing the security cookie to deliver i finally end up with Code 37 Failure within DriverEntry: NdisMRegisterMiniportDriver returns 0x0C001004 = NDIS_STATUS_BAD_VERSION. Correct Dword 12E1E06h to 12E1406 for proper NDIS version Now NdisMRegisterMiniportDriver returns 0x0C00000BB ?? (=> Result of failing SetOptions below) Within NdisSetOptionalHandlers NDIS_OBJECT_TYPE_MINIPORT_SS_CHARACTERISTICS is initialized (Type 0xB4) => Not available in NDIS 6.20 When NdisSetOptionalHandlers is patched to act the same way as the Win7 driver it is installed properly and switches to yellow exclamation mark "Code 10" a few seconds later Notes: The check for for Ndis version in the SetAttribute function ( > 6001 ) for MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES is removed NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES are set with Revision 2 and also NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND is set (106 vs 06) Also PM_Capabilities is set to Rev2 and differs in size The "Idle Calls" seem only to be called from the SetOptionsHandler The "Reset Call" seems only to be called from the OidRequestHandler Any hints or is it wasted time ?
Apparently it was wasted time Even if i would have been succesfull, i would have run into the 2021 enforced driver signing problems afterwards. As the drivers @George King posted, arent valid anymore because of that and because of Nvidias support i tried to help myself again. I succeeded in getting signed drivers and a signed catalog with a forged timestamp. As far as i understood the whole "signed drivers on W7 x64" topic, i was under the impression that signed drivers predating 29/7/2015 with a valid timestamp would be valid. The involved certificates are imported into LocalMachine TrustedCAs and TrustedPublisher signtool.exe verify lists everything as valid, but the driver installation results in Code 52. checking for kernel validity with parameter /kp results in Code: SignTool Error: Signing Cert does not chain to a Microsoft Root Cert. SignTool Error: File not valid: mt7612us.sys setupapi.dev.log logs the following: Code: sig: {_VERIFY_FILE_SIGNATURE} 18:31:57.197 sig: Key = mt7612us.inf sig: FilePath = C:\Windows\System32\DriverStore\Temp\{0d2f37aa-4fb1-6360-995d-bc59b83d5012}\mt7612us.inf sig: Catalog = C:\Windows\System32\DriverStore\Temp\{0d2f37aa-4fb1-6360-995d-bc59b83d5012}\mt7612US.cat ! sig: Verifying file against specific (valid) catalog failed! (0x800b0109) ! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 18:31:57.247 sig: {_VERIFY_FILE_SIGNATURE} 18:31:57.247 sig: Key = mt7612us.inf sig: FilePath = C:\Windows\System32\DriverStore\Temp\{0d2f37aa-4fb1-6360-995d-bc59b83d5012}\mt7612us.inf sig: Catalog = C:\Windows\System32\DriverStore\Temp\{0d2f37aa-4fb1-6360-995d-bc59b83d5012}\mt7612US.cat sig: Success: File is signed in Authenticode(tm) catalog. sig: Error 0xe0000241: The INF was signed with an Authenticode(tm) catalog from a trusted publisher. sig: {_VERIFY_FILE_SIGNATURE exit(0xe0000241)} 18:31:57.267 sto: Validating driver package files against catalog 'mt7612US.cat'. sto: Driver package is valid. So where is my error ? Misinformation regarding acceptance of old certs ?
To sign something with the leaked NVIDIA certificate you need to set your computer date somewhere in 2012.
Thanks for trying to help @ExtremeGrief! Of course i did that - otherwise i wouldnt have reached the status of "succeeded in getting signed..." Solved my problem. signtool /kp literally told me that the cross certificate chain didnt end at a MS Root cert. I somehow had a wrong Verisigncross certificate ;( All good now. Should i supply the driver package here in case im not the only nerd ?
There are plenty of nerds interested in an updated Xbox One Wireless Adapter driver for Windows 7, me included
Wait, what? There was an update in 2021 which forces you to use signed drivers only? Signature check can't be disabled anymore? I haven't updated in a while and looking into making a updated win7 iso & fresh install. I want to make sure there are no caveats.
On updated Windows 7 to March 2022 I can easily install unsigned drivers normally from device manager, even without disabling signature enforcement from F8 Startup Menu.
AFAIK, the signing requirement only applies to kernel-mode drivers, and only on the 64bit architecture.
@egalerst you use a timestamp server as countersigner for your Xbox driver? or does it work locally without internet connection?
Yeah okay so the server is used only for the timestamping part (when it's being timestamped/signed), not the validation part (when it's installed/used, which is handled simply by the TSA cert), I understand now, thanks.
Capcom is completely fine, as the expired certificate was signed with a legit timestamp within its validity frame. Also a proper cross certificate chain that ends in MS root exists. Spoiler: CCC Cross Certificate Chain: Issued to: Microsoft Code Verification Root Issued by: Microsoft Code Verification Root Expires: Sat Nov 01 15:54:03 2025 SHA1 hash: 8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3 Issued to: VeriSign Class 3 Public Primary Certification Authority - G5 Issued by: Microsoft Code Verification Root Expires: Mon Feb 22 21:35:17 2021 SHA1 hash: 57534CCC33914C41F70E2CBB2103A1DB18817D8B Issued to: Symantec Class 3 SHA256 Code Signing CA Issued by: VeriSign Class 3 Public Primary Certification Authority - G5 Expires: Sun Dec 10 01:59:59 2023 SHA1 hash: 007790F6561DAD89B0BCD85585762495E358F8A5 Issued to: CAPCOM Co.,Ltd. Issued by: Symantec Class 3 SHA256 Code Signing CA Expires: Wed May 03 01:59:59 2017 SHA1 hash: AB0E343FD727DE4869897A9AB7CA64512B36D0E9 Successfully verified: Capcom.sys If MS had revoked the Capcom signing cert (7E 59 40 8d...) they would have blocked all Capcom Games which used that cert. When having an expired cert the file needs to have a valid timestamp entry, as otherwise the code signing cert would be considered expired. Therefore my version has got a stamp, but as it is selfsigned i need to import the cert in Trusted Publishers / root. Besides that it works totally offline of course. Working with a single sys driver is a little bit more uncomplicated, as you dont have the catalog file which prohibits modifying the underlying *.sys/*.inf. Furthermore the *.cats dont support dual signing. In the end, of course, it is just more work. Can someone with W7 x64 and an adapter v1790 confirm it works as expected ? Then i would link it more apparent
The newer adpater unfortunately dont worked for me, i had buy the bigger older model dongle. Controller 1708.Because other reasons i run in test mode, i never had signature problems.
Could you please elaborate what where and when the driver doesnt work ? -Adapter v1790 ? -Win7 x64 ? -Certificate imported ? -Code in device manager if it doesnt work ? -Output of signtool verify if it doesnt work ? -Output of setupapi.dev.log if installing fails