Contribute
Register

Eject Button in ML

Status
Not open for further replies.
Actually, I accidentally uploaded the AHCI_3rdParty_SATA.kext that I have custom tailored to my system specifically.

Sorry about that!

Dil83

Here is the original one from MultiBeast with the DVD drive fix added. Everyone who downloaded AHCI_3rdParty_SATA.kext from my last post should re-download from here and reinstall. I omitted a lot of chipset info from the kext that didn't pertain to my system when I tailored it, so please dowload this latest one and use it instead. I also updated my other posts with the correct AHCI_3rdParty_SATA.kext, sorry about the mistake!



Worked perfectly! Should get this thread stickied since many are having this issue....
 
Actually, I accidentally uploaded the AHCI_3rdParty_SATA.kext that I have custom tailored to my system specifically.

Sorry about that!

Dil83

Here is the original one from MultiBeast with the DVD drive fix added. Everyone who downloaded AHCI_3rdParty_SATA.kext from my last post should re-download from here and reinstall. I omitted a lot of chipset info from the kext that didn't pertain to my system when I tailored it, so please dowload this latest one and use it instead. I also updated my other posts with the correct AHCI_3rdParty_SATA.kext, sorry about the mistake!

Thanks a lot. Works great :D
 
Ok, I have slightly changed each of the kexts in order to try to make them have priority while loading. You can give either of these new kexts a try to see if that works for you. I didn't see a problem with your DSDT, but if it still doesn't work, we can try putting your SATA device-id directly into the DSDT to see if that helps.

Dil83

Thanks Dil83. This fixed a similar problem I was having in ML on an HP ProBook 4530s (XU015UT). Works great now! :thumbup:
 
I personally didn't want to replace any kexts in S/L/E with older ones, nor did I want to use the ESB2 device id in my DSDT since that device id is for ICH6 and I have ICH10 on an X58 board. I use an injector kext to fix the Orange Icons, and I thought I'd look into making sure that the DVD drives were being injected as "Internal" the same way that the HDD's were. Turns out that they aren't. I personally use AHCI_3rdParty_SATA.kext from MultiBeast, but you can also use IOAHCIBlockStorageInjector.kext. I noticed that the Protocol Characteristics were only being injected into IOAHCIBlockStorage.kext located in the PlugIns folder within IOAHCIFamily.kext in S/L/E. There are 2 PlugIns inside IOAHCIFamily.kext: IOAHCIBlockStorage.kext, and IOAHCISerialATAPI.kext. In IORegistryExplorer I can see that my DVD drives use the IOAHCISerialATAPI.kext PlugIn. So inside AHCI_3rdParty_SATA.kext, I just added in the information to inject the Protocol Characteristics into IOAHCISerialATAPI.kext also.

Here is what the first 2 keys in AHCI_3rdParty_SATA.kext look like after:

Code:
<key>AppleAHCIDiskDriver</key>
<dict>
	<key>CFBundleIdentifier</key>
	<string>com.apple.iokit.IOAHCIBlockStorage</string>
	<key>IOClass</key>
	<string>AppleAHCIDiskDriver</string>
	<key>IOProbeScore</key>
	<integer>25000</integer>
        <key>IOProviderClass</key>
        <string>IOAHCIDevice</string>
	<key>Protocol Characteristics</key>
	<dict>
		<key>Physical Interconnect</key>
		<string>SATA</string>
		<key>Physical Interconnect Location</key>
		<string>Internal</string>
	</dict>
</dict>
<key>IOAHCISerialATAPI</key>
<dict>
	<key>ATAPI</key>
	<true/>
        <key>CFBundleIdentifier</key>
	<string>com.apple.iokit.IOAHCISerialATAPI</string>
	<key>IOClass</key>
	<string>IOAHCISerialATAPI</string>
	<key>IOProbeScore</key>
	<integer>25000</integer>
        <key>IOProviderClass</key>
	<string>IOAHCIDevice</string>
	<key>Protocol Characteristics</key>
	<dict>
		<key>Physical Interconnect</key>
		<string>SATA</string>
		<key>Physical Interconnect Location</key>
		<string>Internal</string>
	</dict>
</dict>

I just added the IOAHCISerialATAPI key and dict after the AppleAHCIDiskDriver key and dict. You can add the exact same information to IOAHCIBlockStorageInjector.kext if that's the kext you use, but you should replace <string>Internal/External</string> with <string>Internal</string>.

I use this kext in my /Extra/Extensions folder and it works fine. No need to do any DSDT editing, or replace any 10.8 kexts with 10.7 kexts.

My eject button and DVD Player work perfectly now! Hopefully this will work for others.

Dil83

I attached both kexts already edited for those who want to try it out. Use whichever you prefer, not both. These kexts are now the same as the ones I uploaded on page 3.

Replaced AHCI_3rdParty_SATA.kext with the attached yours, with success.
Thanks Dil83, you're the man!
 
Hey guys,

The 3rd party sata almost works perfect for me just 1 prob. At boot up if the cd drive is empty it ejects itself automatically, and at desktop it shows a blank disk. If i put in a new cd it will recognize and read it. If I boot with a disk in the drive it works fine. I
 
Hey guys,

The 3rd party sata almost works perfect for me just 1 prob. At boot up if the cd drive is empty it ejects itself automatically, and at desktop it shows a blank disk. If i put in a new cd it will recognize and read it. If I boot with a disk in the drive it works fine. I

This is the only relevant code that I added to the kexts for the DVD drive fix:

Code:
<key>IOAHCISerialATAPI</key>
<dict>
	<key>ATAPI</key>
	<true/>
        <key>CFBundleIdentifier</key>
	<string>com.apple.iokit.IOAHCISerialATAPI</string>
	<key>IOClass</key>
	<string>IOAHCISerialATAPI</string>
	<key>IOProbeScore</key>
	<integer>25000</integer>
        <key>IOProviderClass</key>
	<string>IOAHCIDevice</string>
	<key>Protocol Characteristics</key>
	<dict>
		<key>Physical Interconnect</key>
		<string>SATA</string>
		<key>Physical Interconnect Location</key>
		<string>Internal</string>
	</dict>
</dict>

As you can see, the only thing this does is force IOAHCISerialATAPI.kext (a PlugIn in IOAHCIFamily.kext) to recognize your DVD drive as "Internal" instead of "External". This shouldn't cause any other issues. What Brand/Model of DVD drive are you using?

Dil83
 
Well I have 2 drives one is an Ihas 124b and the other is a samsung tsst corp ( dont have model). But they both do the same thing. I am using an asmedia 1061 pcie card to connect them. This doesnt have to do with your edits, because it happens even if the kext isnt there, I was just wondering if anyone knows a fix for this
 
Well I have 2 drives one is an Ihas 124b and the other is a samsung tsst corp ( dont have model). But they both do the same thing. I am using an asmedia 1061 pcie card to connect them. This doesnt have to do with your edits, because it happens even if the kext isnt there, I was just wondering if anyone knows a fix for this

Must be a problem related to using that card with DVD drives. I own the same card, but use it with HDD's, so I can't comment on how it interacts with DVD drives. Since the card is SATA III 6.0Gbps it was definitely designed for use with HDD's or SSD's and not 1.5Gbps Maximum DVD drives. My only recommendation would be to try upgrading the firmware on the card to the latest firmware available. You can find the latest firmware version 0.951 here: http://www.station-drivers.com/page/asmedia.htm

Dil83
 
Status
Not open for further replies.
Back
Top