Hello!

Since we talked about it so many times...
It actually was very easy, even without programming skills. Now my modified 
KeyLargoATA.kext enables LBA-48 even without the Open Firmware property. After 
zapping my PRAM three times (Opt-Cmd-P-R) the new driver made all my disks 
appear with their full capacity, all volumes were correctly available.

So, here is the procedure:
1. Install Xcode. I used 3.1.3 from the Mac Dev Center which I had at hand.
2. Get KeyLargoATA-111.3.1 from the Darwin open source kernel.
3. Open the xcode project from KeyLargoATA in Xcode, click on the .cpp file.
4. Search for "kExtendedLBAKey" used in the registyEntry variable.
5. add: } else { <same as above but different DLOG> }
6. Save
7. Build
8. Install the resulting kext.

How (to install the kext)?
1. Go to /System/Library/Extensions
2. Copy KeyLargoATA.kext to your Desktop (as a backup)
3. Delete the original KeyLargoATA.kext (in Extensions folder)
4. Copy your new KeyLargoATA.kext to /System/Library/Extensions
5. Start the Terminal and be the super user!
   5.a) type "sudo -s" and enter your password
        CAUTION! DON'T DAMAGE YOUR SYSTEM!
   5.b) type "cd /System/Library/Extensions"
6. Set the correct attributes for you kext:
   6.a) type "chown -R root:wheel KeyLargoATA.kext/"
   6.b) type "chmod -R 755 KeyLargoATA.kext/"
7. exit the Terminal (type "exit" two times...)
8. Delete these folders/files:
   8.a) /System/Library/Caches
   8.b) /System/Library/Extensions/Caches
   8.c) /System/Library/Extensions.mkext

Now reboot your system. Exept that maybe you'll see a message about rebuilding 
the system caches everything should work as usual. You shouldn't see any 
change at all.
To test if the modification actually works, restart your system, zap the PRAM 
(hold Opt-Cmd-P-R until you've heard the chime three times!) and see.

If you have a disk >128 GB you should see all of it. (I used Disk Utility to 
see if the capacity is shown correctly).


If anyone wants to test it, go ahead. BUT PLEASE BE CAREFULL! If you do 
anything wrong, you may not be able to boot your system again! Having a second 
installation available to repair your system is highly recommended!

I hope this brings some people to experiments with their system. And since it 
is so easy afterall, you should really give it a shot (if you are brave 
enough). Just my 2ยข...


Good hacking!
Andreas  aka  Mac User #330250


Links:
Xcode: http://developer.apple.com/devcenter/mac/
KeyLargoATA.kext: http://www.opensource.apple.com/release/mac-os-x-1058/

This is the patch:
--- KeyLargoATA.cpp.orig        2006-10-06 07:09:19.000000000 +0200
+++ KeyLargoATA.cpp     2011-01-06 21:25:34.565905997 +0100
@@ -187,12 +187,16 @@
        }
        
        // test for extended LBA capability.
+       // HACK: since we *know* that every KeyLargo ATA chip supports LBA-48, 
we simply ignore the OF property!
 
        registryEntry = OSDynamicCast( OSData, provider->getProperty( 
kExtendedLBAKey ) );
        if( registryEntry != 0)
        {
                DLOG("KeyLargoATA Extended LBA.\n");
                isExtLBA = true;
+       } else {
+               DLOG("KeyLargoATA Extended LBA: missing \"lba-48\" Open 
Firmware property ignored\n");
+               isExtLBA = true;
        }
        
        // initialize the timing params to PIO mode 0 at 600ns and MWDMA mode 0 
at 480ns

-- 
You received this message because you are a member of G-Group, a group for 
those using G3, G4, and G5 desktop Macs - with a particular focus on Power Macs.
The list FAQ is at http://lowendmac.com/lists/g-list.shtml and our netiquette 
guide is at http://www.lowendmac.com/lists/netiquette.shtml
To post to this group, send email to g3-5-list@googlegroups.com
For more options, visit this group at http://groups.google.com/group/g3-5-list

Reply via email to