Skitals Posted November 27, 2007 Share Posted November 27, 2007 I know this has been discussed before, but all discussion goes nowhere. It seems some people are able to use all four ports. I'm personally using a Gigabyte GA-P35-DS3L which has four yellow ICH9 SATA ports.With AHCI enabled, Ports 0 and 1 work fine, but nothing on ports 2 and 3. With AHCI, the two working ports are labeled "Generic AHCI" in system profiler, so therefore using AppheAHCIPort.kext for a driver. I was able to catch the dev id's for all my controllers during the boot sequence, and here's what I found: 0x29218086 is labeled "IDE Cntrlr" 0x29268086 is labeled "Native IDE Cntrlr" I did a good search for these, and found that they are officially labeled: 2921: 82801IB (ICH9) 2 port SATA IDE Controller 2926: 82801I (ICH9 Family) 2 port SATA IDE Controller So while I thought all four SATA ports were on a single ICH9 controller, it looks like there are two (different) 2 port controllers!With this knowledge, first thing I checked was ApplePIIXATA.kext. Sure enough, under "ICH9 2 Port Serial ATA", these are the two ID's that are listed?! So why does it only work w/ AHCI? And why only two of the four ports?I decided since the Generic AHCI driver is working for at least two of the ports, I would add both IDs to that kext. Neither one of my two controllers are under GenericAHCI. Instead, there is only one JMicron AHCI controller ID listed (which I don't have). I tried adding my two SATA controller IDs, but it didn't do anything. I imagine to get the second set of ports working, I'll need to ditch AHCI. The problem is it looks like it should work, given the sata controller are listed where they should be... but it doesn't. Does anyone have any insight? Thanks. Update: As per advice in another thread, I created a new "IHC9AHCI" key in AppleAHCIPort.kext. I used just my dev id's. The two working SATA ports are now labeled "Intel ICH9 AHCI", so it's definitely loading correctly for one of the two controller, but not the other Link to comment Share on other sites More sharing options...
Skitals Posted November 27, 2007 Author Share Posted November 27, 2007 Okay, I read one fix for the Asus P5K-SE (which has ich9 and identical ids for the sata controllers) is to use the AppleVIAATA driver by adding the ids and disabling AHCI. I got it to the point when I boot with -v, I see it loading the AppleVIAATA driver, but then I get the "still waiting for root device" error When I enable AHCI, it boots fine, but still using the Generic AHCI driver. Link to comment Share on other sites More sharing options...
podarok Posted November 27, 2007 Share Posted November 27, 2007 send to me please your ioreg pci dump Link to comment Share on other sites More sharing options...
Skitals Posted November 27, 2007 Author Share Posted November 27, 2007 Could you refresh my memory how to do the pci dump? Thanks!I think I figured it out.IOreg dump attached (GA-P35-DS3L) dump.txt Link to comment Share on other sites More sharing options...
rhalls Posted November 27, 2007 Share Posted November 27, 2007 Which OSX Distribution do you use? It depends on what you use and how you installed. Dont use a ICH7 or ICH8 patch with your installer. The XxX 10.4.10 Version works fine if you dont add additional ATA Patches. JaS 10.4.8 works. Others? Dont know. I tested one of those with ICH8 patches and the Board didnt recognize the IDE ports anymore. So check your installation, it should be the cause for our problems. I have 2 GA-P35-DS3P, all 8 S-ATAs and the two IDEs work very fine. Link to comment Share on other sites More sharing options...
Skitals Posted November 27, 2007 Author Share Posted November 27, 2007 rhalls, I'm using Leopard (BrazilMac patch). I have read of success using podarok's drivers in Leopard, but I experience the "still waiting for root device" error when I try using AppleVIAATA for sata. In tiger, which drivers are you using for sata for the DS3P? Does the DS3P have the same two controllers (2921 and 2926)? Link to comment Share on other sites More sharing options...
Skitals Posted November 27, 2007 Author Share Posted November 27, 2007 send to me please your ioreg pci dump This might be more what you are looking for (using -c IOPCIDevice this time). pci_dump.txt Link to comment Share on other sites More sharing options...
delish Posted November 27, 2007 Share Posted November 27, 2007 ICH9 has not official ACHI support, so its done with BIOS "hack" usually gives 2 ports ICH9R/DO has official ACHI support and all ports works. Link to comment Share on other sites More sharing options...
atka Posted November 28, 2007 Share Posted November 28, 2007 Yes you can get all the ports to work with the AppleVIAATA.kext. I found it on this forum but can't remember who posted it or where. I am even booting Leopard off of one of the ports that didn't work before, also none of my ports are using AHCI (cause of Asus) and are all working with IDE. Link to comment Share on other sites More sharing options...
Skitals Posted November 28, 2007 Author Share Posted November 28, 2007 Yes you can get all the ports to work with the AppleVIAATA.kext. I found it on this forum but can't remember who posted it or where. I am even booting Leopard off of one of the ports that didn't work before, also none of my ports are using AHCI (cause of Asus) and are all working with IDE. Unless there is something more to it I'm missing, that's what I tried. I get "still waiting for root device" when I disable AHCI when trying to use AppleVIAATA.kext. Link to comment Share on other sites More sharing options...
podarok Posted November 29, 2007 Share Posted November 29, 2007 Could you refresh my memory how to do the pci dump? Thanks!I think I figured it out.IOreg dump attached (GA-P35-DS3L) U have to get dump with a command ioreg -c IOPCIDevice > pci_dump.txt I just get pci id from Your dump for your IDE1 channel and make patch to my AppleVIAATA.kext Try it and post bugs please Link to comment Share on other sites More sharing options...
Skitals Posted November 29, 2007 Author Share Posted November 29, 2007 U have to get dump with a command ioreg -c IOPCIDevice > pci_dump.txtI just get pci id from Your dump for your IDE1 channel and make patch to my AppleVIAATA.kext Try it and post bugs please Thanks... trying now. pci_dump.txt Link to comment Share on other sites More sharing options...
Skitals Posted November 29, 2007 Author Share Posted November 29, 2007 Hmm, it's still not booting with AHCI disabled. And with AHCI, the Generic AHCI driver loads. Could there be another sata related driver causing the problem? I'm considering out cleaning out my Extensions folder with a clean one, and just modifying the kexts I need. What would you recommend I try? Link to comment Share on other sites More sharing options...
Skitals Posted November 29, 2007 Author Share Posted November 29, 2007 Okay, to verify it isn't other modified kexts interfering, I went to a bit of an extreme. I installed the efi patch, and deleted my entire extensions directory and boot cache. I installed all the original kexts from a retail Leopard DVD using Pacifist (install Extensions folder). After that, here are the only modifications I made: remove: AppleIntelCPUPowerManagement.kext replace: AppleSMBIOS.kext add: dsmos.kext Natit.kext And of course I replaced my kernel with the orignal unmodified "vanilla" kernel. After rebooting the make sure everything worked, I installed the 10.5.1 update from system update, and rebooted. Everything is still working perfect. I then installed your AppleVIAATA.kext driver, rebooted, turned off AHCI, and it didn't make a difference. "Still waiting for root device." With AHCI enabled, it uses the generic AHCI driver. So at least it seems I've ruled out other modified drivers interfering. Link to comment Share on other sites More sharing options...
podarok Posted November 30, 2007 Share Posted November 30, 2007 Can U get pci_dump with AHCI disabled? U can test new patched with a full list of ICH9 AHCI identifications (from Intel specs) Link to comment Share on other sites More sharing options...
Skitals Posted November 30, 2007 Author Share Posted November 30, 2007 I tried the new version, still "waiting for root device" when booting. Though I did catch the message on screen when the driver was loading. The boot screen stated: AppleVIAATADriver: VIA ICH9 29238086 (CMD 0xdd00, CTR 0xde00, IRQ 19, BM 0xe100) AppleVIAATADriver: VIA ICH9 29238086 (CMD 0xdf00, CTR 0xe00, IRQ 19, BM 0xe108) AppleVIAATADriver: VIA ICH9 29238086 (CMD 0xd600, CTR 0xd700, IRQ 19, BM 0xda00) There were no error messages or anything. It makes sense that there are three entries since I have 3 SATA drives connected. What confused me is why it was identified as "VIA ICH9 29238086" which is not one of my dev ids. I noticed why when I looked at the Info.plist in your driver, and all the entries are named these. I deleted all the ICH9 entries except for my two controllers (2921 and 2926) and named them accordingly so I can see they are BOTH being recognized and attempted to load. Sure enough with these changes, AppleVIAATADriver is listed 3 times at boot, twice for 2926, and one for 2921. This is exactly what I expected, because I have two drive conntected to the first controller, and one to the second. Yet I still get the dreaded waiting for root device error. Since it seems the driver is properly identifying my hardware, the problem must be somewhere else. Does the driver have other dependencies which may be missing by default from Leopard? Perhaps I should look into broader "Still waiting for root device" errors and their causes. I really appreciate your help and effort! Also, I have no way of doing the PCI dump w/o AHCI since I can't boot the system without it enabled. It wont even boot into single user mode w/o giving me "Still waiting for root device." Link to comment Share on other sites More sharing options...
Skitals Posted December 1, 2007 Author Share Posted December 1, 2007 Okay, I tried using the AppleVIAATA driver under Tiger... and it works! I still can't get it working in Leopard. Either it is not compatible in leopard, or one or more other drivers need to be modified. I tried using the IOATAFamily.kext from the working Tiger install, but it didn't work. I also tried the hacked version from ToH RC2. Both give me "Still waiting for root device" in Leopard. What other dependencies does AppleVIAATA have? Any suggestions what to try next? Link to comment Share on other sites More sharing options...
Skitals Posted December 1, 2007 Author Share Posted December 1, 2007 This keeps getting more interesting. Since I have all three of my drives working in Tiger now, I was able to do an ioreg pci dump (see attached). As you can see, the first drive (Maxtor 6L200M0) isn't even using AppleVIAATA, only the second two. That first drive is my boot drive, and connected to port 1. The other two are connected to the second controller on ports 2 and 3. The first drive is instead using AppleGenericPCATA which is located inside IOATAFamily. AppleGenericPCATA isn't even included in Leopard's IOATAFamily. I tried using the Tiger GenericPCATA in Leopard, but no dice. I just had two thoughts. First, I believe I have Sata ports 0+1 set to Native IDE mode in the bios, which would explain why it's using the ATA driver instead of SATA. I thought I had already tried with this setting both on and off, but I'm going to try again with the new changes I have made. The second thing I haven't tried is booting with my system drive hooked up to the second controller (port 3 or 4) since those drivers may very well be working correctly. I still wouldn't be able to boot since it's my system drive on the other controller. pci_dump_tiger.txt Link to comment Share on other sites More sharing options...
Skitals Posted December 1, 2007 Author Share Posted December 1, 2007 Well, it made no difference connecting my startup disk to the other controller, or switching between Native and Legacy IDE mode Link to comment Share on other sites More sharing options...
BondDotCom Posted December 1, 2007 Share Posted December 1, 2007 Keep up the good work Skitals. I'm following this thread closely. I have a Foxconn G33M02 board with ICH9 device ID's 2920 and 2926, each with 2 SATA ports and I'm learning a lot from this thread. I, too, have tried a number of modifications without success. I only have the option of IDE or RAID in my BIOS, though, and both would give me the "waiting for root" message when trying to install. ToH RC2 finally installed correctly for me, probably because it offers some sort of ICH9 support, but it did only give me 2 of 4 ports, like you (recognized 2920 but not 2926, if I remember correctly). Link to comment Share on other sites More sharing options...
Skitals Posted December 1, 2007 Author Share Posted December 1, 2007 Keep up the good work Skitals. I'm following this thread closely. I have a Foxconn G33M02 board with ICH9 device ID's 2920 and 2926, each with 2 SATA ports and I'm learning a lot from this thread. I, too, have tried a number of modifications without success. I only have the option of IDE or RAID in my BIOS, though, and both would give me the "waiting for root" message when trying to install. ToH RC2 finally installed correctly for me, probably because it offers some sort of ICH9 support, but it did only give me 2 of 4 ports, like you (recognized 2920 but not 2926, if I remember correctly). Quite frankly, I'm very surprised how quickly others have accepted defeat when it comes to two out of four sata ports not working It was never an issue for me before because I only had one SATA drive. Now that I have three, it wasn't that hard to get everything working in Tiger... Leopard is a whole different animal (pun intended). I feel like I am SOOO close. There are so many people with only 2 out of 4 sata ports this could benefit! Link to comment Share on other sites More sharing options...
BondDotCom Posted December 1, 2007 Share Posted December 1, 2007 Same boat. I have an XP drive, a Leo drive, a SATA DVD-RW, and I would like to add another hard drive for Time Machine, so I could really use all 4 ports. Hopefully we'll get to the bottom of this. Link to comment Share on other sites More sharing options...
Skitals Posted December 2, 2007 Author Share Posted December 2, 2007 Where did podarok go?! We need his insight. Link to comment Share on other sites More sharing options...
Skitals Posted December 3, 2007 Author Share Posted December 3, 2007 *sigh* I'm beginning to lose hope getting this to work in Leopard. Link to comment Share on other sites More sharing options...
associate Posted December 4, 2007 Share Posted December 4, 2007 I'm curious about this as well - as I'm currently building a system around the GA-P35-DS3 board and would want the four ports running.. Link to comment Share on other sites More sharing options...
Recommended Posts