Jump to content

DSDT: trick retail drivers by changing "device-id" (e.g USB)


zhell
 Share

366 posts in this topic

Recommended Posts

I never used an Injector before but I run only Leopard.

 

The point of this approch is to use vanilla ACHIPort and BlockStorage kexts - although at the moment you will still need a patched or Legacy BlockStorage Kext.

Link to comment
Share on other sites

Just to save me going back to the PortInjector kext to find out, does anybody have the ICH9-R id to hand?

 

Sorry for being lazy!

 

0x22, 0x29, 0x00, 0x00

 

Thanks a lot ;) .... and it doesn't sodding work LOL

Link to comment
Share on other sites

It sounds as though the drive is stopping shortly after wake, and what I've got is just something in ram. Could this be an issue with the sleep image?

On a side note, I honestly don't understand how repairing the disk permissions will help with a dsdt created error. Primarily since dsdt happens before mach_kernel load.

 

I've experianced a KP since adding ESB2 id.

Repaired permissions and all appears OK since - However I think mitch_de is right in using the motherboards native SATA driver id and IOBlockStorageinjector.kext.

 

D.

Link to comment
Share on other sites

Alright, I made my ICH9 based GA-G33M-S2L work out, but I had to sacrifice my SATA DVD drive. Once I disconnected my drive, I had no trouble sleeping.

 

Right now, I'm on 10.6 and the only DSDT.aml patches I have are the standards for RTC/HPET, and APEX's combined UHCI device-id/ EHCI device-id patches. I also have the following kexts:

UUID

famesmc

AHCIPortInjector

IOAHCIBlockInjector

OpenHaltRestart

Disabler (only disables upstreamuser... kext, not power mgmt)

 

My bios SATA settings are AHCI Mode, Native Mode, IDE Controller Off.

 

Any ideas on how I can keep my DVD drive and wake up from sleep? Looks like having my DVD drive connected prevents my hard drive from being accessed when I wake up. I can still sometimes move windows around, and move the mouse. After I play with something that isn't in ram, then I end up only being able to move my beachball mouse around. I've never read about something quite like this, so I'm out of my element.

 

It sounds as though the drive is stopping shortly after wake, and what I've got is just something in ram. Could this be an issue with the sleep image?

On a side note, I honestly don't understand how repairing the disk permissions will help with a dsdt created error. Primarily since dsdt happens before mach_kernel load.

Link to comment
Share on other sites

Hi!! Great work zhell!!

 

I confirm that this method works, with ICH9M on Laptop.

 

Devices UHCI 0...UHCI 5 have the following addresses and device IDs:

 

UHCI 0: 1D	2934 > 3A34
UHCI 1: 1D,1  2935 > 3A35
UHCI 2: 1D,2  2936 > 3A36
UHCI 3: 1A	 2937 > 3A37
UHCI 4: 1A,1  2938 > 3A38
UHCI 5: 1D,3  2939 > 3A39
EHCI 1: 1D,7  293A > 3A3A
EHCI 2: 1A,7  293C > 3A3C

 

But, that's the problem, this method worked only for the first time that I stopped the laptop. For the next times, my laptop goes to sleep only for a second, after it auto-wake up immediately.

 

Any solution?

 

Ok, I've found the solution to this problem!!

After an automatic and instatantanely wake up, I investigated my system.log and i found this:

kernel[0]: Wake reason = LANC

The problem is the Device (LANC), in my dsdt:

			Device (LANC)
		{
			Name (_ADR, 0x00190000)
			Name (_PRW, Package (0x02)
			{
				0x0D, 
				0x04
			})
		}

 

Wow!! With _PRW in a device, the device can wake up the system!!

 

THE SOLUTION IS DELETE _PRW!!!

 

			Device (LANC)
		{
			Name (_ADR, 0x00190000)
		}

 

The end.

I think this works with any other dsdt.

Link to comment
Share on other sites

I've managed to get the icons recognized as internal by "tricking" the device into thinking it's ESB2.

 

				Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

This works for the GA-EP45-DS3L with ICH10. SATA wasn't in my DSDT so I added this code before Device (PRIM) and I can confirm it works and I now have my SATA devices recognised as Intel ESB2 AHCI in System Profiler. This allowed me to remove IOAHCIBlockStorageInjector.kext from /E/E.

 

