Jump to content
102 posts in this topic

Recommended Posts

Starters

 

Other instructions for installing can be found here - http://wiki.osx86project.org/wiki/index.ph...ATA_hard_drives

 

 

First of all, you need the AppleVIAATA.kext. In the info.plist, under IOPCIPrimary Match" you need to add in your Driver ID. Like this:

 

			<key>Serial ATA</key>
		<false/>
	</dict>
	<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>0x31491106 [b]DEVICE ID's HERE[/b]</string>
		<key>IOProbeScore</key>
		<string>1000</string>
		<key>IOProviderClass</key>
		<string>IOPCIDevice</string>
		<key>Serial ATA</key>
		<true/>
	</dict>

 

Find your Device ID

 

Right Click my computer > Properties > Hardware Tab > Device Manager >> Expand device you want > Right Click, Properties > Details

 

PCI\VEN_10DE&DEV_0054 - 0x + DevID + VenID

 

nForce3 ID's:

1st Channel – 0x00e310de

2nd Channel – 0x00e510de

 

nForce4 ID’s:

1st Channel - 0x005410de

2nd Channel - 0x005510de

 

Installing onto the system

 

Add this to the IOATAFamily.kext under PlugIns. Then correct the permissions of the file like bellow:

 

chmod - R 755 *file*
chown -R root:wheel *file*

 

After this you can go to Disk Utility to correct any permissions (Just incase something went slightly wrong)

Also, if this does not work. You could try then using only one ID, the one being used for SATA. Because this could be causing a confliction. Having only 0x005410de worked for me briefly, I had deleted the kextcache and mkext. But after a reboot it wouldn’t work, and it also didn’t work in vmware any longer.

 

Could also be an idea to delete the original ID that was there maybe?

 

<string>0x31491106 0x005410de</string>
<string>0x005410de</string>

 

Adding to DVD

 

To create an mkext go to the Terminal and type the following:

 

kextcache -m extensions.mkext *path to folder*

 

Then just correct the permissions again. Then drag and drop your kext file to the drive that Windows is on. Alternatively, if you dont have vmware accessing the entire drive. You can use the tools from this site to mount the vmdk file:

 

http://petruska.stardock.net/software/VMware/

 

Then once the kext is on your Windows drive, use TransMac to transfer the file to your DVD.

 

 

Error’s – Quite a few

 

IOATA Blocking Bus

 

IOATA Blocking Bus is caused because the IOATAController has already used a kext to borrow the ATA bus. So AppleVIAATA cannot access the ATA bus.

 

A few possible kexts that could be borrowing the ATA bus:

 

AppleIntelPIIXATA.kext

AppleStorageDriver.kext

IOBlockStorageDriver.kext

IOBlockStorageDevice.kext

 

I’m quite sure that the kext that borrows the ATA bus is the one that is loading the CD Drive though. Because during the time I have been trying to get nForce to work, i noticed a difference between DVD’s.

 

When loading the JaS 10.4.6 DVD I didn’t see a IOATA Blocking Bus. But when I tried the Myzar 10.4.5 disk with AppleVIAATA injected, I saw the error's appearing.

 

CD seen only - No error

CD and HD seen - Error

 

When I booted the DVD under System Profilier I noticed that my CD Drive was reading as the ATA drive under disk0.

 

Looking through my BIOS under IDE Function Setup, I found a list of options, all Enabled.

 

Onchip IDE Channel 0
Onchip IDE Channel 1
IDE DMA Transfer Access
SATA Port 1, 2
SATA DMA Transfer
SATA Port 3, 4
SATA2 DMA Transfer
IDE Prefetch Mode

 

Turning off the IDE Channel 0 to stop my DVD, might work? I can tell it to boot off it, but not really use it. Doubt that would work though. Also, the IDE Prefetch Mode might cause some problems maybe? There has also been a mentioning of turning of 2nd IDE Channel, can’t remember why.

 

Why do i always get the ATA device blocking bus error?

 

Its most likely that you have NFORCE motherboard chipset and the driver doesn know by itself, which NVIDIA (10de) device to use, so it tries to use ATA bus. The solution is to put your gfx card device id in NVidiaHAL.kext.

 

This is on the MacVidia FAQ.

 

Blue Screen with or without mouse

 

