Jump to content

DSDT editor and patcher


oldnapalm
 Share

999 posts in this topic

Recommended Posts

@JBraddock

 

That's because the code needs to be re-parsed when you finish manual editing, so the tree can reflect changes in the code.

 

About the bug (click on dock opens a new window even if one is already open), it will be fixed in next release.

 

 

@iFabio

 

That would be a nice feature, but I agree with you that it may not be easy to implement. Let's see what el coniglio says.

 

 

@lalya

 

Which dsdt were you using when you saved the devices list? If it was not the X60T one, you probably don't need many of the patches in it (LPC and USB device-id injection).

Link to comment
Share on other sites

dsdt.aml_lalya.zip

AC

DTGP

IRQs

PNLF

SBUS

RENAMED

 

SMBIOS MacBookPro5,1

smbios.plist.zip

 

Chameleon RC5

http://www.insanelymac.com/forum/index.php...st&id=80533

 

Thanks Maldon! its very much appreciated!

 

I have found out that Chameleon supports the GMA950 with Graphic Enabler... but just in 64bit.

So when I boot with LP64, everything's okay, but when I boot in i386 screen stays grey...

I think I should put the GMA950 snippet inside my DSDT file again :wacko:

 

Other than that, the DSDT works fine... althought if I put my laptop to sleep I get kernel panic.

 

Also, I keep getting this error at boot:

Firewire runtime power conservation disabled. (2)

is this really an error? :unsure:

Link to comment
Share on other sites

Thanks Maldon! its very much appreciated!

I have found out that Chameleon supports the GMA950 with Graphic Enabler... but just in 64bit.

So when I boot with LP64, everything's okay, but when I boot in i386 screen stays grey...

I think I should put the GMA950 snippet inside my DSDT file again :wacko:

 

Other than that, the DSDT works fine... althought if I put my laptop to sleep I get kernel panic.

 

open the FrontRow in 64 bit

test it

I think the video is not activated(64)

always use the -v

easier to try to locate the problem

 

use the DSDT that oldnapalm prepared (use 32bit)

if it works well

you add the other fixs

 

GMA950 needs 32bit for the proper functioning

 

GMA950 was supported in 10.6.2 (if I'm not mistaken)

but Apple removed

 

Also, I keep getting this error at boot:

Firewire runtime power conservation disabled. (2)

is this really an error? :unsure:

 

Read it

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

Link to comment
Share on other sites

 

UPDATE: this is in the wrong spot, sorry. Please move to appropriate location or delete.

 

It occurred to me people may be having firewire problems with their Gigabyte boards.

 

FireWire runtime power conservation disabled. (2)

 

This is how to fix that.

 

		Method (_L1A, 0, NotSerialized) // <-- Added for firewire
	 {
		 Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		 Notify (\_SB.PWRB, 0x02)
	 }

 

Within the Device (PCIB) I added another device:

				Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK)
			 {
				 Name (_ADR, 0x00070000)
				 Name (_GPE, 0x1A)
				 Method (_DSM, 4, NotSerialized)
				 {
					 Store (Package (0x02)
						 {
							 "fwhub", 
							 Buffer (0x04)
							 {
								 0x00, 0x00, 0x00, 0x00
							 }
						 }, Local0)
					 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					 Return (Local0)
				 }
			 }

 

Let me know what kind of results people get.

 

dsdt_GA_EP45_UD3P.dsl.zip

 

Maldon,

I have checked my DSDT.aml to find the PCIB part where to add your snippet...

but I don't have it...

I have only till "Device PCI0"

Do I have to add the above lines whitin Device PCI0 ?

Link to comment
Share on other sites

Madlon,

I have checked my DSDT.aml to find the PCIB part where to add your snippet...

but I don't have it...

I have only till "Device PCI0"

Do I have to add the above lines whitin Device PCI0 ?

The location where you need to put those codes maybe a bit different in your DSDT. I bet there is already an entry for your firewire in DSDT. You'll need to obtain an information in windows Device Manager. Open the Firewire properties, go to Details tab & find Address value, for example 00070000. Then search for (example) Name (_ADR, 0x00070000) in your DSDT. When you found it, add the _DSM control method according to the guide. If there is no _GPE defined in the original firewire device method/code, add the _GPE codes according to the guide. Also, if you see this entry in the firewire device method/code (example):-

				  Name (_PRW, Package (0x02)
			   {
				   0x13, 
				   0x03
			   })

The _GPE should be (example):-

Name (_GPE, 0x13)

The event handler for firewire should be (example):-

		  Method (_L13, 0, NotSerialized) // <-- Added for firewire
	   {
		   Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		   Notify (\_SB.PWRB, 0x02)
	   }

The event handler, _L13 is derived from the first value (0x13) in the _PRW code. Of course you need to change \_SB.PCI0.PCIB.FRWR to the correct one, according to your firewire device.

 

