It has been mentioned that the DSDT in the ACPI tables on the machine is borken and was poorly tested on microsoft acpi compilers, thus it works fine for most microsoft applications, and won't work properly with Linux. I've been futzing with hacking the DSDT table. Check out http://www.behnel.de/samsung-acpi.html and http://www.cpqlinux.com/acpi-howto.html for the stuff I'm looking at to see if I can fix it. This documents some of the stuff I needed to do to get ACPI on this machine working.
In order to get battery information to work, you'll need to hack the DSDT and
point the linux kernel to its own copy instead of relying on BIOS.
This is much like other laptops with broken DSDTs.
To hack dsdt, what you need is to is run pacpidump as root to dump and decompile your dsdt (note: this is a FreeBSD project, check the makefile to use it under Linux). Then make the changes to make your dsdt compile again with iasl (yes, the decompiled dsdt does NOT assemble properly, otherwise acpi should work!). I don't know asl enough to understand what's going on, but after hacking the dsdt assembly language to the "hacked dsdt" below, it assembles fine (use iasl -tc dsdt.asl) (also note: you need glibc2.3 to assemble, and intel doesn't provide source code to iasl!!!).
Grab the sourceforge acpi patch for
the kernel you're using, and patch that in.
Then copy the resultant dsdt.hex file to
$KERNEL_TREE/drivers/acpi/tables/acpi_dsdt.c and apply the dsdt patch to
make it use this DSDT.
Then rebuild your kernel, making sure it picks up the acpi_dsdt.c. You may need to compile ACPI into the kernel for it to work.
After all these long steps, ACPI appears to finally work. Yes it's a lot of steps and I don't want to do this again, so we should complain to Gateway to fix this bug.
acpi_dsdt.aml Original /proc/acpi/dsdt contents
dsdt.asl My hacked dsdt
dsdt.asl.orig Original broken DSDT (BIOS 30.60)
dsdt.dat Compiled hacked dsdt
dsdt.hex Compiled hacked dsdt for Linux Kernel inclusion
linux-2.4.18-acpi-20020709-dsdt.patch.bz2 Patch for 2.4.18-2.4.20
pacpidump.tar.gz Dump ACPI dsdt information
iasl-linux-20030228.tar.gz from Intel ACPI - ASL Assembler - Note: BINARY ONLY, requires glibc2.3
batlife.pl short perl script to estimate time remaining and battery condition. GW5350 with DSDT patch only!
http://www.behnel.de/samsung-acpi.html Where I got the idea of how to fix
Back to Gateway Solo 5350 web page