Difference between revisions of "Dell Inspiron 8500"

From ArchWiki
Jump to: navigation, search
m (System specifications)
(use https for links to archlinux.org)
(41 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:Laptop]]
+
[[Category:Dell]]
 
+
 
==Intro==
 
==Intro==
 
===Summary===
 
===Summary===
I didn't even finished the text, so don't follow exactly whats here, only inspire yourself until I'm finished.
+
Arch Linux is my best experience so far with Linux on this computer, even if it's a laptop! I've tried Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!
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!
+
  
 
===To do===
 
===To do===
*Clean up new wiki. [http://en.wikipedia.org/wiki/Mediawiki MediaWiki] is great but has break all the layout... Need to clean this mess!
 
 
*Make swsusp2 work
 
*Make swsusp2 work
 
*Clean up of acpi/cpufreq with the governor chooser
 
*Clean up of acpi/cpufreq with the governor chooser
 
*ACPI daemon and events
 
*ACPI daemon and events
 
*Better kernel configuration display
 
*Better kernel configuration display
 
===System specifications===
 
*Intel Pentium 4-M @ 2.2 Ghz
 
*15.4" WUXGA display at 1920x1200 @ 32 bit colour
 
*NVidia GeForce4 Go 4200 64mb
 
*Broadcom 4400 100/10 NIC
 
*512mb RAM (2 x 256 Mb)
 
*60gig IDE disk
 
*Removable DVD/CD/CD-RW
 
*Removable & USB pluggable floppy
 
*1 Firewire port
 
*2 USB 2.0 ports
 
*IrDA
 
*Intel (PCTel) AC'97 Modem (WinModem?)
 
*Single PCMCIA
 
*Onboard i810 soundcard
 
*Mini-PCI slot
 
*Dell TrueMobile 1300 (Broadcom BCM4306 Mini PCI)
 
 
Output of lspci (run "sudo update-pciids" to get updated results) :
 
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
 
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
 
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
 
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
 
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
 
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
 
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
 
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
 
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
 
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
 
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
 
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x] (rev a1)
 
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
 
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)
 
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller
 
02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)
 
  
 
===Working===
 
===Working===
Line 54: Line 15:
 
*Audio: ac97 (?)
 
*Audio: ac97 (?)
 
*Display: 1920x1200
 
*Display: 1920x1200
 +
*Firewire
 +
*InfraRed (IrDa)
 +
 
===Partially Working===
 
===Partially Working===
 
*nVidia Geforce4 4200 Go (64 Mb)
 
*nVidia Geforce4 4200 Go (64 Mb)
 
===Not Working===
 
===Not Working===
 
*Modem
 
*Modem
 
===Unknown / Untested===
 
*Firewire
 
 
==Installation==
 
To do
 
  
 
==Kernel==
 
==Kernel==
To do
+
A working v2.6.19 config is at https://pastebin.archlinux.org/345
  
 
==X.org==
 
==X.org==
To do
+
===nVidia Geforce4 4200 Go (64 Mb)===
[http://archlinux.nb.homelinux.net/pub/config/xorg.conf xorg.conf]
+
to do
  
==Power Management==
+
===ATI Mobility Raedon 9600===
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.
+
my working /etc/X11/xorg.conf
 +
Note: I have an Alps touchpad that uses the synaptics driver. You would need to install the "synaptics" package to use it. (As configured below it has no tapping.)
  
===CPU Frequency Scaling===
 
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).
 
<verbatim>  CPU Frequency Scaling --->
 
    [[*]] CPU Frequency scaling
 
          Default CPUFreq governor (userspace)
 
    <*> 'performance' governor
 
    <*> 'powersave' governor
 
    <*> 'ondemand' cpufreq policy governor
 
    <M> CPU frequency table helpers
 
    <M> ACPI Processor P-States driver
 
    <M> Intel Enhanced SpeedStep
 
    [[*]]  Use ACPI tables to decode valid frequency/voltage pairs
 
    [[*]]  Built-in tables for Banias CPUs
 
    <M> Intel Speedstep on ICH-M chipsets (ioport interface)
 
    <M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
 
    <M> Intel Pentium 4 clock modulation
 