Thanks you. :)

Link to comment
Share on other sites

MSI P43 Neo DSDT patch?

After reading and applying the DSDT on my P5K-E Wifi A/P (Sleep, sound and SATA ESB2 AHCI fix) i was starting to wondering if i could do the same for the MSI P43 Neo...

 

After a successful install i am having some problems that a patched dsdt might solve... The issues are with the shutdown, sleep and audio (Realtek ALC888).

 

So i was wondering if there is a DSDT genius wiling to help or someone willing to share his P43 chipset based motherboard experience, because i am no sure what's exactly preventing the sleep/shutdown from working.

 

If u need additional info let me know.

 

Thx in advance.

dsdt.dsl.zip

Link to comment
Share on other sites

I have been trying to patch the device ID of my broadcom based wireless card in my Dell E6500 and have had no luck so far. Anyone try this? I would think it might work since all it takes is a simple plist edit to get the card to work in Leopard.

 

Thanks,

SMF

Link to comment
Share on other sites

This works for the GA-EP45-DS3L with ICH10. SATA wasn't in my DSDT so I added this code before Device (PRIM) and I can confirm it works and I now have my SATA devices recognised as Intel ESB2 AHCI in System Profiler. This allowed me to remove IOAHCIBlockStorageInjector.kext from /E/E.

 

Thanks you. :)

 

You can also simply rename the value of Chipset Name in the Info.plist of LegacyAppleAHCIPort.kext from the usual ICHn AHCI to ESB2 AHCI :P

 

N.b. This will initialize "AHCI Port Hot Plug" to False.

Link to comment
Share on other sites

You can also simply rename the value of Chipset Name in the Info.plist of LegacyAppleAHCIPort.kext from the usual ICHn AHCI to ESB2 AHCI :P

 

N.b. This will initialize "AHCI Port Hot Plug" to False.

 

Using this awesome concept you have put forth, here is a modified AHCIPortInjector.kext to get rid of orange icons!

 

http://www.insanelymac.com/forum/index.php?showtopic=186653

 

Thanks!

Link to comment
Share on other sites

You can also simply rename the value of Chipset Name in the Info.plist of LegacyAppleAHCIPort.kext from the usual ICHn AHCI to ESB2 AHCI :D

 

N.b. This will initialize "AHCI Port Hot Plug" to False.

 

this is all you haev to do?

 

cause i dont understand this guide to well...

Link to comment
Share on other sites

The corresponding lines from "lspci" are:

00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #3 [8086:2936] (rev 03)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family)
  USB UHCI Controller #6 [8086:2939] (rev 03)

In the second pair of brackets, you can see the PCI vendor id (8086 for Intel) and the device-id (2934..2939).

For the ICH9/-R, devices UHCI 1...UHCI 6 have the following addresses and device IDs:

UHCI 1: 1D	2934
UHCI 2: 1D,1  2935
UHCI 3: 1D,2  2936
UHCI 4: 1A	2937
UHCI 5: 1A,1  2938
UHCI 6: 1A,2  2939

Do not change the names of your devices as the DSDT won't compile anymore if you do.

Only proceed to patching if the addresses of all six UHCI devices match exactly.

 

Patching the "device-id" of the UHCI Devices

Now, we just add a call to the DTGP method by inserting a few lines of code into every single one of the 6 UHCI devices. The arguments we pass are "device-id", which is the property we want to patch, and then a four-byte buffer that contains the value to assign to the "device-id" property. These buffers are written "back-wards", i.e. the device-id for the UHC2 device of the ICH10-R, which is "3a35", is written as "0x35, 0x3A, 0x00, 0x00"

The code to add to the UHC2 device is:

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x35, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }

The device-ids for the six UHCI devices on the ICH10-R are:

UHCI 1: 1D	3a34
UHCI 2: 1D,1  3a35
UHCI 3: 1D,2  3a36
UHCI 4: 1A	3a37
UHCI 5: 1A,1  3a38
UHCI 6: 1A,2  3a39

