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

@ slashack:

 

could you create a version with less text output? I have f.e. four harddisks and a DVD drive and the whole screen is full of nForceATA entries. Just now it stopped booting and I didn't why - until I saw a very little line 'kernel panic' nearly at the bottom. But even after it were already nForceATA outputs. Could you change seperate outputs in only one line? In the most cases nobody can read the whole stuff either because it scrolls too fast (except you're booting from an USB stick ;-)

That's because u are using DEBUG kexts. Don't use them, use regular ones unless i tell u to use them

 

Could there be ANY way to speed up SATA? My HD's are detected as UDMA 0xc6 (I presume it's UDMA6) and they are still so slow? What could be the reason for the low speed ?

Don't know anything about these, i just fixed memory issues. It's the usual kext with modifications, but if u use DEBUG kexts it will be really slow because it prints tons of info for debugging.

Link to comment
Share on other sites

No, I'm not using the DEBUG kexts anymore. As I used these I got noting else as output from nForceATA. I made two screenshots. Could you combine two or three outputs in one line? This could look like this:

 

[ch0 drive]

Command Active 300ms | Command Recovery 30 ms | Adress Setup 30 ms

Data Active 90ms | Data Recovery 30ms | UDMA timing 0xc6

 

I use a 1600x1200 resolution, so I think all outputs in one line would be too much for a standard reolution of 1280x1024 or so. Why are there some double outputs? The units with 'phy connection failed' are the drives I switched to 'none' in BIOS, so Primary and secondary IDE slave. One SATA channel isn't used too.

 

Have you asked MeDevil for the sources of the kext?

post-30028-1228557108_thumb.jpg

post-30028-1228557223_thumb.jpg

Link to comment
Share on other sites

In my case, the solution was substituting my "new" leopard JMicronATA with the "old" one, modded from Tiger.

Unfortunately this doesn't work for me :) Maybe some time later when the voodoo kernel source code is released I'll have a look at the method that causes the panic because right now it is like walking blind for me.

 

 

slashack, how do I read the output? As I see it, it's IOMemoryDescriptor.cpp at line 1473 that called getPhysicalSegment(), but what do the modules in the backtrace show me? Is it one of them that causes the panic? There is no getPhysicalSegment() in the AppleNforceATA source code.

Link to comment
Share on other sites

In my case, the solution was substituting my "new" leopard JMicronATA with the "old" one, modded from Tiger.

 

I have a problem, though (this is for you, slashack): after awhile I have stopped using a drive, it "goes to sleep", i.e. I cannot wake it up, it even freezes the programs which try to open it and eventually even the finder.

 

Is there a way to solve this problem?

I remember in the case of Tiger, in "SystemPreferences/Energy" there was something to choose not to make the CD drives go to sleep, but in Leopard there is nothing similar.

Any idea?!?

System Preferences -> Energy Saver -> Uncheck put the hard disk(s) to sleep when possible.

 

That should work fine.

 

If it doesn't work for you, look up in the forum for something called HDAPM. And if HDAPM doesnt work, look for DECLUNK.

 

No, I'm not using the DEBUG kexts anymore. As I used these I got noting else as output from nForceATA. I made two screenshots. Could you combine two or three outputs in one line? This could look like this:

 

[ch0 drive]

Command Active 300ms | Command Recovery 30 ms | Adress Setup 30 ms

Data Active 90ms | Data Recovery 30ms | UDMA timing 0xc6

 

I use a 1600x1200 resolution, so I think all outputs in one line would be too much for a standard reolution of 1280x1024 or so. Why are there some double outputs? The units with 'phy connection failed' are the drives I switched to 'none' in BIOS, so Primary and secondary IDE slave. One SATA channel isn't used too.

 

Have you asked MeDevil for the sources of the kext?

 

I'll give it a try, but this is not a bug, is just something that bothers you, so when i get some free time i'll look for this messages in the source and put the together in a few lines (if this means i have to rewrite some code that may compromise the stability of this kext, i will not do it)

 

I asked MeDevil for the sourcers of the TEST kext (the one that solves many issues) but there's no answer from him.

 

Unfortunately this doesn't work for me :P Maybe some time later when the voodoo kernel source code is released I'll have a look at the method that causes the panic because right now it is like walking blind for me.

slashack, how do I read the output? As I see it, it's IOMemoryDescriptor.cpp at line 1473 that called getPhysicalSegment(), but what do the modules in the backtrace show me? Is it one of them that causes the panic? There is no getPhysicalSegment() in the AppleNforceATA source code.

 

That's why i'm saying is something external to the kext. I've removed getPhysicalSegment() in AppleNForceATA, i'm using another API. The called is being made from IOMemoryDescriptor.cpp at line 1473. I don't have neither your hardware nor voodoo kernel. I cannot fix that for you.

