https://wiki.archlinux.org/api.php?action=feedcontributions&user=Big0gie&feedformat=atomArchWiki - User contributions [en]2024-03-28T20:36:10ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=2350Dell Inspiron 85002005-08-04T17:29:23Z<p>Big0gie: /* System specifications */</p>
<hr />
<div>[[Category:Laptop]]<br />
<br />
==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb)<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*1 Firewire port<br />
*2 USB 2.0 ports<br />
*IrDA<br />
*Intel (PCTel) AC'97 Modem (WinModem?)<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Broadcom BCM4306 Mini PCI)<br />
<br />
Output of lspci (run "sudo update-pciids" to get updated results) :<br />
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)<br />
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)<br />
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)<br />
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)<br />
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)<br />
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)<br />
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)<br />
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)<br />
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)<br />
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)<br />
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller<br />
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
*Modem<br />
<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1798Dell Inspiron 85002005-08-04T16:40:24Z<p>Big0gie: /* System specifications */</p>
<hr />
<div>[[Category:Laptop]]<br />
<br />
==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb)<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Intel (PCTel) AC'97 Modem (WinModem?)<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
Output of lspci (run "sudo update-pciids" to get updated results) :<br />
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)<br />
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)<br />
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)<br />
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)<br />
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)<br />
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)<br />
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)<br />
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)<br />
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)<br />
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)<br />
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller<br />
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
*Modem<br />
<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1797Dell Inspiron 85002005-08-04T16:38:53Z<p>Big0gie: /* Not Working */</p>
<hr />
<div>[[Category:Laptop]]<br />
<br />
==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb)<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
Output of lspci (run "sudo update-pciids" to get updated results) :<br />
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)<br />
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)<br />
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)<br />
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)<br />
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)<br />
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)<br />
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)<br />
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)<br />
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)<br />
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)<br />
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller<br />
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
*Modem<br />
<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1796Dell Inspiron 85002005-08-04T16:38:30Z<p>Big0gie: /* Not Working */</p>
<hr />
<div>[[Category:Laptop]]<br />
<br />
==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb)<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
Output of lspci (run "sudo update-pciids" to get updated results) :<br />
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)<br />
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)<br />
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)<br />
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)<br />
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)<br />
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)<br />
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)<br />
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)<br />
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)<br />
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)<br />
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller<br />
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
Modem<br />
<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dialup_without_a_dialer&diff=4041Dialup without a dialer2005-08-04T15:43:38Z<p>Big0gie: /* Dialup Sans Dialer */</p>
<hr />
<div>====Dialup Sans Dialer====<br />
<br />
This page tells you how you can execute pppd directly without using dialer software such as pon/poff, wvdial, kppp, etc. It stays connected through X server shutdowns and is extremely simple, in accordance with Arch philosophy.<br />
<br />
http://bbs.archlinux.org/viewtopic.php?t=4753<br />
<br />
Install '''ppp'''<br />
<pre><br />
pacman -S ppp<br />
</pre><br />
<br />
Back up '''/etc/ppp/options'''<br />
<pre><br />
mv /etc/ppp/options /etc/ppp/options.old<br />
</pre><br />
<br />
Create new '''/etc/ppp/options''' using this template:<br />
<pre><br />
lock<br />
modem<br />
debug<br />
</dev/DEVICE><br />
115200<br />
defaultroute<br />
noipdefault<br />
user <USERNAME><br />
connect 'chat -t60 \\"\\" ATZ OK ATX3 OK ATDT<NUMBER> CONNECT'<br />
</pre><br />
<br />
Now, take a good look at the next table:<br />
<pre><br />
WINDOW$ GNU/Linux<br />
COM1 --> /dev/ttyS0<br />
COM2 --> /dev/ttyS1<br />
COM3 --> /dev/ttyS2<br />
...<br />
</pre><br />
<br />
Edit to point device to your modem device, to use your dialup account username, and to dial your ISP's number after the ATDT. You can disable call waiting using ATDT 70,15555555(in North America, anyway). You may also wish to edit the dialer commands, search http://www.google.com for information on how to do this. If your ISP uses CHAP then next file is '''chap-secrets'''<br />
<br />
Edit '''/etc/ppp/chap-secrets'''<br />
<pre><br />
\"USERNAM\" * \"PASSWORD\"<br />
</pre><br />
<br />
Now you are ready to connect. Connect (as root) using '''pppd /dev/modem''' (or whatever device your modem is connected as).<br />
<br />
To disconnect, use '''killall pppd'''<br />
<br />
If you wish to connect as user, you can use sudo. Configure sudo to call the above commands for your user, and you can use the following aliases in your '''~/.bash_profile''':<br />
<pre><br />
alias dial='sudo /usr/sbin/pppd /dev/modem'<br />
alias hang='sudo /usr/bin/killall pppd'<br />
</pre><br />
Now you can connect with '''dial''' and disconnect with '''hang'''</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1795Dell Inspiron 85002005-07-29T14:34:41Z<p>Big0gie: /* System specifications */</p>
<hr />
<div>[[Category:Laptop]]<br />
<br />
==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb)<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
Output of lspci (run "sudo update-pciids" to get updated results) :<br />
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)<br />
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)<br />
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)<br />
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)<br />
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)<br />
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)<br />
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)<br />
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)<br />
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)<br />
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)<br />
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)<br />
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)<br />
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)<br />
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller<br />
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Firewalls&diff=1373Firewalls2005-07-26T23:59:23Z<p>Big0gie: /* gShield */</p>
<hr />
<div>[[Category:Network]]<br />
=== Firewalling Arch===<br />
There are many posts on the forums about different firewall apps and scripts so here they all are condensed into one page - please add your comments about each firewall, especially ease of use and a security check at [https://www.grc.com/x/ne.dll?bh0bkyd2 Shields Up]<br />
<br />
==== Firewall====<br />
Simple /etc/rc.d/ firewall, configured with /etc/conf.d/firewall<br />
[[firewall pkgbuild]]<br />
<br />
==== Guard Dog====<br />
Requires kdelibs<br />
[http://bbs.archlinux.org/viewtopic.php?t=9717&highlight=iptables+firewall Forum]<br />
[http://www.simonzone.com/software/guarddog/ Homepage]<br />
<br />
==== Firestarter====<br />
Requires a good 9Mb of Gnome deps<br />
It's in [http://www.archlinux.org/packages.php?id=1973 extra]<br />
<br />
==== Fwbuilder====<br />
It's in [http://www.archlinux.org/packages.php?id=611 extra]<br />
<br />
==== Kmyfirewall====<br />
It's in [http://www.archlinux.org/packages.php?id=5431 extra]<br />
Graphical frontend with good setup-wizard.<br />
<br />
Firewall editing capabilities are simple enough to use to be suitable for beginners, but also<br />
allow for sophisticated tweaking of the firewall settings.<br />
<br />
[http://213.235.240.26/~kmyfirewall/kmf_doc/index.html Documentation]],<br />
[http://213.235.240.26/~kmyfirewall/index.php?kat=Features features]] and<br />
[http://kmyfirewall.sourceforge.net/ screenshots]] can be found online on the KMyFirewall sourceforge-page.<br />
<br />
==== Quicktables====<br />
Script. Step by step questions with great explanations<br />
[http://bbs.archlinux.org/viewtopic.php?t=10527&highlight=iptables+firewall Forum]<br />
<br />
==== Arno's Firewall====<br />
[http://bbs.archlinux.org/viewtopic.php?t=7527&highlight=iptables+firewall Forum]<br />
<br />
==== gShield====<br />
[http://archlinux.nb.homelinux.net/pub/pkgs/gshield-2.8-2.pkg.tar.gz Package]<br><br />
[http://archlinux.nb.homelinux.net/pub/PKGBUILDs/Finals/gshield/ PKGBUILD]<br><br />
Really simple iptable configuration. (Nothing to do with gnome) Easy to configure, blocks everything not needed (almost) by default. Controled by only one config file. It gave me all stealth on grc.com<br><br />
Pros:<br />
*Easy to configure<br />
*Only one config file<br />
*Will give you a iptables configuration, witch is the best firewall<br />
Cons:<br />
*No gui<br />
*Thats it :)<br />
[http://bbs.archlinux.org/viewtopic.php?t=4557&highlight=iptables+firewall Forum]<br />
<br />
==== Shorewall====<br />
The Shoreline Firewall, more commonly known as "Shorewall", is high-level tool for configuring Netfilter. You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables utility, Shorewall configures Netfilter to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter's ipchains compatibility mode and can thus take advantage of Netfilter's connection state tracking capabilities.<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?t=8937&highlight=shorewall Forum]<br />
[http://www.shorewall.net Homepage]<br />
<br />
WikiMigration--[[User:Dlanor|dlanor]] 14:55, 23 Jul 2005 (EDT)</div>Big0giehttps://wiki.archlinux.org/index.php?title=Firewalls&diff=1019Firewalls2005-07-26T23:56:43Z<p>Big0gie: /* gShield */</p>
<hr />
<div>[[Category:Network]]<br />
=== Firewalling Arch===<br />
There are many posts on the forums about different firewall apps and scripts so here they all are condensed into one page - please add your comments about each firewall, especially ease of use and a security check at [https://www.grc.com/x/ne.dll?bh0bkyd2 Shields Up]<br />
<br />
==== Firewall====<br />
Simple /etc/rc.d/ firewall, configured with /etc/conf.d/firewall<br />
[[firewall pkgbuild]]<br />
<br />
==== Guard Dog====<br />
Requires kdelibs<br />
[http://bbs.archlinux.org/viewtopic.php?t=9717&highlight=iptables+firewall Forum]<br />
[http://www.simonzone.com/software/guarddog/ Homepage]<br />
<br />
==== Firestarter====<br />
Requires a good 9Mb of Gnome deps<br />
It's in [http://www.archlinux.org/packages.php?id=1973 extra]<br />
<br />
==== Fwbuilder====<br />
It's in [http://www.archlinux.org/packages.php?id=611 extra]<br />
<br />
==== Kmyfirewall====<br />
It's in [http://www.archlinux.org/packages.php?id=5431 extra]<br />
Graphical frontend with good setup-wizard.<br />
<br />
Firewall editing capabilities are simple enough to use to be suitable for beginners, but also<br />
allow for sophisticated tweaking of the firewall settings.<br />
<br />
[http://213.235.240.26/~kmyfirewall/kmf_doc/index.html Documentation]],<br />
[http://213.235.240.26/~kmyfirewall/index.php?kat=Features features]] and<br />
[http://kmyfirewall.sourceforge.net/ screenshots]] can be found online on the KMyFirewall sourceforge-page.<br />
<br />
==== Quicktables====<br />
Script. Step by step questions with great explanations<br />
[http://bbs.archlinux.org/viewtopic.php?t=10527&highlight=iptables+firewall Forum]<br />
<br />
==== Arno's Firewall====<br />
[http://bbs.archlinux.org/viewtopic.php?t=7527&highlight=iptables+firewall Forum]<br />
<br />
==== gShield====<br />
[http://archlinux.nb.homelinux.net/pub/pkgs/gshield-2.8-2.pkg.tar.gz Package]<br><br />
[http://archlinux.nb.homelinux.net/pub/PKGBUILDs/Finals/gshield/ PKGBUILD]<br><br />
Really simple iptable configuration. Easy to configure, blocks everything not needed (almost) by default. Controled by only one config file. It gave me all stealth on grc.com<br><br />
[http://bbs.archlinux.org/viewtopic.php?t=4557&highlight=iptables+firewall Forum]<br />
<br />
==== Shorewall====<br />
The Shoreline Firewall, more commonly known as "Shorewall", is high-level tool for configuring Netfilter. You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables utility, Shorewall configures Netfilter to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter's ipchains compatibility mode and can thus take advantage of Netfilter's connection state tracking capabilities.<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?t=8937&highlight=shorewall Forum]<br />
[http://www.shorewall.net Homepage]<br />
<br />
WikiMigration--[[User:Dlanor|dlanor]] 14:55, 23 Jul 2005 (EDT)</div>Big0giehttps://wiki.archlinux.org/index.php?title=Firewalls&diff=1018Firewalls2005-07-26T23:56:22Z<p>Big0gie: /* gShield */</p>
<hr />
<div>[[Category:Network]]<br />
=== Firewalling Arch===<br />
There are many posts on the forums about different firewall apps and scripts so here they all are condensed into one page - please add your comments about each firewall, especially ease of use and a security check at [https://www.grc.com/x/ne.dll?bh0bkyd2 Shields Up]<br />
<br />
==== Firewall====<br />
Simple /etc/rc.d/ firewall, configured with /etc/conf.d/firewall<br />
[[firewall pkgbuild]]<br />
<br />
==== Guard Dog====<br />
Requires kdelibs<br />
[http://bbs.archlinux.org/viewtopic.php?t=9717&highlight=iptables+firewall Forum]<br />
[http://www.simonzone.com/software/guarddog/ Homepage]<br />
<br />
==== Firestarter====<br />
Requires a good 9Mb of Gnome deps<br />
It's in [http://www.archlinux.org/packages.php?id=1973 extra]<br />
<br />
==== Fwbuilder====<br />
It's in [http://www.archlinux.org/packages.php?id=611 extra]<br />
<br />
==== Kmyfirewall====<br />
It's in [http://www.archlinux.org/packages.php?id=5431 extra]<br />
Graphical frontend with good setup-wizard.<br />
<br />
Firewall editing capabilities are simple enough to use to be suitable for beginners, but also<br />
allow for sophisticated tweaking of the firewall settings.<br />
<br />
[http://213.235.240.26/~kmyfirewall/kmf_doc/index.html Documentation]],<br />
[http://213.235.240.26/~kmyfirewall/index.php?kat=Features features]] and<br />
[http://kmyfirewall.sourceforge.net/ screenshots]] can be found online on the KMyFirewall sourceforge-page.<br />
<br />
==== Quicktables====<br />
Script. Step by step questions with great explanations<br />
[http://bbs.archlinux.org/viewtopic.php?t=10527&highlight=iptables+firewall Forum]<br />
<br />
==== Arno's Firewall====<br />
[http://bbs.archlinux.org/viewtopic.php?t=7527&highlight=iptables+firewall Forum]<br />
<br />
==== gShield====<br />
[http://archlinux.nb.homelinux.net/pub/pkgs/gshield-2.8-2.pkg.tar.gz Package]<br><br />
[http://archlinux.nb.homelinux.net/pub/PKGBUILDs/Finals/gshield/ PKGBUILD]<br><br />
Really simple iptable configuration. Easy to configure, blocks everything not needed (almost) by default. Controled by only one config file. It gave me all stealth on grc.com<br />
[http://bbs.archlinux.org/viewtopic.php?t=4557&highlight=iptables+firewall Forum]<br />
<br />
==== Shorewall====<br />
The Shoreline Firewall, more commonly known as "Shorewall", is high-level tool for configuring Netfilter. You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables utility, Shorewall configures Netfilter to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter's ipchains compatibility mode and can thus take advantage of Netfilter's connection state tracking capabilities.<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?t=8937&highlight=shorewall Forum]<br />
[http://www.shorewall.net Homepage]<br />
<br />
WikiMigration--[[User:Dlanor|dlanor]] 14:55, 23 Jul 2005 (EDT)</div>Big0giehttps://wiki.archlinux.org/index.php?title=Firewalls&diff=1017Firewalls2005-07-26T23:55:33Z<p>Big0gie: /* gShield */</p>
<hr />
<div>[[Category:Network]]<br />
=== Firewalling Arch===<br />
There are many posts on the forums about different firewall apps and scripts so here they all are condensed into one page - please add your comments about each firewall, especially ease of use and a security check at [https://www.grc.com/x/ne.dll?bh0bkyd2 Shields Up]<br />
<br />
==== Firewall====<br />
Simple /etc/rc.d/ firewall, configured with /etc/conf.d/firewall<br />
[[firewall pkgbuild]]<br />
<br />
==== Guard Dog====<br />
Requires kdelibs<br />
[http://bbs.archlinux.org/viewtopic.php?t=9717&highlight=iptables+firewall Forum]<br />
[http://www.simonzone.com/software/guarddog/ Homepage]<br />
<br />
==== Firestarter====<br />
Requires a good 9Mb of Gnome deps<br />
It's in [http://www.archlinux.org/packages.php?id=1973 extra]<br />
<br />
==== Fwbuilder====<br />
It's in [http://www.archlinux.org/packages.php?id=611 extra]<br />
<br />
==== Kmyfirewall====<br />
It's in [http://www.archlinux.org/packages.php?id=5431 extra]<br />
Graphical frontend with good setup-wizard.<br />
<br />
Firewall editing capabilities are simple enough to use to be suitable for beginners, but also<br />
allow for sophisticated tweaking of the firewall settings.<br />
<br />
[http://213.235.240.26/~kmyfirewall/kmf_doc/index.html Documentation]],<br />
[http://213.235.240.26/~kmyfirewall/index.php?kat=Features features]] and<br />
[http://kmyfirewall.sourceforge.net/ screenshots]] can be found online on the KMyFirewall sourceforge-page.<br />
<br />
==== Quicktables====<br />
Script. Step by step questions with great explanations<br />
[http://bbs.archlinux.org/viewtopic.php?t=10527&highlight=iptables+firewall Forum]<br />
<br />
==== Arno's Firewall====<br />
[http://bbs.archlinux.org/viewtopic.php?t=7527&highlight=iptables+firewall Forum]<br />
<br />
==== gShield====<br />
[http://archlinux.nb.homelinux.net/pub/pkgs/gshield-2.8-2.pkg.tar.gz Package]<br />
[http://archlinux.nb.homelinux.net/pub/PKGBUILDs/Finals/gshield/ PKGBUILD]<br />
Really simple iptable configuration. Easy to configure, blocks everything not needed (almost) by default. Controled by only one config file. It gave me all stealth on grc.com<br />
[http://bbs.archlinux.org/viewtopic.php?t=4557&highlight=iptables+firewall Forum]<br />
<br />
==== Shorewall====<br />
The Shoreline Firewall, more commonly known as "Shorewall", is high-level tool for configuring Netfilter. You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables utility, Shorewall configures Netfilter to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter's ipchains compatibility mode and can thus take advantage of Netfilter's connection state tracking capabilities.<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?t=8937&highlight=shorewall Forum]<br />
[http://www.shorewall.net Homepage]<br />
<br />
WikiMigration--[[User:Dlanor|dlanor]] 14:55, 23 Jul 2005 (EDT)</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1125Dell Inspiron 85002005-07-26T23:50:06Z<p>Big0gie: /* X.org */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=1015Dell Inspiron 85002005-07-26T03:30:23Z<p>Big0gie: /* To do */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=960Dell Inspiron 85002005-07-26T03:29:43Z<p>Big0gie: /* Software Suspend 2 (Hibernate) and Sleep */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=959Dell Inspiron 85002005-07-26T03:28:40Z<p>Big0gie: /* CPU Frequency Scaling */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=958Dell Inspiron 85002005-07-26T03:28:23Z<p>Big0gie: /* Power Management */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=957Dell Inspiron 85002005-07-26T03:28:03Z<p>Big0gie: /* Intro */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [http://ndiswrapper.sf.net ndiswrapper]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=956Dell Inspiron 85002005-07-26T03:27:25Z<p>Big0gie: /* Power Management */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Installation==<br />
To do<br />
<br />
==Kernel==<br />
To do<br />
<br />
==X.org==<br />
To do<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=955Dell Inspiron 85002005-07-26T03:25:01Z<p>Big0gie: /* ACPI */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
===ACPI===<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=954Dell Inspiron 85002005-07-26T03:24:39Z<p>Big0gie: /* Power Management */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
====ACPI====<br />
To Do<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=953Dell Inspiron 85002005-07-26T03:23:05Z<p>Big0gie: /* To do */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=952Dell Inspiron 85002005-07-26T03:17:33Z<p>Big0gie: /* Intro */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===To do===<br />
*Clean up new wiki, MediaWiki is great!!!<br />
*Make swsusp2 work<br />
*Clean up of acpi/cpufreq with the governor chooser<br />
*ACPI daemon and events<br />
*Better kernel configuration display<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=951Dell Inspiron 85002005-07-26T03:13:50Z<p>Big0gie: /* General */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=950Dell Inspiron 85002005-07-26T03:12:36Z<p>Big0gie: /* Links */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
===General===<br />
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]<br />
<br />
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]<br />
<br />
[http://www.suspend2.net/ Software Suspend 2]<br />
<br />
===Linux on a Dell Inspiron 8500===<br />
<br />
[http://people.debian.org/~crafterm/inspiron8500.html Debian]<br />
<br />
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]<br />
<br />
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]<br />
<br />
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]<br />
<br />
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]<br />
<br />
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]<br />
<br />
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=949Dell Inspiron 85002005-07-26T03:10:07Z<p>Big0gie: /* Links */</p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
[[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]]<br />
<br />
[[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]]<br />
<br />
[[http://www.suspend2.net/ Software Suspend 2]]<br />
<br />
[[http://people.debian.org/~crafterm/inspiron8500.html Debian GNU/Linux on a Dell Inspiron 8500]]<br />
<br />
[[http://www.garshol.priv.no/download/i8500/ RedHat 9.0 on the Inspiron 8500]]<br />
<br />
[[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2 on Inspiron 8500]]<br />
<br />
[[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2 on Inspiron 8500]]<br />
<br />
[[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux on Dell Inspiron 8500]]<br />
<br />
[[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian on a Dell Inspiron 8500]]<br />
<br />
[[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1 on DELL Inspiron 8500]]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=948Dell Inspiron 85002005-07-26T03:04:52Z<p>Big0gie: </p>
<hr />
<div>==Intro==<br />
===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
===System specifications===<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
===Working===<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
===Partially Working===<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
===Not Working===<br />
===Unknown / Untested===<br />
*Firewire<br />
<br />
==Power Management==<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
==Software Suspend 2 (Hibernate) and Sleep==<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Links==<br />
[[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]]<br />
<br />
[[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]]<br />
<br />
[[http://www.suspend2.net/ Software Suspend 2]]</div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=947Dell Inspiron 85002005-07-26T03:02:37Z<p>Big0gie: /* Summary */</p>
<hr />
<div>==Summary==<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
ArchLinux is my best experience so far with linux on this computer, even if its a laptop! I've tryed Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!<br />
<br />
==System specifications==<br />
*Intel Pentium 4-M @ 2.2 Ghz<br />
*15.4" WUXGA display at 1920x1200 @ 32 bit colour<br />
*NVidia GeForce4 Go 4200 64mb<br />
*Broadcom 4400 100/10 NIC<br />
*512mb RAM (2 x 256 Mb<br />
*60gig IDE disk<br />
*Removable DVD/CD/CD-RW<br />
*Removable & USB pluggable floppy<br />
*Firewire & USB 2.0 support<br />
*IrDA<br />
*Inbuilt 56k Modem<br />
*Single PCMCIA<br />
*Onboard i810 soundcard<br />
*Mini-PCI slot<br />
*Dell TrueMobile 1300 (Mini PCI<br />
<br />
==Working==<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
==Partially Working==<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
==Not Working==<br />
==Unknown / Untested==<br />
*Firewire<br />
<br />
===Power Management===<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
====Software Suspend 2 (Hibernate) and Sleep====<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
===Links===<br />
[[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]]<br />
<br />
[[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]]<br />
<br />
[[http://www.suspend2.net/ Software Suspend 2]]<br />
<br />
----<br />
<br />
SPAM WARNING!! Don't click, immediately delete all links.<br><br></div>Big0giehttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_8500&diff=945Dell Inspiron 85002005-07-26T02:41:19Z<p>Big0gie: /* This is a work in progress by big_gie */</p>
<hr />
<div>===Summary===<br />
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.<br />
<br />
====Working====<br />
*Ethernet: Broadcom chip, use b44 module<br />
*Wireless: Dell TrueMobile 1300 [[http://ndiswrapper.sf.net ndiswrapper]]<br />
*Audio: ac97 (?)<br />
*Display: 1920x1200<br />
====Partially Working====<br />
*nVidia Geforce4 4200 Go (64 Mb)<br />
====Not Working====<br />
====Unknown / Untested====<br />
*Firewire: <br />
<br />
===Power Management===<br />
I suggest you read [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] for great information. After some work on this I wanted to add some information specific to the I8500.<br />
<br />
===CPU Frequency Scaling===<br />
For this to work, verify that your kernel has those options. Note that those options are avaible in the v2.6.11.9 kernel and may not be avaible on older kernels (it is the case of the \"ondemand\" governor).<br />
<verbatim> CPU Frequency Scaling ---><br />
[[*]] CPU Frequency scaling<br />
Default CPUFreq governor (userspace)<br />
<*> 'performance' governor<br />
<*> 'powersave' governor<br />
<*> 'ondemand' cpufreq policy governor<br />
<M> CPU frequency table helpers<br />
<M> ACPI Processor P-States driver<br />
<M> Intel Enhanced SpeedStep<br />
[[*]] Use ACPI tables to decode valid frequency/voltage pairs<br />
[[*]] Built-in tables for Banias CPUs<br />
<M> Intel Speedstep on ICH-M chipsets (ioport interface)<br />
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)<br />
<M> Intel Pentium 4 clock modulation<br />
</verbatim><br />
It is a good habit to compile modules instead of built-in since if something doesn't work, you can just unload the module. Note that if you compile the \"ondemand\", \"perfomance\" or other governors as modules, you will need to load them (\"modprobe cpufreq''performance\", \"modprobe cpufreq''powersave\", etc.) or add them to the module loading of your /etc/rc.conf<br />
<br />
As the [[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]] explain, you can use tree (3) governor for cpu frequency scaling:<br />
+powersave<br />
This governor will set the frequency to the lowest avaible, eating less electricity as possible<br />
+perfomance<br />
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat<br />
+userspace<br />
This governor will let the user set the frequency manually. This can be usefull if you want to have complete control over the frequency or if you want a specific program control this.<br />
+ondemand<br />
This governor will let the kernel decide what frequency to use. When the cpu speed is needed, it will put it at max speed, and when it is idle, it will set it to the lowest speed avaible. This is the most usefull governor.<br />
<br />
I had problems making my CPU use the ondemand governor. I've read multiple guides on the web speaking of cpufreqd, cpudyn, modules, etc. Here's what I've done to make work my Pentium 4-M 2.2 Ghz<br />
<br />
I wasn't able to make the \"Intel Speedstep on ICH-M\" (speedstep-ich) module work completly. I was able to use the userspace, perfomance and powersave governor but not the ondemand, wich I wanted. So be sure this module is not loaded.<br />
<br />
The important module to load to use the \"ondemand\" governor on this laptop is the \"ACPI Processor P-States driver\" (acpi_cpufreq) module. So be sure to add it to your /etc/rc.conf file in the module section:<br />
<verbatim><br />
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \<br />
!speedstep-ich acpi_cpufreq !usblp)<br />
</verbatim><br />
Remember that modules that begin with a \"!\" wont be load. So with this MODULES line the speedstep-ich, ide-scsi, usbserial and usblp modules wont be load.<br />
<br />
Now you need to load the ondemand governor.<br />
<br />
<br />
====Software Suspend 2 (Hibernate) and Sleep====<br />
I've managed to make the laptop go into hibernation using the [[|http://www.suspend2.net/HOWTO Software Suspend 2||http://www.suspend2.net/]] patch. Many people consider this patch as more stable than Software Suspend already included in the kernel but the downside is you need to patch the kernel, wich isn't a big deal anyway. BE ADVISED that using (any) software suspend may break your partition AND your data! Please see [[4.4 Avoiding data loss||http://www.suspend2.net/HOWTO-4.html#ss4.4]]'s section on [[Software Suspend 2 How To]]. If you don't use multiple kernels you should be fine.<br />
<br />
Software Suspend 2 is a patch against the kernel v2.6.11. If you are using a kernel from http://www.kernel.org (called \"vanilla\" because it is original) than you shouldn't have problem patching it. If you use the \"kernel26\" package, installed with pacman, then the patch could fail since some patches have been already applied. You could use [[Custom Kernel compilation with ABS (2.6.9 and later)]] for patching and installing your new patched kernel. I am using a modified PKGBUILD to build a kernel package patched with swsusp2<br />
<br />
As of may 16 2005, the latest swsusp2 patch is v2.1.8 for kernel v2.6.11 (I'm using kernel v2.6.11.9).<br />
<br />
To apply the patch, you need to open a terminal window, cd into the directory where you have your kernel source, and type this command:<br />
<verbatim><br />
> <directory of the extracted patch>/apply <directory of the extracted patch><br />
</verbatim><br />
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:<br />
<verbatim><br />
> cd /home/me/kernelsources<br />
> /home/me/swsusp2/apply /home/me/swsusp2<br />
</verbatim><br />
<br />
It should patch correctly.<br />
<br />
Now you need to configure the kernel. Here's the important section:<br />
<verbatim><br />
[[*]] Power Management support<br />
[[ ]] Power Management Debug Support<br />
Software Suspend 2 ---><br />
<*> Software Suspend 2<br />
--- Image Storage (you need at least one writer)<br />
<*> Swap Writer<br />
--- Page Transformers<br />
<*> LZF image compression (Preferred)<br />
--- User Interface Options<br />
<*> Text mode console support<br />
--- General Options<br />
(swap:/dev/hda2) Default resume device name<br />
[[ ]] Allow Keep Image Mode<br />
[[*]] Warn if possibility of filesystem corruption<br />
--- Debugging<br />
[[*]] Compile in debugging output<br />
[[ ]] Possibly Broken Developer options<br />
</verbatim><br />
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:<br />
<verbatim><br />
title Arch Linux v2.6.11.9 (pkg swsusp2 c1)<br />
root (hd0,0)<br />
kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2<br />
</verbatim><br />
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.<br />
<br />
Since you compiled a new kernel, the modules you'd compile will not work anymore. You will need to build them again. On kernel upgrade, I need to update ndiswrapper and nvidia, so be sure to have those near.<br />
<br />
Reboot in the new kernel.<br />
<br />
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].<br />
<br />
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:<br />
<verbatim><br />
# Example hibernate.conf file. Adapt to your own tastes.<br />
# Options are not case sensitive.<br />
#<br />
# Run \"hibernate -h\" for help on the configuration items.<br />
<br />
##############################################################################<br />
### Choose your Suspend method. You currently have 3 choices:<br />
###<br />
### suspend2 Software Suspend 2 (requires kernel patches from<br />
### http://www.suspend2.net/)<br />
###<br />
### sysfs''power''state Uses /sys/power/state to suspend (activates pmdisk<br />
### on kernels < 2.6.8, or vanilla swsusp otherwise).<br />
###<br />
### acpi_sleep Uses /proc/acpi/sleep to activate swsusp, or other<br />
### ACPI sleep state supported by your machine.<br />
###<br />
##############################################################################<br />
<br />
### suspend2 (for Software Suspend 2)<br />
UseSuspend2 yes<br />
Reboot no<br />
EnableEscape yes<br />
DefaultConsoleLevel 1<br />
# ImageSizeLimit 200<br />
## useful for initrd usage:<br />
# SuspendDevice swap:/dev/hda2<br />
# LoadSuspendModules suspend''swap suspend''lzf suspend_text<br />
# UnloadSuspendModulesAfterResume yes<br />
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff<br />
# PowerdownMethod 5<br />
## If you experience hangs on resume due to write caching, try this:<br />
# AsyncIOLimit 128<br />
## Any other /proc/software_suspend setting can be set like so:<br />
# ProcSetting expected''lzf''compression 50<br />
## Or traditionally like this:<br />
# Suspend2AllSettings 0 0 2056 65535 5<br />
## Or even from the results of hibernate --save-settings with this:<br />
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf<br />
## For filewriter:<br />
# FilewriterLocation /suspend_file 1000<br />
# VerifyFilewriterResume2 yes<br />
<br />
### sysfs''power''state<br />
## To use /sys/power/state to suspend your machine (which may offer<br />
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options<br />
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.<br />
## You may replace mem with any one of the states from \"cat /sys/power/state\"<br />
# UseSysfsPowerState mem<br />
# PowerdownMethod shutdown<br />
<br />
### acpi_sleep<br />
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out<br />
## all the options above for Software Suspend 2 and sysfs, and uncomment this<br />
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and<br />
## 4 is suspend-to-disk.<br />
# UseACPISleep 4<br />
<br />
##############################################################################<br />
### Some global settings<br />
##############################################################################<br />
<br />
Verbosity 2<br />
LogFile /var/log/hibernate.log<br />
LogVerbosity 4<br />
# AlwaysForce yes<br />
# AlwaysKill yes<br />
# HibernateVT 15<br />
# Distribution debian (not required - autodetection should work)<br />
# XDisplay :0<br />
<br />
##############################################################################<br />
### Scriptlets<br />
### Scriptlets provide support for doing all sorts of things before and after<br />
### suspending. The defaults settings here should work for most people, but<br />
### you may wish to edit these to taste. Consult \"hibernate -h\" for help on<br />
### the configuration settings.<br />
##############################################################################<br />
<br />
### bootsplash<br />
## If you use bootsplash, also enabling SwitchToTextMode is recommended if<br />
## you use X, otherwise you may end up with a garbled X display.<br />
# Bootsplash on<br />
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg<br />
<br />
### clock<br />
SaveClock restore-only<br />
<br />
### devices<br />
# IncompatibleDevices /dev/dsp /dev/video*<br />
<br />
### diskcache<br />
# DisableWriteCacheOn /dev/hda<br />
<br />
### fbsplash (enable SwitchToTextMode if you use this)<br />
# FBSplash on<br />
# FBSplashTheme suspend2<br />
<br />
### filesystems<br />
# Unmount /nfsshare /windows /mnt/sambaserver<br />
# UnmountFSTypes smbfs nfs<br />
# UnmountGraceTime 1<br />
# Mount /windows<br />
<br />
### grub<br />
# ChangeGrubMenu yes<br />
# GrubMenuFile /boot/grub/menu.lst<br />
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst<br />
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak<br />
<br />
### hardware_tweaks<br />
# IbmAcpi yes<br />
# RadeonTool yes<br />
<br />
### lilo<br />
# EnsureLILOResumes yes<br />
<br />
### lock (generally you only want one of the following options)<br />
# LockConsoleAs root<br />
# LockXScreenSaver yes<br />
# LockKDE yes<br />
<br />
### misclaunch<br />
# OnSuspend 20 echo \"Good night!\"<br />
# OnResume 20 echo \"Good morning!\"<br />
# This is not required. It will only shutdown nicely the screen<br />
OnSuspend 51 xscreensaver-command -activate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off<br />
OnSuspend 51 xscreensaver-command -dactivate<br />
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on<br />
OnSuspend 49 xscreensaver-command -dactivate<br />
<br />
### modules<br />
# UnloadModules snd_via82cxxx usb-ohci<br />
# UnloadAllModules yes<br />
UnloadBlacklistedModules yes<br />
LoadModules auto<br />
# LoadModulesFromFile /etc/modules<br />
<br />
### modules-gentoo<br />
# GentooModulesAutoload yes<br />
<br />
### network<br />
# DownInterfaces eth0<br />
# UpInterfaces auto<br />
<br />
### programs<br />
# IncompatiblePrograms xmms<br />
<br />
### services<br />
# RestartServices postfix<br />
# StopServices alsasound<br />
# StartServices aumix<br />
RestartServices wireless network<br />
<br />
### vbetool<br />
# EnableVbetool yes<br />
# RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
# VbetoolPost yes<br />
<br />
### xhacks<br />
SwitchToTextMode yes<br />
# UseDummyXServer yes<br />
<br />
### xstatus<br />
## This can be set to gnome, kde or x:<br />
XStatus kde<br />
XSuspendText Preparation a la mise en veille prolongee...<br />
XResumeText Sortie de la mise en veille prolongee...<br />
## When using XStatus x, and you have xosd installed:<br />
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50<br />
</verbatim><br />
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:<br />
<verbatim><br />
RestartServices wireless network<br />
</verbatim><br />
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:<br />
<verbatim><br />
SwitchToTextMode yes<br />
</verbatim><br />
This will prevent X locking...<br />
<br />
<br />
<br />
<br />
<br />
<br />
===Links===<br />
[[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]]<br />
<br />
[[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]]<br />
<br />
[[http://www.suspend2.net/ Software Suspend 2]]<br />
<br />
----<br />
<br />
SPAM WARNING!! Don't click, immediately delete all links.<br><br></div>Big0gie