Jump to content
102 posts in this topic

Recommended Posts

Well, I am a noob... but is the problem related to this ???

 

 

/* FIXME: The hardware provides the necessary SATA PHY controls

* to support ATA_FLAG_SATA_RESET. However, it is currently

* necessary to disable that flag, to solve misdetection problems.

* See http://bugme.osdl.org/show_bug.cgi?id=3352 for more info.

*

* This problem really needs to be investigated further. But in the

* meantime, we avoid ATA_FLAG_SATA_RESET to get people working.

 

http://bugme.osdl.org/show_bug.cgi?id=3352

Hi subramanyam, and thanks for commenting.

 

You need X-Code to build the kext, and a working OS X setup. I'll try to post a patch to the AppleVIAATA soon.

 

A question to those who know the Apple License... can I redistribute a modified AppleVIAATA source code? A modified binary? Both?

 

BTW, I found about the ATA_FLAG_SATA_RESET Linux bug either, but I didn't found a single reference to the extended SATA command set in IOATAController either, so I think OS X does not send a single SATA extended command to the controller.

(SATA extended command set is useful only for hotswapping drives, AFAIK. Correct me if I'm wrong, please.)

Well I dont have a working osx setup... :happymac::blink: I have a single SATA disk and osx crashes a bit too often....Infact mac restarts the next time in read only mode...it works perfect but is read-only ,I cant download n stuff...

 

neway About the patch u mentioned...hows the progress..?? ANY GOOD NEWS ??? :idea::D

Just in case u find it useful...the BSD driver which also supports nforce4 sata...name is similar to viaata.kext...it is viaide.c
Wow... it's surprisingly VERY different from the Darwin one...

 

By the way, this "viaide" driver handles both VIA SATA & PATA & .... NFORCE SATA & PATA.... which confirms my theory of SATA & PATA being similarly handled and also explains why the VIA ATA trick works exactly like the nForceATA kext.

 

	{ PCI_PRODUCT_NVIDIA_NFORCE4_SATA1,
  0,
  "NVIDIA nForce4 Serial ATA Controller",
  via_sata_chip_map
},
{ PCI_PRODUCT_NVIDIA_NFORCE4_SATA2,
  0,
  "NVIDIA nForce4 Serial ATA Controller",
  via_sata_chip_map
},

As you can see, nForce4 SATA is being handled as if it were a VIA SATA.

Exactly my point.....could u try to port this driver to mac..?? I wish i had a working osx setup with xcode...wud hav tried my best..
As I said this driver is completely different from Darwin's ones... it is C and it uses structs and function pointers (much like Linux one), a completely different approach from Darwin's classes.

 

I'd like to say that a completely new driver needn't be written for this. It would be useless. Even If I could just now write a AppleVIAATA replacement from scracht, I would surely end up having the same error.

 

Remember that I tried using the ApplenForceATA kext. This one, although similar to AppleVIAATA, it's not a exact line2line copy, and it was failing exactly like the AppleVIAATA.

This makes me believe that the AppleVIAATA is fine and the problem is somewhere between the huge spaghetti called IOATAController, which I can't even recompile without making the whole OS crash. ( I assume that, due to hackintosh hacking, the original binary that came with my image is essential to the system )

 

 

I'm however sure the problem is a one-line (or one-function) patch, but we must found WHICH one.

 

-Knowing how to enable debug on IOATAController would surely help.

-Comparing differences to the Linux / BSD would help too.

-Detecting what makes nForce SATA so different from nForce PATA up to the point of crashing would be useful.

-What can cause a BUSY forever on SATA controller?

-WHEN, WHERE AND WHY is that flag being raised?

 

It must be somewhere around IOATAController -- the VIAATA functions don't *really* do anything interesting to hardware, they just detect it, set timings, select between native/legacy mode and also they send back a nice hardware id string to the system. (This is the reason those using my ApplenForceATA patched extension notice that the SATA controller appears on IDE/ATA instead of SATA on System Profiler).

My SATA disk is detected under Serial-ATA in system profiler....I used jas 10.4.6...guess tat uses applenforceata kext...
I was talking about using ApplenForceATA for SATA disks, which currently only my patched nForceATA is doing. (This was mentioned on the 2nd page).

I'm hoping someone might be able to help me. I tried the instructions and everything and got my main harddrive detected (windows drive). I pasted in all of the sata IDs and system profiler is recognizing the other major hardrive I want to use in OS X, but I'm not able to mount it. What can I do about this?

Jape,I guess this thread is not getting the attention it deserves....It will be great if u can start a new thread called "GOOD PROGRESS ON NFORCE4..." or somethin like tat,so tat others will also contibute.

 

I think U need to pm the findings from the BSD kext and from the log to the 'big guys'(Myzar n others).This might be a cake to them.

 

Cheers

I agree.... the most used AMD chipset out there and this thread is just 5 pages long....

 

However, I don't have "good" progress... just progress. The "big guys" will surely find what I found in a few seconds, as they know how to debug OS X.

 

I'm currently lost -- no ideas. I could try to override all IOATAController functions to VIA & enable debug, but that's hard work (I'm not very used to Mac keyboard :) ) and I won't do it unless I have very good reason....

 

The big guys don't have a nForce 4 SATA board either to test with, I assume, so it would be really difficult for them to debug.

 

 

My only hope is that Apple finds the bug and "fixes it", because it may affect IDE/SATA controllers other than nForce's if it's on IOATAController.

I think that on Darwin there's no debug switch other than the compile-time define. Correct me if I'm wrong.

 

 

BTW. This is a Darwin bug. Darwin is Apple Open Source License... Maybe we could ask on their mailing lists for help.

 

You know, GNU/Darwin is supposed to exist... I remember even Gnome runs on it.

So... well, I can't run GNU/Darwin on my nForce 4 system on a SATA disk.

Where can I file a bug ??? :P;) ;) ;) ;) ;):)

Not to sound inconsiderate, but could someone help me out with getting os x to mount both of my sata drives?
I'm sorry MorningWood but I think your problem is not related to SATA controller itself (well, if it's related then it doesn't have any solution anyway until we fix it :P ) Maybe you should open a new thread and copy the whole system.log around the moment it fails to mount?

subramanyam, just an idea: since this is a nvidia problem, maybe, just maybe some people at macvidia would like to tackle this (maybe not np_, he's on the video driver). even though macvidia is exclusively for nvidia video driver, maybe they'd like to extend their reach.

Or maybe also ask at hackint0sh.

Well.. VGA and IDE/SATA are pretty different topics.

 

 

BTW, I'm getting no progress here. I'm still sure this is a one-liner but I don't know what the **** it could be. It could be everywhere between IOATAController and its children classes up to VIAATAController.

hey..

http://forum.insanelymac.com/index.php?showtopic=26996

 

someone has got sata working with a uli m 1697 chipset based mobo on osx86.. is there any possibility of making this kext work with nf4 as nvidia has now taken over ULi and this is a relatively new chipset.. so may work

×
×
  • Create New...