Contribute
Register

Help! AppleLPC not loading.

Status
Not open for further replies.
Joined
Feb 24, 2012
Messages
121
Motherboard
EVGA Z68FTW
CPU
i7 2600K
Graphics
EVGA GTX 590 Classified
Mac
  1. MacBook Air
Classic Mac
  1. 0
Mobile Phone
  1. iOS
Greetings,

I'm working on installing 10.8.5 on a Dell Dimension 9200

Specifications:
Intel Core2Duo E6600 2.4 GHz
Graphics: EVGA 9600 GT
BIOS. Version 2.5.3
Motherboard OEM

I have successfully installed 10.8.5 w/supplement, now working on get things working. Noticed that "AppleLPC" is not loaded when I ran kextstat from terminal.

I have tried to follow RehabMan's suggestion from

http://www.tonymacx86.com/mountain-...9371-higher-temps-after-upgrade-10-8-5-a.html

POST #10
but I don't understand how to inject/patch DSDT

I can't even find Device LPC in my DSDT, only Device (ISA) w/ _ADR, 0x001f0000

Appreciate any help. Thanks.

Attached are DSDT & Copy of IOReg
 

Attachments

  • Archive.zip
    344 KB · Views: 326
Greetings,

I'm working on installing 10.8.5 on a Dell Dimension 9200

Specifications:
Intel Core2Duo E6600 2.4 GHz
Graphics: EVGA 9600 GT
BIOS. Version 2.5.3
Motherboard OEM

I have successfully installed 10.8.5 w/supplement, now working on get things working. Noticed that "AppleLPC" is not loaded when I ran kextstat from terminal.

I have tried to follow RehabMan's suggestion from

http://www.tonymacx86.com/mountain-...9371-higher-temps-after-upgrade-10-8-5-a.html

POST #10
but I don't understand how to inject/patch DSDT

I can't even find Device LPC in my DSDT, only Device (ISA) w/ _ADR, 0x001f0000

Appreciate any help. Thanks.

Attached are DSDT & Copy of IOReg

Your LPC device is under _SB.PCI0 -> ISA. Your _DSM is:
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x02)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x15, 0x28, 0x00, 0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

If you look at the Info.plist for AppleLPC.kext, you'll see pci8086,2815...

Change your _DSM to:
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package ([B]0x04[/B])
                    {
                        [B]"name", "pci8086,2815",[/B]
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x15, 0x28, 0x00, 0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
 
Your LPC device is under _SB.PCI0 -> ISA. Your _DSM is:
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x02)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x15, 0x28, 0x00, 0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

If you look at the Info.plist for AppleLPC.kext, you'll see pci8086,2815...

Change your _DSM to:
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package ([B]0x04[/B])
                    {
                        [B]"name", "pci8086,2815",[/B]
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x15, 0x28, 0x00, 0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

Completed. I was able to find the value (pci8086,2815) in the Info.plist you mentioned. It was under IOKitPersonalities/AppleLPC/IONameMatch/key #1

Question, there are 20 values listed under IONameMatch, what determines which value to use for DSDT injection?

AppleLPC now loads with your injection/patch to DSDT. I did notice when booting in Verbose that there was the following warning:

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

OSX did boot and not hang. Any advice on what I should check for?

Off topic, please note that currently I'm only able to boot using "-v -f", problems with "Still waiting on root device". Attached are two images (1 can't boot "Still waiting on root device", 2 can boot with "-f" can find pci8068,2820 : Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,2820 .....

Just seems it's related in terms of dealing with values you mentioned being recognized or not and being able to boot or not. Maybe it can provide you with information leading to a particular kext causing my boot issue.

Thanks RehabMan!
 

Attachments

  • Archive.zip
    5.4 MB · Views: 309
Completed. I was able to find the value (pci8086,2815) in the Info.plist you mentioned. It was under IOKitPersonalities/AppleLPC/IONameMatch/key #1

Question, there are 20 values listed under IONameMatch, what determines which value to use for DSDT injection?

AppleLPC now loads with your injection/patch to DSDT. I did notice when booting in Verbose that there was the following warning:

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

OSX did boot and not hang. Any advice on what I should check for?

I used 2815 because that was what was already in your DSDT. These type of device mappings are intended to take an unrecognized device make it seem to OS X as if it is a different device. In order to do that, the devices must be similar enough that the code for the recognized device works for the unrecognized. The only way to know this by looking at the technical specs for each device.

Off topic, please note that currently I'm only able to boot using "-v -f", problems with "Still waiting on root device". Attached are two images (1 can't boot "Still waiting on root device", 2 can boot with "-f" can find pci8068,2820 : Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,2820 .....

Just seems it's related in terms of dealing with values you mentioned being recognized or not and being able to boot or not. Maybe it can provide you with information leading to a particular kext causing my boot issue.

"Waiting for root " indicates the system cannot find the device it is supposed to mount as root (eg. your system volume). Usually this is due to an unrecognized SATA chipset. Since it only happens for you without "-f" it is an indication of kernel cache probably not being built correctly or could be a timing problem with IOAHCIBlockStorage (usually only a problem with 10.8.3 and before if I remember correctly).
 
I used 2815 because that was what was already in your DSDT. These type of device mappings are intended to take an unrecognized device make it seem to OS X as if it is a different device. In order to do that, the devices must be similar enough that the code for the recognized device works for the unrecognized. The only way to know this by looking at the technical specs for each device.

Big "Thanks" RehabMan.

I'm just trying to understand how you go about solving things. It's been hard to grasp.:banghead: Wow I found 2815 on my DSDT. LOL.

Code:
Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x02)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            [B]0x15, 0x28[/B], 0x00, 0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

