Jump to content

AppleVIAATA over 4gb RAM bug solved (at least i believe so)! JMicron and AppleNForceATA at development


slashack
 Share

568 posts in this topic

Recommended Posts

Last update: 11/12/2008

 

Basically, the problem is when you have more than 3 gb of ram (some says 2.5 gb) and AppleVIAATA, JMicronATA, AppleNForceATA or AppleATIATA driver.

 

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 (AppleVIAATA).

 

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 was 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 rewritten some code so that this kext uses a kernel api which 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?

Old answer: NO! Need testing, i've finished 30 minutes ago and i couldn't test it as much as needed to say it works fine.

New answer: It seems so.

 

2- IS IT A REPLACEMENT FOR APPLEVIAATA.KEXT?

Old answer: NO! It only solved my IDE problems (I removed some PCIID from Info.plist)

New answer: Yes, it is.

 

3- CAN I HAVE THE SOURCE CODE TO KEEP DEVELOPMENT?

Old answer: YES! Just tell me where can i upload it (svn like google code) without any legal violation.

New answer: There's a googlecode svn project here: darwin-ata. You may check out and get the source. If you want to be part of the development team (or whatever the name of the people who are trying to make this work is) just PM me. Try to add some info so i can check if u are going to benefit this development or not.

 

4- DO YOU KNOW HOW TO WRITE IN ENGLISH?

Old answer: NO! I've done such an effort to write this post that i think i'm loosing my mind.

New answer: I'm finishing my degree in computer sciences, not english, the answer is still NO.

 

5- WHAT KEXT SHOULD I DOWNLOAD?

ONLY ANWSER: The ones that doesn't have the word DEBUG in their names.

 

6- WHY NOT DEBUG KEXTS?

They are for DEBUGGING. Use them if and only if i tell u to do it. First warning.

 

7- HOW DO I REPORT A NON WORKING KEXT?

1: boot with -v debug=0x100 at darwin prompt

2: make a dump with ioreg -l > dump.txt

3: after having a panic, take a picture of the screenshot (I need to read every character, so make sure the screen fits the picture)

4: atach dump.txt and the picture of the screen into this topic and wait for my answer (sometimes other users might help)

 

8- I HAVE LOTS OF INFO DISPLAYED ON BOOT AND LOGS. LOTS AND LOTS OF INFO EVERY SECOND. WHAT'S GOING ON?

RTFF. You've been warned.

 

 

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

 

 

Here's what we've got so far:

 

JMicronATA: v0.6 Working

AppleVIAATA: v0.2 Working

AppleNForceATA: v0.1 Working (?). Some may have issues with DVD drives. Some may have issues with voodoo kernel

AppleATIATA: v0.1 Not tested, waiting.

 

 

stmiller has compiled these kexts with Tiger (10.4.8) in case someone is using 10.4. He only tested AppleVIAATA.kext.

 

 

DON'T USE DEBUG KEXTS UNLESS I TELL YOU TO DO IT. This is the second and last warning.

 

Downloads:

 

All the kexts here!

Link to comment
Share on other sites

Would be fine if someone tries that for JMICRON.kext also .

Is there any source code? What version are you using?

 

I need some info (i don't have a JMicron ide controller to see what's happening) to see if the problem is more or less the same. If the cause is the same, i can fix try and fix it.

 

Is there anyone with a JMicron chipset that can send me a brief of what's happening? Start with -v debug=0x100 at darwin bootloader and send me a dump of the kernel panic or at least a photo of the screen.

Link to comment
Share on other sites

I was hoping this would work for my system, but I may have screwed it up even more. At first I was trying -Dune-'s AppleIntelPIIXATA.kext and removing the AppleVIAATA.kext. This didn't solve my panic problem and so I tried this one. Now I have removed the JMicro.kext and I get a circle with a slash through it when I try to boot into OSX.

 

I've had my install of the iATKOS v2.0i Leopard 10.5.2 working for several months now. But from the beginning, it's given me a kernel panic whenever more than 2GB is saved out (like exporting video in Quicktime Pro). It's not that it has a problem with large files. I don't know if I need a new kext for the IDE controller or what. This panic does NOT show up when I transfer to an external firewire drive, though. I've transferred over 500GB to that drive in OSX. It's only when files are utilized by my OSX system drive (an IDE drive). I've done a lot of research about this problem, but I'm not really sure how to narrow down what's causing it on my system (memory issue, HDD issue, etc). I'm a little unsure about the process of using kexthelper, terminal, and rebuilding permissions, and what order all that needs to happen in order to insure that kexts are injected properly. It's all making my head spin.

 

Here are my hardware specs in hopes that someone can offer a suggestion for what I need to do.

 

iATKOS v2.0i Leopard 10.5.2

 

GA-P35-DS3L Mobo

8GB RAM (OSX recognizes all of it)

Core 2 Quad Intel processor

NVidia quadro FX 370

30GB Western Digital IDE Master HDD (running OSX)

80GB Seagate Barracuda 7200.10 IDE Slave HDD (running Windows XP)

Intel ICH9 Serial ATA storage controller

 

 