</verbatim>
 
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
 
  
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:
+
# **********************************************************************
+powersave
+
# Modules section. This allows modules to be specified
This governor will set the frequency to the lowest avaible, eating less electricity as possible
+
# **********************************************************************
+perfomance
+
This governor will set the frequency to the highest avaible, making speed the priority over battery life or heat
+
Section "Module"
+userspace
+
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.
+
    Load "dbe"  # Double buffer extension
+ondemand
+
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.
+
    SubSection  "extmod"
 +
      Option    "omit xfree86-dga"  # do not initialize the DGA extension
 +
    EndSubSection
 +
 +
    Load "freetype"
 +
    Load "glx"
 +
    Load "dri"
 +
    Load "drm"
 +
    Load "synaptics"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Files section
 +
# ******************************
 +
 +
Section "Files"
 +
 +
    FontPath  "/usr/share/fonts/misc"
 +
    FontPath  "/usr/share/fonts/TTF"
 +
    FontPath  "/usr/share/fonts/local"
 +
   
 +
EndSection
 +
 +
 +
# ******************************
 +
# Server flags section
 +
# ******************************
 +
 +
Section "ServerFlags"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Core keyboard's InputDevice section
 +
# ******************************
 +
 +
Section "InputDevice"
 +
 +
    Identifier "Keyboard1"
 +
    Driver   "kbd"
 +
    Option    "AutoRepeat" "500 30"
 +
    Option    "XkbRules"  "xorg"
 +
    Option    "XkbModel"  "dell101"
 +
    Option    "XkbLayout"  "us"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Core Pointer's InputDevice section
 +
# ******************************
 +
 +
Section "InputDevice"
 +
 +
    Identifier "Generic Mouse"
 +
    Driver "mouse"
 +
    Option "Protocol" "Auto" # Auto detect
 +
    Option "Device" "/dev/input/mice"
 +
    Option "ZAxisMapping" "4 5 6 7"
 +
    Option "Emulate3Buttons"
 +
 +
EndSection
 +
 +
Section "InputDevice"
 +
 +
    Driver    "synaptics"
 +
    Identifier "Alps touchpad"
 +
    Option    "Device" "/dev/input/mice"
 +
    Option    "Protocol" "auto-dev"
 +
    Option    "Emulate3Buttons"
 +
 +
    # synaptic driver specific options
 +
    Option  "LeftEdge"        "1700"
 +
    Option  "RightEdge"      "5300"
 +
    Option  "TopEdge"        "1700"
 +
    Option  "BottomEdge"      "4200"
 +
    Option  "FingerLow"      "25"
 +
    Option  "FingerHigh"      "30"
 +
    Option  "MaxTapTime"      "180"
 +
    Option  "MaxTapMove"      "220"
 +
    Option  "VertScrollDelta" "100"
 +
    Option  "MinSpeed"        "0.4"
 +
    Option  "MaxSpeed"        "0.5"
 +
    Option  "AccelFactor"    "0.01"
 +
    Option  "SHMConfig"      "on"
 +
    # Option  "Repeater"    "/dev/ps2mouse"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Monitor section
 +
# ******************************
 +
 +
Section "Monitor"
 +
 +
    Identifier  "Dell Inspiron 8500 WXGA LCD"
 +
    HorizSync  15-100
 +
    VertRefresh 15-100
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Graphics device section
 +
# ******************************
 +
 +
Section "Device"
 +
 +
    Identifier  "ATI Mobility Radeon 9600"
 +
    Driver      "radeon"
 +
    Option "AGPMode" "4"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# Screen sections
 +
# ******************************
 +
 +
Section "Screen"
 +
 +
    Identifier  "Screen 1"
 +
    Device      "ATI Mobility Radeon 9600"
 +
    Monitor      "Dell Inspiron 8500 WXGA LCD"
 +
    DefaultDepth 24
 +
 +
    Subsection "Display"
 +
        Depth    24
 +
        Modes    "1280x800"
 +
        ViewPort 0 0
 +
    EndSubsection
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# ServerLayout sections.
 +
# ******************************
 +
 +
Section "ServerLayout"
 +
 +
    Identifier  "Layout 1"
 +
    Screen      "Screen 1"
 +
    InputDevice "Alps Touchpad" "CorePointer"
 +
    InputDevice "Keyboard1" "CoreKeyboard"
 +
 +
