Jump to content

[Solution] Unknown AHCI, Orange Disk Icons in 10.5.2 to 10.5.6 for Intel and JMicron


Gujal
 Share

152 posts in this topic

Recommended Posts

Edit 15-May-2009: This method is now defunct. Chameleon 2.0 comes bundled with two injector kexts which inject the information contained in this solution. This is also elegant that you can upgrade your install and dont have to edit or replace Info.plist

 

Edit 11-Feb-09: Read this topic by thorazine74 for a newer approach

 

Edit 20-Dec-08: Corrected 10.5.6 kexts uploaded. Screenshots on Page 5

Edit 19-Dec-08: Patched 10.5.6 kexts have wrong version number in Info.plist. needs to be fixed. Work in progress

Edit 17-Dec-08: Complete 10.5.6 modified kexts included Dont download this. Get the corrected one.

Edit 10-Oct-08: Added ICH10 and ICH10R. Complete 10.5.5 modified Kexts also included

Edit 5-Jun-08: Spelling corrected. Thanks to FYR

 

After trolling through various posts and solutions on this topic, I have compiled this solution. It is not my solution but I have compiled it, that is all. Credits go to Original Posters

 

My motherboard (as seen in my sig) is Asus P5B. It has 4 internal SATA ports based on Intel ICH8, 1 internal SATA port based on JMicron 363 and one ESATA port based on JMicron 363.

 

I have run various versions of OSX right from JaS 10.4.8 upto Leo4all V3.

 

In all versions upto Leo4all v3, I had to set my Intel and JMicron controllers as AHCI in BIOS for OSX to see them. In 10.4.x I believe due to JaS's driver, the Harddisk icons were the usual Aluminum coloured ones.

However since 10.5, the AHCI harddisks were shown as Orange coloured odd looking icons. Also in System Profiler, it would show up as Unknown AHCI Controller for both Intel and JMicron and on top of it will only sense two Intel SATA ports (instead of 4).

In Leo4all v3, it included a modified IOATAFamily which allowed me to use Intel SATA in IDE mode instead of AHCI mode, this fixed the icons but still could only see two SATA Ports.

 

As AHCI mode is supposed to be superior to IDE mode, I decided to settle for AHCI mode.

After upgrading to 10.5.3 and modifying two plist files as shown below, I now have all SATA ports recognised, all controllers recognised and the icons for internal harddisks are aluminum instead of orange

 

I am including two Info.plist files. These are not "Drivers", these are merely text files which have the PCI definitions. Hence you do not lose any of the AHCI Hot Swap functionality.

 

The first one defines all Intel ICH7 till 10 controllers and JMicron controllers. This is located in /System/Library/Extensions/AppleAHCIPort.kext/Contents/

By using this file, the Unknown AHCI Controller in System Profiler goes away and now correctly displays your SATA Chipset as shown in the attached screen shots

 

The Second one defines Internal ports so that drives connected to internal ports are shown using Aluminum icons. This is located in /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents

 

Copy the two Info.plist files to the correct locations as shown above, fix ownership and permissions, touch /System/Library/Extensions directory and reboot. Once rebooted, you can see the correct icons on the desktop and if you go to System Profiler, you will see that it has sensed JMicron and Intel SATA Controllers.

OR

If you are running 10.5.5 just use the modified kexts from my attachment below.

 

Assuming you have extracted AHCIFixv2.zip to your desktop, open terminal application and enter the following

sudo -s
[i]it will prompt for password, put your password here[/i]
cd
cp Desktop/AHCIFixv2/AppleAHCIPort.kext.dir/Contents/Info.plist /System/Library/Extensions/AppleAHCIPort.kext/Contents
cp Desktop/AHCIFixv2/IOAHCIFamily.kext.dir/Contents/PlugIns/IOAHCIBlockStorage.kext.dir/Contents/Info.plist /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents
chown -R root:wheel /System/Library/Extensions/AppleAHCIPort.kext/
chown -R root:wheel /System/Library/Extensions/IOAHCIFamily.kext/
touch /System/Library/Extensions
exit

You can now reboot the system. When you reboot, you will get a message that it is building boot cache which is normal.

post-103846-1212490331_thumb.jpg

post-103846-1212490353_thumb.png

AHCIFixv2_withkexts.zip

AHCIFixv2.zip

AHCIfixv2_with_10.5.6_kexts__corrected_.zip

Link to comment
Share on other sites

Take care you have 2 <key>CFBundeIdentifier</key> that need a "l" :)

 

However moded/completed Info.plist is the solution I prefer over backward to 10.5.2 kext . (Which is the right solution if nothing better can be done with 10.5.3, the goal is to run)

Link to comment
Share on other sites

No copy/paste, or with extreme care. Just move the Info.plist file in their right respective place. You can use one. (But care about orange. their is rumors that that change some perf)

Link to comment
Share on other sites

@shmk

After copying the Info.plist files, did you fix the permissions and "touch /System/Library/Extensions" before rebooting?

What does that mean??

For us less terminal-savvy people, can you post details on what you actually have to do to perform those two things, especially the latter?

Link to comment
Share on other sites

Assuming you have extracted AHCIFix.zip to your desktop, open terminal application and enter the following

sudo -s
[i]it will prompt for password, put your password here[/i]
cd
cp Desktop/AHCIFix/AppleAHCIPort.kext.dir/Contents/Info.plist /System/Library/Extensions/AppleAHCIPort.kext/Contents
cp Desktop/AHCIFix/IOAHCIFamily.kext.dir/Contents/PlugIns/IOAHCIBlockStorage.kext.dir/Contents/Info.plist /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents
chown -R root:wheel /System/Library/Extensions/AppleAHCIPort.kext/
chown -R root:wheel /System/Library/Extensions/IOAHCIFamily.kext/
touch /System/Library/Extensions
exit

