Jump to content

Darwin nForce4 ATA/SATA controller


Guest bikedude880
 Share

1,033 posts in this topic

Recommended Posts

indeed. i know this question is always asked but logically that means there is a good reason for it. no sight of updates or anyone LOOKING at tackling mcp51? im a notebook user, so booting off an external hdd is not ideal :lol:

 

It would appear that we have a hero on this board(look back starting on page 41) ghakazian. He is working on a driver for the Nforce 410/430 perhaps there will be a driver soon. Good Luck ghakazian!!!!

 

-papodaca

Link to comment
Share on other sites

awesome! i see medevil said he was working on it back in april, saying itd be a huge project. so maybe that explains his lack of activity on this forum? oh well, im on others too. anywho, thats good to see. i was reading that page but missed the bit about him/her doing mcp51 support. all of us on budget notebooks will simply want to marry him or her lol.

 

meanwhile im using one of my old ide drives, 20 GB. its just about full, though. so yeah, time to let the internal one come out and play. (yay external cases)

Link to comment
Share on other sites

yeah, PIO Mode Driver will let you install OSX on Nforce 410/430, but what about the performance? Can you work well with it? I'd like to produce music with the PC, there would be lots of disk read-writes. Would the PIO-Driver be fast enough for that? Anyone tried to use OSX as his main OS with PIO? Hows the performance?

 

Cheers,

 

aKy

Link to comment
Share on other sites

oh yes plat sajack, just saw it. actually i saw it before but was a little bit worried about performance and my cpu and stuff. but ill give it a go. so i could probably install the kext into my working on-pata install right now? just to test out the fact it wont freeze my pc? if so yay, ill be patching my uphuck 1.4a disk later.

Link to comment
Share on other sites

I'd like to to mention, though - as I've said about a page ago - that intensive read ins/outs will certainly render some type of problem. I've gotten really intense IOATA device blocking errors which eventually forced me to completly repair the disk using a working OS X environment on my PATA disk, but I've only had to do this no more than 5 times. I check the system logs via console.app regularly to see what may be causing the errors, if anything at all, and try to curve my actions to avoid consecutive errors.

 

With regards to performance, I'll say that I copied about 7, 500 pictures into iPhoto 08 and experienced no problems. I can traverse through thousands of images and only get a stutter in iTunes, due to the CPU cycles needed by a storage device working in PIO mode.

 

I haven't lost any data whatsoever, which is pretty cool, and the speed overall is faster than my PATA. Apps start faster and web browsing is considerably faster. Can I watch an H.264 video while copying a couple hundred megabytes from a DVD to the PIO'd mode HDD? NO! In fact, you may render your system useless depending on the severity of device blocking errors.

 

In short, I've come to the conclusion that my performance depends on the intensity of current disk I/O operations running at any given moment. Is it stable enough to be my main OS? Yep, for the time being, but certainly NOT a permanent solution.

If you aren't comfortable with the idea of system freezes or any kind of unresponsiveness, I'd probably avoid trying PIO mode.

Link to comment
Share on other sites

Hi,

so I guess the nForce saga continues.

 

I've had several of the problems described earlier but on another chipset.

 

Install: Osx 10.4.10 AMDVM_SSE3 TEST1 on IDE/PATA

IOATAFamily.kext: AppleNForceATA.kext (latest from Project Site) [owner and permissions + mext end kextcache done]

chipset: nForce Pro 3600 - Integrated S-ATA II controller

S-ATA Controller (reported by Windows): nForce 590/570/550

IDE/PATA: SeaGate Barracuda 120 GB U-ATA (ST3120023A)

S-ATA: 2 x SEAGATE BARRACUDA 7200.10 320GB SATA-II 3.5IN 8.5MS 7200RPM 16MB

[ 1st disk partitioned ntfs|FAT32|ntfs, 2nd disk one partition fat32]

 

I get IOATAController device blocking bus in system.log

 

I also get couldn't set up diskarb sessions and diskarbitrationd: unable to mount /dev/... (status code 0x00000047).

 

disk utility hangs when booting from IDE-install (not from DVD-installer, unless doing something with an S-ATA disk).

(what is different on DVD-installer compared to IDE-installation?)

 

Only one S-ATA volume shows up on the Desktop, and if I try doing anything from there, Finder hangs as well.

