Jump to content

Darwin nForce4 ATA/SATA controller


Guest bikedude880
 Share

1,033 posts in this topic

Recommended Posts

Guest bikedude880

I think I've almost got it working (at least compiling correctly...) Hopefully there will be something new during this week.

Link to comment
Share on other sites

Guest bikedude880
great news bikedude, i just saw this http://forum.insanelymac.com/index.php?showtopic=37127 post by raska on that topic where he puts the hardware ids in appleviaata and appleahciport.kext, i'm not sure if that has been tried much b4 but he claims it is working, any thoughts or is this just the same old. anyways thanks bikedude for your efforts!! :)

 

It might work, but it's also using code that was optimized for a different chipset (improper timing and registers, both of which should be closer to correct in what I'm working on.) This beta will also implement a couple nifty features that will be revealed when it's released.

Link to comment
Share on other sites

Guest bikedude880
Perhaps after all this time I will be able to put the mac os on my disc 7200RPM

 

bikedude you are my hero!!!

 

Not yet I'm not. If this beta loads and detects the chipset correctly, then there might be hope. When that happens, I'd like to see xbench disk scores (only) before and after. Not even going to be concerned with data loss until the chipset runs at the proper acceleration (UDMA).

Link to comment
Share on other sites

Guest bikedude880

Kext is almost ready for testing. Just going to do a load check on this end and it's off to upload the beta. Whoo!

Link to comment
Share on other sites

Guest bikedude880

NOTE: THIS WILL ONLY WORK ON 10.4.8!

 

Kext is ready for testing. This is still in beta and is not expected to work properly. I have provided a little shell script that will repair the permissions on the kext and delete Extensions.mkext. Just drop IOATAFamily.kext into /System/Library/Extensions/ and run the script. Report back with what happens.

EDIT: Removed for further coding.

Link to comment
Share on other sites

I updated my old AMD SSE2 rig with the packages:

 

JaS.10.4.8.AMD.SSE2.Only.Combo.Update.pkg.zip

and

JaS.10.4.8.AMD.SSE2.SemtheX.Beta9.pkg.zip

 

 

and I get a lot of error messages, below is the part that is still available from dmesg (private/var/log/system.log had non of this????)

 

tersE9ataUnitID

__ZN20AppleNVIDIAATADriver24getSATAPortPresentStatusEm

__ZN20AppleNVIDIAATADriver26computeUDMATimingRegistersE9ataUnitID

__ZNK21AppleNVIDIAATAChannel16getMaxDriveUnitsEv

kld_load_from_memory() failed for module com.apple.driver.AppleNVIDIAATA