You can now reboot the system. When you reboot, you will get a message that it is building boot cache which is normal.

Link to comment
Share on other sites

If it says unknown after an -f, then the plist files are not installed correctly.

You can look at your current Info.plist files at

/System/Library/Extensions/AppleAHCIPort.kext/Contents

/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents

 

and compare with the ones I posted in the zip file.

Link to comment
Share on other sites

Their installed properly. They match yours.

 

I have rebooted with an -f and also used the OSX86tool to flush extensions cache.

 

Unknown AHCI Standard Controller:

 

Vendor: Unknown

Product: AHCI Standard Controller

Speed: 3.0 Gigabit

Description: AHCI Version 1.20 Supported

Link to comment
Share on other sites

OK, it worked.

 

Let me explain what happened in case other have a similar situation.

 

I have a 500 gb drive with 2 partitions, "BOOT" and "Software"

I also have a 700 gb software raid0

I have a stripped down copy 10.5.3 installed on BOOT. (used only for rd=diskX as a flag)

BOOT drive allows me to boot off the software raid.

I booted into BOOT and made the modifications to the kext files and flushed the extensions cache with OSX86tool.

 

Now it works when booted back into my full install on the Raid0.

 

Can someone explain.Also, My XBench went up 11 points and is now 267

 

 

Also, My XBench went up 11 points and is now 267 ;)

Link to comment
Share on other sites

I think the 10.5.3 AHCI drivers are better. Also, if you see the Info.plist, the Generic Unknown AHCI has a IOProbeScore of 800 where as the defined ones have 2000. May be that improves XBench Score :D

Link to comment
Share on other sites

  • 2 weeks later...

Thanks for solution, Gujal!

My Leo drive is no longer external, which seems to boost the system. Unfortunately, 2nd part of your solution worked only partially. Jmicron is displayed in system profiler correctly now, but Intel ich8 is not. My mobo is P5b-vm. Having looked into your plist and comparing it to device ID from OSX Tools LSPCI (image attached) I found out that device IDs for ich8 are different. I tried to change them to mine, but all I got is kernel panic. Certainly AppleAHCIPort.kext is not the one to mess with! ;) Any suggestions?

post-133777-1215071807_thumb.jpg

Link to comment
Share on other sites

Thanks !

 

I just tried a vanilla install (with EFI v8 and retail 10.5.0, updated to 10.5.2), and your tutorial worked :(

 

I have the internal JMicron disabled so I cannot comment on that part.

 

My motherboard is: Asus P5E

Link to comment
Share on other sites

My Leo drive is no longer external, which seems to boost the system. Unfortunately, 2nd part of your solution worked only partially. Jmicron is displayed in system profiler correctly now, but Intel ich8 is not. My mobo is P5b-vm. Having looked into your plist and comparing it to device ID from OSX Tools LSPCI (image attached) I found out that device IDs for ich8 are different. I tried to change them to mine, but all I got is kernel panic. Certainly AppleAHCIPort.kext is not the one to mess with! ;) Any suggestions?

 

I actually picked up the definitions from the latest Intel Matrix Storage Drivers. The definitions in that driver are

PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc = "Intel® ESB2 SATA AHCI Controller"

PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc = "Intel® ICH7R/DH SATA AHCI Controller"

PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc = "Intel® ICH7M/MDH SATA AHCI Controller"

PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc = "Intel® ICH8R/DH/DO SATA AHCI Controller"

PCI\VEN_8086&DEV_2824&CC_0106.DeviceDesc = "Intel® ICH8 SATA AHCI Controller"

PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc = "Intel® ICH8M-E/M SATA AHCI Controller"

PCI\VEN_8086&DEV_2922&CC_0106.DeviceDesc = "Intel® ICH9R/DO/DH SATA AHCI Controller"

PCI\VEN_8086&DEV_2929&CC_0106.DeviceDesc = "Intel® ICH9M-E/M SATA AHCI Controller"

PCI\VEN_8086&DEV_3A22&CC_0106.DeviceDesc = "Intel® ICH10R SATA AHCI Controller"

 

So your ICH8x 8086:2820 is not defined even by Intel! I will try to find out what this one is.

 

UPDATE: From Intel Chipset inf file

PCI\VEN_8086&DEV_2820.DeviceDesc="Intel® ICH8 4 port Serial ATA Storage Controller - 2820"

PCI\VEN_8086&DEV_2825.DeviceDesc="Intel® ICH8 2 port Serial ATA Storage Controller - 2825"

PCI\VEN_8086&DEV_2828.DeviceDesc="Intel® ICH8M 3 port Serial ATA Storage Controller - 2828"

PCI\VEN_8086&DEV_2850.DeviceDesc="Intel® ICH8M Ultra ATA Storage Controllers - 2850"

 

8086:2820 is SATA IDE Interface from what I can gather. It is not a AHCI Controller. Are you sure your Intel Ports are in AHCI Mode?

Link to comment
Share on other sites

8086:2820 is SATA IDE Interface from what I can gather. It is not a AHCI Controller. Are you sure your Intel Ports are in AHCI Mode?

 

Not really. Is there a separate setting for ich8 to be set to AHCI mode on my mobo? I'll see when I get home today.

 

Thnx Gujal!

Link to comment
Share on other sites

 Share

×
×
  • Create New...