I've received a PM or two about this, and everyone did such good work. Since a summary post for sound helped me get that working, I thought I'd start by Summarizing this brightness stuff. Give credit to everyone in the other posts, I'm just trying to put this together in once place.
1. Install updated AppleIntelIntegratedFramebuffer.kext or update yours.
Use your favorite kext install program (eg. Kext Help b7) and use the AppleIntelIntegratedFramebuffer.kext from Here: [http://ipis-osx.wikidot.com/asus-hotkeys] on your box. You will need to reboot.
When you reboot, you now can control brightness with fn+f3 and fn+f4 … the only issue is sleep. When you box goes to sleep it'll wake up with the monitor off and you will have to "wake" the monitor with a fn+f3 or fn+f4. The next steps fix this.
By the way, make a backup of the unmodified kext first. If you screw this up you can fix it by booting with a -s and then at the command line copying the old kext over the new one.
2. You need to install CHUD 4.6.1 (or the latest version I guess) from:
http://connect.apple.com
You will need to sign up for an account if you don't already have one. It's free. You can't download if you are not a signed in.
Once in, click on "Downloads" (This will take you to a page labeled Applications)
In the right hand column on the Applications page click on "developers Tools"
When I did this CHUD was the first option. Download it, install it.
3. You will need to install Sleep Watcher
http://www.macupdate.com/download.php/10387/sleepwatcher_2.0.5.dmg
When sleep watcher installs it creates a few new files in your /etc directory
rc.sleep
rc.wakeup
You might want to make sure these are there.
4. Figure out the PCI number of your screen controls
I have read that on a EeePC 1000h, the PCI number is 16, and for a 901 it's 18 …
mine was 17. It's becoming clear to me that there have been at least two revisions of the 901, with differences in the physical camera used, and I can only assume other things.
I figure it's best to look up what your number is.
From a command line use the following command
sudo reggie_se -x -D PentiumM
Look for the line that says "Display controller: display".
The number at the start of that line is your number.
Update: 11/30/08: This should have been obvious, but the numbers vary due to what items you have turned off and on in your bios settings. Turn off the Ethernet and the number changes. Muck with the settings and this will stop working and you will need to figure out the number and re-edit rc.sleep and rc.wakeup
5. Command line test.
Set the brightness to it's brightest :
sudo reggie_se -D PCI -i [your number] -w 255 -a 0xF4 -B 32
Set it to it's lowest :
sudo reggie_se -D PCI -i [your number] -w 2 -a 0xF4 -B 32
So, if it's on PCI W16 your line might look like this: sudo reggie_se -D PCI -i 16 -w 255 -a 0xF4 -B 32
(don't worry if things go dark, you can still adjust your brightness with Fn+f3 and fn+f4)
If it works, time to get this to automate. If not check to make sure you have everything installed right, and that you're using the right PCI number.
6. Set up wake up and sleep commands
(I will assume you know how to use the pico text editor, if not google for instructions.)
at the command line you will need to edit as a super user /etc/rc.sleep
sudo pico /etc/rc.sleep
go to the end of the file. Add a return or two for blank space and add the following lines. (thanks QuinnStorm)
reggie_se -D PCI -i 18 -r -a 0xF4 -B 32 2>&1 | grep 'Offset' | cut -d 'x' -f 3 | cut -d ' ' -f 1 > /etc/last_brightness
(Change 18 to be your PCI number.)
Save your file (control-x)
Next edit the wakeup file
sudo pico /etc/rc.wakeup
again, go to the end of the file and add a few blank lines and add:
BRN=$(cat /etc/last_brightness)
reggie_se -D PCI -i 18 -w 0x$BRN -a 0xF4 -B 32
(Change 18 to be your PCI number.)
At this point, you should be able
- Control brightness with fn+f3 and fn+f4
- Let the computer go to sleep and when it wakes up, the monitor will restore to it's previously saved brightness level.
- I'm not sure but I'm beginning to think that sleepwatcher solves the wake up issue when you have to wake up using the power button or things lock up. Once this got installed (or I think this) that issue went away.
Let me know what mistakes if any I made.
-GReg