I think this error is caused by Rosetta which is commented on the wiki, or the lack of SSE3/a confusion, like here: http://forum.osx86project.org/index.php?showtopic=16139

 

I do not know how to fix the SSE3 though, otherwise I would have myself.

 

Corruption of Drives

 

There has been some talk of corruption on drives, although I have not experienced any (NTFS for XP partiton), all corruption problems stay within the Mac partition.

 

But some people have had problems with corruption on FAT32 disks. The FAT32 table I think, was corrupted.

 

My first SATA hdd with 1 FAT32(C:), 1 BSD(FreeBSD) and 2 ext3(Linux) partitions dont mount after boot, my second SATA hdd with 1 NTFS part. mount. I try manual mount first part.(FAT32) from first SATA hdd - ok mounted, but OSX after this freez. After reboot, OSX begun check my FAT32 part. and hang, and after second reboot to WinXP my FAT32 part destroed, my data lost, etc.

 

 

Could be a Physical Problem?

 

http://forum.osx86project.org/index.php?showtopic=14042

http://forum.osx86project.org/index.php?s=&showtopic=15772

 

Removing the kext

 

Open Terminal and type:

sudo rm -rf /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/AppleVIAATA.kext

 

or if you had installed directly on the Extensions folder:

sudo rm -rf /System/Library/Extensions/AppleVIAATA.kext

 

Other information

 

Nvidia Graphics cards - http://macvidia.starchaser.org/

ForceDeath – nForce LAN - http://forum.osx86project.org/index.php?showtopic=12933

AC97 Codec fix might get sound card working on nForce?

 

Some are having luck with the 10.4.6 disk on Bay of Pirates which has the AppleVIAATA.kext already on the DVD. Also, try the Myzar DVD’s work I think, but I haven’t tried, because there is so many patches.

 

 

P.S. If you dont like my efforts, at least I'm trying.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/
Share on other sites

Just updated my nForce driver, and now I have a "Safely Remove" for my SATA Hard Drive :S Does anybody else have it?

 

I'm going to try and install on SATA again with this new update, and then afterwards I will try the nForce AMD/Intel x16 update. See if it makes any difference at all, doubt alot though.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112042
Share on other sites

Thanks XellDusk. I will try and start testing mac again, unfortunatly I just haven't the will to stand there and see the same message for about the 1000th time, right now.

 

I wrote this post to try and get others to test and report back more information so that, slow though it might be, we can make progress.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112565
Share on other sites

I got a Geforce 6100 with a Nforce 430 SATA motherboard with device id 0x026610de, I put in the AppleVIAATA inflo.plist and I repair permissions and do a kextload, and I got all the Volumes mount it, but after restart I got the IOATABlocking bus error, remove every other drive and I still got the same error, please help.

 

 

Thanks

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112682
Share on other sites

You removed every other drive? You mean removed the driver kexts or in the BIOS you disabled the CDROM and anything else?

 

Edit: A thought, could this Bus Blocking error be caused because the nForce chipset uses a single chip whereas the VIA chipset uses Northbridge and Southbridge?

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112706
Share on other sites

Yeah, Cool. both are single chip solutions so that could rule that one out, as stated before one has support for 2 channels supporting 4 Drives and the other only has 1 supporting 2 Drives, but we all knew that anyway... and when i disable 1 Channel on mine still get freezes in OS X

 

Ignore me anyway, i just hope someone with a bigger brain than mine can sort this one out. lol

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112799
Share on other sites

You removed every other drive? You mean removed the driver kexts or in the BIOS you disabled the CDROM and anything else?

 

Edit: A thought, could this Bus Blocking error be caused because the nForce chipset uses a single chip whereas the VIA chipset uses Northbridge and Southbridge?

 

 

I disable in the Bios, I need to remove the kext? if so wich ones?

 

Thanks

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112878
Share on other sites

I took a bit of time today to look at sata_nv and AppleVIAATA in order to figure out what's going on. I also recompiled my own version of AppleVIAATA with debugging messages. Unfortunately, the messages come a little too fast and overloads the IOLog buffer so that won't be useful until I write a custom logging routine.

 

I'm nowhere close to any solutions, but I've come up with a few observations:

 