(the /Volume mount-point seems to be empty, possibly due to NTFS).

 

mount-command shows only the volume visible on the desktop, not other S-ATA disks/volumes.

 

/dev/disk and /dev/rdisk shows entries for all disk devices - manual mount fails.

 

/Volumes shows mount-points created for all disks.

 

 

I am a bit confused by chipset being nForce Pro 3 series and windows reports S-ATA controller nForce 590/570/550 but maybe that is in order.

 

I can find the Vendor and Device id in Info.plist (for AppleNForceATA.kext): 0x037F10DE.

 

Could this be something that can be configured or is it impossible at this moment and current drivers to get working for this controller?

 

Any hints very much appreciated.

 

Cheers,

- J

 

CPU-Z 1.41 report file
[hmm, seems to report different memory than paid for and writen on the sticks]

Processor(s)

Number of processors 2
Number of cores 2 per processor
Number of threads 2 (max 2) per processor
Name AMD Opteron 2214
Code Name Santa Rosa
Specification Dual-Core AMD Opteron™ Processor 2214
Package Socket F (1207)
Family/Model/Stepping F.1.2
Extended Family/Model F.41
Brand ID 1
Core Stepping JH-F2
Technology 90 nm
Core Speed 2200.2 MHz
Multiplier x Bus speed 11.0 x 200.0 MHz
HT Link speed 200.0 MHz
Stock frequency 2200 MHz
Instruction sets MMX (+), 3DNow! (+), SSE, SSE2, SSE3, x86-64
L1 Data cache (per processor) 2 x 64 KBytes, 2-way set associative, 64-byte line size
L1 Instruction cache (per processor) 2 x 64 KBytes, 2-way set associative, 64-byte line size
L2 cache (per processor) 2 x 1024 KBytes, 16-way set associative, 64-byte line size

Chipset & Memory

Northbridge NVIDIA nForce Pro 3600 rev. A2
Southbridge NVIDIA nForce Pro 3600 rev. A3
Graphic Interface PCI-Express
PCI-E Link Width x16
PCI-E Max Link Width x16
Memory Type DDR2
Memory Size 4096 MBytes
Memory Frequency 314.3 MHz (CPU/7)
CAS# Latency (tCL) 5.0 clocks
RAS# to CAS# (tRCD) 5 clocks
RAS# Precharge (tRP) 5 clocks
Cycle Time (tRAS) 13 clocks
Bank Cycle Time (tRC) 19 clocks
Command Rate (CR) 1T

System

System Manufacturer empty
System Name empty
System S/N empty
Mainboard Vendor TYAN Computer Corporation
Mainboard Model S2927
BIOS Vendor American Megatrends Inc.
BIOS Version 080014
BIOS Date 10/19/2006

Memory SPD

Module 1 DDR2, PC2-5300 (333 MHz), 1024 MBytes, Kingston
Module 2 DDR2, PC2-5300 (333 MHz), 1024 MBytes, Kingston
Module 3 DDR2, PC2-5300 (333 MHz), 1024 MBytes, Kingston
Module 4 DDR2, PC2-5300 (333 MHz), 1024 MBytes, Kingston

Software

Windows Version Microsoft Windows XP Professional Service Pack 2 (Build 2600)
DirectX Version 9.0c 

 

It seemed like this chipset was supported before:

 

nForceSATAHardware.h

 


#define ATA_NVIDIA_ID           0x10de
#define ATA_NFORCE2_PRO_S1      0x008e10de
#define ATA_NFORCE3_PRO_S1      0x00e310de
#define ATA_NFORCE3_PRO_S2      0x00ee10de
#define ATA_NFORCE_MCP04_S1     0x003610de
#define ATA_NFORCE_MCP04_S2     0x003e10de
#define ATA_NFORCE_CK804_S1     0x005410de
#define ATA_NFORCE_CK804_S2     0x005510de
#define ATA_NFORCE_MCP51_S1     0x026610de
#define ATA_NFORCE_MCP51_S2     0x026710de
#define ATA_NFORCE_MCP55_S1     0x037e10de
#define ATA_NFORCE_MCP55_S2     0x037f10de

#define NV4             0x0010
#define NVQ             0x0020
#define ATA_SA150       0x47
#define ATA_SA300       0x48



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"}
};

Link to comment
Share on other sites

