InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   Asus K50IN (http://infinitemac.com/showthread.php?t=4409)

mondet 08-17-2011 03:04 PM

Quote:

Originally Posted by man_of_the_oak (Post 54949)
Hey guys!
Unfortunately it's not clear for me why our chipset isn't being recognised while exact pci id is within Info.plist of AppleAHCIPort.kext + it works on kext from 10.6.7.

I don't like rollbacks but sometimes, when there is no alternative, I have to accept them... and this is what I am going to do about this case. Maybe in the future I'll find some other way to fix the issue - as for now, I believe I've tried everything and the only way to change it from 'Unknown AHCI Standard Controller' to 'NVidia MCP79 AHCI' is to create Legacy kext to edit GenericAHCI in Info.plist of AppleAHCIPort.kext or go back to AppleAHCIPort from 10.6.7.

I am not exactly sure how does the GenericAHCI work, so I prefer it to be recognised as MCP79 and be sure to have completely working controller.

don't know how to help :'(, but cheers!!! :)

flip360 08-17-2011 04:07 PM

can you share the specifics about modifying the DSDT? a small tutorial would be nice :)
i have reverted to 10.6.7 all working properly,

Cheers

man_of_the_oak 08-17-2011 04:35 PM

Quote:

Originally Posted by flip360 (Post 54952)
can you share the specifics about modifying the DSDT? a small tutorial would be nice :)
i have reverted to 10.6.7 all working properly,

Cheers

Sure I will, I've promised a detailed tutorial, haven't I? ;-)

flip360 08-17-2011 05:56 PM

Yep, u did :)

man_of_the_oak 08-20-2011 12:04 AM

I've finished with my HackBook Pro, tutorial will be online soon, a little spoiler:

http://i53.tinypic.com/181ver.png

neonego 08-20-2011 11:28 AM

Quote:

Originally Posted by man_of_the_oak (Post 54975)
I've finished with my HackBook Pro, tutorial will be online soon, a little spoiler:

http://i53.tinypic.com/181ver.png


Great job MAN... Nice desktop there.. the topbar is differently beautiful.

flip360 08-20-2011 11:39 AM

nice job buddy :) u polish or chech? great icons btw,

cheers

man_of_the_oak 08-21-2011 06:45 PM

Quote:

Originally Posted by flip360 (Post 54978)
nice job buddy :) u polish or chech? great icons btw,

cheers

I'm Polish :-) Thanks!

More cosmetics here, HackBook Pro is completely finished, give me a day or so and VERY detailed tutorial will be ready.

http://i52.tinypic.com/1z1791w.png

flip360 08-21-2011 07:28 PM

nice job man_of_the_oak, i am very interested in the DSDT and the sdcard reader is a nice addition too :)
We can reformat the front page with just your tutorial and a way to make an install USB,

Cheers

man_of_the_oak 08-21-2011 11:36 PM


I DON'T PROVIDE ANY SUPPORT IN CASE OF DISTROS, IN MY OPINION THEY ARE PIECE OF SHIT AND A COMPLETE WASTE OF TIME

I decided to create this tutorial mostly because of the fact that there isn't really any good one + the only detailed I know is the one from applelife.ru which is obsolete and actually not very good in my humble opinion. I hope that my work will be appreciated and will come to use to some of you. I have to mention that even though this tutorial is based on my work with Asus K50IN, it may be helpful also for people who own Asus K70IO or others with MCP79 chipset.

Firsly, specification:

1. Model: Asus K50IN-SX152
2. Processor: Intel(R) Core(TM)2 Duo CPU T6600 (SSE 2, SSE 3)
3. Southbridge: MCP79
4. Graphics card: NVIDIA GeForce G102M
5. Audio: ALC662
6. LAN: RTL8111/8168B
7. WLAN: Atheros AR9285
8. HDD and Optical disc recorder - SATA
9. Keyboard and touchpad - PS/2
10. Webcam: Chicony CNF7129
11. Card reader: Alcor AU6433

Let's sum up the final effect...

