Jump to content

Fix for IOATAFamily / AppleIntelPIIXATA panic in Snow Leopard


sigmaris
 Share

77 posts in this topic

Recommended Posts

For people having panics caused by AppleIntelPIIXATA.kext on Snow Leopard (e.g. on Intel BadAxe or BadAxe2 mobo) this kext may provide a solution. AppleIntelPIIXATA loading on a system with the secondary PCI IDE channel disabled seems to trigger a bug in IOATAFamily causing a NULL pointer dereference. I have patched the source of IOATAFamily from Snow Leopard to avoid the bug and recompiled it.

 

If you are having panics looking like this, try replacing your IOATAFamily.kext with the attached one, and let me know if it fixes the panic. I have gotten access to my PATA drives on a BadAxe 1 board using this kext.

 

Note that this is not the IOATAFamily from 10.5.8 as described here, it is compiled from patched Snow Leopard source code. The source is available from Apple here and the small patch I used is also attached to this post. The AppleIntelPIIXATA.kext is also included in the PlugIns folder of the attached kext, but it is unmodified.

 

Edit: replaced the suspect .tar.gz with a .zip file

 

Edit 2/4/10: Apple have fixed the bug in 10.6.3, so this patch isn't needed/useful anymore for 10.6.3+ systems.

IOATAFamily_panic_fix.patch.zip

IOATAFamily.kext.zip

  • Like 1
Link to comment
Share on other sites

The AppleIntelPIIXATA.kext is also included in the PlugIns folder of the attached kext, but it is unmodified.

@rals2007 Wait for -DuNe- fix if you want to use IDE mode on unsupported ichx.

It doesnt work on P5K ich9. Still waiting for Root device, even though i have applepiiatainjector

This is a fix for laptops(IMO) that has the secondary pci ide channel disabled.

Thanks for sharing the fix :P

Link to comment
Share on other sites

It does not with Boot-132 or BootCD. Did you only test your patch by copying it over Snow Leopard's IOATAFamily.kext (inside Snow Leopard's dmg file)?

 

I haven't tested it with the boot-132 / cdboot as I can't get the CD to boot on my system. It just resets as soon as it it loads off the CD after the BIOS screen. From what I know, it should theoretically work when loaded from boot-132 or /Extra/Extensions, though, as it will load first and override the vanilla IOATAFamily.

Link to comment
Share on other sites

Ok, my impressions about the kext.

 

It DOES work on 32/64 bits on my motherboard Foxconn G31MV-K with the ICH7 southbridge. However, on 64bits, my SATA hard drive is not recognized. The system boots fine (my Snow Leopard installation is on my 80GB IDE HD) but the 2 partitions of my SATA drive (Windows 7 and Data) doesn't show up.

 

Now I will test the kext, leaving untouched the vanilla on S/L/E and try this on EFI/Extra/Extensions to see if it works.

 

EDIT:

 

It works fu***ng great!

 

I mean, in my case it doesn't work on EFI/Extra/Extensions (the vanilla still loads and KPs). But it works great on 64 bits on /System/Library/Extensions.

 

When I said it didn't recognize my SATA drive, I was wrong. NTFS-3G doesn't work on 64 bits. Therefore, my 2 partitions on the SATA drive didn't mount. But the SATA drive appears fine on System profiler.

 

Thanks for this AMAZING kext. Thank you, thank you, thank you!!!!

 

Cheers!!

Link to comment
Share on other sites

For people having panics caused by AppleIntelPIIXATA.kext on Snow Leopard (e.g. on Intel BadAxe or BadAxe2 mobo) this kext may provide a solution. AppleIntelPIIXATA loading on a system with the secondary PCI IDE channel disabled seems to trigger a bug in IOATAFamily causing a NULL pointer dereference. I have patched the source of IOATAFamily from Snow Leopard to avoid the bug and recompiled it.

 

If you are having panics looking like this, try replacing your IOATAFamily.kext with the attached one, and let me know if it fixes the panic. I have gotten access to my PATA drives on a BadAxe 1 board using this kext.

 

Note that this is not the IOATAFamily from 10.5.8 as described here, it is compiled from patched Snow Leopard source code. The source is available from Apple here and the small patch I used is also attached to this post. The AppleIntelPIIXATA.kext is also included in the PlugIns folder of the attached kext, but it is unmodified.

 

Edit: replaced the suspect .tar.gz with a .zip file

 

I'm confused. Why did you include a patch zip file along with the IOATAFamily download? Anyway, give us some more detail on this fix. Does it support ICH7-R chipsets?

 

I haven't tested it with the boot-132 / cdboot as I can't get the CD to boot on my system. It just resets as soon as it it loads off the CD after the BIOS screen. From what I know, it should theoretically work when loaded from boot-132 or /Extra/Extensions, though, as it will load first and override the vanilla IOATAFamily.

 

Can anyone in the OSx86 community figure out how to fix the IOATAFamily kext (specifically AppleIntelPIIXATA.kext) for a Boot-132 or CDBoot install. This must be a difficult problem, because no one in the community has been able to step up and figure out the problem. Hopefully "Dune" can.

 

Once you can boot your system from CD, try Boot-132 or BootCD and tell me if your patched IOATAFamily.kext works because on my system it kernel panics. My system has no secondary ATA controller.

Link to comment
Share on other sites

I have ICH-7-R and this patched kext works for me in x32 Snow.I put this pathed kext in Extra/Extentions and leaving untouchable the vanilla kext in /System/Library/Extentions and everything works great, no more kernel panic.

 

