Jump to content
VegasKarma

Master Chief's P5K PRO ACPI Warfare

908 posts in this topic

Recommended Posts

Hi chief,

 

I may missunderstood something :

                Method (_DSM, 4, NotSerialized)
               {
                   // Return (MCID (Arg2, 0x2681)) // MacPro3,1
                   // Return (MCID (Arg2, 0x3a22)) MacPro4,1
                   Return (MCID (Arg2, 0x26818086)) // MacPro3,1 Ð Both device-id and vendor-id specified!
               }

 

If I have an ich10 should I change the code to 3a22 or not

in ioreg I have this for sata controler

00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22]

 

Barnum

Share this post


Link to post
Share on other sites
Advertisement
Hi chief,

 

I may missunderstood something :

                Method (_DSM, 4, NotSerialized)
               {
                   // Return (MCID (Arg2, 0x2681)) // MacPro3,1
                   // Return (MCID (Arg2, 0x3a22)) MacPro4,1
                   Return (MCID (Arg2, 0x26818086)) // MacPro3,1 Ð Both device-id and vendor-id specified!
               }

 

If I have an ich10 should I change the code to 3a22 or not

in ioreg I have this for sata controler

00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22]

 

Barnum

You asked the same question in post #241 and I answered it in post #244

 

Again; You may change the device-id, to fix the orange drive icons, or use a kext. You WON'T change your ICH10 into a ICH6 or whatever by just faking a device-id. It's a pure cosmetic thing.

Share this post


Link to post
Share on other sites
You asked the same question in post #241 and I answered it in post #244

 

Again; You may change the device-id, to fix the orange drive icons, or use a kext. You WON'T change your ICH10 into a ICH6 or whatever by just faking a device-id. It's a pure cosmetic thing.

that true sorry to ask you the same question :unsure:

Share this post


Link to post
Share on other sites

I finally received the ordered FireWire enclosure today – two external drives (NTFS partitions) from an old notebook HD showing up on my desktop:

 

FireWire400Working.png

 

And here's how it looks int IORegistryExplorer.

 

Edit: I also received the Sitecom CN-516 Micro Adapter (Bluetooth 2.1 USB) which works, but it has yet to do what I want it to do. The magic mouse was not part of this shipment, but should also arrive this week.

Share this post


Link to post
Share on other sites

Hello,

 

Thank you for a brilliant thread. I have a stable P5k Pro (1303) with dsdt ver 3.1 and I am using Cham 2.0  RC3 bootloader. I have use the kexts found on this thread. I have a small but slightly annoying problem. I use a Logitech MX 3200 keyboard and mouse set. Basic functions of the mouse work - but I want to map the extra buttons to keyboard shortcuts. Before in Leopard Steermouse worked fine. Now It would seem that steermouse and USB overdrive (and Logitech control centre) do not recognise my mouse, despite people on "macs" finding that the latest USB overdrive 3.01 works fine in snowleopard. I am wondering if this is a hackintosh problem and whether anything can be done about it. Some people say there is a driver problem, but I am not convinced because I have mapped out all the mouse buttons in the expose system pref. If I cant get USB overdrive to work, anyone know how to manually map buttons to keystrokes?

 

Thanks!

Share this post


Link to post
Share on other sites
Edit: I also received the Sitecom CN-516 Micro Adapter (Bluetooth 2.1 USB) which works, but it has yet to do what I want it to do. The magic mouse was not part of this shipment, but should also arrive this week.

 

Regarding the D-Link DBT120 Bluetooth issue. As far as I'm able to tell the correct driver for bluetooth isn't loading. CSRUSBBluetoothHCIController.kext is specifically for Cambridge Silicon Radio (DBT120). Where as AppleUSBBluetoothHCIController.kext seems to be for Apple Bluetooth. Strange thing is the device-id and vendor-id are in the CSRUSBBluetoothHCIController.kext info.plist so I don't understand why it's not loading. I tried forcing it by creating a legacy kext as well as dropping the kext itself in the Extras folder. kextstat shows it loading but it doesn't take. Under Leopard CSRUSBBluetoothHCIController.kext shows up driving the D-Link DBT120, under snow leopard it's AppleUSBBluetoothHCIController.kext.

 