The end result of the UHCI devices should look as follows:

           Device (UHC1)
           {
               Name (_ADR, 0x001D0000)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x34, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

           Device (UHC2)
           {
               Name (_ADR, 0x001D0001)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x35, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

           Device (UHC3)
           {
               Name (_ADR, 0x001D0002)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x36, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

           Device (UHC4)
           {
               Name (_ADR, 0x001A0000)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x37, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

           Device (UHC5)
           {
               Name (_ADR, 0x001A0001)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x38, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

           Device (UHC6)
           {
               Name (_ADR, 0x001A0002)
               [...]

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x02)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x39, 0x3A, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

Have fun patching.

 

Verifying the Reliability of Sleep

You need to be aware that if your machine has never slept before, you may encounter surprises when using sleep now that it works. In order to be able to attribute any issues you may experience to sleep, I strongly recommend a thorough burn-in procedure.

 

First, unplug all USB devices that you do not need, in particular any storage devices.

Then, in all the applications you typically use, open a few documents and leave them open.

 

Now put the machine to sleep at least a hundred times and wake it up afterwards.

 

This sounds like a big hassle, but if you have a second computer that is capable of doing all the work, it's not that bad. Using the PHP script below allows you to remotely sleep and wake up your machine any number of times without human intervention.

sleep_wake.php.zip

 

You need to edit the variables "$target", "$hwaddr" and "$login". Run the script with one argument, e.g.

/path/to/sleep-wake.php 100

will sleep and wake up your machine 100 times.

Note that for wake-up to work, UDP port 9 must be open. For sleep to work, SSH needs to be enabled and you need a public key installed on the target in order to allow automatic login. How to achieve this is outside the scope of this tutorial.

 

 

Im stuck on the top part here. How do you run lspci in mac? Do i have to boot to linux? NO linux installed btw...

Link to comment
Share on other sites

Need some help. EHCI is now working. I followed the guide to replace dsdt code for UHCI suddenlu im getting this error on compile. I did this over and over and Im alway get the same error. I put the old code back and compiles ok. There was no reference on the original code that I replaced to this lines so I'm stummped.

 

Mac-Pro:Tools admin$ ./iasl dsdt.dsl

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20080926 [Oct 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 9195: If (SS1)

Error 4095 - ^ syntax error, unexpected PARSEOP_IF

 

dsdt.dsl 9239: \_SB.PCI0.SBRG.SIOS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOS)

 

dsdt.dsl 9240: \_SB.PCI0.SBRG.SPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SPTS)

 

dsdt.dsl 9241: \_SB.PCI0.NPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.NPTS)

 

dsdt.dsl 9242: \_SB.PCI0.GFX0.OPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OPTS)

 

dsdt.dsl 9248: \_SB.PCI0.SBRG.SIOW (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOW)

 

dsdt.dsl 9249: \_SB.PCI0.SBRG.SWAK (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SWAK)

 

dsdt.dsl 9250: \_SB.PCI0.NWAK (Arg0)

Error 4063 - ^ Object does not exist (\_SB.PCI0.NWAK)

 

dsdt.dsl 9251: \_SB.PCI0.GFX0.OWAK (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OWAK)

 

ASL Input: dsdt.dsl - 9256 lines, 295803 bytes, 4252 keywords

Compilation complete. 9 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

 

Original DSDT code that is being replaced.

 

Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x04))
               }
           }

           Device (USB1)
           {
               Name (_ADR, 0x001D0001)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x04, 0x04))
               }
           }

           Device (USB2)
           {
               Name (_ADR, 0x001D0002)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0C, 0x04))
               }
           }

           Device (USB3)
           {
               Name (_ADR, 0x001D0003)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0E, 0x04))
               }
           }

           Device (USB4)
           {
               Name (_ADR, 0x001A0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0E, 0x04))
               }
           }

           Device (USB5)
           {
               Name (_ADR, 0x001A0001)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x05, 0x04))
               }
           }

           Device (USB6)
           {
               Name (_ADR, 0x001A0002)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x20, 0x04))
               }
           }
       }

Link to comment
Share on other sites

Jedric:

 

Check your curly brackets, I think you're missing one or you put one too many.

 

Keypox:

 

There is no need to quote the whole first post.

lspci is available for OSX, an easy way to get at it is by installing OSX86Tools.

There's an installer for 64-bit 10.6.x here - http://www.osx86.es/?p=620

