Tuesday, February 26, 2008

A Fix (kinda) For The PowerBook G4 Lower Memory RAM Slot Not Working

An XLR8YourMac reader may have found a solution to some PowerBook G4 models not seeing the lower RAM slot (albeit a very clunky solution):

The lower memory slot on the PowerBook G4 is not fried. It was tested by starting up with a single DIMM in the lower slot. However, it still will not recognize the lower DIMM if there is memory in both the upper & lower slots. This may be different to what others are experiencing, so your mileage may vary.


[The Powerbook G4] is physically detecting the RAM in Open Firmware ... simply not mapping it to any address space.

Logic dictates that if the ram isn't properly mapped to an address, it will not be visible in Mac OSX. [You can] artificially reduce the size of your system RAM in open firmware by changing these mappings.

1) A note about module sizes. sizes appear to be in hex.
- 10000000 = 256mb
- 20000000 = 512mb
- 40000000 = 1gb
- and so forth...

You need to use the sizes above to map your RAM to relavent address space.

2) Next boot into open firmware. Do this by holding cmd+opt+o+f just after the boot chime of your Mac.

3) This will bring you to the white open firmware prompt "0>".

From here you need to navigate to the memory device tree by typing: 0>dev/memory

4) To display the details about the current memory mappings type:


5) This is an example of how you can map a PowerBook's memory modules to a different address space.

0> 0 encode-int 10000000 encode-int encode+
2> 10000000 encode-int 40000000 encode-int encode+
4> encode+
2> " reg" delete-property
2> " reg" property
0> mac-boot

The first line loads onto the Open Firmware stack - the location of the 1st memory module. In this case it starts at address space 0 and is 10000000 (256mb) in size.

The second [command] loads the 2nd (lower) memory module onto the stack starting at address 10000000 (directly after the first upper module) and is 40000000 (1gb) in size.

The third line encodes the two lines above together on the stack.

The fourth line deletes the current address space mappings (the contents of the " reg" property).

The fifth pops the new memory mappings off the stack and onto the " reg" property.

Finally, the last line, starts the boot process for your Mac.

Check system profiler - both DIMMs should be registering now.

... it is not persistant, when you reboot your machine these mappings will be lost and you will be back to square one.

---------- FIX YOUR THINKING COMMENTARY ----------

XLR8YourMac is a favorite site of mine ... but it is really clunky to navigate or link to articles there ... Mike Breeden (XLR8YourMac's author) also doesn't edit ANY of his posts for grammar or proper punctuation - thus the reason for the repost with a substantial number of corrections.

I've had this happen to a number of my clients on their PowerBook G4s. I doubt I would do this as a solution as a tech, but rather inform the customer of the potential "jigger".

This really should be addressed by Apple now that someone has discovered this issue - a lot of Apple insiders read XLR8YourMac so I imagine now that they see the problem there is the possibility of it being addressed in a firmware update. I'll also monitor XLR8YourMac for a possible "better reader solution".


Anonymous said...

My 15" powerbook G4 1.67GHz also has the same notorious lower ram slot failure. My one's serial number is not included in the range of the repair program , and i've been simply using the upper slot. I recently wanted to upgrade the RAM but unfortunately, there's no single 2GB RAM of pc2700 factor. However, it DOES seem like the ram slot problem may be only a firmware glitch, since my lower ram isn't fried (and works occasionally).

Eventhough, Apple has read this post, and found a solution to it (that is, a firmware upgrade), I believe they are faced with even bigger problem before its release: "What should we do with all the users who have bought a new logic board??"

FYT said...

This is most likely why Apple will NEVER release a firmware patch ... even though this IS exactly what the issue is.

I'm sorry you're facing the issue. I liked the PowerBook G4 1.67 - the last great Apple laptop to have a PCMCIA/Cardbus slot

Shane Hendricks said...

I've got the same problem as anonymous above--missing RAM slot with an "out of range" serial number. I haven't tried the temporary fix here, but just wanted you all to know that a lawsuit has been filed; the plaintiff has asked for class-action status, so Apple might have been better off to just release the firmware fix...would've been cheaper in the long run.

Anonymous said...

Wouldn't it be possible for someone with knowledge (perhaps the inventor of the fix) to make the firmware patch? I'd pay for it.

FYT said...

it would definitely be possible but very illegal to code a firmware patch ... it would also most likely have to exploit an older version of the mac os and therfore make your mac vulnerable.

I really think apple should address this because it is a relatively easy firmware patch

alex said...

Wanted to point out for anyone who happens to stumble upon this page with the above instructions -- you will want to type ".properties" NOT "..properties" to display the memory properties

FYT said...

Thanks alex ... I fixed a number of errors - there were literally DOZENS that i fixed when i first posted this - as mentioned in the post itself.

Keith Cooper said...

Worked nicely (15" 1.25G with 2x 1GB modules 10.4.11) That was until I started opening many apps and the machine froze.

I was keeping an eye on activity monitor and it was once items pushed into the 2nd gig of ram that the freeze happened.

The annoying thing is that the machine has worked with 2x512 modules since 2005, and it was only when I upgraded to 2x1GB this morning that the problem appeared.

Drat - I wanted to avoid buying a new PB for travel, for a while longer :-(

FYT said...

did you also do all of the following:

Reset everything

1) restart holding down command - option - o - f

2) in open firmware type (with no spaces):


(hit return)

(a new line will appear)



(hit return)

(a new line will appear)



(you should see a number if things scroll onto the screen and your powerbook will restart

Also ... make sure all of your programs and os are fully updated.

Furthermore ... Try Applejack ... Make sure you install memtest

Keith Cooper said...

Thanks - tried all the resets etc

Using this OF info for 2x 1GB

0> dev /memory
0> .properties
0> 0 encode-int 40000000 encode-int encode+
2> 40000000 encode-int 40000000 encode-int encode+
4> encode+
2> " reg" delete-property
2> " reg" property
0> mac-boot

AJ locks up during memtest - looks like stuck with 1 GB...

This reminds me of entering the bootstrap loader code via switches on the front panel of my old PDP 11/05 :-)