Jump to content

Fix for IOATAFamily / AppleIntelPIIXATA panic in Snow Leopard


sigmaris
 Share

77 posts in this topic

Recommended Posts

Hey, sigmaris.

 

 

I am running both 32 bit Mode & 64 bit Mode by using Chameleon2 RC3 r658.

( BIOS : o SATA Mode - Enhanced o JMicron - Disabled ) ( ASUS P5K [iCH9 - Non AHCI Mode] )

 

 

- SATA Ports

o AppleIntelPIIXATA2.kext from iATKOS1057 : ( Full working : SATA 1 , 2, 3, 4 Ports ) ( only 32 bit Mode )

o AppleIntelPIIXATA.kext from z0r : ( working : only SATA 1 , 2, Ports ) ( 32/64 bit Mode )

10a432_P5K_PIIXATA(32_64).zip

 

 

Can you edit the info.plist of AppleIntelPIIXATA.kext ?

I want to use SATA 3, 4 Ports in 64bit Mode.

Link to comment
Share on other sites

Thanx! Works nice here as well on bad axe 2, only the IDE fix left for the marvell controller in snow leo :)

 

Same for me on my Samsung Q45. Thanks.

 

But can someone please tell me how I can verify if these the kext which I have downloded. I changed more before the last boot (make-*.kext) and so I am a bit confused :( but happy!

Link to comment
Share on other sites

worked great for me on a D945GCLF

 

my Optical drive is a PATA drive or I would have just shut the ATA controller off in the bios and said heck with it.

Link to comment
Share on other sites

worked great for me on a D945GCLF

 

my Optical drive is a PATA drive or I would have just shut the ATA controller off in the bios and said heck with it.

 

I don't understand your question. You can use this kext on both 32/64 bits and leave your ATA controller enabled.

 

Works fine for me (ICH7) but on 64bits the system is very unstable. Also the NTFS-3G driver doesn't work.

 

Cheers!

Link to comment
Share on other sites

Hey, sigmaris.

 

I am running both 32 bit Mode & 64 bit Mode by using Chameleon2 RC3 r658.

( BIOS : o SATA Mode - Enhanced o JMicron - Disabled ) ( ASUS P5K [iCH9 - Non AHCI Mode] )

 

- SATA Ports

o AppleIntelPIIXATA2.kext from iATKOS1057 : ( Full working : SATA 1 , 2, 3, 4 Ports ) ( only 32 bit Mode )

o AppleIntelPIIXATA.kext from z0r : ( working : only SATA 1 , 2, Ports ) ( 32/64 bit Mode )

10a432_P5K_PIIXATA(32_64).zip

 

Can you edit the info.plist of AppleIntelPIIXATA.kext ?

I want to use SATA 3, 4 Ports in 64bit Mode.

 

I believe you need -Dune-'s patched AppleIntelPIIXATA.kext to enable all SATA ports in Non-AHCI mode. Info.plist editing may not be sufficient. Apparently a Snow Leopard 32/64 bit version is being worked on, in the thread.

OR - you could just enable AHCI mode in the BIOS and get access to the ports that way.

Link to comment
Share on other sites

I believe you need -Dune-'s patched AppleIntelPIIXATA.kext to enable all SATA ports in Non-AHCI mode. Info.plist editing may not be sufficient. Apparently a Snow Leopard 32/64 bit version is being worked on, in the thread.

OR - you could just enable AHCI mode in the BIOS and get access to the ports that way.

Thanks.

 

My board [ASUS P5K Vanilla - ICH9] has no Default AHCI Mode. ( I don`t like the JMicron AHCI Mode. )

 

OK. I will wait for DuNe`s nice work.

Link to comment
Share on other sites

sigmaris

 

Correct me if im wrong... If Dune's patched AppleIntelPIIXATA comes out, we will not be needing your patched IOATAFamily anymore?

 

I'm not totally sure, as the panic is actually caused by a bug (as I see it) in the IOATAFamily code itself. It is just triggered by the behaviour of AppleIntelPIIXATA when initialising with the secondary IDE channel disabled. It might be possible to rewrite parts of AppleIntelPIIXPATA to avoid the bug, but that would be a more serious undertaking than simply fixing the bug in IOATAFamily, which is relatively straightforward.

 

Or who knows - Apple may actually fix the bug themselves in future versions of 10.6. Stranger things have happened, although I imagine none of the Mac systems have ICH chipsets with only one IDE channel to trigger it, so from Apple's POV it's not an obvious problem.

Link to comment
Share on other sites

Hello. I'm a total mac noob. Installed SL today on my Dell M1530 and having this kernell panic. Can I plug in my pendrive with your file, and copy it somehow to my installed mac? Do I have to open terminal through installation cd? What are the commands for copying? Thank you in advance!

Link to comment
Share on other sites

Hello. I'm a total mac noob. Installed SL today on my Dell M1530 and having this kernell panic. Can I plug in my pendrive with your file, and copy it somehow to my installed mac? Do I have to open terminal through installation cd? What are the commands for copying? Thank you in advance!

 

If you can, disable the ATA controller or switch it into AHCI mode. That should let you boot up into SL without panicing, then you can copy the patched IOATAFamily kext to /System/Library/Extensions/ (or /Extra/Extensions) and rebuild the kext cache.

If you can't disable the ATA controller (e.g. if your boot hard drive is attached to it) then if you can boot up using the installation DVD then you can copy the patched kext onto your boot drive using Terminal. The commands to copy would be something like:

cp -R /Volumes/<usb stick name>/IOATAFamily.kext /Volumes/<boot drive name>/System/Library/Extensions/
(or)
cp -R /Volumes/<usb stick name>/IOATAFamily.kext /Volumes/<boot drive name>/Extra/Extensions/

depending if you want to put it in /System/Library/Extensions/ or /Extra/Extensions/. Then rebuild the kext cache with

kextcache -m /Volumes/<boot drive name>/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /Volumes/<boot drive name>/System/Library/Extensions

or

kextcache -m /Volumes/<boot drive name>/Extra/Extensions.mkext /Volumes/<boot drive name>/Extra/Extensions

Link to comment
Share on other sites

Hey sigmaris, nice find :) about the boot132 issues, since IOATAFamily has

 

OSBundleCompatibleVersion

1.0b1

 

in its Info.plist you can subclass it in a new kernel extension, and just replace the one broken function, that way it should be possible to have the new kext in /Extra/Extensions and leaving IOATAFamily unpatched in the Extensions folder. This should be more future prove as well. If apple ever will modify this kext again since from what i know there are no real macs that will run Snow Leopard and have IDE?

 

greezs

Link to comment
Share on other sites

Hey sigmaris, nice find :( about the boot132 issues, since IOATAFamily has

 

<key>OSBundleCompatibleVersion</key>

<string>1.0b1</string>

 

in its Info.plist you can subclass it in a new kernel extension, and just replace the one broken function, that way it should be possible to have the new kext in /Extra/Extensions and leaving IOATAFamily unpatched in the Extensions folder. This should be more future prove as well. If apple ever will modify this kext again since from what i know there are no real macs that will run Snow Leopard and have IDE?

 

greezs

 

That's interesting... there is some way to make other KEXTs that use IOATAFamily as a provider to use the subclass instead? I should read up on this I guess but I find myself with less and less free time now university term has started...

Link to comment
Share on other sites

That's interesting... there is some way to make other KEXTs that use IOATAFamily as a provider to use the subclass instead? I should read up on this I guess but I find myself with less and less free time now university term has started...

 

Is there a way to make it work on a (EFI partition)/Extra/Extensions???

 

I've tried with OSBlundeRequiered setting to Local-Root and Root only and it doesn't work. It still loads the S/L/E vanilla one. I want to keep my installation as clean as possible by putting all the 3rd party kexts on the EFI partition.

 

On /S/L/E your kext works fine.

 

Cheers!

Link to comment
Share on other sites

  • 2 weeks later...
... 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.

 

Nice. I am interested in the environment used to recompile it... :ninja:

Are you using another OSX with Xcode ? How about a short desc of the setup ?

 

Thanks.

Link to comment
Share on other sites

Nice. I am interested in the environment used to recompile it... :D

Are you using another OSX with Xcode ? How about a short desc of the setup ?

 

Thanks.

 

I just downloaded the source of IOATAFamily from that link, opened the XCode project contained within, edited the source and compiled it. I'm using XCode 3.2 on Snow Leopard.

Link to comment
Share on other sites

 Share

×
×
  • Create New...