Contribute
Register

Eject Button in ML

Status
Not open for further replies.
Hey Dil,

Since you have the same card do you think you could try connecting an optical drive to your card and relay the results back to me before I do something drastic like flash the card? Also the dvd drives work fine in windows.

Thanks,
Greenway
 
UPDATE 1: So I switched the connections like I mentioned below. I now have 2 hard drives on the ASMedia controller and they seem to work fine as part of a RAID10 I originally had. The optical drive no longer ejects on the startup and I don't get the blank disk popups. The eject key worked, too. However, after working normally for a minute it's gone back to an old problem I had which is that it doesn't consistently get recognized at startup or suddenly gets unmounted. At this point I believe that having the optical drive on an ASMedia controller doesn't work properly and that my optical drive may be faulty as well. :p

UPDATE 2: Been testing all the connections to the mobo 1 at a time. On a whim, I replaced the SATA cable to the optical drive. So far so good. May have been a poor SATA cable in the end.:mrgreen:

UPDATE 3: I take it back. Same problems again. Some research on the forum indicates this is an issue with blu ray optical drives (which I have installed). Guess I can live w it.


I am also suffering similar issues as greenwayer. A few days ago, after I had already updated to 10.8.2, my optical drive was still working fine. Eject key on keyboard works, too.

However, as of yesterday, I switched my optical drive connection so it's now connected to my motherboards' ASMedia ASM1061 controller. It began to eject on startup and would show a pop-up message indicating that I had inserted a blank disk. This is with an empty optical drive and the tray out. Eject key on keyboard is no longer functioning. When I close the tray and manually eject from the optical drive, the same blank disk pop up appears. I have tried replacing my kexts with Dil83's, even in safe mode, but no luck. Actually, in safe mode, the eject key on the keyboard works and the blank disk pop-ups don't appear.

I will open up my case later and try to reconnect my optical drive to the non ASMedia controllers and report back the results.
 
UPDATE: So I switched the connections like I mentioned below. I now have 2 hard drives on the ASMedia controller and they seem to work fine as part of a RAID10 I originally had. The optical drive no longer ejects on the startup and I don't get the blank disk popups. The eject key worked, too. However, after working normally for a minute it's gone back to an old problem I had which is that it doesn't consistently get recognized at startup or suddenly gets unmounted. At this point I believe that having the optical drive on an ASMedia controller doesn't work properly and that my optical drive may be faulty as well. :p


I am also suffering similar issues as greenwayer. A few days ago, after I had already updated to 10.8.2, my optical drive was still working fine. Eject key on keyboard works, too.

However, as of yesterday, I switched my optical drive connection so it's now connected to my motherboards' ASMedia ASM1061 controller. It began to eject on startup and would show a pop-up message indicating that I had inserted a blank disk. This is with an empty optical drive and the tray out. Eject key on keyboard is no longer functioning. When I close the tray and manually eject from the optical drive, the same blank disk pop up appears. I have tried replacing my kexts with Dil83's, even in safe mode, but no luck. Actually, in safe mode, the eject key on the keyboard works and the blank disk pop-ups don't appear.

I will open up my case later and try to reconnect my optical drive to the non ASMedia controllers and report back the results.

Well if you connect it back to what it was originally connected to it should work just fine, so as to why yours is not working I'm not sure. I would double check and clean the connections, just in case, you never know. But if someone can please find a fix for why the ASM1061 ejects optical drives on boot it would really help.

Thanks,
Greenway
 
Well for my two-penny-worth on this subject ...

Tried a manual edit of the kexts but to no avail.

Easy to add eject.menu and use that instead but I really wanted to use the keyboard if I could.

Through dil83's sterling work I could see what the problem was but I didn't want to change too much all at once because that would confuse me if things went wrong!

Examining the Multibeast 5.0.2 IOBlockStorageInjector and AHCI_3rdParty_SATA.kext's I could see there was no actual app inside either, just modified info.plist's.

Unsure what controller my Gigabyte motherboard or Pioneer DVD was using I tried the injector first. No joy.

The AHCI_3rdParty_SATA however *did* work.

Now the keyboard Eject button is working again - and incidentally the DVD Player too without having to edit any frameworks etc.

:D
 
Thanks @Dil83 I just replaced my IOAHCIBlockStorageInjector.kext with yours and EJECT button works on my Apple Wireless Keyboard.

I only use FakeSMC and IOAHCIBlockStorageInjector.kext on my hack and DSDT does all the rest. Still need to fix my sleep which is gone from Lion where it worked with only AppleRTC.kext fix and now it won't
 
WooT!!! Fixed dvd read issue and slow boot 8D
 
Anyone find a fix for ejecting dvd at boot??
 
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>.

If you use "UseKernelCache=No", you can use this kext in the /Extra/Extensions folder and it works fine. If you use "UseKernelCache=Yes", then you MUST install the kext in /System/Library/Extensions. No need to do any DSDT editing, or replace any 10.8 kexts with 10.7 kexts. (If you're not sure where to install, then install in /System/Library/Extensions. The kext will always be loaded from there.)

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. Keep in mind that you only need to use ONE of the kexts below. If you have 3rd party SATA controllers on your motherboard or as an add in card, use AHCI_3rdParty_SATA.kext. If you only have Intel SATA onboard, then just use IOAHCIBlockStorageInjector.kext

Hi Dil83,

First of all I would like to thank you for this fixes, I removed my AHCI_3rdParty_SATA.kext and I replaced my IOAHCIBlockStorageInjector.kext with yours and works like a charm all controls are working and my DVD drive is already recognised, I'm just wondering why not to use these two kext at the same time? what's the difference? and I also noticed when I checked the System Information two Unknown AHCI Standard Controller appears under Hardware > Serial ATA? please take a look to my S.I....Thank you again and more power :D
 

Attachments

  • Screen Shot 2012-11-16 at 12.52.03 PM.png
    Screen Shot 2012-11-16 at 12.52.03 PM.png
    96.9 KB · Views: 298
Hi Dil83,

First of all I would like to thank you for this fixes, I removed my AHCI_3rdParty_SATA.kext and I replaced my IOAHCIBlockStorageInjector.kext with yours and works like a charm all controls are working and my DVD drive is already recognised, I'm just wondering why not to use these two kext at the same time? what's the difference? and I also noticed when I checked the System Information two Unknown AHCI Standard Controller appears under Hardware > Serial ATA? please take a look to my S.I....Thank you again and more power :D

Before I answer your question, I want to let everyone know how pleased I am that this simple little fix has helped so many people here. I never expected it to work so well for so many!!! Thanks to all who support and use my solution!! Maybe it will be added to MultiBeast someday........ ;)
Also, keep in mind that I've just simply added more info to the kexts already present in MultiBeast, and that I am by no means responsible nor take the credit for making the actual kexts myself.

Now to answer your question: There is just no need to use both at the same time. Both kexts do the same thing for the DVD drive fix, it's just that AHCI_3rdParty_SATA.kext has information for many 3rd party SATA controllers contained in the plist so you will see your 3rd party SATA controller listed in System Info properly instead of just "Unknown AHCI Standard Controller". It seems that you must have a 3rd party SATA controller on your motherboard, so if you want it to show up properly in your System Information then you need to use my AHCI_3rdParty_SATA.kext instead.

Hope this helps,

Dil83
 
Status
Not open for further replies.
Back
Top