EndSection
 +
 +
 +
# ******************************
 +
# DRI extension options section
 +
# ******************************
 +
 +
Section "DRI"
 +
    Group "video"
 +
    Mode 0666
 +
EndSection
 +
 +
Section "Extensions"
 +
    Option "Composite" "Enable"
 +
    Option "RENDER"    "Enable"
 +
EndSection
  
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
+
==Hardware==
  
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.
+
===Infrared receiver===
 +
First shutdown computer, reboot and enter the BIOS by pressing F2. Find the Infrared option, enable it (it is disable by default!) and set it to COM2.
 +
Visit [http://www.lirc.org/ LIRC]'s webpage and download their latest [http://lirc.sourceforge.net/software/snapshots/ CVS snapshot]. Extract, go into directory and run setup.sh :
 +
> wget http://lirc.sourceforge.net/software/snapshots/lirc-0.8.1pre3.tar.bz2
 +
> tar -jxvf lirc-0.8.1pre3.tar.bz2
 +
> cd lirc-0.8.1pre3
 +
> ./setup.sh
 +
Then select :
 +
1 Driver configuration
 +
--> 6 IrDA hardware
 +
    --> 1 SIR IrDA (built-in IR ports)
 +
3 Save configuration & run configure
 +
Now make it :
 +
make && sudo make install
 +
Be sure you do not have the irdautils package. It blocks the serial port. You will need to load the "lirc_sir" module. If you got error like :
 +
lirc_sir: i/o port 0x02f8 already in use.
 +
in dmesg, run this command as root :
 +
# /bin/setserial /dev/ttyS1 uart none
 +
then try again to modprobe "lirc_sir". If it works, create the file "/etc/modprobe.d/lirc" and put is that line :
 +
install lirc_sir /bin/setserial /dev/ttyS1 uart none; /sbin/modprobe --ignore-install lirc_sir
 +
This will run the command above each time you try to modprobe the "lirc_sir" module. Add the module to autoload (/etc/modules).
  
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:
+
Now continue as the installation procedure of lirc.
<verbatim>
+
MODULES=(!usbserial !ide-scsi snd-intel8x0 snd-pcm-oss i8k \
+
!speedstep-ich acpi_cpufreq !usblp)
+
</verbatim>
+
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.
+
  
Now you need to load the ondemand governor.
 
  
===ACPI===
+
==Power Management==
To Do
+
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.
  
==Software Suspend 2 (Hibernate) and Sleep==
+
===CPU Scaling===
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.
+
See [[CPU Frequency Scaling]].
  
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
+
===ACPI===
  
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).
+
To turnoff the computer when you press the power button, put the following in /etc/acpi/handler.sh
  
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:
+
button/power)
<verbatim>
+
        case "$2" in
> <directory of the extracted patch>/apply <directory of the extracted patch>
+
            PBTN)
</verbatim>
+
                    logger "PowerButton pressed: $2"
So if you extracted the patches to /home/me/swsusp2 and you have your kernel sources in /home/me/kernelsources the it will give:
+
                    halt
<verbatim>
+
            ;;
> cd /home/me/kernelsources
+
            *)    logger "ACPI action undefined: $2" ;;
> /home/me/swsusp2/apply /home/me/swsusp2
+
        esac
</verbatim>
+
  
It should patch correctly.
+
Replace the "halt" line with the shutdown command of your choice.
  
Now you need to configure the kernel. Here's the important section:
 
<verbatim>
 
[[*]] Power Management support
 
[[ ]]  Power Management Debug Support
 
  Software Suspend 2  --->
 
  <*> Software Suspend 2
 
  --- Image Storage (you need at least one writer)
 
  <*>    Swap Writer
 
  --- Page Transformers
 
  <*>    LZF image compression (Preferred)
 
  --- User Interface Options
 
  <*>  Text mode console support
 
  --- General Options
 
  (swap:/dev/hda2)    Default resume device name
 
  [[ ]]    Allow Keep Image Mode
 
  [[*]]    Warn if possibility of filesystem corruption
 
  --- Debugging
 
  [[*]]    Compile in debugging output
 
  [[ ]]    Possibly Broken Developer options
 
</verbatim>
 
Compile, then copy to /boot. Now edit your /boot/grub/menu.lst and add a new section for the new kernel:
 
