From: Peter Knaggs Peter.Knaggs@oracle.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030821
To: members@penlug.org
Date: Mon, 28 Jun 2004 19:14:25 -0700
Subject: [PenLUG] summary/notes of Chander Kant's presentation last week

I just put together some notes on the presentation Chander Kant gave last Thursday, at PenLUG. With luck, this will do it justice for folks who weren't able to attend. I'm sure I've missed some things, and misunderstood others, but here goes. Thanks to Chander for his enthusiasm in explaining the many puzzles of Linux on laptops.

(RM note: Amended slightly to incorporate some subsequent third-party comments.)


Intel Graphics on Laptops

There's a unified driver available for all the Intel Extreme Graphics controllers with direct rendering support. It is unfortunately dependent on BIOS support. Tends to need to run in resolutions that are not the LCD-native resolutions, resulting in blurry imaging and loss of crispness.

SiS

SiS are now XGI; they merged with Trident's graphics chipset group. There are no drivers or specs provided for notebook cards by XGI. The best reverse-engineered drivers for Linux are: http://www.winischhofer.net/

DPMS

DPMS: Display Power Management Support
DPMS is the support used to turn off the LCD backlight.

Tablet PCs

Worst case with tablet PCs, you can use the fbdev driver (no DRI support). For supported pen devices, check the Linux Wacom Project (http://wacom.sourceforge.net/ ).

WiFi friendly to Linux

802.11b:
Lucent Wavelan
Prism I and Prism II
Aironet (Cisco): supported for Linux by Cisco, but very expensive, $110.

Linux-unfriendly WiFi chipsets

802.11b:
Broadcom and Texas Instruments
Intel PRO/Wireless 2100 (non-WEP working)

(Note: Linux Certified sells Prism-based mini-PCI cards that can replace the non-working WiFi hardware in many modern laptops.)


802.11a/g:
Support is currently beta quality, with Prism-based cards being the most compatible. Atheros a/b/g mini-PCI card works well with proprietary MADwifi driver.

802.11g with Prism 54 chipset support is OK in 2.6:
Not the wlan-ng project; it's built into the 2.6 kernel as the prism54 driver.

Linuxant sell a proprietary Linux wrapper for the MS-Windows 802.11 driver, for $15. A free version is being developed by the NDIS wrapper project: http://ndiswrapper.sourceforge.net/

linux-wlan project makes the Prism 2 driver, but it's not in any distro because the project uses a very different configuration file setup.

Prism 2 can also run with orinoco drivers and Host AP drivers. Host AP can do scanning with Prism 2. Chander suggests removing orinoco driver and replacing it with linux-wlan or Host AP.

Prism 54 requires firmware on the card each time the machine comes up. Need to compile the kernel with the option turned on. Default in 2.6. 2.4.26 or beyond. Very last of the very last menu in kernel config, firmware driver loader option. Firmware needs to be downloaded and put in a specific location. It can't be included with any distribution.

Prism is made by Intersil.

Power management.

Hard Drive Temperature

http://coredump.free.fr/linux/hddtemp.php

e.g.:

hddtemp /dev/hda

CPU speed control

cpudyn: CPU dynamic Frequency Control

Requires kernel's cpufreq driver (2.6 kernel).
Also spins down disks when not being used.

Note: cpufreq driver works only on certain Intel CPUs (only Centrino?). "Laptop mode" patch can queue up disk access that isn't really critical, so the disk doesn't keep waking up every time a daemon gets a few cycles.


Suspending the Laptop

Suspend is mostly not functional on recent laptops. Older laptops tend to work much better, in this regard. (Note: Some older laptops have APM-based suspend that works without the OS needing to know anything about it.)

As an alternative to BIOS suspend, instead use the software suspend patch. To suspend using this patch, simply type the command "swsusp". You can also give it a list of modules to unload before suspending.

It's somewhat picky about working with certain hardware features. Features like DRI (i.e., swsusp doesn't work with Nvidia) and SMP don't work. Uses swap space to store memory. Kernel checks swap partition at bootup.

If you're using 512MB memory and let's say 512MB swap, when you run the "swsusp" command, it will safely abort without suspending. Also, you can't suspend while playing sound.

What Linux Certified do is to have DRI only for the initial boot, and then disable it after the first resume from software suspend.

"Suspend to disk" is ACPI S4. It does software suspend to disk. It's much faster than swsusp, but less configurable. (Works only on laptops that have a working S4 sleep state.)

Notes on the 2.6 kernel series

Linux on Laptops

Excellent reference:
http://www.linux-on-laptops.com/

Laptops sold by Linux Certified

Linux Certified also do lots of Linux and open-source software training.

Contact:
Chander Kant, president, Linux Certified, ck@linuxcertified.com.