@MaLd0n, do you think it is better to change the event handler (Method (_L1A...) to this:-

		  Method (_L1A, 0, NotSerialized) // <-- Added for firewire
	   {
		   Notify (\_SB.PCI0.PCIB.FRWR, 0x80)
		   Notify (\_SB.PWRB, 0x02)
	   }

As you can see, I change Notify (\_SB.PCI0.PCIB.FRWR, 0x00) to Notify (\_SB.PCI0.PCIB.FRWR, 0x80); 0x80 is to notify OS of event which is maybe probable intention. I dunno, I might be wrong. :)

Link to comment
Share on other sites

kizwan, i'm making progress.

I rebooted in windows, went to devices tab

and found the info about firewire.

 

its an host controller ohci 1394 ricoh.

hardware ID: PCI\VEN_1180&DEV_0552&SUBSYS_201E17AA&REV_09

if i go to address it just reports: 00000001

 

I guess that if i search 00000001 in my dsdt.aml I will find a bunch of results :rolleyes:

 

Well, now I will try to open it and see.... what I come up with... :/

Link to comment
Share on other sites

kizwan, i'm making progress.

I rebooted in windows, went to devices tab

and found the info about firewire.

 

its an host controller ohci 1394 ricoh.

hardware ID: PCI\VEN_1180&DEV_0552&SUBSYS_201E17AA&REV_09

if i go to address it just reports: 00000001

 

I guess that if i search 00000001 in my dsdt.aml I will find a bunch of results :rolleyes:

 

Well, now I will try to open it and see.... what I come up with... :/

Just got the following info, using ubuntu:

 

id: firewire

description: FireWire (IEEE 1394)

product: R5C552 IEEE 1394 Controller

vendor: Ricoh Co Ltd

physical id: 0.1

bus info: pci@0000:15:00.1

version: 09

width: 32 bits

clock: 33MHz

capabilities: pm ohci bus_master cap_list

configuration:

driver = firewire_ohci

latency = 32

maxlatency = 4

mingnt = 2

resources:

irq : 17

memory : e4301000-e43017ff

 

tried to look up any referency in my DSDT.aml, which maldon posted me yesterday,

but i can't find anything related to that, i have searched various combinations and numbers, including fw0 and so on..but nothing...

Link to comment
Share on other sites

thanks 

ordered video card 7 bugs ... just corrected ..... there were 3

Sorry, I don't understand.

 

Are you using DSDT Editor (IASL 20101013)?

 

From your original DSDT, just fix the "If (CondRefOf (FPED))" syntax error (see link in my previous post), other errors are auto-fixed, there are no errors left.

 

 

@lalya: please see post #561

Link to comment
Share on other sites

@MaLd0n, do you think it is better to change the event handler (Method (_L1A...) to this:-

		  Method (_L1A, 0, NotSerialized) // <-- Added for firewire
	   {
		   Notify (\_SB.PCI0.PCIB.FRWR, 0x80)
		   Notify (\_SB.PWRB, 0x02)
	   }

As you can see, I change Notify (\_SB.PCI0.PCIB.FRWR, 0x00) to Notify (\_SB.PCI0.PCIB.FRWR, 0x80); 0x80 is to notify OS of event which is maybe probable intention. I dunno, I might be wrong. :P

 

Hi kizwan

Thanks for the info :rolleyes:

Soon I'll test it

my motherboard has no Firewire ;)

and I'm not having as test tfrihtklx.gif

Thanks again

Link to comment
Share on other sites

@MaLd0n,

 

No problem. :) I haven't read all of the post in this thread but there are a couple of people reporting that they lost hot-plugged feature after applying the fix. I just thought maybe by changing it to 0x80 can fix the problem since I didn't recall there is Notify event with 0x00. When I think it again, the event handler (_Lxx) is not important, just the _GPE is needed for this fix. MacKonsti's post #15 is the proved. One more thing, only set _GPE to 0x1A (Name (_GPE, 0x1A)) if there is no _PRW method in the original codes. If, for example, _PRW method is exist in firewire device method/code, like this:-

				  Name (_PRW, Package (0x02)
			   {
				   0x13, 
				   0x03
			   })

The _GPE should be like this:-

Name (_GPE, 0x13)

 

Just got the following info, using ubuntu:

 

id: firewire

description: FireWire (IEEE 1394)

product: R5C552 IEEE 1394 Controller

vendor: Ricoh Co Ltd

physical id: 0.1

bus info: pci@0000:15:00.1

version: 09

width: 32 bits

clock: 33MHz

capabilities: pm ohci bus_master cap_list

configuration:

driver = firewire_ohci

latency = 32

maxlatency = 4

mingnt = 2

resources:

irq : 17

memory : e4301000-e43017ff

 

tried to look up any referency in my DSDT.aml, which maldon posted me yesterday,

but i can't find anything related to that, i have searched various combinations and numbers, including fw0 and so on..but nothing...

I think it is correct that the address for your firewire is 00000001 (0x00000001). This means you need to change the firewire patch a little bit for it to work for you. I didn't found any device with address 00000001 in your DSDT. This means that there is no firewire device method/code in your DSDT. So, you need to add it manually. To do so, you'll need to find where it is connect to (PCI-Bridge or PCI-Express port). If you look in windows Device Manager, the same place where you get the firewire Address, obtain the Parent device. It should look something like this:-