The question is: Are you booting from the Boot-132 or BoodCD using an IDE (ATA) DVD drive when installing Snow Leopard?

 

If your booting from a SATA DVD-ROM drive and using a Boot-132 or BoodCD, then you'll have no problems installing Snow Leopard. Also, you'll have no problems if your bootloader is on your SATA hard drive and your copying these kexts (mentioned in this thread) to the /Extra/Extensions folder.

Link to comment
Share on other sites

Ok, my impressions about the kext.

 

It DOES work on 32/64 bits on my motherboard Foxconn G31MV-K with the ICH7 southbridge. However, on 64bits, my SATA hard drive is not recognized. The system boots fine (my Snow Leopard installation is on my 80GB IDE HD) but the 2 partitions of my SATA drive (Windows 7 and Data) doesn't show up.

 

Now I will test the kext, leaving untouched the vanilla on S/L/E and try this on EFI/Extra/Extensions to see if it works.

 

EDIT:

 

It works fu***ng great!

 

I mean, in my case it doesn't work on EFI/Extra/Extensions (the vanilla still loads and KPs). But it works great on 64 bits on /System/Library/Extensions.

 

When I said it didn't recognize my SATA drive, I was wrong. NTFS-3G doesn't work on 64 bits. Therefore, my 2 partitions on the SATA drive didn't mount. But the SATA drive appears fine on System profiler.

 

Thanks for this AMAZING kext. Thank you, thank you, thank you!!!!

 

Cheers!!

 

What are you going to do when Software Updates overwrites the IOATAFamily.kext in S/L/E?

 

It seems this fix is only useful when you install it to S/L/E, but will not work on the EFI partition or from a Boot-132 or BootCD. Not good.

 

OSBundleRequired=Root doesn't even help.

Link to comment
Share on other sites

As far as chipset goes, this patch doesn't add support for any more ICH chipsets than what the standard AppleIntelPIIXATA supports, it just fixes the kernel panic in IOATAFamily that's triggered by AppleIntelPIIXATA. I believe -DuNe- is working on support for additional chipsets in AppleIntelPIIXATA under Snow Leo, see this thread

Link to comment
Share on other sites

So here is where i am at now!

 

I followed the guide step by step,

 

http://www.insanelymac.com/forum/index.php...p;#entry1268472

 

There is a problem though.......

 

1.Booted from my sata drive where the SL install image/DVD was restored to. I did delete the AppleIntelPIIXATA from IOATAFamily before I installed.....

 

2. Install of SL went 100% ok.

 

3. It asks me to restart after 100% install.....

 

3. rebooted then I get this panic when the new SL install drive boots.

 

Can anyone shine any light on this?

 

Would be great to sort it out! OH I forgot to say, I now no longer have a 10.5.8 install to work from!!

Only the Boot drive! and a broken SL install..... My system details are in my Sig.

post-431746-1253103342_thumb.jpg

Link to comment
Share on other sites

this solve my KP problem in Snow installation... but my system on boot somehow reset my BIOS HDD setting. Each time I have to enter the Bios to set all the drives.

 

My configuration

- Pentium 4 , 945 chipset (ICH7R), IDE optical drive, 3 SATA drives.....HD2900 graphic card.

 

my Extra/Extensions are

AHCIPortinjector.kext

ATAPortInjector.Kext

Disabler.Kext

Dsmos.kext

fakesmc.kext

IOAHCIBlockStorageInjector.kext

JmicronATAinjector.kext

NullCPUPowerManagement.kext

OpenHaltRestart.Kext

SleepEnabler.kext

 

My s/l/e folders, adding-

IOATAFamily.kext

AppleIntelPIIXATA,kext (as in this thread)

 

 

System booting into Snow and working well with Network, Sound (after patching VoodooHDA.kext), and 2400 EFI string...Graphic can only be in 1048 and cannot be changed.

Link to comment
Share on other sites

this solve my KP problem in Snow installation... but my system on boot somehow reset my BIOS HDD setting. Each time I have to enter the Bios to set all the drives.

 

My configuration

- Pentium 4 , 945 chipset (ICH7R), IDE optical drive, 3 SATA drives.....HD2900 graphic card.

 

my Extra/Extensions are

AHCIPortinjector.kext

ATAPortInjector.Kext

Disabler.Kext

Dsmos.kext

fakesmc.kext

IOAHCIBlockStorageInjector.kext

JmicronATAinjector.kext

NullCPUPowerManagement.kext

OpenHaltRestart.Kext

SleepEnabler.kext

 

My s/l/e folders, adding-

IOATAFamily.kext

AppleIntelPIIXATA,kext (as in this thread)

 

 

System booting into Snow and working well with Network, Sound (after patching VoodooHDA.kext), and 2400 EFI string...Graphic can only be in 1048 and cannot be changed.

Check netkas site for cmos reset fix.

Do you have your dsdt file already?

Link to comment
Share on other sites

thanks for the reply

 

Yes, I have looked at the DSDT and the CMOS reset patch... Mine DSDT.aml is already same as the patched version.

 

regards

Hmm. I added IOATA from this thread to my Extra/Extensions folder.

fakesmc and dsmos do the same thing. Try removing dsmos.

Same withe disabler and NullCPUPowerManagement.kext. Remove disabler.

I was also able to remove AHCIPortinjector.kext, ATAPortInjector.Kext, and IOAHCIBlockStorageInjector.kext after adding patched IOATA (maybe JmicronATAinjector.kext too). I am not sure though as you are on the 945 chipset.

Link to comment
Share on other sites

 Share

×
×
  • Create New...