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 [email protected]
For more options, visit this group at http://groups.google.com/group/g3-5-list