Jump to content

ALi/ULi ATA Controller (PATA/SATA)


~Eureka
 Share

32 posts in this topic

Recommended Posts

Hi guys,

 

Here is the AppleALiATA-6 I have revised. It is based on AppleVIAATA-6 source code. It supports ALi/ULi pata/sata chipsets. I have tested it on the ASUS K8U-X motherboard. Drives are UDMA enabled and fully working on PATA Controller (M5229). I have tested the SATA Controller (M1689/M1567) and it works, too.

 

In addition, AppleVIAATA and AppleOnboardPCATA should be removed or at least ALi/ULi ID inside of it to avoid conflicts. If you have ALi/ULi motherboard, you can give it a try.

 

Chun-Nan

 

P.S. I have not tested this driver under Tiger, but it should work.

 

    | |   |   | +-o AppleALiATADriver  
   | |   |   |   | {
   | |   |   |   |   "IOProviderClass" = "AppleALiATAChannel"
   | |   |   |   |   "IOProbeScore" = 0x0
[b]    | |   |   |   |   "Drive 1 Ultra DMA Mode" = 0x6
[/b]    | |   |   |   |   "Drive 0 PIO Mode" = 0x4
   | |   |   |   |   "CFBundleIdentifier" = "com.apple.driver.AppleALiATA"
[b]    | |   |   |   |   "Drive 0 Ultra DMA Mode" = 0x5
[/b]    | |   |   |   |   "Physical Interconnect" = "ATA"
   | |   |   |   |   "IOMatchCategory" = "IODefaultMatchCategory"
   | |   |   |   |   "IOPowerManagement" = {"ChildrenPowerState"=0x2,"CurrentPowerState"=0x2}
   | |   |   |   |   "IOClass" = "AppleALiATADriver"
   | |   |   |   |   "Drive 1 PIO Mode" = 0x4
   | |   |   |   | }
   | |   |   |   | 

==========

Source code: AppleALiATA_6.zip

==========

Update: 10/15/2008

1. Complied under Tiger and it should work both with Tiger and Leopard.

2. Replaced "createChannelCommands" with codes from AppleIntelPIIXPATA.

 

AppleALiATA_6.zip

Link to comment
Share on other sites

Hi guys,

 