Virtually all SATA functionality is industry standard. sata_nv barely contains any code: most of it is initialization code (and hotplugging code that we're not going to use) and everything else is handled by the standard libata code that is common to everyone. The other function in the code is an interrupt handler, but the code for that is virtually identical to the Linux VIA driver, and it IS identical for nForce4 (readl is used instead of inl for nForce2 and nForce3).

 

Most of the code in AppleVIAATA is used to handle PIO, DMA, UDMA modes that might actually not be used for SATA. At least, the timing registers are not written if it's a SATA drive. I don't know enough about ATA to say for certain right now.

 

The register offsets for the SATA secondary channel in AppleVIAATA may be wrong. Not sure yet, since the driver format for Linux and OS X are as different as night and day, but this may be the cause of the problems.

 

So my question is: those people who are having trouble with nForce SATA (mine actually works fine), what version of nForce do you have and do you have any hard drives on the SATA secondary channel?

 

Anyway, I'll continue my investigation tomorrow.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112899
Share on other sites

The register offsets for the SATA secondary channel in AppleVIAATA may be wrong. Not sure yet, since the driver format for Linux and OS X are as different as night and day, but this may be the cause of the problems.

 

So my question is: those people who are having trouble with nForce SATA (mine actually works fine), what version of nForce do you have and do you have any hard drives on the SATA secondary channel?

 

Anyway, I'll continue my investigation tomorrow.

I've been mucking round with SATA for a few weeks before biting the bullet and picking up a PATA drive as I mentioned in the other thread, so I'll detail my experiences.

I have an A8N-SLI from ASUS, and a Hitachi Deskstar T7K250 SATA 3.0gb/s drive. This has 4 SATA-II ports controlled by NVIDIA's CK804 MCP SATA controller (The premium adds another 4 controlled by a separate chip, I'm no sure of the vendor).

 

Attempting to install Myzar 10.4.5, I created a HFS+ volume from an NTFS volume using Erase in Disk Utility. This volume would only verify correctly about 50% of the time, reporting a variety of errors, most commonly volume bitmap errors. On the occasions it did, the install failed a variable distance in again with a variety of I/O errors in the log. Installing through VMWare succeeded (I believe due to VMWare using the Windows chipset drivers and emulating a standard IDE drive for the virtual machine) but upon reboot was barely able to get to the desktop before I/O errors rendered the system unstable enough to crash.

 

I tried a friends Seagate SATA 1.5gb/s drive and found the same symptoms. I ended up buying a PATA Deskstar 7K160 for Mac OS, and the install was fine. My NTFS volumes on the SATA drive mounted R/O, so I tried a couple of videos off my media partition for fun, and got read errors after a few seconds of video, surprisingly, I expected the issues to be limited to write errors.

 

Your comment about the possible register offset errors in AppleVIAATA is interesting, as the comments in sata_nv.c note that the driver is essentially a standard SATA spec with some custom NVIDIA offsets.

 

Hope that's helpful, and good luck with your hacking, sounds like you're on the right track anyway.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-112942
Share on other sites

So my question is: those people who are having trouble with nForce SATA (mine actually works fine), what version of nForce do you have and do you have any hard drives on the SATA secondary channel?

 

I do have an DFI Ultra-D nForce4 board with Samsung (2x160GB + 1x250GB) HD's on both primary and 2nd channels. Do have problems like all the others.

Great luck trying to fix it! Thanks

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-113137
Share on other sites

A bit more of an update:

 

I dug around in the libata code, which is the general Linux ATA support, and I found what configureTFPointers (a mandatory overload for OS X ATA drivers) needs. Basically, it looks like sata_nv uses the standard taskfile pointers. The base address for the primary and secondary ports are all standard, and incidentally, the base addresses match what is used for AppleVIAATA. So that's probably why most everything works.

 

For people who are interested, the stuff I'm talking about can be found in libata-core.c in the functions ata_pci_init_native_mode and ata_std_ports. So to satisfy Apple, we're basically going to be reading off of libata-core.c instead of sata_nv.c. Which is odd.

 

My suspicion is that basically your standard SATA driver would've worked, which is why AppleVIAATA worked. So the question remains: why didn't it work for some people? What part failed?

 

Given that mostly standard code is used in sata_nv, we should probably start writing a driver from scratch instead of out of AppleVIAATA, to avoid accidentally inserting some non-standard source problems. Further research needs to be done to figure out where exactly sata_nv differs from standard code.

 

This is all giventhat we can trust sata_nv.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-113352
Share on other sites

Earlier a good point was made myzar about the differences between nForce 3 & 4.

