Help - Search - Members - Calendar
Full Version: Possible Nforce 3 UDMA Fix
InsanelyMac Forum > OSx86 Project > Hardware and Drivers
Pages: 1, 2, 3
equinox
I think I know why we cant load the ata drivers on most of the nforce 3 motherboards. If you look in the appleonboardpcata.kext... You'll see theres a nforce 3 section. If you take the device ids to google you will find out that one of them is a nforce 3. Seems its a different revision than mine is 0x00e510de which isnt there. Of course I tried adding it to the plist, but it causes the system to not boot. I took a look at the source to the driver and look what i found
static const HardwareInfo hardwareTable[] =
{
{ 0x01bc10de, 5, "NVIDIA nForce" },
{ 0x006510de, 6, "NVIDIA nForce2" },
{ 0x00d510de, 6, "NVIDIA nForce3" },
They are hard coded... You have to change it in the source as well as the plist.
I dont have xcode installed and it would probably take a long time to download it.
Anyone wanna take a crack at recompiling this?
equinox
Ok heres an update. I got xcode downloaded and tried it and it works. Confirmed in xbench.
I set the device id to 00e5. If you have a nforce3 board with that device id on the ata controller this kext should work.
Fuzzlet
Which file did you edit? I have xcode installed but I'm not 100% sure which file you are referring too. This is a great find!

Or could you post the kext? As that is the same device ID I have. (MSI K8N Neo-FSR)
equinox
Tried to post the kext and my cat wiggled my cat 5 cable lol...
Im pretty sure thats the same board I have. I hope it works for you.
Here it is.

EDIT: Removed attachment violating DMCA
Fuzzlet
Thanks. smile.gif
CODE
Results    68.46    
    System Info  
 Xbench Version  1.2
 System Version  10.4.1 (8B1025)
 Physical RAM  1024 MB
 Drive Type  Maxtor 6Y120P0
    Disk Test    68.46    
 Sequential    106.98    
     Uncached Write    100.02    61.41 MB/sec [4K blocks]
     Uncached Write    99.60    56.35 MB/sec [256K blocks]
     Uncached Read    120.93    35.39 MB/sec [4K blocks]
     Uncached Read    110.12    55.34 MB/sec [256K blocks]
 Random    50.34    
     Uncached Write    18.96    2.01 MB/sec [4K blocks]
     Uncached Write    124.81    39.95 MB/sec [256K blocks]
     Uncached Read    87.23    0.62 MB/sec [4K blocks]
     Uncached Read    138.26    25.65 MB/sec [256K blocks]


Much better, used to be all in the 2's range. Though random uncached writes (4K blocks) is still VERY low. Random uncached read (4K Block) seems low at .62MB/s, but that is a score of 87.23, so it can't be too far off.

Great work man, appreciate it greatly!! Now I just need 9800 Pro driver, and I'm in complete buisness.
equinox
NP man, Ive been pulling my hair out trying to get that to work. lol importing mp3s in itunes was killing me.
Glad it worked for you.
Now if my secondary channel would work....
TheREALGuppy
The link to the Kext file seems to be broken.. I get a forum error when I try to download it. says the attached file seems to be missing can you repost it please. I would realy like to get UDMA working on my Nforce3
kaleph
Interesting info - i have a nforce4, how do i find its device id?

update: i've just found these at a freebsd maillist
CODE
#define ATA_NVIDIA_ID          0x10de
#define ATA_NFORCE1            0x01bc10de
#define ATA_NFORCE2            0x006510de
+#define ATA_NFORCE2_MCP                0x008510de
#define ATA_NFORCE3            0x00d510de
+#define ATA_NFORCE3_PRO                0x00e510de
+#define ATA_NFORCE3_PRO_S1     0x00e310de
+#define ATA_NFORCE3_PRO_S2     0x00ee10de
+#define ATA_NFORCE3_MCP                0x003510de
+#define ATA_NFORCE3_MCP_S1     0x003610de
+#define ATA_NFORCE3_MCP_S2     0x003e10de
+#define ATA_NFORCE4            0x005310de
+#define ATA_NFORCE4_S1         0x005410de
+#define ATA_NFORCE4_S2         0x005510de

I'm gonna make some tests later.
meddlingBanter
QUOTE(kaleph @ Aug 21 2005, 01:46 AM)
Interesting info - i have a nforce4, how do i find its device id?
*


apple>about this mac>more info>graphics/display, then look for device ID
kaleph
QUOTE(meddlingBanter @ Aug 21 2005, 02:51 AM)
apple>about this mac>more info>graphics/display, then look for device ID
*

Interesting, but thats the video card device id, not the mobo chipset.
bilditup1
Ay, if that kext can be reposted, twould be good...My OSX partition is almost full...and I'm not changing my WinXP partition to FAT32...(by which I mean I'm not downloading Xcode)
Fuzzlet
In windows..