Here is the AppleALiATA-6 I have revised. It is based on AppleVIAATA-6 source code. It supports ALi/ULi pata/sata chipsets. I have tested it on the ASUS K8U-X motherboard. Drives are UDMA enabled and fully working on PATA Controller. (However, I don't have SATA devices right now so I cannot test the SATA Controller.)

 

    | |   |   | +-o AppleALiATADriver  
   | |   |   |   | {
   | |   |   |   |   "IOProviderClass" = "AppleALiATAChannel"
   | |   |   |   |   "IOProbeScore" = 0x0
[b]    | |   |   |   |   "Drive 1 Ultra DMA Mode" = 0x6
[/b]    | |   |   |   |   "Drive 0 PIO Mode" = 0x4
   | |   |   |   |   "CFBundleIdentifier" = "com.apple.driver.AppleALiATA"
[b]    | |   |   |   |   "Drive 0 Ultra DMA Mode" = 0x5
[/b]    | |   |   |   |   "Physical Interconnect" = "ATA"
   | |   |   |   |   "IOMatchCategory" = "IODefaultMatchCategory"
   | |   |   |   |   "IOPowerManagement" = {"ChildrenPowerState"=0x2,"CurrentPowerState"=0x2}
   | |   |   |   |   "IOClass" = "AppleALiATADriver"
   | |   |   |   |   "Drive 1 PIO Mode" = 0x4
   | |   |   |   | }
   | |   |   |   | 

 

In addition, AppleVIAATA should be removed or at least ALi/ULi ID inside of it to avoid conflicts. If you have ALi/ULi motherboard, you can give it a try.

 

Chun-Nan

 

P.S. I have not tested this driver under Tiger, but it should work.

 

==========

 

 

Hi Chun-Nan,

Thanks for working on Ali/Uli Driver, this has been big problem for many of us with notebooks that have the Ali m5229 Bus master controller ( 0x522910b9 ).

I have tried your kext but still get the 'waiting for root device' error on boot.

I can test anything you need if you are interested. I've attached ioreg, and dmesg. I am using Tiger 10.4.11, also, this laptop is ATA only, no SATA, I don't know if this makes a difference. I have also removed AppleVIAATA.kext and deleted mkext.

I already use your IOPCIFamily.kext and it works great.

Thanks again,

rj

ioreg_rjstrat_laptop.txt

dmesg_rjstrat_laptop.txt

Link to comment
Share on other sites

Hi Chun-Nan,

Thanks for working on Ali/Uli Driver, this has been big problem for many of us with notebooks that have the Ali m5229 Bus master controller ( 0x522910b9 ).

I have tried your kext but still get the 'waiting for root device' error on boot.

I can test anything you need if you are interested. I've attached ioreg, and dmesg. I am using Tiger 10.4.11, also, this laptop is ATA only, no SATA, I don't know if this makes a difference. I have also removed AppleVIAATA.kext and deleted mkext.

I already use your IOPCIFamily.kext and it works great.

Thanks again,

rj

 

Hi rjstrat,

 

If possible, can you post the picture of "waiting for root device" while using AppleALiATA under single user mode? I would like to know if there are other error messages shown. Thanks.

 

Chun-Nan

Link to comment
Share on other sites

Hi rjstrat,

 

If possible, can you post the picture of "waiting for root device" while using AppleALiATA under single user mode? I would like to know if there are other error messages shown. Thanks.

 

Chun-Nan

 

 

Hi Chun-Nan,

I am away from my hack right now so I will post pics later.

It detects Ali M5229 chip but says 'unable to find root device', go's thru pccard detection/setup, gets to firewire detection, and hangs with error 'still waiting for root device'. It appears that when Ali M5229 chip is detected, the hard drive freezes ( light stuck on ). There are no other error messages displayed and I don't see any info from hard drive set up other than initial detection. This is an IGP ( shared graphics memory )notebook, do you think this could be issue?

 

I will post more info later, Thanks again,

 

rj

Link to comment
Share on other sites

Hi Chun-Nan,

I am away from my hack right now so I will post pics later.

It detects Ali M5229 chip but says 'unable to find root device', go's thru pccard detection/setup, gets to firewire detection, and hangs with error 'still waiting for root device'. It appears that when Ali M5229 chip is detected, the hard drive freezes ( light stuck on ). There are no other error messages displayed and I don't see any info from hard drive set up other than initial detection. This is an IGP ( shared graphics memory )notebook, do you think this could be issue?

 

I will post more info later, Thanks again,

 

rj

 

Hi rjstrat,

 

Are there any error messages related to IOATAController or something like that?

 

Chun-Nan

Link to comment
Share on other sites

Hi rjstrat,

 

Are there any error messages related to IOATAController or something like that?

 

Chun-Nan

 

Hi Chun-Nan,

There are no errors displayed, until I use power button to shut down, it flashes something like 'IOATAController device blocking bus'.

 

rj

Link to comment
Share on other sites

Hi rjstrat,

 

You can try this one to see if it works. Let me know the result. Thanks.

 

Chun-Nan

 

 

Hi Chun-Nan,

Thanks for helping me with this. With new .kext I still get boot hang right after firewire set up with 'still waiting for root device' error, and when I hold power button to shut down, it say's 'IOATADevice blocking bus'. I took a picture of screen, don't know if it will help much.

Is there any info I can give that would be more helpful?

Thanks again,

rj

post-122872-1220982382_thumb.jpg

Link to comment
Share on other sites

Hi i installed your AliUli.kext and it worked the moment i install it, after that i removed

the appleviiata.kext as sugessted and restart and now i boot hang whats up?

 

I am using kalyway 10.5.2 on a Gigabyte GA-K8U/Uli M1689, dualboot

Ide0 Seagate with chain0 XP

Westerndigital Backup

Ide1 Liteon DVD Burner

Seagate Barracuda(OSX)disk for mac only

Sata Maxtor drive

 

I have tried the safe boot -x and -v,-F and nothing

I was very excited because i could access the maxtor sata drive and then i cant boot.

How can i return where i was or fix this?

 

Thanks.

Link to comment
Share on other sites

Hi i installed your AliUli.kext and it worked the moment i install it, after that i removed

the appleviiata.kext as sugessted and restart and now i boot hang whats up?

 

I am using kalyway 10.5.2 on a Gigabyte GA-K8U/Uli M1689, dualboot

Ide0 Seagate with chain0 XP

Westerndigital Backup

Ide1 Liteon DVD Burner

Seagate Barracuda(OSX)disk for mac only

Sata Maxtor drive

 

I have tried the safe boot -x and -v,-F and nothing

I was very excited because i could access the maxtor sata drive and then i cant boot.

How can i return where i was or fix this?

 

Thanks.

 

Hi bellaco,

 

Sorry that it caused your system hang. You can boot with kalyway DVD and go to the terminal to copy appleviiata.kext back to your OSX Disk. (appleviiata should be located in /System/Library/Extensions) It should fix the problem.

 

In order to help me find the problem, can you boot with -f -s and let me know what error messages it showed or take a picture if possibl? Thanks.

 

Chun-Nan

Link to comment
Share on other sites

Hi bellaco,

 

Sorry that it caused your system hang. You can boot with kalyway DVD and go to the terminal to copy appleviiata.kext back to your OSX Disk. (appleviiata should be located in /System/Library/Extensions) It should fix the problem.

 

In order to help me find the problem, can you boot with -f -s and let me know what error messages it showed or take a picture if possibl? Thanks.

 

Chun-Nan

 

Hi Chun-Nan,

I also tried -f -s boot and got same result, boot freeze at same spot, no difference from photo I posted. When I power off it still flashes 'IOATADevice blocking bus'.

I am willing to help any way I can. Is there any other way to debug driver?

Thanks,

rj

Link to comment
Share on other sites

Hi Chun-Nan,

I also tried -f -s boot and got same result, boot freeze at same spot, no difference from photo I posted. When I power off it still flashes 'IOATADevice blocking bus'.

I am willing to help any way I can. Is there any other way to debug driver?

Thanks,

rj

 

Hi rjstrat,

 

Please try this one to see if it works. I have revised it and also turned on the debug info function.

 

I will suggest you leave AppleGenericPCATA in the extension folder. You can boot with "aliata=0" to prevent AppleALiATA from loading so that if AppleALiATA doesn't work, you can still use AppleGenericPCATA.

 

Let me know the result. If possibe, post the pictures under single user mode. Thanks.

 

Chun-Nan

 

AppleALiATA.rjstrat.zip

Link to comment
Share on other sites

Hi rjstrat,

 

Please try this one to see if it works. I have revised it and also turned on the debug info function.

 

I will suggest you leave AppleGenericPCATA in the extension folder. You can boot with "aliata=0" to prevent AppleALiATA from loading so that if AppleALiATA doesn't work, you can still use AppleGenericPCATA.

 

Let me know the result. If possibe, post the pictures under single user mode. Thanks.

 

Chun-Nan

 

AppleALiATA.rjstrat.zip

Hi Chun_Nan,

Still get 'root device' error, but hopefully you can get useful info from debug.

What I have noticed is that as soon as the m5229 chip is detected the drive light stays lit but with no drive activity, hard drive frozen, with no recovery, that's why can't boot -f -s or -x. Maybe once the ATA controller is detected/set up, there needs to be some kind of break command, or fresh drive scan. I really don't know, as it is well beyond my capability to interpret code. I hope there's something you can do. I'm ready to test anything you have.

Thanks again,

rj

post-122872-1221182084_thumb.jpg

post-122872-1221182103_thumb.jpg

Link to comment
Share on other sites

Hi Chun_Nan,

Still get 'root device' error, but hopefully you can get useful info from debug.

What I have noticed is that as soon as the m5229 chip is detected the drive light stays lit but with no drive activity, hard drive frozen, with no recovery, that's why can't boot -f -s or -x. Maybe once the ATA controller is detected/set up, there needs to be some kind of break command, or fresh drive scan. I really don't know, as it is well beyond my capability to interpret code. I hope there's something you can do. I'm ready to test anything you have.

Thanks again,

rj

 

Hi rjstrat,

 

Sorry for the late reply. I checked your ioreg again. It showed that you have "pci10b9,1533" (ISA bridge) on your notebook. I think maybe that is the reason. However, the desktop I use doesn't have that device. I will check linux/freebsd source code to see if I can figure out anything.

 

If possible, I would like you to try this AppleATAPort kext to see if it works on your notebook. (However, it only supports up to UDMA2.) You can leave AppleGenericPCATA in the extension folder, without AppleALiATA. You can boot with "ataport=0" to prevent AppleATAPort from loading in case that it doesn't work, you can still use AppleGenericPCATA.

 

Let me know the result. Thanks.

 

Chun-Nan

 

AppleATAPort.kext.zip

Link to comment
Share on other sites

Hi rjstrat,

 

Sorry for the late reply. I checked your ioreg again. It showed that you have "pci10b9,1533" (ISA bridge) on your notebook. I think maybe that is the reason. However, the desktop I use doesn't have that device. I will check linux/freebsd source code to see if I can figure out anything.

 

If possible, I would like you to try this AppleATAPort kext to see if it works on your notebook. (However, it only supports up to UDMA2.) You can leave AppleGenericPCATA in the extension folder, without AppleALiATA. You can boot with "ataport=0" to prevent AppleATAPort from loading in case that it doesn't work, you can still use AppleGenericPCATA.

 

Let me know the result. Thanks.

 

Chun-Nan

 

AppleATAPort.kext.zip

 

 

Hi Chun-Nan,

Thanks for the .kext, I'll try it later today.

The south bridge is actually Ali M1535+. I don't know if that makes a difference.

I will post results later.

Thanks again,

rj

Link to comment
Share on other sites

Hi Chun-Nan,

Thanks for the .kext, I'll try it later today.

The south bridge is actually Ali M1535+. I don't know if that makes a difference.

I will post results later.

Thanks again,

rj

 

Hi Chun-Nan,

Sorry so long for reply, I've been out of town.

I tried the .kext and boot still hangs at 'still waiting for root device', only difference is I don't see any chip detection for ATA/IDE device, but otherwise, same as before, so when I power off, it still flashes 'IOATADevice blocking bus' error before shutting down.

I'm ready to test anything else you might have.

Thanks again,

rj

Link to comment
Share on other sites

  • 3 weeks later...
Hi Chun-Nan,

Sorry so long for reply, I've been out of town.

I tried the .kext and boot still hangs at 'still waiting for root device', only difference is I don't see any chip detection for ATA/IDE device, but otherwise, same as before, so when I power off, it still flashes 'IOATADevice blocking bus' error before shutting down.

I'm ready to test anything else you might have.

Thanks again,

rj

 

Hi rjstrat,

 

Can you try this kext to see if it works? (It is compiled under Leopard because I don't have Tiger installed right now.)

 

Thanks.

 

Chun-Nan

 

AppleALiATA.kext.zip

Link to comment
Share on other sites

Hi rjstrat,

 

Can you try this kext to see if it works? (It is compiled under Leopard because I don't have Tiger installed right now.)

 

Thanks.

 

Chun-Nan

 

AppleALiATA.kext.zip

 

Hi Chun-Nan,

Thanks for continued work on this driver.

I tried .kext and got this on boot:

15AppleALiATARoot is not compatible with its superclass, 9IOService superclass changed?
\^[[33mFailed to load extension com.apple.driver.AppleALiATA.
\^[[0mCouldn't alloc class "AppleALiATARoot"

I have attached dmesg, maybe I could compile your source under Tiger?

Thanks again,

rj

dmesg_rjstrat_laptop.txt

Link to comment
Share on other sites

Hi Chun-Nan,

Thanks for continued work on this driver.

I tried .kext and got this on boot:

15AppleALiATARoot is not compatible with its superclass, 9IOService superclass changed?
\^[[33mFailed to load extension com.apple.driver.AppleALiATA.
\^[[0mCouldn't alloc class "AppleALiATARoot"

I have attached dmesg, maybe I could compile your source under Tiger?

Thanks again,

rj

 

Hi rjstrat,

 

That is what I was afraid of. I have uploaded the source code on the 1st post. You can try to compile it under Tiger to see if it works. Let me know the result. Thanks.

 

Chun-Nan

Link to comment
Share on other sites

Hi rjstrat,

 

That is what I was afraid of. I have uploaded the source code on the 1st post. You can try to compile it under Tiger to see if it works. Let me know the result. Thanks.

 

Chun-Nan

 

 

Hi Chun-Nan,

I tried to recompile .kext in Tiger Xcode, but still unable to use driver.

I no longer get error message on boot, but no chip detection either, boot continues

with the apple generic ata .kext. I am able to load kext thru kextload with no errors.

I have also tried to remove generic ata kext, but then no boot, for some reason ALiATA.kext is not detecting chip.

Maybe I'm doing something wrong?

Again, all your help is greatly appreciated.

Thanks,

rj

Link to comment
Share on other sites

  • 5 weeks later...

Hi Chun-Nan:

;) Having heared of u for a long time ,And I am using that kind of ide controller ,got tiger 10.4.11,and downloading xcodes ,going to compile the source code U post #1.

AND I got "superclass" error after using aliata U post .

The downloading may take some hours (:-( My 1.5M adsl in China).

BTY,motherboard:asus p5rd1-vm,desktop.ide only no sata.

 

And thanks for your drivers..:-)

Seakon

Link to comment
Share on other sites

Thank you Chu Nan

 

your kext AppleATAPort is perfect for my system, it was extremely slow ,but thanks to your kext now runs very fast. My is a laptop Packard Bell AMD Sempron ( LEO4All V2) I/O M1573 ALI /ULI south bridge 1573 bus PCI-Express Link ULI HD Audio M 1573 , ATI xpress 200 video .

Link to comment
Share on other sites

 Share

×
×
  • Create New...