\^[[33mFailed to load extension com.apple.driver.AppleNVIDIAATA.

\^[[0mCouldn't alloc class "AppleNVIDIAATARoot"

Security auditing service present

BSM auditing present

disabled

From path: "uuid",

Waiting for boot volume with UUID 7F23DF16-2741-35C8-83FA-82E3398107AB

Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>

kld(): Undefined symbols:

__ZN20AppleNVIDIAATADriver10kMaxDrivesEv

__ZN20AppleNVIDIAATADriver17setSATAPortEnableERmb

__ZN20AppleNVIDIAATADriver20writeTimingRegistersEv

__ZN20AppleNVIDIAATADriver22computeTimingRegistersE9ataUnitID

__ZN20AppleNVIDIAATADriver24getSATAPortPresentStatusEm

__ZN20AppleNVIDIAATADriver26computeUDMATimingRegistersE9ataUnitID

__ZNK21AppleNVIDIAATAChannel16getMaxDriveUnitsEv

kld_load_from_memory() failed for module com.apple.driver.AppleNVIDIAATA

\^[[33mFailed to load extension com.apple.driver.AppleNVIDIAATA.

\^[[0mCouldn't alloc class "AppleNVIDIAATARoot"

kld(): Undefined symbols:

__ZN20AppleNVIDIAATADriver10kMaxDrivesEv

__ZN20AppleNVIDIAATADriver17setSATAPortEnableERmb

__ZN20AppleNVIDIAATADriver20writeTimingRegistersEv

__ZN20AppleNVIDIAATADriver22computeTimingRegistersE9ataUnitID

__ZN20AppleNVIDIAATADriver24getSATAPortPresentStatusEm

__ZN20AppleNVIDIAATADriver26computeUDMATimingRegistersE9ataUnitID

__ZNK21AppleNVIDIAATAChannel16getMaxDriveUnitsEv

kld_load_from_memory() failed for module com.apple.driver.AppleNVIDIAATA

\^[[33mFailed to load extension com.apple.driver.AppleNVIDIAATA.

\^[[0mCouldn't alloc class "AppleNVIDIAATARoot"

Link to comment
Share on other sites

posted by raska in an other thread..

 

YAYAYAYAY!!!

 

All solved. Here is how I made it. I'm learning MACOS fast. LOL

 

First of all...My Hardware settings:

 

Motherboard Gigabyte GA-K8NF-9 nforce4 >>>> http://www.gigabyte.com.tw/Products/Mother...?ProductID=1860

Processor: AMD Athlon 64-3.5 Ghz.

RAM: 2 x 1 gig. Kingstom

Graphic Card: NVidia Geforce 7300 GT-512 RAM

HD 250 GB SATA - Seagate (4 partitions) as master in SATA port

HG 80 GB ATA - Seagate (3 partitions) as master in IDE port.

 

The first thing I made has been a bat file in windows using notepad to get all the details in the Device Manager. I called it details.bat and it looks this way

 

---------------

@echo OFF

set DEVMGR_SHOW_DETAILS=1 >NUL

start devmgmt.msc >NUL

exit

-------------

 

Then double click on it and I just got my Device Manager in Windows to see all... I selected the SATA thing and then the tab Details that I didn't get before of the execution of the *.bat file smile.gif

 

There I can see that the vendor ID is "10DE" and the Device ID is "0054": I noted all down and restart in MAC.

 

Edited to show a pic that someone requested, on how to extract the 2 ID.... Sorry for the language in pic, but my native one is Spanish smile.gif

 

Reduced: 84% of original size [ 760 x 434 ]- Click to view full image

 

 

Now the MAC part begin:

 

-----------

 

1 - Load Terminal

2 - cd /System/Library/Extensions/

3 - sudo nano /AppleVIAATA.kext/contents/info.plist

4 - In Via Sata controller I added the vendor and device ID of my computer to the entry "IOPCIPrimaryMatch".

As my vendor ID is 10DE and the PCI device is 0054, I added the following: 0x005410DE -

^O and ^X to save and quit. It looks now this way (Red is added):

 

---------------------------------------------------------------------

<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>0x005410DE 0x528810B9 0x31491106 0x00e310de 0x00ee10de</string>

<key>IOProbeScore</key>

<string>1000</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

<key>Serial ATA</key>

<true/>

</dict>

----------------------------------------------------------------------

 

5 - sudo nano /AppleAHCIPort.kext/contents/info.plist

6 - In GenericAHCI controller I changed the vendor and device ID of my computer to the entry "IOPCIClassMatch".

As my vendor ID is 10DE and the PCI devide is 0054, I added the following: 0x005410DE -

^O and ^X to save and quit. It looks now this way (Red is changed):

 

----------------------------------------------------------------------

<key>GenericAHCI</key>

<dict>

<key>CFBundeIdentifier</key>

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

<key>IOClass</key>

<string>AppleAHCI</string>

<key>IOPCIClassMatch</key>

<string>0x005410DE</string>

<key>IOProbeScore</key>

<integer>800</integer>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

<key>Vendor Name</key>

<string>Generic AHCI</string>

</dict>

 

----------------------------------------------------------------------

 

7 - Then I set permissions:

 

sudo chown -R root:wheel AppleVIAATA.kext

sudo chmod -R 755 AppleVIAATA.kext

sudo chown -R root:wheel AppleAHCIPort.kext

sudo chmod -R 755 AppleAHCIPort.kext

 

cd /System/Library/

sudo rm -rf Extensions.kextcache

sudo rm -rf Extensions.mkext

 

8 - Reboot...

 

9 - Tension ... What will happens ?... white letters scrolling .... blue screen .... more tension ..... Finder appears!! ... 2 seconds more...

 

10 - VOILA!!!! ALL WORKS!!! I have my 7 partitons now in my desktop!!! and all working like a charm.... I can read either the 2 NTFS partitions I have.

This remember me my Commodore Amiga times. hehe

 

I hope this can be a help for all people having the same or similar problem...

 

Ciao for now!!! and thanks to all what made possible that I learned so fast the way to get all working in no time beeing a total noob in MAC world. I just read a bunch of posts here and i dont know right now which ones point me in the correct direction. So, THANKS TO ALL WHAT WRITE SOME INFO HERE!!!!!! You are all wonderful!!!

 

Cheers and Happy Year 2007!!!

Link to comment
Share on other sites

Didn't work that well on my machine. When trying to boot I get:

 

Waiting for boot volume with UUID 67EF3022-3580-3722-BB72-E3FB0079860C

Waiting on <dict UD="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>

kld(): Undefined symbols:

__ZN20AppleNVIDIAATADriver10kMaxDrivesEv

__ZN20AppleNVIDIAATADriver17setSATAPortEnableERmb

__ZN20AppleNVIDIAATADriver20writeTimingRegistersEv

__ZN20AppleNVIDIAATADriver22computeTimingRegistersE9ataUnitID

__ZN20AppleNVIDIAATADriver24getSATAPortPresentStatusEm

__ZN20AppleNVIDIAATADriver26computeUDMATimingRegistersE9ataUnitID

__ZNK21AppleNVIDIAATAChannel16getMaxDriveUnitsEv

kld_load_from_memory() failed for module com.apple.driver.AppleNVIDAATA

Failed to load extension com.apple.driver.AppleNVIDIAATA

Couldn't alloc class "AppleNVIDIAATARoot"

 

I get this with PATA drive alone too. With SATA and PATA I get the same errors afte each other.

 

 

subramanyam: What raska posted sure makes your SATA drive show up, but reading and writing from/to it dosen't work. If it was that easy to solve the problem, bikedude didn't have to spend his time on his releases.

Edited by iMäcen
Link to comment
Share on other sites

Same here,

 

Failed to load extension com.apple.driver.AppleNVIDIAATA. ...

and freezes with "waiting for root device"

:-(

 

Also tried the solution from Rasca. Works but systems freezes occasionally.

:-(

 

Cheers

 

 

 

Asus A8N SLI

AMD 64 Winchester (SSE2)

Link to comment
Share on other sites

Guest bikedude880

Right, so there are some things that still need to be fixed. I've removed the link to the beta as so far the same error has come up for a couple people, so I guess I'll work on that.

Link to comment
Share on other sites

What raska posted sure makes your SATA drive show up, but reading and writing from/to it dosen't work. If it was that easy to solve the problem, bikedude didn't have to spend his time on his releases.

 

As I said in my previous post I am a total noob on MAC, No more than 4 days playing with MACOS. I read a lot in all forums around and I just made that solution that works fine for me.

I can read/write from Mac to XP and vice-versa. I have no idea why you can't. Of course I can't write to partitions NTFS. I only have one and I can read it only.

As far as I have understood reading around. Mac can't write in NTFS partitions. Maybe you have all your XP drives NTFS formated?

 

I have a bunch of programs installed. Tested all of them and all works fine. Never had any freeze and I tested Quick Time playing 8 movies at time without jumps.

I am really happy with my new MAC. LOL

 

I only have had an issue one time that I put the time to the year 2002, then after to reboot, MAC was not able to see the SATA drive... I run the Disk Utility an after a couple minutes (a lot) it coould see all the drives but the sata ones was Unmounted (ghost). I reboot in Windows, set the clock to the actual year, back to MAC and all working fine again. I have no f***g idea what the time has to see with the ghosting unmounted drives, but well... sure someone knows why!!!

 

Cheers!!!

Link to comment
Share on other sites

Error:

 

kextload: extension IOATAFamily.kext/Contents/PlugIns/AppleNVIDIAATA.kext appears to be valid

kld(): Undefined symbols:

__ZN20AppleNVIDIAATADriver17setSATAPortEnableERmb

__ZN20AppleNVIDIAATADriver20writeTimingRegistersE9ataUnitID

__ZN20AppleNVIDIAATADriver22computeTimingRegistersE9ataUnitID

__ZN20AppleNVIDIAATADriver24getSATAPortPresentStatusEm

__ZN20AppleNVIDIAATADriver26computeUDMATimingRegistersE9ataUnitID

__ZNK21AppleNVIDIAATAChannel16getMaxDriveUnitsEv

kextload: kld_load_from_memory() failed for module /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/AppleNVIDIAATA.kext/Contents/MacOS/AppleNVIDIAATA

kextload: a link/load error occured for kernel extension IOATAFamily.kext/Contents/PlugIns/AppleNVIDIAATA.kext

load failed for extension IOATAFamily.kext/Contents/PlugIns/AppleNVIDIAATA.kext

Link to comment
Share on other sites

 Share

×
×
  • Create New...