ExtremeGrief Posted January 6, 2022 Posted January 6, 2022 50 minutes ago, infuscomus said: Does anyone know what the ACPIex.sys driver does? It was introduced in windows 8.0 onwards. I wonder if that driver is why the 149C USB controller starts correctly on windows 8.0? I'm just speculating though. But 149C works on my PC just fine on XP after George King King Quote
infuscomus Posted January 6, 2022 Posted January 6, 2022 @ExtremeGrief His Windows7 build did not get 149C working for me, I confirmed the USB3 driver was working though with a 3rd party PCI-E USB3 card. His Windows8 build hard froze at the swirling circle and would not POST again on reset, needed to do a cold boot to get it to POST again. Quote
infuscomus Posted January 6, 2022 Posted January 6, 2022 @ExtremeGrief Can you dump and upload your ACPI tables for your 149C system? I want to compare them to mine. Quote
simon73 Posted January 6, 2022 Posted January 6, 2022 3 hours ago, ExtremeGrief said: Why not clean install? I need to reuse a complete working solution, with specific set of users, relevant permissions on folder/files, a gigantic set of binary files sparse on two partitions, ecc. So the reason why I need to start from a disk image and just "inject" the minimum set of drivers/patched system files to have XP booting again. The good thing is that I know for sure that a clean install of XP IE, with options 1,3 and 4, works! So I have to understand how to "capture" the added files and registry settings and restore them, while offline, on restored disk image. Quote
simon73 Posted January 6, 2022 Posted January 6, 2022 2 hours ago, infuscomus said: @simon73 don't forget to copy ntoskrn8.sys too. have you created the required "storahci" and "usbxhci" services in registry? Yes, all needed files have been copied as well explained in README.TXT file. And yes, I recreated "storahci" and "usbxhci" services in registry...but no luck up to now. This afternoon I attempt an alternative way to restore image, but I had same result...i proceed in this way: - restored disk image on VMWare virtual machine. - added virtual USB3.1 controller and AHCI SATA controller - replaced ACPI.SYS file with the modded one dated 2021/08/28. - manually installed 'Kernel-Mode Driver Framework 1.11', 'MovAX-Gen2 SATA driver v2.0' and 'MovAX-Gen2 USB3.X xHCI driver v2.2', with additional files "ntoskrn8.sys", "storpor8.sys" and "storport.sys" copied in 'C:\WINDOWS\system32\drivers'. - verified that the virtual machine still boots fine and all the entries in DeviceManager are ok. - added a key below "CriticalDeviceDatabase" with PCI_ID and VEN_ID relevant to Intel SATA AHCI controller on physical machine (VEN_8086&DEV_A102), with entry "Service" = storahci, and proper "ClassGUID". - create a disk image of the above virtual PC and restored it on final physical hardware BUT AGAIN RESTORED PC DOES NOT WORK Quote
ExtremeGrief Posted January 6, 2022 Posted January 6, 2022 2 hours ago, infuscomus said: @ExtremeGrief Can you dump and upload your ACPI tables for your 149C system? I want to compare them to mine. How? Quote
infuscomus Posted January 6, 2022 Posted January 6, 2022 @ExtremeGrief download latest iasl https://acpica.org/sites/acpica/files/iasl-win-20211217.zip run acpidump -b zip all .dat files it spits out and send to me Quote
simon73 Posted January 7, 2022 Posted January 7, 2022 13 hours ago, infuscomus said: @simon73 What BSOD are you getting? This one: This problem is harder than I thought... Quote
infuscomus Posted January 7, 2022 Posted January 7, 2022 @Mov AX, 0xDEAD can you do a hack in your USB driver to bypass USB\RESET_FAILURE for the 149C controller? Quote
simon73 Posted January 7, 2022 Posted January 7, 2022 (edited) 3 hours ago, infuscomus said: @simon73 Can you get into safe mode? I repeated one more time the procedure I wrote above to be sure to do not forget any step. The BSOD screen is still the same I attached in my previous post (please note: is visibile only pressing F8 at startup and selecting "do not automatically restart in case of failure", otherwise I just see for a second the classic XP boot screen). In SAFE mode Windows XP start, but I cannot do nothing as keyboard and mouse do not work...and network is unavailable so I cannot use Remote Desktop... Any hint? Edited January 7, 2022 by simon73 Quote
ExtremeGrief Posted January 7, 2022 Posted January 7, 2022 32 minutes ago, simon73 said: I repeated one more time the procedure I wrote above to be sure to do not forget any step. The BSOD screen is still the same I attached in my previous post (please note: is visibile only pressing F8 at startup and selecting "do not automatically restart in case of failure", otherwise I just see for a second the classic XP boot screen). In SAFE mode Windows XP start, but I cannot do nothing as keyboard and mouse do not work...and network is unavailable so I cannot use Remote Desktop... Any hint? Try safe mode with networking Quote
infuscomus Posted January 7, 2022 Posted January 7, 2022 @simon73 This would be so much easier with a new install. You can get into safe mode at least, thats something. To get mouse an keyboard working you'll need to manually edit the registry offline to get them installed. using a working windows install take everything from Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\HID Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\kbdclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\kbdhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mouclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mouhid and copy these keys across over to your XP registry. simon73 1 Quote
Mov AX, 0xDEAD Posted January 7, 2022 Posted January 7, 2022 2 hours ago, infuscomus said: @Mov AX, 0xDEAD can you do a hack in your USB driver to bypass USB\RESET_FAILURE for the 149C controller? USB\RESET_FAILURE - what is it ? Quote
infuscomus Posted January 7, 2022 Posted January 7, 2022 @Mov AX, 0xDEAD Thats the device ID I get for devices connected to the 149C controller. note that the host controller and root hub (xHCI) report no problems and say "This device is working properly." even though it's not. Quote
infuscomus Posted January 7, 2022 Posted January 7, 2022 A disable and re-enable of Root Hub (xHCI) doesn't fix it, only doing that to the controller works. Quote
infuscomus Posted January 7, 2022 Posted January 7, 2022 Some further research - 148C controller - works in XP - is device \_SB.PCI0.D0B8.XHC0 in ACPI table if win10 is correct. 149C controller - does not work in XP - is device \_SB.S0D2.D2A0.BYUP.BYD8.XHC1 in ACPI table if win10 is correct. Now I just need to figure out what exactly in the table I need to change. ^device tree too long? I've attached my ACPI tables for anyone curious. TRX40_DESIGNARE_ACPI_TABLES.7z Quote
George King Posted January 7, 2022 Author Posted January 7, 2022 (edited) On 1/6/2022 at 4:48 PM, Mov AX, 0xDEAD said: No, PDB not published for early vista betas, PDB exist since v5342, maybe earlier, but i not tested Thats sad. I would like to see patched ACPI for x64 too. Can you please create some kind of 6666 for x64 in same way as you did for x86?ACPI_LatestXP+5048_x64.7z According to this info I can only apply fix for 0xA5 (0x11, 0x08, ..., ...) _AMLILoadDDB. I cannot find now same places. A good start would be 6666 for x64. Can you please have a look on it? Or do you have some precreated file? I have attached latest 4099 ACPI for XP and 5048 from Longhorn. Windows XP/2003 support only ACPI 1.0b syntax, last generation bioses uses ACPI 2.0+ To support ACPI 2.0 syntax need replace acpi.sys and apply additional patches to avoid known BSODs : - 0xA5 (0x03, ..., C0140001, ...) missing ACPI 2.0 syntax, 99% solved, two solutions: 1) acpi.sys (v.5048, sha1:a09c0d9f6b5cb63192e2cebada56db38d3870b29) from Vista Beta/Longhorn v.5048 Pro: - Has most of ACPI 2.0 syntax opcodes - All integers are 64-bit regarding ACPI 2.0 specification Cons: - beta, compiled for next generation of windows - failed implementation of some internal data types, _ValidateArgTypes generate BSOD 0xA5(0x03, xxx, C0140008, yyy) Patches: - Add pointer to _atDataObj struct for QWord Opcode (_OpcodeTable start at .data:00039848, _atDataObj struct at .data:000397A8, missing pointer at .data:00039880, dont forget add additional relocs) 2) acpi.sys from Windows XP SP3 (v.5512->v.6666) with integrated acpi 2.0 syntax support Pro: - based on original v.5512, match binary/offsets Cons: - All integers are still 32-bit, any operations on 64-bit fields/variables will drop high part of QuadWord - 0xA5 (0x11, 0x08, ..., ...) unknow error in _AMLILoadDDB, probably fail after parsing DSDT/SSDT table, solved Patch (by diderius6): - Ignore status of _AMLILoadDDB in _ACPIInitializeDDB (v5512 jl short .text:00036214 => nop, nop) - 0xA5(0x03, ..., C0140008, ...) DSDT code have operation with unexpected type of arguments, partially solved This BSOD probably means some argument has datatype, allowed only in ACPI 2.0 v5512 & v5048 support only argument datatypes allowed in ACPI 1.0b specification Patch: - _ValidateArgTypes must always return "OK", even on realy wrong types (mov edi, 0xC0140008=>mov edi, 0x00000000 at head of _ValidateArgTypes) - 0xA5 (0x10006, ..., ..., ...), missing _DIS method for "PNP0C0F"s (PCI Interrupt Link Devices) in DSDT/SSDT table Patch (by daniel_k): - Skip looking for PNP0C0F in _DisableLinkNodesAsyncWorker, (v5512 call strstr, ..., jz .text:0001BBBD => jmp .text:0001BBBD ) Edited January 8, 2022 by George King Quote
infuscomus Posted January 8, 2022 Posted January 8, 2022 @George King I'm going to give @skulltrail's acpi.sys a try and report back to you. The x86 version was buggy though and I doubt the x64 version will be any better. On the plus side, source code is available for it so fixing any bugs would be easier than hacking at it with assembly. Quote
ExtremeGrief Posted January 8, 2022 Posted January 8, 2022 3 hours ago, infuscomus said: @George King I'm going to give @skulltrail's acpi.sys a try and report back to you. The x86 version was buggy though and I doubt the x64 version will be any better. On the plus side, source code is available for it so fixing any bugs would be easier than hacking at it with assembly. For me that ACPI gave A5 BSOD Quote
infuscomus Posted January 8, 2022 Posted January 8, 2022 @ExtremeGrief Can you send me a copy of your ACPI tables? Quote
infuscomus Posted January 8, 2022 Posted January 8, 2022 *!*ERROR Descriptor too short: PortPwrCtrlMask needs 2 bytes to hold 10 bits @Mov AX, 0xDEAD could this have something to do with my USB problem? Quote
simon73 Posted January 8, 2022 Posted January 8, 2022 23 hours ago, infuscomus said: @simon73 This would be so much easier with a new install. You can get into safe mode at least, thats something. To get mouse an keyboard working you'll need to manually edit the registry offline to get them installed. using a working windows install take everything from Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\HID Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\kbdclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\kbdhid Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mouclass Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mouhid and copy these keys across over to your XP registry. After importing the registry entries you suggested and others (all the Enum portion and more!) finally I have SAFE MODE working, with keyboard and mouse operating correctly: But, as usual, If I try to boot XP in normal mode, I have the following image on the screen, and after a few seconds the PC reboots: Using the boot option that inhibit automatic reboot in case of fault I'm able to see the cause of BSOD, is exactly the same I have already posted: "PAGE FAULT IN NONPAGED AREA". This is the detail: What can I do more? And I'd like to know what is the differences between SAFE and NORMAL mode, to restrict the search of the "offending" driver or service loaded at boot time...anyone? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.