<verbatim>
 
title  Arch Linux v2.6.11.9 (pkg swsusp2 c1)
 
        root  (hd0,0)
 
        kernel /kernel-2.6.11.9-swsusp2-c1 root<code>/dev/discs/disc0/part3 ro devfs</code>nomount resume2=swap:/dev/hda2
 
</verbatim>
 
The important thing is the \"resume2=swap:/dev/hda2\" option, witch tell the kernel where to get the image to resume.
 
  
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.
+
To turn off the backlight of an ATI Radeon Mobility card, put the following in /etc/acpi/handler.sh
  
Reboot in the new kernel.
+
button/lid)
 +
        case "$2" in
 +
            LID)
 +
                logger "ACPI button/lid action"
 +
                STATE=`radeontool light`
 +
                case "$STATE" in
 +
                    "The radeon backlight looks on") radeontool light off ;;
 +
                    "The radeon backlight looks off") radeontool light on ;;
 +
                esac
 +
                ;;
 +
        esac
 +
        ;;
  
Now install hibernate-script. A PKGBUILD can be found [[|http://bbs.archlinux.org/viewtopic.php?t=7797 here]].
+
This requires that you have the radeontool package installed (it is in AUR). You also need to add "acpid" to the DAEMONS array in /etc/rc.conf.
  
Almost done. Edit /etc/hibernate/hibernate.conf and adjust to your needs. Here is mine:
+
==See also==
<verbatim>
+
# Example hibernate.conf file. Adapt to your own tastes.
+
# Options are not case sensitive.
+
#
+
# Run \"hibernate -h\" for help on the configuration items.
+
 
+
##############################################################################
+
### Choose your Suspend method. You currently have 3 choices:
+
###
+
###    suspend2            Software Suspend 2 (requires kernel patches from
+
###                        http://www.suspend2.net/)
+
###
+
###    sysfs''power''state  Uses /sys/power/state to suspend (activates pmdisk
+
###                        on kernels < 2.6.8, or vanilla swsusp otherwise).
+
###
+
###    acpi_sleep          Uses /proc/acpi/sleep to activate swsusp, or other
+
###                        ACPI sleep state supported by your machine.
+
###
+
##############################################################################
+
 
+
### suspend2 (for Software Suspend 2)
+
UseSuspend2 yes
+
Reboot no
+
EnableEscape yes
+
DefaultConsoleLevel 1
+
# ImageSizeLimit 200
+
## useful for initrd usage:
+
# SuspendDevice swap:/dev/hda2
+
# LoadSuspendModules suspend''swap suspend''lzf suspend_text
+
# UnloadSuspendModulesAfterResume yes
+
## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff
+
# PowerdownMethod 5
+
## If you experience hangs on resume due to write caching, try this:
+
# AsyncIOLimit 128
+
## Any other /proc/software_suspend setting can be set like so:
+
# ProcSetting expected''lzf''compression 50
+
## Or traditionally like this:
+
# Suspend2AllSettings 0 0 2056 65535 5
+
## Or even from the results of hibernate --save-settings with this:
+
# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf
+
## For filewriter:
+
# FilewriterLocation /suspend_file 1000
+
# VerifyFilewriterResume2 yes
+
 
+
### sysfs''power''state
+
## To use /sys/power/state to suspend your machine (which may offer
+
## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options
+
## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.
+
## You may replace mem with any one of the states from \"cat /sys/power/state\"
+
# UseSysfsPowerState mem
+
# PowerdownMethod shutdown
+
 
+
### acpi_sleep
+
## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out
+
## all the options above for Software Suspend 2 and sysfs, and uncomment this
+
## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and
+
## 4 is suspend-to-disk.
+
# UseACPISleep 4
+
 
+
##############################################################################
+
### Some global settings
+
##############################################################################
+
 
+
Verbosity 2
+
LogFile /var/log/hibernate.log
+
LogVerbosity 4
+
# AlwaysForce yes
+
# AlwaysKill yes
+
# HibernateVT 15
+
# Distribution debian (not required - autodetection should work)
+
# XDisplay :0
+
 
+
##############################################################################
+
### Scriptlets
+
###  Scriptlets provide support for doing all sorts of things before and after
+
###  suspending. The defaults settings here should work for most people, but
+
###  you may wish to edit these to taste. Consult \"hibernate -h\" for help on
+
###  the configuration settings.
+
##############################################################################
+
 
+
### bootsplash
+
## If you use bootsplash, also enabling SwitchToTextMode is recommended if
+
## you use X, otherwise you may end up with a garbled X display.
+
# Bootsplash on
+
# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg
+
 
+
### clock
+
SaveClock restore-only
+
 
+
### devices
+
# IncompatibleDevices /dev/dsp /dev/video*
+
 
+
### diskcache
+
# DisableWriteCacheOn /dev/hda
+
 
+
### fbsplash (enable SwitchToTextMode if you use this)
+
# FBSplash on
+
# FBSplashTheme suspend2
+
 
+
### filesystems
+
# Unmount /nfsshare /windows /mnt/sambaserver
+
# UnmountFSTypes smbfs nfs
+
# UnmountGraceTime 1
+
# Mount /windows
+
 
+
### grub
+
# ChangeGrubMenu yes
+
# GrubMenuFile /boot/grub/menu.lst
+
# AlternateGrubMenuFile /boot/grub/menu-suspended.lst
+
# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak
+
 
+
### hardware_tweaks
+
# IbmAcpi yes
+
# RadeonTool yes
+
 
+
### lilo
+
# EnsureLILOResumes yes
+
 
+
### lock (generally you only want one of the following options)
+
# LockConsoleAs root
+
# LockXScreenSaver yes
+
# LockKDE yes
+
 
+
### misclaunch
+
# OnSuspend 20 echo \"Good night!\"
+
# OnResume 20 echo \"Good morning!\"
+
# This is not required. It will only shutdown nicely the screen
+
OnSuspend 51 xscreensaver-command -activate
+
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force off
+
OnSuspend 51 xscreensaver-command -dactivate
+
OnSuspend 50 /usr/X11R6/bin/xset -display :0 dpms force on
+
OnSuspend 49 xscreensaver-command -dactivate
+
 
+
### modules
+
# UnloadModules snd_via82cxxx usb-ohci
+
# UnloadAllModules yes
+
UnloadBlacklistedModules yes
+
LoadModules auto
+
# LoadModulesFromFile /etc/modules
+
 
+
### modules-gentoo
+
# GentooModulesAutoload yes
+
 
+
### network
+
# DownInterfaces eth0
+
# UpInterfaces auto
+
 
+
### programs
+
# IncompatiblePrograms xmms
+
 
+
### services
+
# RestartServices postfix
+
# StopServices alsasound
+
# StartServices aumix
+
RestartServices wireless network
+
 
+
### vbetool
+
# EnableVbetool yes
+
# RestoreVbeStateFrom /var/lib/vbetool/vbestate
+
# VbetoolPost yes
+
 
+
### xhacks
+
SwitchToTextMode yes
+
# UseDummyXServer yes
+
 
+
### xstatus
+
## This can be set to gnome, kde or x:
+
XStatus kde
+
XSuspendText Preparation a la mise en veille prolongee...
+
XResumeText Sortie de la mise en veille prolongee...
+
## When using XStatus x, and you have xosd installed:
+
#XosdSettings --font -misc-fixed-medium-r-semicondensed--'''-120-'''-'''-c-'''-'''-''' --colour=Green --shadow 1 --pos bottom --align center --offset 50
+
</verbatim>
+
hibernate-script is really nice because it can automaticaly unload bad modules, restart services, etc. The important part is:
+
<verbatim>
+
RestartServices wireless network
+
</verbatim>
+
ndiswrapper, witch is used on my DI8500, is a \"module to be ban\" so the network will need to be restarted after resume. Also:
+
<verbatim>
+
SwitchToTextMode yes
+
</verbatim>
+
This will prevent X locking...
+
 
+
==Links==
+
 
===General===
 
===General===
[http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]
 
  
[http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]
+
* [http://www.gentoo.org/doc/en/power-management-guide.xml Gentoo Power Management Guide]
 
+
* [http://en.gentoo-wiki.com/Inspiron_8500 Gentoo Dell Inspiron 8500 Wiki]
[http://www.suspend2.net/ Software Suspend 2]
+
* [http://www.suspend2.net/ Software Suspend 2]
 
+
* [http://www.linux-on-laptops.com/dell.html Linux on Laptops]
[http://www.linux-on-laptops.com/dell.html Linux on Laptops]
+
* This report is listed at the [http://tuxmobil.org/dell.html TuxMobil: Linux Laptop and Notebook Installation Guides Survey: DELL].
  
 
===Linux on a Dell Inspiron 8500===
 
===Linux on a Dell Inspiron 8500===
 
+
*[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]
[http://people.debian.org/~crafterm/inspiron8500.html Debian]
+
*[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]
 
+
[http://www.garshol.priv.no/download/i8500/ RedHat 9.0]
+
 
+
[http://www.homestead.com/einstein/Inspiron8500.html Fedora Core 2]
+
 
+
[http://www.ife.ee.ethz.ch/~mwirz/dell/inspiron8500.html Suse 9.2]
+
 
+
[http://www.meteo.psu.edu/~mas582/Linux/ Slackware Linux]
+
 
+
[http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/ Debian]
+
 
+
[http://www.wayfinder.it/resources/inspiron8500.php Linux Debian 3.1]
+

Revision as of 00:13, 6 December 2012

Intro

Summary

Arch Linux is my best experience so far with Linux on this computer, even if it's a laptop! I've tried Mandrake 10, 10.1, Suse 9.2, Gentoo 2004.3 and Fedora Core 2 and 3. I really like the KISS philosophy!

To do

  • Make swsusp2 work
  • Clean up of acpi/cpufreq with the governor chooser
  • ACPI daemon and events
  • Better kernel configuration display

Working

  • Ethernet: Broadcom chip, use b44 module
  • Wireless: Dell TrueMobile 1300 ndiswrapper
  • Audio: ac97 (?)
  • Display: 1920x1200
  • Firewire
  • InfraRed (IrDa)

Partially Working

  • nVidia Geforce4 4200 Go (64 Mb)

Not Working

  • Modem

Kernel

A working v2.6.19 config is at https://pastebin.archlinux.org/345

X.org

nVidia Geforce4 4200 Go (64 Mb)

to do

ATI Mobility Raedon 9600

my working /etc/X11/xorg.conf Note: I have an Alps touchpad that uses the synaptics driver. You would need to install the "synaptics" package to use it. (As configured below it has no tapping.)


# **********************************************************************
# Modules section. This allows modules to be specified
# **********************************************************************

Section "Module"

   Load "dbe"  	# Double buffer extension

   SubSection  "extmod"
     Option    "omit xfree86-dga"   # do not initialize the DGA extension
   EndSubSection

   Load "freetype"
   Load "glx"
   Load "dri"
   Load "drm"
   Load "synaptics"

EndSection


# ******************************
# Files section
# ******************************

Section "Files"

   FontPath   "/usr/share/fonts/misc"
   FontPath   "/usr/share/fonts/TTF"
   FontPath   "/usr/share/fonts/local"
   
EndSection


# ******************************
# Server flags section
# ******************************

Section "ServerFlags"

EndSection


# ******************************
# Core keyboard's InputDevice section
# ******************************

Section "InputDevice"

   Identifier "Keyboard1"
   Driver	   "kbd"
   Option     "AutoRepeat" "500 30"
   Option     "XkbRules"   "xorg"
   Option     "XkbModel"   "dell101"
   Option     "XkbLayout"  "us"

EndSection


# ******************************
# Core Pointer's InputDevice section
# ******************************

Section "InputDevice"

   Identifier "Generic Mouse"
   Driver "mouse"
   Option "Protocol" "Auto" # Auto detect
   Option "Device" "/dev/input/mice"
   Option "ZAxisMapping" "4 5 6 7"
   Option "Emulate3Buttons"

EndSection

Section "InputDevice"

   Driver     "synaptics"
   Identifier "Alps touchpad"
   Option     "Device" "/dev/input/mice"
   Option     "Protocol" "auto-dev"
   Option     "Emulate3Buttons"

   # synaptic driver specific options
   Option  "LeftEdge"        "1700"
   Option  "RightEdge"       "5300"
   Option  "TopEdge"         "1700"
   Option  "BottomEdge"      "4200"
   Option  "FingerLow"       "25"
   Option  "FingerHigh"      "30"
   Option  "MaxTapTime"      "180"
   Option  "MaxTapMove"      "220"
   Option  "VertScrollDelta" "100"
   Option  "MinSpeed"        "0.4"
   Option  "MaxSpeed"        "0.5"
   Option  "AccelFactor"     "0.01"
   Option  "SHMConfig"       "on"
   # Option  "Repeater"    "/dev/ps2mouse"

EndSection


# ******************************
# Monitor section
# ******************************

Section "Monitor"

   Identifier  "Dell Inspiron 8500 WXGA LCD"
   HorizSync   15-100
   VertRefresh 15-100

EndSection


# ******************************
# Graphics device section
# ******************************

Section "Device"

   Identifier  "ATI Mobility Radeon 9600"
   Driver      "radeon"
   Option "AGPMode" "4"

EndSection


# ******************************
# Screen sections
# ******************************

Section "Screen"

   Identifier   "Screen 1"
   Device       "ATI Mobility Radeon 9600"
   Monitor      "Dell Inspiron 8500 WXGA LCD"
   DefaultDepth 24

   Subsection "Display"
       Depth    24
       Modes    "1280x800"
       ViewPort 0 0
   EndSubsection

EndSection


# ******************************
# ServerLayout sections.
# ******************************

Section "ServerLayout"

   Identifier  "Layout 1"
   Screen      "Screen 1"
   InputDevice "Alps Touchpad" "CorePointer"
   InputDevice "Keyboard1" "CoreKeyboard"

EndSection


# ******************************
# DRI extension options section
# ******************************

Section "DRI"
   Group "video"
   Mode 0666
EndSection

Section "Extensions"
   Option "Composite" "Enable"
   Option "RENDER"    "Enable"
EndSection

Hardware

Infrared receiver

First shutdown computer, reboot and enter the BIOS by pressing F2. Find the Infrared option, enable it (it is disable by default!) and set it to COM2. Visit LIRC's webpage and download their latest CVS snapshot. Extract, go into directory and run setup.sh :

> wget http://lirc.sourceforge.net/software/snapshots/lirc-0.8.1pre3.tar.bz2
> tar -jxvf lirc-0.8.1pre3.tar.bz2
> cd lirc-0.8.1pre3
> ./setup.sh

Then select :

1 Driver configuration
--> 6 IrDA hardware
   --> 1 SIR IrDA (built-in IR ports)
3 Save configuration & run configure

Now make it :

make && sudo make install

Be sure you do not have the irdautils package. It blocks the serial port. You will need to load the "lirc_sir" module. If you got error like :

lirc_sir: i/o port 0x02f8 already in use.

in dmesg, run this command as root :

# /bin/setserial /dev/ttyS1 uart none

then try again to modprobe "lirc_sir". If it works, create the file "/etc/modprobe.d/lirc" and put is that line :

install lirc_sir /bin/setserial /dev/ttyS1 uart none; /sbin/modprobe --ignore-install lirc_sir

This will run the command above each time you try to modprobe the "lirc_sir" module. Add the module to autoload (/etc/modules).

Now continue as the installation procedure of lirc.


Power Management

I suggest you read Gentoo Power Management Guide for great information. After some work on this I wanted to add some information specific to the I8500.

CPU Scaling

See CPU Frequency Scaling.

ACPI

To turnoff the computer when you press the power button, put the following in /etc/acpi/handler.sh

button/power)
       case "$2" in
           PBTN)
                   logger "PowerButton pressed: $2"
                   halt
           ;;
           *)    logger "ACPI action undefined: $2" ;;
       esac

Replace the "halt" line with the shutdown command of your choice.


To turn off the backlight of an ATI Radeon Mobility card, put the following in /etc/acpi/handler.sh

button/lid)
       case "$2" in
           LID)
               logger "ACPI button/lid action"
               STATE=`radeontool light`
               case "$STATE" in
                   "The radeon backlight looks on") radeontool light off ;;
                   "The radeon backlight looks off") radeontool light on ;;
               esac
               ;;
       esac
       ;;

This requires that you have the radeontool package installed (it is in AUR). You also need to add "acpid" to the DAEMONS array in /etc/rc.conf.

See also

General

Linux on a Dell Inspiron 8500