Help - Search - Members - Calendar
Full Version: Darwin nForce4 ATA/SATA controller
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > SATA/IDE Controllers
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
aPpLeFrEaKpEePs
I hav an old SATA 1 80 GB with no NCQ.. But i can test only if i get 10.4.8.. dunno how to add the kext to my 10.4.6 DVD ISO.. though jape mailed me a kext smile.gif
aPpLeFrEaKpEePs
Jus checked online.. It seems that the Nforce 4 Ultra, SLI also have NCQ support.. along with the MCP-51.. so that may not be the problem..

http://forums.legitreviews.com/about5908.html

It also seems that NF4 NCQ is very problematic.. many posts like the one in the link above.. donno wat else is different in the SATA controller of MCP51
aPpLeFrEaKpEePs
the 1st drivers for the CK-804 could not use NCQ.. It seems it was very problematic and enabling it led to Data corruption as reported by many users especially those using Linux..

http://forums.nvidia.com/lofiversion/index.php?t8171.html

Check this link out..
Plat Sajack
I guess nVidia Command Queuing should just be disabled all together for MCP51 users?
GiM
I've got my SATA drive mounted. Reads and writes great.

But I still can't boot off it.
When I try I get the blinking cursor in the upper left.

I carbon copied my boot partition over to the SATA drive. I also ran fdisk and setup the MBR (the partition wasn't active).
But still won't boot.

Any suggestions

I'm on a Asus P5ND-SLI mobo with nForce4 SATA.

Thanks for working on this. Worst case scenario i have to boot off PATA is still kickass.
MeDevil
As i have told yesterrday (maybe in irc?), ncq is only used on mcp51/55 boards.
CK8-04 and previous chipsets don't have support for ncq.
If you don't trust me, then simply check bsd sources: ata-chipset #2863
Data corruption is specific to maxtor hdd (the one with the firmware earlier than BANC1B70) and should happen only on mcp51/55 chipset, cause other (older) chipsets doesn't have support for ncq. Also, those bugs should be fixed if you upgraded the hd firmware (as you can see in the link that Karthik Ramgopal posted).
See ya later.

Greetings, Domenico.
MeDevil
QUOTE(GiM @ Jan 29 2007, 09:11 AM) *
I've got my SATA drive mounted. Reads and writes great.

But I still can't boot off it.
When I try I get the blinking cursor in the upper left.

I carbon copied my boot partition over to the SATA drive. I also ran fdisk and setup the MBR (the partition wasn't active).
But still won't boot.

Any suggestions

I'm on a Asus P5ND-SLI mobo with nForce4 SATA.

Thanks for working on this. Worst case scenario i have to boot off PATA is still kickass.


These issues seems not to be related with the driver (i presume you have a CK8-04 chipset), so i think you are ot in this thread.
Perhaps, you could try to add the kext in your installation media and install from it? -or- install it thru vmware?

Greetings, Domenico.
aPpLeFrEaKpEePs
i read thru the tech specs.. linux sata_nv driver doesnt support NCQ.. but its there for sure on CK804
aPpLeFrEaKpEePs
http://lwn.net/Articles/205578/

see this
a patch added to support some ADMA mode enabling NCQ on Ck804
aPpLeFrEaKpEePs
can anyone make a ppf of the kext for the 10.4.6 goatsecx DVD? or at least point me to a guide which says how 2 integrate the kext into the DVD? i hav 10.4.6 goatsecx ISO with me now and would like to try this kext... jape mailed me a 10.4.6 version of it but i am clueless on how 2 integrate it into the DVD so that it detects my SATA HD at startup.
iMäcen
Ramgopal: How to add the kext to the install DVD: http://forum.insanelymac.com/index.php?s=&...st&p=286259
jape
AFAIK, NCQ is present in CK804 (that's what the Windoze driver also says). They however used a "more standard" version in recent revisions -- don't ask me what they meant with "more standard"; I always thought that was marketing bs for "we've dumped NVIDIA SATA and gone AHCI" but since It didn't seem so..
MeDevil
QUOTE(jape @ Jan 29 2007, 02:45 PM) *
AFAIK, NCQ is present in CK804 (that's what the Windoze driver also says). They however used a "more standard" version in recent revisions -- don't ask me what they meant with "more standard"; I always thought that was marketing bs for "we've dumped NVIDIA SATA and gone AHCI" but since It didn't seem so..


You're right jape, sorry... my mistake.
Linux has (beta) NCQ support for CK8-04 chipset (a recent patch added it),
so this chipset currently should support ncq.

But... why the driver works with CK8-04 and not with MCP51/55 ?
My point of view is that the CK8-04 doesn't enable ncq by default as opposed to MCP51/55 chipset(s).
So as i said in previous thread, we should try to disable it and check if it works.
See you this evening.

Greetings, Domenico
Daikatana
MeDevil, what is this for?

QUOTE
static nForceSATAChipset nforceChipsets[]= {
{ ATA_NFORCE2_PRO_S1, 0, ATA_SA150, "nForce2 Pro" },
{ ATA_NFORCE3_PRO_S1, 0, ATA_SA150, "nForce3 Pro" },
{ ATA_NFORCE3_PRO_S2, 0, ATA_SA150, "nForce3 Pro" }
{ ATA_NFORCE_MCP04_S1, NV4, ATA_SA150, "nForce MCP" },
{ ATA_NFORCE_MCP04_S2, NV4, ATA_SA150, "nForce MCP" },
{ ATA_NFORCE_CK804_S1, NV4, ATA_SA300, "nForce CK804" },
{ ATA_NFORCE_CK804_S2, NV4, ATA_SA300, "nForce CK804" },
{ ATA_NFORCE_MCP51_S1, NV4|NVQ, ATA_SA300, "nForce MCP51" },
{ ATA_NFORCE_MCP51_S2, NV4|NVQ, ATA_SA300, "nForce MCP51" },
{ ATA_NFORCE_MCP55_S1, NV4|NVQ, ATA_SA300, "nForce MCP55" },
{ ATA_NFORCE_MCP55_S2, NV4|NVQ, ATA_SA300, "nForce MCP55" },
{ 0, 0, 0, 0, 0, "nForce Unknown"}


NVQ = NVidia Queueing? It also appears in FreeBSD's ata-pci.h. Maybe the driver will work if we disable it (alas I don't have Xcode installed to test it).
MeDevil
QUOTE(Daikatana @ Jan 29 2007, 03:15 PM) *
MeDevil, what is this for?



NVQ = NVidia Queueing? It also appears in FreeBSD's ata-pci.h. Maybe the driver will work if we disable it (alas I don't have Xcode installed to test it).


the nForceSATA* files are from rev1 and should be deleted from the trunk. don't trust them (and, in general, the svn).
in my nforceataroot.cpp (the currently published kext) i've got a similiar table where i can identify the mobo with ncq support.
Now, based on the rev3, the only thing to do on the driver is try to disable the ncq where the NVQ flag is applied.
(And I'll do that, this evening, as i said about 2-3 times on the forum whistle.gif )

Greetings, Domenico.
Slip
SUCCESS !@!


Method used

Removed hardrive to Intel box used second SATA connection .
Boot 10.4.6 and erase/clear Partition to prepare for Install.
Boot JaS AMD 10.4.8.P1 DVD and install to partition on new drive ,Selecting AMD package of course.
Reboot to Intel Install and copy AppleNForce.kext to new AMD Install fix permissions and remove drive to AMD Box.
Reboot AMD box no options just boot

Main Issue USB sleep have to replug keyboard/mouse will try to fix
Sound on first boot works network untested
Won't try to run diskutil on this yet.

Ran CINEBENCH 9.5 scored SINGLE CPU rendering test 324 very close to XP. IMPRESSED


EVGA mATX NF44 / AMD 3700+ 512MB


Should be PPF soon for Jas DVD .

Thanks TO all DEV'S hysterical.gif

hysterical.gif
kirewade
ok i have 10.4.8 installed on a ext hd becasue it doesnt see my nforce sata drive 430/410 i think now my question how can i boot into my ext hd to copy the nforce text it? when i boot into the ext hd it just sits there im assuming its becasue of the nforce, any help?
aPpLeFrEaKpEePs
solution to kirewade's problem:

copy AppleNforce.kext to /System/Library/Extensions ..
now repair permissions using
chmod and chown

delete Extensions.kextcache and Extensions.mkext

reboot frm ur external HD install
and u can see the SATA partitions

now i havent had the opportunity to try this kext yet
but this is the gen method used for all kexts
Daikatana
Karthik Ramgopal, that method works perfectly for this kext.

Using a MCP51 I can boot in single user mode, mount as rw and even write but after a while it just halts with a IOATAController blocking bus error. I think the reason it doesn't boot with the GUI is that /etc/rc runs fsck and this hangs the boot procedure (due NCQ problems).
kirewade
QUOTE(Karthik Ramgopal @ Jan 29 2007, 05:47 PM) *
solution to kirewade's problem:

copy AppleNforce.kext to /System/Library/Extensions ..
now repair permissions using
chmod and chown

delete Extensions.kextcache and Extensions.mkext

reboot frm ur external HD install
and u can see the SATA partitions

now i havent had the opportunity to try this kext yet
but this is the gen method used for all kexts


thanks buy im a mac noob how do i copy to the ex hd if i cannot boot into it? cannot see the mac artition in windows
aPpLeFrEaKpEePs
gr8..

i am also trying my amateur hand at the source.. lets see
but again i don hav Xcode
but at least if i can identify the problem
that wud in itself b gr8
aPpLeFrEaKpEePs
ohk
so u mean 2 say that u cant even boot into ur OS X install on the external HD

well donno wat cud be the problem then
try putting USB boot on a higher priority in ur BIOS
maybe that shud help
joelones
QUOTE(GiM @ Jan 29 2007, 08:11 AM) *
I've got my SATA drive mounted. Reads and writes great.

But I still can't boot off it.
When I try I get the blinking cursor in the upper left.

I carbon copied my boot partition over to the SATA drive. I also ran fdisk and setup the MBR (the partition wasn't active).
But still won't boot.

Any suggestions

I'm on a Asus P5ND-SLI mobo with nForce4 SATA.

Thanks for working on this. Worst case scenario i have to boot off PATA is still kickass.



GIM,
Same issue here. Used Disk Utility restore feature to copy good working version of osx86 (tubgirl's) from pata to sata (both on nf4). Set boot flag (active flag) to newly cloned partition. Rebooted, changed boot order, and no go. Sits as CMOS boot prompt with flashing cursor.
elfdood
is there anyone who could post a PPF of the update that can be intergrated into the JAS DVD?
aPpLeFrEaKpEePs
so problem is with nf4 SLI also.. which means driver works just right for now just on Nf4 vanilla/ultra chipsets. MCP51/55 and NF4 SLI are still problematic...
aPpLeFrEaKpEePs
any progress on MCP51?? me clueless!!!
timmyj
nforce4 sli works perfect my osx boots for it and the drive gets over 100 in xbench
p5nd2 motherboard is nforce4 intel a different chipset again
aPpLeFrEaKpEePs
then wat cud be the problem with mcp51/55.. nforce 4 SLi also has NCQ support in its SATA controller
lord_muad_dib
QUOTE
GIM,
Same issue here. Used Disk Utility restore feature to copy good working version of osx86 (tubgirl's) from pata to sata (both on nf4). Set boot flag (active flag) to newly cloned partition. Rebooted, changed boot order, and no go. Sits as CMOS boot prompt with flashing cursor.

lol, 10.4.8's disk utility is broken for hackintoshes, doesn't work good on mbr disks.
ever read any howtos?


i have an nforce 4 sli too and works flawlessly
MeDevil
Please stop pm-ing me. And stop asking "any progress", "does it works", "how do i make that" or things like that.
I'm not an nvidia engineer that is developing a driver for mac, and I'm not paid to do this kind of work.
We have got support for the ck8-04 chipset, that was missing and we'll get mcp51/55 support too, sooner or later.
I don't own a mcp51/55 mobo, and my nforce4 mobo works well, so i can stop developing this driver now...
hope that this is clear.

Greetings, Domenico.
evanrodge
QUOTE(MeDevil @ Jan 30 2007, 08:44 AM) *
Please stop pm-ing me. And stop asking "any progress", "does it works", "how do i make that" or things like that.
I'm not an nvidia engineer that is developing a driver for mac, and I'm not paid to do this kind of work.
We have got support for the ck8-04 chipset, that was missing and we'll get mcp51/55 support too, sooner or later.
I don't own a mcp51/55 mobo, and my nforce4 mobo works well, so i can stop developing this driver now...
hope that this is clear.

Greetings, Domenico.


Come now meDevil, is it all that bad that people ravenously come to you in desperation to get their hardware to work? They are looking for someone to help, and its obvious you can, so they want information and progress. I hope you dont get discouraged that easily. And have you looked into the NCQ issue, surely turning off a feature can't be the hardest feat in the world?

Anyway, im sorry people are pestering you, and even I got on IRC to see what was up last night. So for the rest of you, if meDevil wants space, give him some.

Also, I DO have a mcp51 mobo, and I will test your driver out as soon as I learn how to load the kext during install and dvd boot. Otherwise, there isn't any other way for me to install it.
lord_muad_dib
QUOTE
Come now meDevil, [snip]............................... world?


lol
Daikatana
QUOTE
Come now meDevil, is it all that bad that people ravenously come to you in desperation to get their hardware to work? They are looking for someone to help, and its obvious you can, so they want information and progress. I hope you dont get discouraged that easily. And have you looked into the NCQ issue, surely turning off a feature can't be the hardest feat in the world?


If you had been at IRC at proper time, you would know that MeDevil already has tested a kext with NCQ disabled but the problems with MCP51 are still there. Instead of helping MeDevil to fix the problem, you are judging how difficult is to disable "a feature". Maybe you think that turning off "a feature" in a device driver (without specifications) is like turning off "a feature" in Minesweeper, but you should know better before writing crap.

And this thread is for helping MeDevil to develop this driver, not for teaching how to add a kext to a DVD or to fix your booting errors (caused by WELL KNOWN PROBLEMS with Disk Utility).

So PLEASE, if you don't know how to code AND don't want ot help as a tester and even DON'T KNOW ANYTHING ABOUT MAC OS X OR EVEN HOW TO INSTALL IT, shut up.

Sorry for my horrible english, but MeDevil is doing an effort to help us and many of you are just behaving like idiots.
Metrogirl
Guys, play properly or keep your fingers off the keyboard. This forum is for discussion and development, not personal opinion on someone's voluntary efforts. Read the rules. If you want to get personal, expect to get flagged.
iMäcen
I applied the PPF but only get Still waiting for root device after:
AppleNForceATA: NVIDIA nForce by medevil (CMD 0x9f0, CTR 0xbf0, IRQ 23, BM 0xe000)
This when trying to install native.

EDIT: I got the install to work, but only when I had the ATA drive connected. SATA only stops with waiting for root device.

My IDE DVD writer isn't found after booting OS X either.

EDIT 2: Haha, I forgot to change the DVD writer from slave to master, which of course was the reason that I got Still waiting for root device. smile.gif
macgirl
This thread is the first one (sticky) http://forum.insanelymac.com/index.php?showtopic=14169 and talk about Pestering.
evanrodge
Daikatana, you are really quite insulting, and its unnecessary. I was asking a question about the difficulty of disabling NCQ, which I assumed had not been done yet because I joined IRC late, hence the questionmark at the end.

Maybe if you take a few prozac, calm down, and re-read my post, you will find that I am trying to encourage MeDevil, to whom I am very grateful for the help he has already given. I was also offering my own help, but wanted to explain why I couldn't test last night or that very moment. And if I'm not mistaken, you can't code either Daikatana.

Perhaps you should take your self and all this a little less seriously, and maybe then you'll avoid that looming aneurysm.
jape
Will try 10.4.8 vmware to native on SATA root right now, then post the results.

RESULTS: I am posting from the succesfull OS X install on SATA root. The driver works PERFECTLY -- nForce 4 Ultra here

Time to ditch that PATA drive.

As a useful note, the kext that was loaded for PATA was the default Darwin one, AppleNVIDIAnForceATA. Which means it gets preference over medevil's one, even if the correct device id is present on both. So be sure to remove the VIAATA trick before testing SATA!!!

THANKS A LOT medevil! smile.gif
legs
I have downloaded the Jas 10.4.8, but still get "Waiting for root device". I have tried the master to slave, slave to master, primary and secondary suggestions from other posts, but they don't seem to work. I have disabled my Sata/Raid 5 configuration, so only my 40gb Maxtor drive is being seen.

I am currently downloading the "JaS 10.4.8 AMD Intel SSE2 SSE3 /W PPF1 Integrated & Defi......" version. Maybe this will help.....

PC Description:
Asus P5N32-SLI SE Deluxe
P4 2.4 Core Dua E6600
eVGA 512-P2-N637-AR GeForce 7950GT 512MB
2gb Kingston 667mhz
Raid 5 with 4 x 160gb Sata Seagate HDD's
Primary IDE Master - Maxtor 40gb
Slave - Plextor DVD Burner
Secondary IDE Master - Plextor CD-RW
Slave - Toshiba DVD


Looking to see why I still get "Waiting for root device"

Here is a screen shot:

Click to view attachment
Plat Sajack
Just simply wait. some progress was made today in the IRC. MeDevil says IRQ's seems to be the problem in regards to MCP51/55 nForce chipsets.

@legs
I don't see any nForce sata driver debug information in the shot you've included. hehe.
legs
I took the Sata drive issue out of the equation (I think), by disabling the SATA drives via the BIOS.

The 40gb IDE is the only drive active, with a FAT32 partition, and is waiting for OSx86 to be installed.

I thought I saw someone in another thread get it working without SATA, but can't found where I read this.

I was hoping that someone in this thread could point me in the right direction, but will keep watching this post for possible solutions.

Any help would be greatly appreciated.

Thanks!!!!

@plat sajack
the only thing missing in my screen shot is the repeated "waiting for root device" x E 43.419533. =D
jape
legs: On your screenshot no kext is loading your PATA drive -- that means you have NO IOATAFamily kext at all, cause it would load the generic PATA driver.

Probably due to that XML error on the first lines. I think you should regenerate the Extensions.mkext file.
legs
=D And how do I do this during the initial installation process? I have installed an older version of OSx86 on my Dell laptop 10.4.?, and messed with kext files inside the OS, but never before the install.

Sorry....nubee.

Thanks in advance for your help Jape!!
aPpLeFrEaKpEePs
hi medevil.. thanx for ur gr8 work.. i jus saw the changelog of sata_nv.c version 0.08 (incidentally the one that added support for the MCP 51/55). They appear to have just added the device ID's.. but then the support was buggy which is why a patch was rapidly released.. the changelog of 0.09 clearly states that THEY HAVE RESOLVED A BUG CAUSED BY MCP 51/55 SUPPORT OF 0.08

http://www.kernel.org/hg/linux-2.6/?f=6b27.../scsi/sata_nv.c

see this please

http://lkml.org/lkml/2006/7/2/45

please pay attention to the below lines

Another thing I have discovered is that if I boot with a Knoppix
5 (kernel 2.6.17 I believe) and mount the sata drives read only,
there is no problem with them. I can read their whole contents,
really fast, without hiccups. It's at the point of using fdisk on
them or trying to mount them as writeable that the commands hang.

this is similar to the problem we people are facing.

sorry to bug you.. but thot must say this
aPpLeFrEaKpEePs
it seems they changed something in libata also.. may be worth a look to identify possible cause of problem
MeDevil
QUOTE(Karthik Ramgopal @ Jan 31 2007, 12:09 PM) *
hi medevil.. thanx for ur gr8 work.. i jus saw the changelog of sata_nv.c version 0.08 (incidentally the one that added support for the MCP 51/55). They appear to have just added the device ID's.. but then the support was buggy which is why a patch was rapidly released.. the changelog of 0.09 clearly states that THEY HAVE RESOLVED A BUG CAUSED BY MCP 51/55 SUPPORT OF 0.08

http://www.kernel.org/hg/linux-2.6/?f=6b27.../scsi/sata_nv.c

see this please

http://lkml.org/lkml/2006/7/2/45

please pay attention to the below lines

Another thing I have discovered is that if I boot with a Knoppix
5 (kernel 2.6.17 I believe) and mount the sata drives read only,
there is no problem with them. I can read their whole contents,
really fast, without hiccups. It's at the point of using fdisk on
them or trying to mount them as writeable that the commands hang.

this is similar to the problem we people are facing.

sorry to bug you.. but thot must say this


Nope... i don't think that this is the problem. That bug in linux libata is related to ALL the nforce family chipsets.
And my driver currently works well with ck804 and mcp04...

Look at this:
CODE
ck804                via                     generic
     .freeze        | nv_ck804_freeze    | ata_bmdma_freeze      |
     .thaw          | nv_ck804_thaw      | ata_bmdma_thaw        |
     .error_handler | nv_error_handler   | vt6420_error_handler  | nv_error_handler
     .irq_handler   | nv_ck804_interrupt | ata_interrupt         | nv_generic_interrupt
     .scr_read      | nv_scr_read        |                       | nv_scr_read
     .scr_write     | nv_scr_write       |                       | nv_scr_write
     .host_stop     | nv_ck804_host_stop | ata_host_stop         | ata_pci_host_stop


These are the differences in the structs (*_ops) used in sata_nv.c and sata_via.c.
The column on the left is the ops used for ck804/mcp04.
The column on the right is the ops used for mcp >= 51
The column on the center is what is used to manage via hw.
Actually, the only difference between generic and ck804 is HOW the interrupt is handled.

Perhaps I have noticed that the interruptIsValid() function (in my driver, ndr) doesn't clear the interrupt status when there is no
command issued. And, actually, the nv_generic_interrupt in the sata_nv.c do this:
CODE
if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)))
   handled += ata_host_intr(ap, qc);
else
   // No request pending?  Clear interrupt status
   // anyway, in case there's one pending.
  
   ap->ops->check_status(ap);

I'll do a mod to the sources this evening (8pm, gmt+1). mcp51/55 are invited to the irc channel to test the kext.

Greetings, Domenico.
jape
QUOTE(legs @ Jan 31 2007, 03:37 AM) *
=D And how do I do this during the initial installation process? I have installed an older version of OSx86 on my Dell laptop 10.4.?, and messed with kext files inside the OS, but never before the install.

Dunno. Maybe that's a corrupted image file or other problem causes it...
Common Sense
Just a quick question from a noob:

Could this driver be used with the nforce3 sata?
is there any pci sata controllers that works out of the box (or with a little tweaking)?
Like the cheap Siil controllers.

I would really like to help and test this (if it can work with nforce3).
Plat Sajack
QUOTE(Common Sense @ Jan 31 2007, 11:59 PM) *
Could this driver be used with the nforce3 sata?


Indeed!
Thico Alves
sorry guys... I couldn't be at the irc today, was working since 7a.m. and things got hard on the work. But, did we get some progress on that? Probally I will be here tomorrow to help on tests...

see ya
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.