Let me know if there's any other info needed. Thanks for any help.

Link to comment
Share on other sites

I think your problem is the same as mine, but with other driver. My issue was that whenever osx used over 2/3 GB of ram and used an IDE drive, it crashed. How to test for this?

1- Boot with -v and debug=0x100. (At darwin bootloader when osx starts, press any key and at boot prompt type "-v debug=0x100" without quotes)

2- Run rember (its a little program to test memory, download it) and test all memory.

3- Wait a while till rember starts testing, and start trying to open files in your ide.

4- If it panics, send me a photo of the screen (u should see some text written)

 

Also, open a terminal and type ioreg -l > dump.txt and send me that file (dump.txt).

 

This could help you to determine if AppleVIAAta.kext or JMicron.kext are the problematic ones.

Link to comment
Share on other sites

Hi have problems with jmicron controller but only with my PATA drive SATA works fine. I get panic only if i use PATA drive and if i delete jmicron kext i dont see my PATA drive but i get no panics.

 

I include pictures of the screen and dump.txt

post-145309-1223402642_thumb.jpg

post-145309-1223402663_thumb.jpg

dump.txt

post-145309-1223402746_thumb.jpg

Link to comment
Share on other sites

Hi have problems with jmicron controller but only with my PATA drive SATA works fine. I get panic only if i use PATA drive and if i delete jmicron kext i dont see my PATA drive but i get no panics.

 

I include pictures of the screen and dump.txt

 

Thanks! That´s the same issue, i´ll try and correct it today or tomorrow. Wait for my post.

Link to comment
Share on other sites

Hi have problems with jmicron controller but only with my PATA drive SATA works fine. I get panic only if i use PATA drive and if i delete jmicron kext i dont see my PATA drive but i get no panics.

 

I include pictures of the screen and dump.txt

 

I think the problem is solved, test them and in case they don't work, send me more pictures (with the debugging kext). I cannot test them, i don't have that hw.

 

AppleNForceATA.kext (http://forum.insanelymac.com/index.php?showtopic=77071) has exacly the same problem! It randomly freezes with 4gb and I always have to boot with maxmem=2048. I booted with debug=0x100 and saw that the error is related to this kext. Would love to use 4gb ram, do you think that it can be fixed?

 

If the problem is the same as JMicron and AppleVIA, i can solve it, send me screen photos of your kernel panic booting with -v debug=0x100. Try to include the whole screen. In the first line you can see where the problem is. If the problem is using 32 bits addresses in stead of using 64 bit, i could try and fix it.

Link to comment
Share on other sites

I think the problem is solved, test them and in case they don't work, send me more pictures (with the debugging kext). I cannot test them, i don't have that hw.

I just installed your kexts using the kexthelper and after restart my PATA hdd is not found and when the system boots with -v there is no reference to jmicron as it always was with the original kext.

Link to comment
Share on other sites

I just installed your kexts using the kexthelper and after restart my PATA hdd is not found and when the system boots with -v there is no reference to jmicron as it always was with the original kext.

 

Can you post your old JMicron kext Info.plist? Try booting with -v -f debug=0x100

The driver is not loading for some reason.

  • Like 1
Link to comment
Share on other sites

I will post the info.plist as soon as i can. But I payed extra attention during reboot and i saw some error i think it was couldn't alloc class="JmicronATAPIroot"

 

I can confirm this. I just installed the JMicronATA.kext and had the same issue at boot up. I'm going to try the Debug kext, and see if that gives the same error during boot up. I'll see if I can get a photo of it this time as well.

Link to comment
Share on other sites

I can confirm this. I just installed the JMicronATA.kext and had the same issue at boot up. I'm going to try the Debug kext, and see if that gives the same error during boot up. I'll see if I can get a photo of it this time as well.

 

I've uploaded two new kext with modified Info.plist.

 

If this doesn't work, i think well have to start by compiling original kext from source and try if that works. (the problem may be in the source code i've got to start working with. If anyone finds the source code, please send it to me.)

Link to comment
Share on other sites

I just tried the new kext (At least, I think it is if you updated the link in the first post).

 

Same problem as with the last one. Couldn't Alloc Class. If you need me to compile from source or whatever let me know, and I can see what I can do to help.

Link to comment
Share on other sites

I just tried the new kext (At least, I think it is if you updated the link in the first post).

 

Same problem as with the last one. Couldn't Alloc Class. If you need me to compile from source or whatever let me know, and I can see what I can do to help.

 

This kext is the original (from the source Dense gave to me), try this. If this is a problem, then the source i'm working with has something wrong.

 

JMicronATA.kext

Link to comment
Share on other sites

This one didn't work as well. However I noticed 2 more error messages, that I'm not sure if they were there with the other 2. Don't have time to replace kexts and test again until this afternoon though. Full errors were:

 

can't determine immediate dependencies for com.jmicron.JMicronATA
can't determine dependencies for com.jmicron.JMicronATA
can't alloc class="JMicronATAPIroot"

 

At least, those are them to the best of my knowledge

Link to comment
Share on other sites

 Share

×
×
  • Create New...