Depends what version.. SLI.. Ultra.. Vanilla.. IGP.. but 'overall' differences are:

 

PCIExpress

SLI

GigE Lan

Improved 'Active Armour' firewall.

7.1 Audio

SataII

Raid Morphing

Can some of you please post, your chipset and motherboard, your hard drive and if its SATAII. And of course, if its working for you or not :D Thanks

 

Passing note - I hate work ;)

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-113727
Share on other sites

There has been a new SI BIOS out for about 3 or 4 months now, but ASUS hasn't seen fit to include it in any new BIOS releases of theirs.
Maybe its just certain people's BIOS are not new enough? My mobo is an ASUS, and I know the BIOS isn't very good....according to this the Silicon Image Controller just wont work because the BIOS doesn't support it. So anybody who its working for, also tell me if your HD drive is in the Silicon Image Controller.

 

Thanks guys :D

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-115011
Share on other sites

So my question is: those people who are having trouble with nForce SATA (mine actually works fine), what version of nForce do you have and do you have any hard drives on the SATA secondary channel?

A8N-E: nForce 4

OSX: 10.4.3

 

Only one hard drive in primary channel.

 

Result: random freezes.

 

 

I guess we all should fill in this simple report, so that we understand a bit more of this.

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-120584
Share on other sites

Information required:

 

Motherboard

Chipset

Hard Drive and Hard Drive Type (SATAI or SATAII)

BIOS

Is Hard Drive under the Silicion Image Controller on windows?

Different Hard Drives on different channels?

And of course if OSX works for you or not.

 

 

To anybody who cares, good luck. I've given up with OSX now, I can't write a driver I haven't the abilities nor resources to learn. And there is no information available about the nForce Drivers because they are all closed source, due to marketing. Hopefully progress will be made, but I've tried my best to input information into this, and nothing has come out of it. So I don't see why I should bother anymore, because nobody has a need for it obviously.

 

TheFighter

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-120632
Share on other sites

A bit more of an update:

 

I dug around in the libata code, which is the general Linux ATA support, and I found what configureTFPointers (a mandatory overload for OS X ATA drivers) needs. Basically, it looks like sata_nv uses the standard taskfile pointers. The base address for the primary and secondary ports are all standard, and incidentally, the base addresses match what is used for AppleVIAATA. So that's probably why most everything works.

 

For people who are interested, the stuff I'm talking about can be found in libata-core.c in the functions ata_pci_init_native_mode and ata_std_ports. So to satisfy Apple, we're basically going to be reading off of libata-core.c instead of sata_nv.c. Which is odd.

 

My suspicion is that basically your standard SATA driver would've worked, which is why AppleVIAATA worked. So the question remains: why didn't it work for some people? What part failed?

 

Given that mostly standard code is used in sata_nv, we should probably start writing a driver from scratch instead of out of AppleVIAATA, to avoid accidentally inserting some non-standard source problems. Further research needs to be done to figure out where exactly sata_nv differs from standard code.

 

This is all giventhat we can trust sata_nv.

 

That sounds great planetbeing, have you had a chance to get anywhere with a driver? AFAIK the sata_nv is 100%. I used Ubuntu 6.06 as my primary OS before getting Mac OS up and running, and had no issues with my Deskstar SATA as a boot drive and reading/writing multigigabyte media files off another partition.

 

@thefighter: Its a shame you haven't been getting anywhere, is there no way you can find a PATA drive for Mac OS? It's well worth the hundred or so for a big one, my 160gb 7200rpm was around $120 NZ.

 

I've given this a little more thought, and I'm starting to think that the standard VIAATA driver shouldn't be having any issues with the NVIDIA CK804 controller, considering that 99.9% of reads/writes in my case are successful, and it will only throw the odd seemingly random error. I'm leaning toward the hypothesis that there is some hardware flaw in the NVIDIA chipset (voltage spike, EMI susceptibility etc) that is occasionally throwing up errors, and the VIAATA driver lacks sufficient error detection capability. Maybe I'm full of it, but there are only so many ways to explain the problems people are seeing, especially given the NVIDIA IDE drivers for Windows are not essential to use SATA drives under that platform.

 

Thoughts?

Link to comment
https://www.insanelymac.com/forum/topic/17330-nforce-sata/#findComment-120672
Share on other sites

×
×
  • Create New...