InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   AppleVIAATA, JMicron and AppleNForceATA over 4gb RAM bug solved! (http://infinitemac.com/showthread.php?t=1552)

Voyn1x 11-05-2008 02:58 PM

AppleVIAATA, JMicron and AppleNForceATA over 4gb RAM bug solved!
 
I know this issue has affected many members here, i'm glad to report it seems to have been solved at last. Obviously post any driver feedback in the original thread. :)

Quote:

Originally Posted by slashhack on InsanelyMac
Basically, the problem is when you have more than 3 gb of ram (some says 2.5 gb) and AppleVIAATA driver (I think JMicron IDE driver also has this problem).

In my case, I've got 2 IDE HDD and when I upgraded to 4 gb of ram, my desktop started to freeze, or give kernel panics.

After some hours of googling and looking for the driver to solve my issue, i finally made a custom driver that made it.

The problem whas that AppleVIAATA driver used 32 bits addresses to make DMA. In an environment with 4 gb of ram, you need 64 bits addresses. I've rewrited some code so that this kext uses a kernel api wich supports 64 bits.

I think the problem is solved. To generate kernel panics, i used Rember to test all memory, and while this was running, i started to browse mi IDE hdd. After rewriting the driver, i had no more panics!

FAQ:
1- DOES THIS MEAN THE BUG IS SOLVED?
NO! Need testing, i've finished 30 minutes ago and i couldn't test it as much as needed to say it works fine.

2- IS IT A REPLACEMENT FOR APPLEVIAATA.KEXT?
NO! It only solved my IDE problems (I removed some PCIID from Info.plist)

3- CAN I HAVE THE SOURCE CODE TO KEEP DEVELOPMENT?
YES! Just tell me where can i upload it (svn like google code) whithout any legal violation.

4- DO YOU KNOW HOW TO WRITE IN ENGLISH?
NO! I've done such an effort to write this post that i think i'm loosing my mind.

If you need some help, or have some comments, or find some bugs, just post in this thread.

EDIT: JMicronATA added. There are two options. One for debugging, in case it doesn't work. I cannot test them cause i don't have such hardware. Please post info and screenshots of kernel panics booting with -v debug=0x100

EDIT: AppleNForceATA added. Same options as JMicron. Not tested (don't have such hardware)

EDIT: Version 0.6 of JMicronATA, now with interal Icon displayed.


Source

LawlessPPC 11-05-2008 11:37 PM

i can vouch for nfarce430

bhast2 11-11-2008 09:21 PM

Works great on my system
I am now running 4 GBs of ram

Creatorp 01-18-2010 10:47 PM

Um...which exactly do i donwload from the google site?

lanceomni 01-18-2010 11:50 PM

Try the one linked in my signature. Please backup you existing extensions prior to installing

Creatorp 01-18-2010 11:54 PM

i know but then it tells me to download from google code source and i have the options of
Quote:

patch.diff ALPS GlidePoint voodoo patch Jul 09 6.7 KB 161
AppleNForceATA.kext(UNTESTED).zip AppleNForceATA 0.1 binary with support for more devices. NEVER TESTED Apr 2009 26.9 KB 1423
X3100-slashack.zip X3100 drivers. (Cannot upload 3 mb on insanelymac, nothing to do with darwin-ata) Dec 2008 3.0 MB 3157
AppleVIAATA.kext-v0.2.zip AppleVIAATA.kext v0.2 Dec 2008 25.8 KB 3024
AppleATIATA.kext.zip AppleATIATA.kext v0.1 Dec 2008 24.2 KB 1345
AppleATIATA.kext(DEBUG).zip AppleATIATA.kext v0.1 (DEBUG) Dec 2008 25.1 KB 173
AppleNForceATA.kext(10_4).zip AppleNForceATA.kext v0.1 compiled for 10.4.8 Nov 2008 140 KB 1498
AppleNForceATA.kext(10_4_DEBUG).zip AppleNForceATA.kext v0.1 (DEBUG) compiled for 10.4.8 Nov 2008 142 KB 199
AppleVIAATA.kext(10_4_DEBUG).zip AppleVIAATA v0.1 (DEBUG) compiled for 10.4.8 Nov 2008 26.7 KB 98
AppleVIAATA.kext(10_4).zip AppleVIAATA v0.1 compiled for 10.4.8 Nov 2008 137 KB 309
JMicronATA.kext(10_4).zip JMicronATA v0.6 compiled for 10.4.8 Nov 2008 23.6 KB 565
JMicronATA.kext(10-4_DEBUG).zip JMicronATA v0.6 (DEBUG) compiled for 10.4.8 Nov 2008 24.5 KB 116
JMicronATA.kext(JMB360).zip JMicronATA v0.6 with JMB360 support Oct 2008 25.4 KB 1259
JMicronATA.kext(DEBUG).zip JMicronATA v0.6 (DEBUG) Oct 2008 25.4 KB 312
JMicronATA.kext.zip JMicronATA v0.6 Oct 2008 25.1 KB 3183
AppleNForceATA.kext(DEBUG).zip AppleNForceATA.kext v0.1 (DEBUG) Oct 2008 29.3 KB 512
AppleNForceATA.kext.zip AppleNForceATA.kext v0.1 Oct 2008 29.0 KB 2976
JMicronATA.kext(Unmodified).zip JMicronATA Unmodified, just for testing. v0.2 Oct 2008 23.5 KB 239

lanceomni 01-19-2010 12:00 AM

Im sorry I forgot I had linked to the thread and not to an actual file. Here is a direct link:
http://darwin-ata.googlecode.com/fil...ceATA.kext.zip

You can use an application like KextHelper and you can also manually install as described below.

Manually install a kext
Manually Installing a Kext
You can manually install drivers (kexts) by following the instructions below. Be sure to do your research and make sure that what you are installing will work. It is highly recommended that you do steps 2, 3 & 4 to backup your extensions folder. This will make it possible to recover from a non booting system

Place the kext you wish to install on your desktop (The following commands rely on it being on the desktop).

1. Give yourself root privileges so that you can modify files.
Code:

sudo -s
2. Make a backup copy of your kexts. First we will make a directory called "backup" in our root directory to store them. Open Terminal and type:
Code:

mkdir /backup
3. Change directories to /System/Library This will shorten some of the commands we have to type in.
Code:

cd /System/Library
4. Copy your kexts to the new "backup" folder.
Code:

cp -r Extensions/ /backup/
5. Copy the kext from your desktop to the extensions folder (Replace MYKEXT.kext with the name of the kext you want to install.
Code:

cp ~/Desktop/MYKEXT.kext Extensions/MYKEXT.kext
Repeat step 5. for each additional kext.

6. Set the proper permissions for the extensions folder.
Code:

chmod -R 755 Extensions/
7. Set the proper ownership for the extensions folder.
Code:

chown -R root:wheel Extensions/
8. Touch the extensions folder
Code:

touch Extensions/
9. Remove the extensions cache to force OSX to rebuild it with our new kext.
Code:

rm -rf Extensions.mkext
10. Repair permissions to your drive.
Code:

diskutil repairpermissions /
11. Reboot using the boot-flags -v -f
-v Verbose Mode displays useful information during the boot process.
-f Forces OSX to load kexts from the extensions folder instead of the cache file. We did delete the cache file so this is just a precaution.