PCI\VEN_8086&DEV_3B4C&SUBSYS_1C771043&REV_06\3&11583659&0&E5

With the vendor & device ID (VEN_8086&DEV_3B4C) locate the parent device which usually under System devices. When you locate the parent device, obtain the Address value, for example 001C0005. Based on this example, locate Name (_ADR, 0x001C0005) in the DSDT. When you found it, add firewire patch below the Name (_ADR, . Remember, the firewire address must change to yours (0x00000001), like this:-

				Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK)
			{
				Name (_ADR, 0x00000001)
				Name (_GPE, 0x1A)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

As you can see, I like to check it in windows because it seems more accurate to me. You also can check it in IOReg using IORegistryExplorer application. If you can post IOReg dump (save it using IORegistryExplorer application), I can look into it for you.

Link to comment
Share on other sites

Guys, I can confirm I am losing hot-plugging mode, when applying the snippet Name (_GPE, 0x13) in my FRWR device section. I use as a test a LaCie 2.5 inch HDD which is firewire-powered. I can only access it once I reboot. If I unplug it and plug back again, power runs at the drive (light is on) but the OS doesn't see it at all.

 

I tried different values for _PWR and even added a code Method (_PRW, 0, NotSerialized) in (FRWR) but nothing changed. Still the same. No difference in the (_GPE) Method section for FRWR ends in 0x00, 0x02 or 0x80... Darn it.

 

In my case, I had no (FRWR) entry at all. This could also be the reason...

 

		Method (_L13, 0, NotSerialized) <-- chose (_L13) as it was not taken
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)  // Power conservation fix for (FRWR)
		Notify (\_SB.PWRB, 0x02)  // Notification same as MacPro3,1
	}

 

		Device (\_SB.PCI0.PCIB.FRWR)
	{
		Name (_ADR, 0x060A0000) <-- reported by lspci -n
		Name (_GPE, 0x13) <-- same as (_GPE) Method

		Method (_PRW, 0, NotSerialized) <-- just added
		{
			Return (Package (0x02)
			{
				0x13, <-- same as (_GPE) Method
				0x03  <-- tried values of 0x01, 0x03 and 0x05...
			})
		}

		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x06)
			{
				"built-in",
					Buffer (0x01) {Zero},
				"fwhub",
					Buffer (0x04) {0x00, 0x00, 0x00, 0x00},
				"device_type",
					Buffer (0x09) {"firewire"}
			}, Local0)
			MCDP (Arg2, RefOf (Local0))
			Return (Local0)
		}
	}

Link to comment
Share on other sites

No mate. Didn't solve it. I did post further down my results, in that thread. It cannot be fixed. I don't think anyone fixed it... The system shuts power somehow, if using the code, or thinks it's powered down and doesn't read the device. It must have to do with the driver and our compatible (?) firewire hardware.

 

So if you guys are not using FRWR too often, just include this code to avoid the error during boot (which, at the end of the day, is not even important). If you are using FRWR like myself (e.g. connected also an Epson Perfection V700 Photo scanner) then don't do anything that will break functionality. Otherwise, you will only get firewire devices to work after rebooting. Not plugging them later.

Link to comment
Share on other sites

No mate. Didn't solve it. I did post further down my results, in that thread. It cannot be fixed. I don't think anyone fixed it... The system shuts power somehow, if using the code, or thinks it's powered down and doesn't read the device. It must have to do with the driver and our compatible (?) firewire hardware.

My bad. ;) I was planning to read the whole thread later. I just read the first page earlier.

 

I agree, even with the firewire error message (FireWire runtime power conservation disabled), it doesn't cause any problem. I only have firewire HDD.

Link to comment
Share on other sites

Hi,

 

For a time ago I got help to add some patch to my original DSDT fil, Thanks. But I'm not shore if I got it right :-) And I see a lot of people add lot of patches :-) So you great guys here perhaps can some one add some great stuff in to my file :-)

 

I'm running 10.6.5 from retail DVD using myhack 1.14 everything looks great, I think :-)

 

I add also some files that could be great also for you if you can help me.

 

If there is someting else please let me know.

 

And I'm running a AMD , see my signature.

 

 

Thanks,

 

Peter

dsdt.aml.zip

IO_Registry_file.zip

kextstat.txt

Link to comment
Share on other sites

Hi,

 

For a time ago I got help to add some patch to my original DSDT fil, Thanks. But I'm not shore if I got it right :-) And I see a lot of people add lot of patches :-) So you great guys here perhaps can some one add some great stuff in to my file :-)

 

I'm running 10.6.5 from retail DVD using myhack 1.14 everything looks great, I think :-)

 

I add also some files that could be great also for you if you can help me.

 

If there is someting else please let me know.

 

And I'm running a AMD , see my signature.

 

 

Thanks,

 

Peter

dsdt.Peter_sm.zip

 

IRQs

REMOVED

RENAMED

RTC

FIX WARNINGS

 

legacy kernel blacklists AppleICPUPM so you don't need a disabler kext (nullCPUPM)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...