And here's the original OSX Port - http://www.x86dev.org/forum/

Link to comment
Share on other sites

Jedric:

 

Check your curly brackets, I think you're missing one or you put one too many.

 

Keypox:

 

There is no need to quote the whole first post.

lspci is available for OSX, an easy way to get at it is by installing OSX86Tools.

There's an installer for Snow available at osx86.es.

 

thanks found it, ll work on it some more then. To bad their patcher wont do it for ya :)

 

 

Ok finished, got it to compile, but after sleep it still says my device want removed properly.

Link to comment
Share on other sites

Ok finished, got it to compile, but after sleep it still says my device want removed properly.

 

Download DSDTSE from our friends in Spain, it has a fix for that issue built-in. Be careful though, don't just apply it blindly, look around first and see what others with similar brand/BIOS motherboards have done.

Link to comment
Share on other sites

Download DSDTSE from our friends in Spain, it has a fix for that issue built-in. Be careful though, don't just apply it blindly, look around first and see what others with similar brand/BIOS motherboards have done.

 

thanks i found this post in this thread, http://www.insanelymac.com/forum/index.php...p=1247462 and it worked for me its for p35 users :)

 

Though im got a kernel panic on reboot. Hopefully i dont get that again...

Link to comment
Share on other sites

Need some help. EHCI is now working. I followed the guide to replace dsdt code for UHCI suddenlu im getting this error on compile. I did this over and over and Im alway get the same error. I put the old code back and compiles ok. There was no reference on the original code that I replaced to this lines so I'm stummped.

 

Mac-Pro:Tools admin$ ./iasl dsdt.dsl

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20080926 [Oct 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 9195: If (SS1)

Error 4095 - ^ syntax error, unexpected PARSEOP_IF

 

dsdt.dsl 9239: \_SB.PCI0.SBRG.SIOS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOS)

 

dsdt.dsl 9240: \_SB.PCI0.SBRG.SPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SPTS)

 

dsdt.dsl 9241: \_SB.PCI0.NPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.NPTS)

 

dsdt.dsl 9242: \_SB.PCI0.GFX0.OPTS (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OPTS)

 

dsdt.dsl 9248: \_SB.PCI0.SBRG.SIOW (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SIOW)

 

dsdt.dsl 9249: \_SB.PCI0.SBRG.SWAK (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.SBRG.SWAK)

 

dsdt.dsl 9250: \_SB.PCI0.NWAK (Arg0)

Error 4063 - ^ Object does not exist (\_SB.PCI0.NWAK)

 

dsdt.dsl 9251: \_SB.PCI0.GFX0.OWAK (Arg0)

Error 4063 - Object does not exist ^ (\_SB.PCI0.GFX0.OWAK)

 

ASL Input: dsdt.dsl - 9256 lines, 295803 bytes, 4252 keywords

Compilation complete. 9 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

 

Original DSDT code that is being replaced.

 

Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x04))
               }
           }

           Device (USB1)
           {
               Name (_ADR, 0x001D0001)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x04, 0x04))
               }
           }

           Device (USB2)
           {
               Name (_ADR, 0x001D0002)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0C, 0x04))
               }
           }

           Device (USB3)
           {
               Name (_ADR, 0x001D0003)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0E, 0x04))
               }
           }

           Device (USB4)
           {
               Name (_ADR, 0x001A0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0E, 0x04))
               }
           }

           Device (USB5)
           {
               Name (_ADR, 0x001A0001)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x05, 0x04))
               }
           }

           Device (USB6)
           {
               Name (_ADR, 0x001A0002)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, 
                           Offset (0x01)
               }

               Method (_S3D, 0, NotSerialized)
               {
                   If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                   {
                       Return (0x02)
                   }
                   Else
                   {
                       Return (0x03)
                   }
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x20, 0x04))
               }
           }
       }

same problems here but with 8 errors

i changed only the 7 usb devices (why 7??)and the eusb-usbe but only way to compile is with -f

1st try was kp, then i recompiled again with some changes and it stucked at "netkas presents fakesmc" part...

can somebody with p5xx board or similar post a dsdt.dsl to look at plz?

everything is different from the others i see around :wacko:

Link to comment
Share on other sites

 Share

×
×
  • Create New...