Here’s what I needed to do to get it to work. First, you need proprietary drivers for the 802.11bgn chipset (BCM4312 with LP-PHY). It should be possible to provide this non-free firmware at install time, but I never got that to work so instead I just installed with the wired ethernet and installed this firmware later on the running system by adding the “non-free” and “contrib” repositories to /etc/apt/sources.list and doing:
apt-get install firmware-b43-lpphy-installer
This may require a reboot to take effect, there’s probably another way, but it’s more effort.
You’ll probably also want the proprietary NVidia display driver if you have the NVidia ION chipset variant of the S12. Just follow the instructions at NvidiaGraphicsDrivers for installing the current version using DKMS. Reboot again, or you could reboot once for all three of these changes.
Suspend seems to immediately wakeup due to USB interrupts. Putting the following in /etc/rc.local (and rebooting or executing the script as root) seems to fix that:
for i in 0 1 2 3 ; do
echo USB$i >/proc/acpi/wakeup
Those are the USB controllers, it still wakes up fine from hitting a keypress.
You may also want to add some of the recommended tweaks from powertop. A way to get them in scriptable form is to run it as
powertop --html=<filename> option and cut end paste some of that into rc.local. I got things down from about 17 watts to 12 watts on battery.
I haven’t tried to mess with the built-in camera yet.