Device manager > IDE ATA/ATAPI Controllers > (mine says) NVIDIA nForce3 Parallel ATA Controller

That's the device you want ven/dev id's for.
mtwtfss
Could anyone tell me the details of how to make the UDMA work properly.


And how to use Xcode?

Im using nvidia nForce4 chipset.

thanks!
myzar
can someone repost the modified kext or point me to the file in pcataonboard to edit smile.gif
reachx
please repost the kext because the board link doesnt work anymore.
newbienewbie
QUOTE(mtwtfss @ Aug 21 2005, 07:04 AM)
And how to use Xcode?

Im using nvidia nForce4 chipset.

thanks!
*


Same question. How to install Xcode? Is it already in the image?
reachx
how did you manage to compile the AppleOnboardPCATA.kext. im new to xcode and i cant get it to compile right. it says Missing File or Directory: /users/user/AppleOnboardPCATA-2/build/Development/AppleOnboardPCATA.kext.
If i make that directory manualy it says that the file is inside source and cannot be copied
leodm
here

EDIT: Removed attachment violating DMCA
matiseijas
Would it be possible for me to edit the appleonboardpcata.kext on xcode and replace the device ID and vendor ID with my device ID and vendor ID so it would match?
My ATA controler is a SiS PCI IDE Controler.
SniperKil
equi does this now allow you to boot with platform=x86pc?
AndyMS
Okay, I have OSX running on a DFI LanParty nF3 250Gb and I am trying to get this installed, but I'm having trouble finding the correct Info.plist I need to add my device ID to. Can anyone point me in the right direction?

Thanks in advance,

Andy
Sir Fredman
I'm running on a K8N NEO2-54G NForce3 Ultra board and drive performance was horrible, but it was nice and quiet. So I downloaded the IOATAFamily.kext and installed it, performance is up by 500% ! Excellent work!
SniperKil


now i get that with this patch and platform=x86pc.... sad.gif
AndyMS
I figured it out, now I'm reinstalling OSX on a spare 120Gb WD HD... the performance of the 40Gb laptop drive I had it on was less than satisfying biggrin.gif
Fuzzlet
QUOTE(SniperKil @ Aug 22 2005, 01:57 AM)


now i get that with this patch and platform=x86pc.... sad.gif
*


Mine stops after USBF: sad.gif
reachx
I just compiled the AppleOnboardATA.kext and it works with the Nforce3 Ultra chipset (Gigabyte K8NS-939). Disk access is five times faster compared to AppleGenericPCATA.kext. biggrin.gif
SniperKil
my disk score is now in the 40's.. but my CPU still scores in the low 9's.. i have no idea why an athlon 64 3000+ @ 2.4ghz would be scoring so low sad.gif
still cant boot with X86OS option
myzar
QUOTE(SniperKil @ Aug 22 2005, 11:34 AM)
my disk score is now in the 40's.. but my CPU still scores in the low 9's.. i have no idea why an athlon 64 3000+ @ 2.4ghz would be scoring so low sad.gif
still cant boot with X86OS option
*


well you know the reason already, you must boot with the x86pc option or the cpu performance is severely crippled.

I've your same cpu but is clocked at 2500 and i score around 40 while with the nforce3 ata driver the disk score is 66

try booting with platform=x86pc -f , if that fails login as root or sudo and try rebuilding the kextcache the command is kextcache -e , if that doesn't help try manually deleting the cache files
vaderd
Did anyone test it on an nForce4 yet? I believe it's got the same IDE controller as the NF3, but probably different dev id's.
When I tried this posted .kext it didn't detect my NF4 ATA controller.