Works:
- SpeedStep (P-States and C-States)
- Graphics card (QE/CI)
- Audio (internal microphone, external microphone set as line in, speakers, headphones)
- LAN
- WLAN
- Touchpad (tap-to-click, vertical two-finger scrolling etc. - if you are going to dual boot with Windows using Chameleon - avoid restarting Microsoft's OS to boot Mac OS X - touchpad goes crazy then - the only way to fix this issue is to use Acronis OS Selector for example)
- Battery status
- Shutdown/Restart
- Sleep
- Webcam
- Card reader (recognised as internal Apple card reader)

Doesn't work:
- Restart after waking up from sleep
- Deep sleep (the system is properly restored to the state from before hibernation but system alert is being played all the time...)

1. Installation

Before starting with all the steps I describe in this tutorial, I recommend updating your BIOS to the newest version. At the moment is it: 223. Download my archive with all needed files (you can find it near the end of this tutorial - and put in on a USB stick, for example - to have easy access to the files) also.

I am not going to write about how to install the system itself, simply download a boot CD of your choice and install Mac OS X (remember to put GraphicsEnabler=No flag during install and first boot from hdd and do first part of post-configuration tasks on Mac OS X 10.6 or 10.6.3, not higher!)

When Mac OS X is installed (version 10.6 or 10.6.3) and booted from the first time from your HDD, we can move to post-configuration.

2. Post-configuration

Download Combo Update 10.6.8 and install it (do not restart yet!). Now we can take care of bootloader - it will allow your system to boot from HDD, without using the boot CD, you can find it in the attached archive - its file name is Chameleon-2.0-RC5-r828.pkg. If the installer doesn't run properly at first - try again until it does.

Install it on your system partition (do not log out yet!). The next step is to create your Extra along with KextStore. Run terminal (Applications->Tools->Terminal) and type the following comands, pressing Enter after each line:

Code:

sudo -s (type your password, don't be afraid that you can't see it, it's normal)
mkdir /Extra
mkdir /Extra/KextStore

So... we have the folders, let's fill them with data :p

Go to your system partition, open recently created Extra and place there smbios.plist and com.apple.boot.plist from my archive. If you are curious what you can find inside ;) : + if you are going to install the system on laptop with other CPU - make sure to edit smbios.plist!

smbios.plist:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>SMbiosversion</key>
        <string>MBP51.88Z.007E.B05.0905051508</string>
        <key>SMboardproduct</key>
        <string>Mac-F42D86C8</string>
        <key>SMfamily</key>
        <string>MacBook Pro</string>
        <key>SMmanufacter</key>
        <string>Apple Inc.</string>
        <key>SMproductname</key>
        <string>MacBookPro5,1</string>
        <key>SMcputype</key>
        <string>769</string>
        <key>SMexternalclock</key>
        <string>200</string>
        <key>SMmaximalclock</key>
        <string>2200</string>
        <key>SMmemspeed</key>
        <string>800</string>
        <key>SMmemtype</key>
        <string>19</string>
        <key>SMserial</key>
        <string>W884094J1GA</string>
        <key>SMsystemversion</key>
        <string>1.0</string>
</dict>
</plist>

com.apple.boot.plist:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Kernel</key>
        <string>mach_kernel</string>
        <key>Kernel Flags</key>
        <string>npci=0x2000</string>
        <key>GraphicsEnabler</key>
        <string>Yes</string>
        <key>GraphicsMode</key>
        <string>1366x768x32@60</string>
        <key>Legacy Logo</key>
        <string>Yes</string>
        <key>DSDT</key>
        <string>/Extra/DSDT.aml</string>
        <key>SMBIOS</key>
        <string>/Extra/smbios.plist</string>
        <key>SystemType</key>
        <string>2</string>
        <key>Theme</key>
        <string>LoginToLion</string>
        <key>Boot Banner</key>
        <string>No</string>
</dict>
</plist>

The next step is to install Kext Wizard (I wouldn't surprise you if I say that you can find it inside my archive with needed files? ;) Oh well... from now on - simply pretend that I say it every time when telling you to use something without explaining where to download it). Using this little app, install the following kexts to Extra:

AppleACPIBatteryManager, AppleACPIPS2Nub, ApplePS2Controller, EvOreboot, FakeSMC, NullCPUPowerManagement

This set, along with Chameleon, will allow you to boot the system without boot CD.
Reboot Mac OS X (this time you have to press power button after seeing MACH reboot - EvOreboot isn't working yet) - this time without boot CD inside your optical drive. I recommend using -v -f flags, you simply type them when you get into Chameleon boot menu and press "Enter".

When the system is up and running - you can move to the next step.

3. Preparing DSDT for modification

Extract your DSDT using Ubuntu Live CD 9.04 (you can find many tutorials on the Internet, simply search for it). You can download the ISO here:

Code:

http://old-releases.ubuntu.com/releases/9.04/
Ok, supposing that you've already got your DSDT file (you can find it inside of ACPI-Tables.zip, you will recognise it after the beginning of its name :p), I am going to help you with the whole process of modifying it.

Firsly, download the newest version of TextWrangler and iASLMe.

Code:

http://www.barebones.com/products/textwrangler/
Code:

http://www.insanelymac.com/forum/index.php?showtopic=189272
Search for the newest version of iASLMe on the last pages of the topic (attachments on the first page aren't updated). During writing this tutorial, I was using iASLMe_UB_23_06_2011.

Install both applications, drag our DSDT on iASLMe icon. We have to do this to make the code inside of it "readable" for a regular text editor. Open output .dsl file using TextWrangler.

The code will be easier to interpret if you makes some changes in preferences.
Choose "Edit->Text options..." and set it just like on the screenshot below:


To check correctness of our DSDT we have to drag our .dsl file on iASLMe. If compilation results in Compilation complete. 0 Errors, 0 Warnings, 0 Remarks.. - you can move to the next step. Otherwise, we should fix it. I am not able to predict how will your DSDT look like, so I am going to present you the fixes I had to use in my case.

My clean DSDT, after decompilation and re-compilation returned:

Compilation complete. 2 Errors, 42 Warnings, 1 Remarks...

It's not really a big problem to fix and - as to be honest - we don't have to take care of warnings but I am a pedant-type so... :p I recommend copying whole log of compilation to have an easy way to look into it. Let's paste it into a new text document of TextWrangler and search for "error". In my case, the first one was:

Code:

/Users/man_of_the_oak/Desktop/Asus K50IN/Brudactwo/DSDT_K50IN_K50IN000.dsl  5071:                    Return (Zero)
Error    4080 -                                                            Invalid object type for reserved name ^  (found ZERO, requires Buffer)

5071 is the line where the error occurs so, using "Search->Go to line" we go to this line.

Code:

Method (_CRS, 0, NotSerialized)
            {
                If (OSFL ())
                {
                    Return (Zero)
                }
                Else
                {
                    Return (LCRO (^^PCI0.IMAP.PR0E))
                }
            }

The compiler returns information about invalid object type: it's ZERO while Buffer is required. Let's change Zero to Buffer (Zero) {} then.

This is how this part will look after modification:

Code:

Method (_CRS, 0, NotSerialized)
            {
                If (OSFL ())
                {
                    Return (Buffer (Zero) {})
                }
                Else
                {
                    Return (LCRO (^^PCI0.IMAP.PR0E))
                }
            }

One error left. Compile your DSDT by dragging your .dsl file on iASLMe icon and copy the log, then search for "error" again. In my case, the last error was:

Code:

/Users/man_of_the_oak/Desktop/Asus K50IN/Brudactwo/DSDT_K50IN_K50IN000.dsl  6265:            Name (_HID, "pnp0c14")
Error    4124 -                                                                Non-hex letters must be upper case ^  (pnp0c14)

Again, we go to the line where the error occurs:

Code:

Name (_HID, "pnp0c14")
This time it's even easier to fix - we clearly can see that the compiler tells us to change "pnp0c14" to "PNP0C14" - do it then :)

Code:

Name (_HID, "PNP0C14")
Our DSDT is free of errors now. If you don't care about warnings and remark - you can move to the next step, otherwise - please read on...