Anyone else have any suggestions?

Share this post


Link to post
Share on other sites
Hello,

 

Thank you for a brilliant thread. I have a stable P5k Pro (1303) with dsdt ver 3.1 and I am using Cham 2.0 RC3 bootloader. I have use the kexts found on this thread. I have a small but slightly annoying problem. I use a Logitech MX 3200 keyboard and mouse set. Basic functions of the mouse work - but I want to map the extra buttons to keyboard shortcuts. Before in Leopard Steermouse worked fine. Now It would seem that steermouse and USB overdrive (and Logitech control centre) do not recognise my mouse, despite people on "macs" finding that the latest USB overdrive 3.01 works fine in snowleopard. I am wondering if this is a hackintosh problem and whether anything can be done about it. Some people say there is a driver problem, but I am not convinced because I have mapped out all the mouse buttons in the expose system pref. If I cant get USB overdrive to work, anyone know how to manually map buttons to keystrokes?

 

Thanks!

I'm afraid that I can't help you with this, but it is certainly something that I like to learn in the (near) future. I would however not wait for me – too busy with other things already; like getting a PCI-E SATA adapter for my hack.

 

Regarding the D-Link DBT120 Bluetooth issue. As far as I'm able to tell the correct driver for bluetooth isn't loading. CSRUSBBluetoothHCIController.kext is specifically for Cambridge Silicon Radio (DBT120). Where as AppleUSBBluetoothHCIController.kext seems to be for Apple Bluetooth. Strange thing is the device-id and vendor-id are in the CSRUSBBluetoothHCIController.kext info.plist so I don't understand why it's not loading. I tried forcing it by creating a legacy kext as well as dropping the kext itself in the Extras folder. kextstat shows it loading but it doesn't take. Under Leopard CSRUSBBluetoothHCIController.kext shows up driving the D-Link DBT120, under snow leopard it's AppleUSBBluetoothHCIController.kext.

 

Anyone else have any suggestions?

I was wondering about it yes. Same problem here.

 

And if nothing else works, then we can hack IOUSBUserClientInit.cpp and add a check for a new property called SkipInit, and return false early when found, so that we can skip MergeDictionaryIntoProvider and set the properties we need in a legacy kext. What do you think?

Share this post


Link to post
Share on other sites

Hi Chief,

 

My motherboard is a P5K PRO, CPU E8400,9600GT

 

I downloaded your file.What do I need to modify DSDT file?

 

thanks.

Share this post


Link to post
Share on other sites
Hello,

 

Thank you for a brilliant thread. I have a stable P5k Pro (1303) with dsdt ver 3.1 and I am using Cham 2.0  RC3 bootloader. I have use the kexts found on this thread. I have a small but slightly annoying problem. I use a Logitech MX 3200 keyboard and mouse set. Basic functions of the mouse work - but I want to map the extra buttons to keyboard shortcuts. Before in Leopard Steermouse worked fine. Now It would seem that steermouse and USB overdrive (and Logitech control centre) do not recognise my mouse, despite people on "macs" finding that the latest USB overdrive 3.01 works fine in snowleopard. I am wondering if this is a hackintosh problem and whether anything can be done about it. Some people say there is a driver problem, but I am not convinced because I have mapped out all the mouse buttons in the expose system pref. If I cant get USB overdrive to work, anyone know how to manually map buttons to keystrokes?

 

Thanks!

 

If you open AppleHIDKeyboard.kext you'll see entries like

 

			<key>FnFunctionUsageMap</key>
		<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,
0xff010002,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x0
0
070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
		<key>FnKeyboardUsageMap</key>
		<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,
0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
		<key>FnModifierUsage</key>
		<integer>3</integer>
		<key>FnModifierUsagePage</key>
		<integer>255</integer>

 

I believe these are function key mappings. If you could make a custom kext with your specific mapping perhaps you could get it to work. Logitech has Mac drivers for other keyboards. I would download those and take a look. Maybe you can steal the mapping from there.

Share this post


Link to post
Share on other sites
Hi Chief,

 