Just realized that device id (2815) was from a patch that I applied to my DSDT, not from BIOS. Using IOReg and search for ISA the device id should be 2812, which I was not able to find in Info.plist for AppleLPC.kext. I tried to find out more info, but only know that it's Intel 82801HH (ICH8DH) LPC Interface Controller
How should I address this?

In regards to the warning during Verbose boot:

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

OSX did boot and not hang. Any ideas on what I should check for?


"Waiting for root " indicates the system cannot find the device it is supposed to mount as root (eg. your system volume). Usually this is due to an unrecognized SATA chipset. Since it only happens for you without "-f" it is an indication of kernel cache probably not being built correctly or could be a timing problem with IOAHCIBlockStorage (usually only a problem with 10.8.3 and before if I remember correctly).

Your reasoning makes sense and I've gone about researching more into the matter. I have changed my org.chameleon.boot.plist to UseKernelCache=No and it boots fine now (of course takes forever).

Prior I tried to rebuild the KernelCache following your various methods/instructions from:
http://www.tonymacx86.com/mountain-lion-laptop-support/105313-kernel-cache-issue.html

Sadly nothing work for me. "Still waiting on root device". If any ideas, please let me know.

Some Notes: the system Dell Dimension 9200 BIOS does not have AHCI mode for SATA only Auto ATA/RAID, thus for installation and post install I installed the following kexts:

AppleAHCIPort.kext - IOATAFamily.kext - AppleIntelPIIXATA.ext
(Red Color indicates replacement of original)

might this be the cause of my problems?

Once again, Thank You!
 
Just realized that device id (2815) was from a patch that I applied to my DSDT, not from BIOS. Using IOReg and search for ISA the device id should be 2812, which I was not able to find in Info.plist for AppleLPC.kext. I tried to find out more info, but only know that it's Intel 82801HH (ICH8DH) LPC Interface Controller
How should I address this?

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

Would you recommend that I attempt to edit the Info.plist for AppleLPC.kext and inject my 82801HH LPC Interface Controller information, i.e. device id.

Found out that when AppleLPC.kext is not loaded on vanilla kernel capable hardware, this message appears during boot:ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

In my case, AppleLPC.kext is currently load, but still these warning during boot.

Funny thing is I do show 82801HEM (ICH8M) LPC Interface Controller (device id = 2815) in System Info, but is it doing anything?

I'm totally lost!

 
Would you recommend that I attempt to edit the Info.plist for AppleLPC.kext and inject my 82801HH LPC Interface Controller information, i.e. device id.

Found out that when AppleLPC.kext is not loaded on vanilla kernel capable hardware, this message appears during boot:ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING -LPC device initialization failed: C-state power management not initialized

In my case, AppleLPC.kext is currently load, but still these warning during boot.

Funny thing is I do show 82801HEM (ICH8M) LPC Interface Controller (device id = 2815) in System Info, but is it doing anything?

I'm totally lost!


I'm guessing you had the same logs before now. The only thing you could do is do some research to find out if there is a better match for your LPC than 2815. This would require determining what chipset is in your computer, and finding the one supported by the AppleLPC driver that is closest to it. That is, you'll need to get the datasheets from Intel and pour over the detailed hardware/interface specs.

Either that or upgrade your hardware to something better supported OOB.
 
I tired everything in terms of ICH8 controllers. Only way to get applelpc.kext to load is with warnings during boot. And in addition when it does load, the computer does not shut down properly. Monitor goes off, but system remains on.

Seems to run fine, without the applelpc.kext in terms of tempertures

How important is it for applelpc.kext to load? Can I get away with not having it load?

Thanks again RehabMan, you're the best.
 
I tired everything in terms of ICH8 controllers. Only way to get applelpc.kext to load is with warnings during boot. And in addition when it does load, the computer does not shut down properly. Monitor goes off, but system remains on.

Seems to run fine, without the applelpc.kext in terms of tempertures

How important is it for applelpc.kext to load? Can I get away with not having it load?

Thanks again RehabMan, you're the best.

Since your board is of "Sandy Bridge" era (correct?), you should probably be using one of the ones in "AppleLPC_SB". Have you tried that?
 
Since your board is of "Sandy Bridge" era (correct?), you should probably be using one of the ones in "AppleLPC_SB". Have you tried that?

Sorry for the confusion RehabMan. My Sandy Bridge system, runs great, again thanks to you. I'm working on a Dell Dimension 9200 with a Core 2 Duo E6600 and ICH8 chipset with Nvidia 9600 GT graphics. Old system that was lying around that I wanted to make use of again.

I come to accept that this system can't be 100% working. Funny thing is thus far without applelpc.kext loading, it seems to be running fine.

What works (thus far w/o applelpc.kext):
Sleep
Proper Shutdown
Naive PM
Ethernet
Audio
Graphics
Speedstep (according to HWMonitor, can't run MSRDumper w/o KP).

I also found that I can't use KernelCache when booting. That pretty much sums it up. All I can read up on regarding applelpc.kext, is that it's important that it is loaded, but nothing regarding why it's important what does it do or enable?
 
Status
Not open for further replies.
Back
Top