Hi again,

I guess nForce i SATA is status-quo.

 

Does anybody know why Disk Utility on some installers can identify nForce SATA drives but diskutil once installed gives the IOATAController device blocking bus error.

 

I see that this occurs even if the AppleNForceATA.kext is not loaded as well.

 

Is there anyway we could get organized again to dig into this driver?

 

Cheers,

- J

Link to comment
Share on other sites

Thanks to everyone who has been working on getting the PIO mode driver patched into various ISOs. I really didn't look into this myself as I didn't have the time and was able to run off my SATA by dd'ing from USB once I got the driver installed. I just had too much stuff installed to want to blow it away with a fresh install.

 

No, I won't be publishing the source because, really, there is nothing to publish. As mentioned before, it is the existing AppleVIAATA driver with DMA/MDMA and Extended LBA modes disabled (masked to 0x00 on each).

 

The next driver, well, it is going to be pretty much a brand-spanking new driver because it has to do ADMA transfers and there is no existing ADMA mac drivers that I know of. Also, it is kinda taking a back burner at the moment because of some critical projects in my 'paid' development life. But once those are clear I will be working in earnest on it and hopefully PIO mode will be a thing of the past.

Link to comment
Share on other sites

ghaka - Any reasons you can think of why the installatio would bail on me, every time?

I'm adding y'r kext to the Extensions.mkext, and it starts to install, but randomly, every time, it bails out with some BS about QT7 installer failing.

Any ideas?

Link to comment
Share on other sites

hello...

 

 

i installed the AppleNForceATA.kext.....!

i can see now my 2 SATA drives....all ok!

even my PATA works now very fast!

 

but for example when i import 1000pics into Iphoto....the system hangs (freeze) after a time ?

or today i want to install Xcode (800mb) while im installing the system hangs again ?

 

is that the problem all talking about?

because it works fine but sometimes i get these freezer ? has it to do with the "AppleNForceATA.kext" ?

 

thanks in advice....

 

 

p.s i dont need SATA at all....i had installed osx on my IDE drive....but without "AppleNForceATA.kext" its very slow....so only want to fix that "slow" on my IDE...but how?

Link to comment
Share on other sites

Guest AaloPalto
Thanks to everyone who has been working on getting the PIO mode driver patched into various ISOs. I really didn't look into this myself as I didn't have the time and was able to run off my SATA by dd'ing from USB once I got the driver installed. I just had too much stuff installed to want to blow it away with a fresh install.

 

No, I won't be publishing the source because, really, there is nothing to publish. As mentioned before, it is the existing AppleVIAATA driver with DMA/MDMA and Extended LBA modes disabled (masked to 0x00 on each).

 

The next driver, well, it is going to be pretty much a brand-spanking new driver because it has to do ADMA transfers and there is no existing ADMA mac drivers that I know of. Also, it is kinda taking a back burner at the moment because of some critical projects in my 'paid' development life. But once those are clear I will be working in earnest on it and hopefully PIO mode will be a thing of the past.

 

its really funny to read such posts.

it seems that ghakazian just wont understand, that adma is just an feature, and not an must to get nvidia mcp 51/55 working. just like ncq and stuff.

sorry, but you guys will never see an working driver (and no, the exsisting one with pio enabled is not an working one) from him.

his 'currently no time, but it will come...' stories are told over and over again, and thats what it will be after month and years, just an story. like those from medevil.

 

there is no way to get the chipset to work from those guys by 'hacking' the apple drivers. it needs just an complete new driver, you cant get it to work with ioata... stuff.

take it as an fact.

 

greetings

Link to comment
Share on other sites

Guest AaloPalto
Aargh... Is this thread still full of people making snide comments about eachothers' development skills and nothing useful?

 

no, not really. i think i'm the only one no? the other guys are still busy waiting for the new driver.

 

Why am I subscribed? I don't even use a chipset that needs these drivers anymore!

 

yeah, welcome to the real world.

 

 

greetings

Link to comment
Share on other sites

hello...

i installed the AppleNForceATA.kext.....!

i can see now my 2 SATA drives....all ok!

even my PATA works now very fast!

 

but for example when i import 1000pics into Iphoto....the system hangs (freeze) after a time ?

or today i want to install Xcode (800mb) while im installing the system hangs again ?

 