Thx
bikx86
Well, this works great until you run a Repair Permissions from Disk Utility, now my box won't boot. Does anybody have any idea why putting the permissions as they should be would stop it from working?
macgirl
QUOTE(equinox @ Aug 19 2005, 07:54 AM)
    static const HardwareInfo hardwareTable[] =
    {
        { 0x01bc10de, 5, "NVIDIA nForce"  },
        { 0x006510de, 6, "NVIDIA nForce2" },
        { 0x00d510de, 6, "NVIDIA nForce3" },
*


I compiled the project but I added a line for a nForce4, like this:

{ 0x005310de, 6, "NVIDIA nForce4" }

and also modified the Info.plist adding 0x00d510de to the list, replace the kext inside IOATAFamili.kext and works with my nForce 4 biggrin.gif
g0nned
I´ve replaced the file, and my system gained a MAJOR speed boost....
Until my second reboot sad.gif
Know he hangs on IOATA part, dammit.
(I dont remember the msg right now, im working lol)
i dunno why, maybe someone can help.
Tks
kaleph
QUOTE(macgirl @ Aug 22 2005, 02:52 PM)
I compiled the project but I added a line for a nForce4, like this:

{ 0x005310de, 6, "NVIDIA nForce4" }

and also modified the Info.plist adding 0x00d510de to the list, replace the kext inside IOATAFamili.kext and works with my nForce 4  biggrin.gif
*

Weird, i´ve tried the same thing and got the "waiting for root device" error - could you post your kext?
bikx86
QUOTE(g0nned @ Aug 22 2005, 11:45 AM)
I´ve replaced the file, and my system gained a MAJOR speed boost....
Until my second reboot sad.gif
Know he hangs on IOATA part, dammit.
(I dont remember the msg right now, im working lol)
i dunno why, maybe someone can help.
Tks
*


I thought that repairing the permissions stopped it from working, but after some more testing I agree with you, one reboot and it stops working. It definitely seems to have something to do with the validity of the kext.. if you try to do a kextload on it OS X will warn you that it's not valid. So it may be some sort of permissions problem after all.

Update: output from kextcache -e:
tiger-x86:/System/Library/Extensions john$ sudo kextcache -e
warning: kernel extension /System/Library/Extensions/AppleStorageDrivers.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)
kernel extension /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/AppleOnboardPCATA.kext is not authentic (check ownership and permissions); skipping it and any plugins
orph3us
yall know that permissions are supposed to be 755 for directories and 644 for files right? and root wheel for owners
heres a handy set of commands to change permissions as they should be for the kexts

cd /Library/Preferences/Extensions
sudo -s
find * -type d -exec chmod 755 {} \;
find * -type f -exec chmod 644 {} \;

for groups you can also do

find * -exec chown root:wheel {} \;

(i cant remember if osx uses libexec in place of exec, try exec first)
i think that is all. please correct me if ive left something out or this is wrong smile.gif i dont have access to osx atm, this is from my sometimes faulty memory.
g0nned
QUOTE(bikx86 @ Aug 22 2005, 04:00 PM)
I thought that repairing the permissions stopped it from working, but after some more testing I agree with you, one reboot and it stops working. It definitely seems to have something to do with the validity of the kext.. if you try to do a kextload on it OS X will warn you that it's not valid. So it may be some sort of permissions problem after all.

Update: output from kextcache -e:
tiger-x86:/System/Library/Extensions john$ sudo kextcache -e
warning: kernel extension /System/Library/Extensions/AppleStorageDrivers.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)
kernel extension /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/AppleOnboardPCATA.kext is not authentic (check ownership and permissions); skipping it and any plugins
*


Hey i found something.
"...has the right file permissions. You cannot load a kernel extensions with the wrong file permissions. If kextload prints a message saying that the KEXT is not authentic, you can fix the permissions using sudo chown -R root:wheel /file.kext"