My motherboard is a P5K PRO, CPU is E8400,9600GT

 

I downloaded your file.What do I need to modify DSDT file?

 

thanks.

 

Hi Master Chief

 

I second liao, I have the same CPU, different graphics card (8800 GT 256 MB), and haven't managed to get sleep to work - modified the CPU part for two processors following another guide, not changing the CPU part (except for the pss part), tested Chameleon and BootThink as bootloaders (the latter not working very well - starts up with a blue screen that stays for a few minutes before showing the desktop), testing two different EFIStrings for my card which float arount the web.. to no avail. I'm a complete noob in DSDT matters, but I count on my dear cousin's OsXsO's help, who is more versed in these matters... and even so haven't had any luck. As for the rest, Snow seems to work very well, but sleep is an essential feature for me, so I'm reluctant to switch from Leopard if I can't make it work.

 

Thank you very much for your great work! And greetings from the sunny Costa del Sol (I read you like Spain)!

Share this post


Link to post
Share on other sites
Hi Chief,

 

My motherboard is a P5K PRO, CPU is E8400,9600GT

 

I downloaded your file.What do I need to modify DSDT file?

 

thanks.

Please read post #3 again – Updated minutes ago with information about NVIDIA graphics cards, and ditto reference to the P State Calculator, which I used to calculate my P-States.

 

Hi Master Chief

 

I second liao, I have the same CPU, different graphics card (8800 GT 256 MB), and haven't managed to get sleep to work - modified the CPU part for two processors following another guide, not changing the CPU part (except for the pss part), tested Chameleon and BootThink as bootloaders (the latter not working very well - starts up with a blue screen that stays for a few minutes before showing the desktop), testing two different EFIStrings for my card which float arount the web.. to no avail. I'm a complete noob in DSDT matters, but I count on my dear cousin's OsXsO's help, who is more versed in these matters... and even so haven't had any luck. As for the rest, Snow seems to work very well, but sleep is an essential feature for me, so I'm reluctant to switch from Leopard if I can't make it work.

 

Thank you very much for your great work! And greetings from the sunny Costa del Sol (I read you like Spain)!

Hola Amigo,

 

Same advise for you: Read post #3 again. And you'll have to either use my DSDT or get serious about changing it.

 

p.s. I think to be one of the few here that actually knows all Costa's yeah :(

Share this post


Link to post
Share on other sites

I have two firewire card. one is built in p5k pro motherboard ,Other is Ti double chip 1394a card.

 

Nov 11 19:06:36 localhost kernel[0]: FireWire (OHCI) TI ID 8020 built-in now active, GUID 00e0003c1670018f; max speed s400.

Nov 11 19:06:36 localhost kernel[0]: FireWire (OHCI) VendorID 1106 ID 3044 built-in now active, GUID 001e8c0001255bdf; max speed s400.

 

 

 

This is my firewire card information in kernel.log,"FireWire runtime power conservation disabled. (2)"had obtains patching Method which said according to Master Chief.Firewire speed compared to before quick.But they are not normal.Because my ancillary equipment movement is not to full.

Share this post


Link to post
Share on other sites
I have two firewire card. one is built in p5k pro motherboard ,Other is Ti double chip 1394a card.

 

Nov 11 19:06:36 localhost kernel[0]: FireWire (OHCI) TI ID 8020 built-in now active, GUID 00e0003c1670018f; max speed s400.

Nov 11 19:06:36 localhost kernel[0]: FireWire (OHCI) VendorID 1106 ID 3044 built-in now active, GUID 001e8c0001255bdf; max speed s400.

 

 

 

This is my firewire card information in kernel.log,"FireWire runtime power conservation disabled. (2)"�had obtains patching Method which said according to Master Chief.Firewire speed compared to before quick.But they are not normal.Because my ancillary equipment movement is not to full.

Let me see if I get this right: Your PCI card works, but only as FW400 instead of FW800?

 

Edit: Property FireWire Speed is set to 0x2 on my hack whereas my MacPro4,1 shows 0x3

Share this post


Link to post
Share on other sites

Master Chief,

 

I have EX58-UD5 Gigabyte Mobo and I am searching since month for a fix for this issue:

"FireWire runtime power conservation disabled. (2)"

 

Is there a way to fix this with modifying my DSDT?

 

Thanks!

Share this post


Link to post
Share on other sites
Master Chief,

 

I have EX58-UD5 Gigabyte Mobo and I am searching since month for a fix for this issue:

"FireWire runtime power conservation disabled. (2)"

 

Is there a way to fix this with modifying my DSDT?

 

Thanks!

I think so. Start reading from page 13 and follow the direction from there.

Share this post


Link to post
Share on other sites
Perhaps I can help here. Under Scope (_GPE) I added:

		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
			{
				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)
				}
			}

 

Keep in mind I have a Gigabyte board but I believe you can fix the problem using this exact method, the boards seem similar enough. Just verify the _ADR space in the FRWR Device. I've altered MC DSDT JUST AS AN EXAMPLE! I have no way of testing this so take it as a suggestion.

 

I really need this fix...

but I have to give up after one hour of trying to understand this!

 

I cant' find something like this in my DSDT: "Device (PCIB)"

 

Please help to fix this!

 

i really appreciate your help!

Share this post


Link to post
Share on other sites
I really need this fix...

but I have to give up after one hour of trying to understand this!

 

I cant' find something like this in my DSDT: "Device (PCIB)"

 

Please help to fix this!

 

i really appreciate your help!

Search for Device (HUB0) or 0x001E0000

 

@everyone: The latest IASL compiler is now available from the attachments in post #3.

Share this post


Link to post
Share on other sites
Let me see if I get this right: Your PCI card works, but only as FW400 instead of FW800?

 

Edit: Property FireWire Speed is set to 0x2 on my hack whereas my MacPro4,1 shows 0x3

 

My pci card only as FW400.INo FW800.1394A no 1394B.

 

This is my dsdt.aml

Device (FRWR)
			{
				Name (_ADR, 0x00030000)
				Name (_GPE, 0x18)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					MCDP (Arg2, RefOf (Local0))
					Return (Local0)
				}
			}

			Device (FRWC)
			{
				Name (_ADR, 0x00010000)
				Name (_GPE, 0x19)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					MCDP (Arg2, RefOf (Local0))
					Return (Local0)
				}

 

Such increase is right?

Share this post


Link to post
Share on other sites

thanks for your prompt reply. As I have no programming knowledge, ill wait till someone works it out. In the mean time, I can't seem to update from 6.0 to 6.1 without getting a kernel panic. any ideas?

Share this post


Link to post
Share on other sites
My pci card only as FW400.INo FW800.1394A no 1394B.

 

This is my dsdt.aml

 ... (see post #320)

 

Such increase is right?

I would say yes. As long as it works of course.

 

thanks for your prompt reply. As I have no programming knowledge, ill wait till someone works it out. In the mean time, I can't seem to update from 6.0 to 6.1 without getting a kernel panic. any ideas?

I wouldn't know. No problem here.

 

Tip: Help people willing to help you, as in don't be cheap with info. Start by adding a signature (see 'My Controls') so that we here at least know what you are using. See post #3 for what we need to know.

Share this post


Link to post
Share on other sites
Tip: Help people willing to help you, as in don't be cheap with info. Start by adding a signature (see 'My Controls') so that we here at least know what you are using. See post #3 for what we need to know.

Hear-hear!!

 

It seems to me it really should be a requirement to open an account.

Share this post


Link to post
Share on other sites
kdawg, no problem

 

HDEF part in DSDT

           Device (HDEF) // Patched for audio.
           {
               Name (_ADR, 0x001B0000)

               // Newly added.
               OperationRegion (HDCS, PCI_Config, 0x54, 0x04) // Power Management Control/Status (ICH9R-3169722.pdf / 17.1.19 / page 664).
               Field (HDCS, DWordAcc, NoLock, Preserve)
               {
                       ,   15, 
                   PMES,   1
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x06
                   })
               }

               // Newly added Method.   
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x0A)
                       {
                           "built-in",
                           Buffer (One)
                           {
                               0x01
                           },

                           "codec-id",
                           Buffer (0x04)
                           {
                               0x88, 0x08, 0xEC, 0x10
                           },

                           "layout-id",
                           Buffer (0x04)
                           {
                               0x78, 0x03, 0x00, 0x00
                           },

                           "device-type",
                           Buffer (0x0F)
                           {
                               "Realtek ALC888"
                           },

                           "PinConfigurations",
                           Buffer (0x28)
                           {
                               /* 0000 */    0x10, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02,
                               /* 0008 */    0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02,
                               /* 0010 */    0x30, 0x40, 0x11, 0x01, 0x40, 0x40, 0x01, 0x01,
                               /* 0018 */    0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01,
                               /* 0020 */    0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
                           }
                       }, Local0)
                   MCDP (Arg2, RefOf (Local0))
                   Return (Local0)
               }
           }

 

 

