Mov AX, 0xDEAD Posted April 25, 2022 Author Share Posted April 25, 2022 2 hours ago, Damnation said: @Mov AX, 0xDEAD I recall from my linux boot logs (sorry I don't have it to share right now) WT1A was not the only duplicate device, there were about 10 other duplicates or so. every device in ssdt7 is dublicate 2 hours ago, Damnation said: I wounder how Windows 8.1 handles duplicates? does it just ignore them? or handle them some other way? it has some unknow workaround, CreateNameSpaceObject() itself generate rc=ERROR, but then this error is bypassed somewhere at parent call, you need setup kernel remote connection in W8.1 if you want to know, but it doesnt help much to fix it in XP because debuglog will not show how errors was ignored Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 25, 2022 Author Share Posted April 25, 2022 (edited) @Andalu Your bug reproduced in VirtualBox on this custom code: Quote Device (PCIX) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID ... } Device (SBRG) { Device (PCIE) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID PNP0C02\2 converted to PNP0C02\4&xxxx&yyyyy same way as yours. It is generic DSDT error, all _HID+_UID combinations must be unique If doubled devices live on same parent path, we get BSOD 0xA5 (0x0000000D, ..) instead yellow mark Edited April 25, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Damnation Posted April 25, 2022 Share Posted April 25, 2022 (edited) @Mov AX, 0xDEAD Can you recreate this error by creating a duplicate object with the same name in a QEMU VM SSDT? edit: Option 1 worked - no more A5 0x11 0x08 BSOD. Edited April 25, 2022 by Damnation Link to comment Share on other sites More sharing options...
Dietmar Posted April 25, 2022 Share Posted April 25, 2022 @Damnation The link for the Source file of your new acpi.sys V4 for bit64 is broken. Can you upload it on ufile.io again Dietmar Link to comment Share on other sites More sharing options...
Damnation Posted April 25, 2022 Share Posted April 25, 2022 @Dietmar here - https://ufile.io/1obwi832 note: the way I did is sloppy so put it in it's own XPSP1_64 source tree away from the 32bit tree, seems to break the 32bit tree if left in there. Link to comment Share on other sites More sharing options...
Damnation Posted April 25, 2022 Share Posted April 25, 2022 @Mov AX, 0xDEAD I would like to try and find the exact cause of the USB\RESET_FAILURE problem for devices connected to the HUB on the 149C USB3 controller. I don't know where to start going about this with my debugging setup though, would you be willing to help me do this? I don't think this will be easy, as XP reports USB3 Controller and Hub as working normally, only the devices themselves report a problem. Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 25, 2022 Author Share Posted April 25, 2022 25 minutes ago, Damnation said: @Mov AX, 0xDEAD I would like to try and find the exact cause of the USB\RESET_FAILURE problem for devices connected to the HUB on the 149C USB3 controller. I don't know where to start going about this with my debugging setup though, would you be willing to help me do this? Kernel debug doesnt help you, you have hardware(or DSDT) related issue, same USB driver works on most other controllers without same issue Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 25, 2022 Author Share Posted April 25, 2022 (edited) 57 minutes ago, Damnation said: @Mov AX, 0xDEAD Can you recreate this error by creating a duplicate object with the same name in a QEMU VM SSDT? VirtualBox is much better, it allows load too any custom DSDT/SSDT code (based on original table). Yes, i can create any doubled devices. 57 minutes ago, Damnation said: Option 1 worked - no more A5 0x11 0x08 BSOD. Good, i will check in VM how _HID/... created when no parent device Edited April 25, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 26, 2022 Author Share Posted April 26, 2022 11 hours ago, Mov AX, 0xDEAD said: Good, i will check in VM how _HID/... created when no parent device @Damnation option 1) is not optimal, it skips creating same name, but all childs override existing ones from first device First definition: Quote Device (PCIX) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (CRS, ResourceTemplate () double definition: Quote Device (PCIX) { Name (_HID, EisaId ("PNP0C03") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0202) // _UID: Unique ID after skipping BSOD we have in log many lines with Quote AMLI: 8134dda8: EvalNameSpaceObject(\_SB.PCI0.PCIX._UID) =0x202 .. AMLI: EvalObject(\_SB.PCI0.PCIX._UID)=Integer(:Value=0x00000202[514]) ... ACPI\PNP0C03-202 and no lines with ACPI\PNP0C02-3 Link to comment Share on other sites More sharing options...
Damnation Posted April 26, 2022 Share Posted April 26, 2022 @Mov AX, 0xDEAD Could there be some hints in the linux kernel source for how to handle this properly? https://github.com/torvalds/linux/search?q=AE_ALREADY_EXISTS Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 26, 2022 Author Share Posted April 26, 2022 53 minutes ago, Damnation said: @Mov AX, 0xDEAD Could there be some hints in the linux kernel source for how to handle this properly? https://github.com/torvalds/linux/search?q=AE_ALREADY_EXISTS ACPI tables on this board are garbage and out of specification, XP acpi.sys can't handle this crap properly i have no other solution, use workaround with commenting 3 lines, tables are still crazy, but it worlks somehow Link to comment Share on other sites More sharing options...
Damnation Posted April 26, 2022 Share Posted April 26, 2022 @Mov AX, 0xDEAD Yeah, I'm going with commenting out those 3 lines as a sub-optimal solution. I'll email gigabyte about it and maybe they'll fix it, I wouldn't get my hopes up though, they'll likely just say to RMA my board rather than giving an actual solution. Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 26, 2022 Author Share Posted April 26, 2022 (edited) 2 hours ago, Damnation said: @Mov AX, 0xDEAD Yeah, I'm going with commenting out those 3 lines as a sub-optimal solution. I'll email gigabyte about it and maybe they'll fix it, I wouldn't get my hopes up though, they'll likely just say to RMA my board rather than giving an actual solution. Update: I found way to totally skip doubled device, just to change AML current Opcode pointer to next scope/device/anything First normal definition: Quote Device (PCIX) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xDC000000, // Address Base 0x00004000, // Address Length _Y50) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (CRS) } } doubled definition PCIX Quote Scope (_SB) { Scope (PCI0) { Device (PCIX) { Name (_HID, EisaId ("PNP0C03") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0202) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xDC000000, // Address Base 0x00004000, // Address Length _Y50) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (CRS) } } } } Scope (_SB) { Scope (PCI0) { Device (PCIW) { Name (_HID, EisaId ("PNP0C04") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0404) // _UID: Unique ID processing of second definition: Quote f96e2790: Scope(_SB_) f96e2797: { f96e2797: Scope(PCI0) f96e279e: { f96e279e: Device(PCIX) f96e27da: } f96e27da: } f96e27da: Scope(_SB_) f96e27e1: { f96e27e1: Scope(PCI0) f96e27e8: { f96e27e8: Device(PCIW)OSNotifyCreate: 81331A00 (PCIW) = 00000103 f96e27ef: { f96e27ef: Name(_HID,0x40cd041) f96e27f9: Name(_UID,0x404) as you see, no any PCIX's childs, it jumps to next object PCIW Edited April 26, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Damnation Posted April 26, 2022 Share Posted April 26, 2022 @Mov AX, 0xDEAD I'm guessing this would require a BIOS and SSDT modification? or can the acpi.sys driver be written to handle it in this way by itself? Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 26, 2022 Author Share Posted April 26, 2022 2 hours ago, Damnation said: @Mov AX, 0xDEAD I'm guessing this would require a BIOS and SSDT modification? or can the acpi.sys driver be written to handle it in this way by itself? see PM Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now