I gonna try this out and reply later...
cya
equinox
Sorry I havent replied, been working 12 hour shifts saturday and sunday.
You dont need platform=x86pc. The reason that was speeding people up is that on certian boards it turned udma on.
Besides its never worked on my nforce 3 except in vmware.
bikx86
QUOTE(g0nned @ Aug 22 2005, 03:29 PM)
Hey i found something.
"...has the right file permissions. You cannot load a kernel extensions with the wrong file permissions. If kextload prints a message saying that the KEXT is not authentic, you can fix the permissions using sudo chown -R root:wheel /file.kext"

I gonna try this out and reply later...
cya
*

I would be stunned if the "Repair Permissions" function of Disk Utility didn't do that exact thing, but I'll go in and do it manually in a second and let you guys know how it goes..
Fuzzlet
QUOTE(bikx86 @ Aug 22 2005, 06:04 PM)
I would be stunned if the "Repair Permissions" function of Disk Utility didn't do that exact thing, but I'll go in and do it manually in a second and let you guys know how it goes..
*


Yeah I was sure to do a repair permissions in Disk Utility, so it should have done the same thing, but let us know how it goes.
g0nned
QUOTE(Fuzzlet @ Aug 22 2005, 07:14 PM)
Yeah I was sure to do a repair permissions in Disk Utility, so it should have done the same thing, but let us know how it goes.
*

Anyway lets pray
huauua

biggrin.gif
bikx86
QUOTE(g0nned @ Aug 22 2005, 04:28 PM)
Anyway lets pray
huauua

biggrin.gif
*


I can get it to boot, but only when it goes through the full list of extensions, rather than trying to refer to its cache. The way to do that manually is to give the kernel the '-f' flag at boot. When I do that, everything works well.
g0nned
QUOTE(bikx86 @ Aug 22 2005, 07:59 PM)
I can get it to boot, but only when it goes through the full list of extensions, rather than trying to refer to its cache. The way to do that manually is to give the kernel the '-f' flag at boot. When I do that, everything works well.
*


So do u test the command that i wrote in previous post?
Fuzzlet
no go with the -f flag here. Stoll stops at that same point in picture.
ZOleg
QUOTE(macgirl @ Aug 23 2005, 02:52 AM)
I compiled the project but I added a line for a nForce4, like this:

{ 0x005310de, 6, "NVIDIA nForce4" }

and also modified the Info.plist adding 0x00d510de to the list, replace the kext inside IOATAFamili.kext and works with my nForce 4  biggrin.gif
*


maybe you post link on compiled binary kext?
macgirl
QUOTE(equinox @ Aug 22 2005, 04:49 PM)
Sorry I havent replied, been working 12 hour shifts saturday and sunday.
You dont need platform=x86pc. The reason that was speeding people up is that on certian boards it turned udma on.
Besides its never worked on my nforce 3 except in vmware.
*


Because in VMWare it uses AppleIntelPIIXATA.kext and runs in DMA mode.
ZOleg
macgirl big thanks!!!

Now i installed Xcode - maybe you post little instructions howto compile in osx.
marcian
Hi,

my PC (Nforce3) has some "dependency"-errors on AppleGeneralPCATA or so. Anybody has the same problem, and or better: the solution?

Marcian
macgirl
My kext also have dependencies issues but works.
bikx86
What seemed to work for me:

I opened up the package contents of the IOATAFamily.kext linked to previously in this post, and pulled out only the AppleOnboardPCATA.kext package. I put that into the IOATAFamily.kext package that is already in the /System/Library/Extensions folder. Then I ran:

sudo chown -R root:wheel IOATAFamily.kext to make sure that every file in that package was on the same page. It seems to be booting fairly reliably now.
g0nned
QUOTE(bikx86 @ Aug 23 2005, 12:23 PM)
What seemed to work for me:

I opened up the package contents of the IOATAFamily.kext linked to previously in this post, and pulled out only the AppleOnboardPCATA.kext package. I put that into the IOATAFamily.kext package that is already in the /System/Library/Extensions folder. Then I ran:

sudo chown -R root:wheel IOATAFamily.kext to make sure that every file in that package was on the same page. It seems to be booting fairly reliably now.
*


Bikx86 How many times do you Reboot?
and what mobo do u have.
Many tks
smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.