is that the problem all talking about?

because it works fine but sometimes i get these freezer ? has it to do with the "AppleNForceATA.kext" ?

 

thanks in advice....

p.s i dont need SATA at all....i had installed osx on my IDE drive....but without "AppleNForceATA.kext" its very slow....so only want to fix that "slow" on my IDE...but how?

 

I think you can find the answer to your troubles here:

 

http://forum.insanelymac.com/index.php?sho...mp;#entry360517

 

Another thing you can try is to look into the Info.plist for the driver and strip the identification of SATA controller, it should do the work too.

Link to comment
Share on other sites

its really funny to read such posts.

it seems that ghakazian just wont understand, that adma is just an feature, and not an must to get nvidia mcp 51/55 working. just like ncq and stuff.

sorry, but you guys will never see an working driver (and no, the exsisting one with pio enabled is not an working one) from him.

his 'currently no time, but it will come...' stories are told over and over again, and thats what it will be after month and years, just an story. like those from medevil.

 

there is no way to get the chipset to work from those guys by 'hacking' the apple drivers. it needs just an complete new driver, you cant get it to work with ioata... stuff.

take it as an fact.

 

greetings

Had you actually done any digging into the ADMA Host Adapter spec, you would have discovered that an ADMA adapter works in two modes: legacy (PIO) and ADMA. There is no way to get standard UDMA or MDMA to work on an ADMA controller. Those require bus master registers, which are normally available at PCI BAR 4 on an ATA controller. On an ADMA controller, PCI BAR 4 points to the memory-mapped ADMA registers.

So while ADMA is a "feature" as you said, without it we are stuck with PIO mode. Writing a working ADMA driver is not a 'hack' effort and I never claimed it was. The existing code simply won't work because it is not architected for ADMA operations. The AHCI driver would be close and perhaps could be modified to work, but since it is closed-source that won't happen either.

So the alternative is to write a wholly new driver. I'm working on that but since I don't have infinite amounts of time to work on an unpaid project, it isn't going to happen overnight. I've done plenty of research and already spent lots of time just to discover what I have so far. I wouldn't have done that if I wasn't serious about making this thing work.

Anyhow, keep the positive encouragement and useful comments coming! :wacko:

Link to comment
Share on other sites

I think you can find the answer to your troubles here:http://forum.insanelymac.com/index.php?sho...mp;#entry360517Another thing you can try is to look into the Info.plist for the driver and strip the identification of SATA controller, it should do the work too.
thank you ;)but what do you mean with "and strip the identification of SATA controller"......so you mean to remove the Device ID ???
Anyhow, keep the positive encouragement and useful comments coming! :wacko:
yeahhh man....keep going it on.....i belive in you.....make some people happy with a boombastic driver :)and thank you for spending time for this without getting paid....dont let you interrupt because of some stupid post´s :(
Link to comment
Share on other sites

Had you actually done any digging into the ADMA Host Adapter spec, you would have discovered that an ADMA adapter works in two modes: legacy (PIO) and ADMA. There is no way to get standard UDMA or MDMA to work on an ADMA controller. Those require bus master registers, which are normally available at PCI BAR 4 on an ATA controller. On an ADMA controller, PCI BAR 4 points to the memory-mapped ADMA registers.

So while ADMA is a "feature" as you said, without it we are stuck with PIO mode. Writing a working ADMA driver is not a 'hack' effort and I never claimed it was. The existing code simply won't work because it is not architected for ADMA operations. The AHCI driver would be close and perhaps could be modified to work, but since it is closed-source that won't happen either.

So the alternative is to write a wholly new driver. I'm working on that but since I don't have infinite amounts of time to work on an unpaid project, it isn't going to happen overnight. I've done plenty of research and already spent lots of time just to discover what I have so far. I wouldn't have done that if I wasn't serious about making this thing work.

Anyhow, keep the positive encouragement and useful comments coming! :wacko:

 

 

ghakazian, thanks for your devotion on this chipset and really look forward to seeing any progress. It is impossible to build Rome in on day, but just keep it in mind, supports are always around you in this community. Cheers!

Link to comment
Share on other sites

thank you ;)but what do you mean with "and strip the identification of SATA controller"......so you mean to remove the Device ID ???yeahhh man....keep going it on.....i belive in you.....make some people happy with a boombastic driver :)and thank you for spending time for this without getting paid....dont let you interrupt because of some stupid post´s ;)

 