Link to comment
Share on other sites

I'll give it a try, but this is not a bug, is just something that bothers you (...)

I wouldn't have said it like this, but it's not so good if you can't read nearly other outputs. skge.kext and ATIinject/Natit have the same problems, too much output. In Amiga times I'd have searched the binary for linefeeds (10 or 13 decimal I think) and would have replaced it with a space, so it will be one line instead of multiple lines. But I don't know it's so easy to change it like this in Mac times.

 

What issues solves the TEST kext? Weren't there only problems with SATA DVD-ROMs?

Link to comment
Share on other sites

That's why i'm saying is something external to the kext. I've removed getPhysicalSegment() in AppleNForceATA, i'm using another API. The called is being made from IOMemoryDescriptor.cpp at line 1473. I don't have neither your hardware nor voodoo kernel. I cannot fix that for you.

Anyway its somehow related AppleNforceATA because when I remove it and boot into 64bit mode there are no panics (and I hard stress tested it), or when I boot in 32bit mode with AppleNforceATA (with -legacy option). By the way, I am using Voodoo Kernel 9.5 on an AMD X2 machine.

Link to comment
Share on other sites

Anyway its somehow related AppleNforceATA because when I remove it and boot into 64bit mode there are no panics (and I hard stress tested it), or when I boot in 32bit mode with AppleNforceATA (with -legacy option). By the way, I am using Voodoo Kernel 9.5 on an AMD X2 machine.

 

In that case, i'll need the voodoo kernel source or/and an AMD pc. Without that there's nothing i can do. I'm blind.

Link to comment
Share on other sites