LegacyHDA.kext part

	   <key>CodecAddressFilterArray</key>
           <array>
               <dict>
                   <key>CodecAddressMask</key>
                   <data>
                   AQAAAA==
                   </data>
                   <key>LayoutID</key>
                   <integer>16392</integer>
                   [b]<key>PCIVendorDeviceID</key> <- [/b]Read from original AppleHDA.kext  
[b]                    <integer>282987200</integer>[/b]
               </dict>
               <dict>
                   <key>CodecAddressMask</key>
                   <data>
                   AQAAAA==
                   </data>
                   <key>LayoutID</key>
                   <integer>0</integer>
                  [b] <key>PCIVendorDeviceID</key> [/b][b]<- [/b]Read from original AppleHDA.kext  
[b]                    <integer>282987200</integer>[/b]
               </dict>
           </array>

 

Here is my LegacyHDA.kext. Those is however only for ACL888.

LegacyHDA.kext.zip

 

Thanks!

Share this post


Link to post
Share on other sites

The cleanest OSX restart kext is now available in post #3 – see attachments (ZIP file includes a 32 and 64 bit version).

 

Update: A new ZIP file with a combo (32/64 bit) kext is now also available!

 

kextstat output:

120 0 0x554b2000 0x2000 0x1000 com.apple.osx.restart (1.0) <4 3>

ioreg output:

+-o OSX_Restart_Handler <class OSX_Restart_Handler, id 0x1000004b5, !registered, !matched, active, busy 0, retain 4>

{

"IOClass" = "OSX_Restart_Handler"

"IOMatchCategory" = "OSX_Restart_Handler"

"IOProbeScore" = 18446744073709550616

"IOProviderClass" = "IOPlatformExpertDevice"

"CFBundleIdentifier" = "com.apple.osx.restart"

"IOResourceMatch" = "ACPI"

}

 

And no, this is not a simple renaming action, and no there is no shutdown code in it. Just a new restart handler, and yes one without kdreboot :thumbsup_anim:

Share this post


Link to post
Share on other sites
The cleanest OSX restart kext is now available in post #3 �" see attachments (ZIP file includes a 32 and 64 bit version).

 

kextstat output:

120 0 0x554b2000 0x2000 0x1000 com.apple.osx.restart (1.0) <4 3>

ioreg output:

+-o OSX_Restart_Handler <class OSX_Restart_Handler, id 0x1000004b5, !registered, !matched, active, busy 0, retain 4>

{

"IOClass" = "OSX_Restart_Handler"

"IOMatchCategory" = "OSX_Restart_Handler"

"IOProbeScore" = 18446744073709550616

"IOProviderClass" = "IOPlatformExpertDevice"

"CFBundleIdentifier" = "com.apple.osx.restart"

"IOResourceMatch" = "ACPI"

}

Why is only one architecture and not both i386 & x86_64?

And where is the source? :thumbsup_anim:

Share this post


Link to post
Share on other sites
Why is only one architecture and not both i386 & x86_64?

Otherwise it wouldn't be the cleanest. But you are right, this way might be making things too difficult and thus I attached a new archive with a combo kext. Thanks for the clever reminder. I really appreciate it.

 

And where is the source? :thumbsup_anim:

The source will be made available after a grace period, giving me time to do something that has not be done before – but nothing sneaky, of course not.

 

Note: I was unable to add this text before, due to getting IPS errors!

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×