Yes, I mean exactly this. If there is no information for your SATA controller in the Info.plist, then the driver will not be loaded for this device. So, you won't have any SATA recognized. Or just download the driver from the forum post and use it. It works like a charm.

Link to comment
Share on other sites

Guest AaloPalto
Had you actually done any digging into the ADMA Host Adapter spec, you would have discovered that an ADMA adapter works in two modes: legacy (PIO) and ADMA. There is no way to get standard UDMA or MDMA to work on an ADMA controller. Those require bus master registers, which are normally available at PCI BAR 4 on an ATA controller. On an ADMA controller, PCI BAR 4 points to the memory-mapped ADMA registers.So while ADMA is a "feature" as you said, without it we are stuck with PIO mode. Writing a working ADMA driver is not a 'hack' effort and I never claimed it was. The existing code simply won't work because it is not architected for ADMA operations. The AHCI driver would be close and perhaps could be modified to work, but since it is closed-source that won't happen either.So the alternative is to write a wholly new driver. I'm working on that but since I don't have infinite amounts of time to work on an unpaid project, it isn't going to happen overnight. I've done plenty of research and already spent lots of time just to discover what I have so far. I wouldn't have done that if I wasn't serious about making this thing work.

 

please stop those writings, ghakazian, because i really dont think you know what you are talk about.

putting in code that will handle adma features wont change anything, because you will still based on an not working driver-base.

 

here is some conversion, if you dont believe me, try to believe those guys:

>> Hi,

>>

>> I now tested with the adma=0 option, but if anything I got a crash

>> quicker than before. Same error message started coming in, but this

>> time the system hung before I was able to capture the log as well (but

>> I saw the error, and it was the same as before, except that this time

>> it was the ata3-channel that first started acting up..) - To remind

>> you all what this is about, I have reattached the log that I

>> originally captured...

>

> Sounds like a hardware problem, since disabling ADMA is generally the

> cure-all we use -- it appears to stress the hardware less.

 

> If this is an MCP51 chipset, adma=0 will make no difference since that

> chipset does not support ADMA in the first place.

 

Anyhow, keep the positive encouragement and useful comments coming! ;)

do what you want, and waste time on your wrong path. i really dont care :angel: greetings

 

It is impossible to build Rome in on day

 

nobody said ghakazian should build an whole new driver in just one day.but, believe it or not, it will not work the way ghakazian is walking on.

 

greetings

Link to comment
Share on other sites

Enough of this. Regardless of whether ghakazian will or will not give these people a working driver, your comments are rude and un-necesary. Even if you really believe in and wanted to say what you said, there are plenty of politer ways to say it. I'm sure all you'll achieve it everybody else telling you to {censored} off.

 

Personally, I think it's you, AaloPalto, who's the idiot:-

"putting in code that will handle adma features wont change anythings"

 

Because ghakazian never said he was simply going to add code to support ADMA to the existing driver:

"Writing a working ADMA driver is not a 'hack' effort and I never claimed it was. The existing code simply won't work because it is not architected for ADMA operations."

 

Personally, he sounds far more knowledgeable on the subject than you've shown to be, so I expect you're just going to get laughed off the forum.

Link to comment
Share on other sites

Guest AaloPalto
Enough of this. Regardless of whether ghakazian will or will not give these people a working driver, your comments are rude and un-necesary. Even if you really believe in and wanted to say what you said, there are plenty of politer ways to say it. I'm sure all you'll achieve it everybody else telling you to {censored} off.

 

Personally, I think it's you, AaloPalto, who's the idiot:-

"putting in code that will handle adma features wont change anythings"

 

Because ghakazian never said he was simply going to add code to support ADMA to the existing driver:

"Writing a working ADMA driver is not a 'hack' effort and I never claimed it was. The existing code simply won't work because it is not architected for ADMA operations."

 

Personally, he sounds far more knowledgeable on the subject than you've shown to be, so I expect you're just going to get laughed off the forum.

 

damn, whats your problem? you really dont understand the basics, so better shut up, azrael.

i dont think you are an idiot, i think you are an _stupid idiot_, so go ahead, play with your dolls.

Link to comment
Share on other sites

 Share

×
×
  • Create New...