Can anyone please provide a kext for sb600? I have recently upgraded to 8gb of ram and I am expiriencing the same behaviour as stated in the first post (for the record, I'm running voodoo kernel 1.0 on a ASUS M2A-VM with an AMD X2 4850e and 8GB RAM)

 

Thanks

Link to comment
Share on other sites

Can anyone please provide a kext for sb600? I have recently upgraded to 8gb of ram and I am expiriencing the same behaviour as stated in the first post (for the record, I'm running voodoo kernel 1.0 on a ASUS M2A-VM with an AMD X2 4850e and 8GB RAM)

 

Thanks

 

I need to talk to the sb600 developer and ask him for the source. Do u know who is he? or where i can find him?

Link to comment
Share on other sites

Hi slashack,

 

first of all, your work is really appreciated.

I need to talk to the sb600 developer and ask him for the source. Do u know who is he? or where i can find him?

With pleasure: I found the said kext in this post. The kext was provided by a user named dcat.

 

Let me know, if I can be of any help,

 

crumpo

Link to comment
Share on other sites

Hi slashack,

 

first of all, your work is really appreciated.

 

With pleasure: I found the said kext in this post. The kext was provided by a user named dcat.

 

Let me know, if I can be of any help,

 

crumpo

 

I'm really busy right now, modifing the kext is easy, but finding the source don't. Can u find the source (ask for it wherever u can) and post it here? I can fix it as soon as it is posted here and i got some time.

Link to comment
Share on other sites

Hi everybody!,

 

I´m trying to install JMicronATA kext using Kext Helper b7, but when i restart the computer my ide Hd just disapeard, i have a gigabyte p35-ds3p and 4 gb RAM, why is my kext installed unproperly?,

do i have to do something more?

 

Thanks for this thread, you are helping a lot of people!

:(

Link to comment
Share on other sites

System Preferences -> Energy Saver -> Uncheck put the hard disk(s) to sleep when possible.

 

That should work fine.

 

If it doesn't work for you, look up in the forum for something called HDAPM. And if HDAPM doesnt work, look for DECLUNK.

 

Thank you so much for this information. :|

 

System Pref./Energy Saver/Put the hard disk to sleep didn't work (I had already tried before posting my problem)

 

HDAPM works PERFECT!

So you've solved my problem.

Thank you again.

Link to comment
Share on other sites

Using e-sata with the jmicron kexts results in finalcut pro hanging (beach ball eternal rotation).

Thought the whole system doesn't crash, force quitting doesn't kill finalcut entirely and the external sata drive hangs. A hard reboot is required to get the system going. What could be the problem?

 

I ran rember with the e-sata drive playing videos and it doesn't have any problems. Does it have anything to do with fcp?

Link to comment
Share on other sites

Using e-sata with the jmicron kexts results in finalcut pro hanging (beach ball eternal rotation).

Thought the whole system doesn't crash, force quitting doesn't kill finalcut entirely and the external sata drive hangs. A hard reboot is required to get the system going. What could be the problem?

 

I ran rember with the e-sata drive playing videos and it doesn't have any problems. Does it have anything to do with fcp?

 

I'am making some projects with fcp and i can be really sure that's fcp is a complicated software suite. It needs just the right hardware and configuration to work properly. Maybe some performance issue with these patched/modified/old/rewritten kexts is some of that things fcp doesn't like. For example, i cannot have a Qmaster cluster because it just doesn't work no matter what i do with mi hackintosh. So if fcp is the only soft that makes your esata faulty and, at this moment, you are the only one with these problem, i can say it just a fcp issue. If u find another, maybe we could find a solution, but this bug maybe really really hard to reproduce, and i don't have such hardware to try it.

 

sorry.

Link to comment
Share on other sites

Hi Slashack,

I'm really busy right now, modifing the kext is easy, but finding the source don't. Can u find the source (ask for it wherever u can) and post it here? I can fix it as soon as it is posted here and i got some time.

 

I found the sourcecode for the SB600/SB700 kext here. The kext was provided by ~Eureka.

 

I haveattached the source file to this post. If I can do anything else to help, let me know.

Thanks again,

 

crumpo

AppleATIATA_6.zip

Link to comment
Share on other sites

Hi Slashack,

I found the sourcecode for the SB600/SB700 kext here. The kext was provided by ~Eureka.

 

I haveattached the source file to this post. If I can do anything else to help, let me know.

Thanks again,

 

crumpo

 

This kext seemed OK to me. I modified some code, but that won't make many changes.

 

Download it from:

http://code.google.com/p/darwin-ata/downloads/list

 

If it doesn't work, just take a photo of your screen and send it to me with your iodump -l > dump.txt file.

 

There's also a DEBUG kext. If regular one doesn't work and want to try. Also send a photo and send your system.log file while using DEBUG kext. That could help me a lot.

 

i'll be waiting...

 

 

working on laptop ASUS F5SL, controller SiS 968, detailed description here

 

hanging happened right away 4Gb of memory was installed. (when skype started dumping some huge amount of data into the disk).

new Kext from this topic allow skype to keep dumping (not yet discovered to where and what exactly) but keep working.

very good job, thanks a lot, I'll keep informing if something

link to this driver fix added to wiki.osx86project.org site.

 

2 things are missing yet:

- version number has to be different from current one (iDeneb deliver AppleVIAATA.kext version 1.0.2, so current has to be at least 1.0.3)

- list of supported PCIID's were not saved in current download kext

 

following list is here:

 

<key>VIA SATA Controller</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.apple.driver.AppleVIAATA</string>

<key>Hardware Name</key>

<string>8237 SATA</string>

<key>IOClass</key>

<string>AppleVIAATARoot</string>

<key>IOPCIPrimaryMatch</key>

<string>0x43851002 0x43801002 0x43791002 0x43761002 0x528810b9 0x31491106 0x35121095 0x2360197b 0x2361197b 0x2363197b 0x2365197b 0x2366197b 0x28258086 0x28208086 0x522910b9 0x528910b9 0x05911106 0x55131039 0x43721002 0x528810b9 0x437a1002 0x43821002 0x437a1002 0x21821019 0x43801019 0x43901002 0x43911002 0x43951002 0x436e1002 0x43941002 0x01801039 0x01821039 0x11831039 0x01831039 0x036e10de 0x00e310de 0x005410de 0x005510de 0x00ee10de</string>

 

 

Here it is:

AppleVIAATA.kext-v0.2.zip

 

Modified Info.plist and compiled with -03 (Optimized). It should be faster than the previous one. (Really don't know how much faster)

 

Please report if this doesn't work.

Link to comment
Share on other sites

i'll be waiting...

Modified Info.plist and compiled with -03 (Optimized). It should be faster than the previous one. (Really don't know how much faster)

Please report if this doesn't work.

 

Hi,

 

first results are in. Boottime has decreased tremendously. Down from ca. 1min to 22 sec.!

It does no longer seem to crash - not even under heavy load, however I don't see my PATA devices anymore (will try the old kext to see if they are accessible there - will report back soon.

 

Great work and thanks!

 

crumpo

Link to comment
Share on other sites

Hy slashack, the source code on code.google for AppleNforceAta happens to be MeDevils version and not your's, with 4GB support. Please commit your work there :lol: It took me some hours to read all the modification you did to JMicron and apply to my Nfroce. No wonder why compiling from them did not remove the kernel panics. The onlyth modified drivers in that repository is JMicron :lol:

 

Anyway, thanks for the code. My problem seems to be solved now.

Link to comment
Share on other sites

 Share

×
×
  • Create New...