Laptop power management support
Jean Privat
privat at lirmm.fr
Mon Nov 15 13:34:14 CST 2004
> I've been doing some work on power management support. Note that this
is
> all highly experimental, so proceed with caution. It may eat your disks.
>
> There's two parts to this - kernel support and userspace support. Add
>
> deb http://www.srcf.ucam.org/~mjg59/laptops/ ./
>
> to /etc/apt/sources.list and do
>
> sudo apt-get install linux-image-2.6.9-1-386 acpi-support
Ok, I play with power managment. Here the result.
Machine : Dell C800 Latitude
Suspend to disk (power button) does not work: system seems to stop but
come back to live instantaneously.
Suspend to ram (Fn+Escape here) works: system turns off (not event a
blinking led if I remove AC power).
On wakeup, if X dri module is loaded, computer freeze with graphical
glitches. Without this module, the wakeup seems to work but the computer
suspend again immediately. On the second wakeup, the computer finally
wakeup and hooray the xscreensaver lock screen appears.
Network and sound still works even if they are used while suspending.
The dmesg output is joined. There is two suspend to disk try and two
suspend to ram (with two resume for each).
Here "lspci -vv" output for the graphic controller :
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Rage
Mobility M4 AGP (prog-if 00 [VGA])
Subsystem: Dell: Unknown device 00a3
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+
ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min), Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at e8000000 (32-bit, prefetchable) [size=64M]
Region 1: I/O ports at cc00 [size=256]
Region 2: Memory at fcffc000 (32-bit, non-prefetchable)
[size=16K]
Capabilities: [50] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW-
Rate=<none>
Capabilities: [5c] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
--
Jean Privat
-------------- next part --------------
es: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: 0383f9ff 00000000 00000000 00000000
CPU: After vendor identify, caps: 0383f9ff 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After all inits, caps: 0383f9ff 00000000 00000000 00000040
CPU: Intel Pentium III (Coppermine) stepping 06
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
ACPI: Looking for DSDT in initrd... not found!
ACPI: IRQ9 SCI: Edge set to Level Trigger.
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
Freeing initrd memory: 4196k freed
NET: Registered protocol family 16
EISA bus registered
PCI: PCI BIOS revision 2.10 entry at 0xfc06e, last bus=2
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040816
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
ACPI: PCI Interrupt Link [LNKB] (IRQs *5 7)
ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 *10 11)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIE._PRT]
ACPI: Power Resource [PADA] (on)
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00fe2d0
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xe2f4, dseg 0x40
PnPBIOS: 16 nodes reported by PnP BIOS; 16 recorded by driver
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:1f.2[D] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:06.1[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.1[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
pnp: 00:01: ioport range 0x800-0x87f could not be reserved
pnp: 00:01: ioport range 0x860-0x87f has been reserved
pnp: 00:01: ioport range 0x880-0x8bf has been reserved
pnp: 00:01: ioport range 0x8c0-0x8ff has been reserved
pnp: 00:01: ioport range 0x600-0x67f has been reserved
pnp: 00:01: ioport range 0x680-0x6ff has been reserved
pnp: 00:01: ioport range 0x3f0-0x3f1 has been reserved
pnp: 00:01: ioport range 0x900-0x90f has been reserved
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
devfs: 2004-01-31 Richard Gooch (rgooch at atnf.csiro.au)
devfs: boot_options: 0x0
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 54 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
input: AT Translated Set 2 keyboard on isa0060/serio0
EISA: Probing bus 0 at eisa0
EISA: Detected 0 cards.
NET: Registered protocol family 2
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 65536)
NET: Registered protocol family 8
NET: Registered protocol family 20
ACPI: (supports S0 S1 S3 S4 S4bios S5)
ACPI wakeup devices:
LID PBTN PCI0 UAR1 USB0 PCIE MPCI
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 4196KiB [1 disk] into ram disk... |/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-done.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel memory: 208k freed
ACPI: Processor [CPU0] (supports C1 C2)
ACPI: Thermal Zone [THM] (42 C)
NET: Registered protocol family 1
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH2M: IDE controller at PCI slot 0000:00:1f.1
ICH2M: chipset revision 2
ICH2M: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: IBM-DJSA-210, ATA DISK drive
hdb: TEAC CD-ROM CD-224E, ATAPI CD/DVD-ROM drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 19640880 sectors (10056 MB) w/384KiB Cache, CHS=19485/16/63, UDMA(66)
hda: cache flushes not supported
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3
Probing IDE interface ide1...
Probing IDE interface ide1...
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
Adding 232932k swap on /dev/hda3. Priority:-1 extents:1
EXT3 FS on hda2, internal journal
Synaptics Touchpad, model: 1
Firmware: 5.6
180 degree mounted touchpad
Sensor: 1
new absolute packet format
Touchpad has extended capability bits
-> multifinger detection
-> palm detection
-> pass-through port
input: SynPS/2 Synaptics TouchPad on isa0060/serio1
serio: Synaptics pass-through port at isa0060/serio1/input0
mice: PS/2 mouse device common for all mice
ts: Compaq touchscreen protocol output
input: PS/2 Generic Mouse on synaptics-pt/serio0
hdb: ATAPI 24X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.20
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
lp0: using parport0 (interrupt-driven).
Capability LSM initialized
device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm at uk.sistina.com
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
cdrom: open failed.
input: PC Speaker
Real Time Clock Driver v1.12
irda_init()
NET: Registered protocol family 23
inserting floppy driver for 2.6.9-1-386
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel i815 Chipset.
agpgart: Maximum main memory to use for agp memory: 321M
agpgart: AGP aperture is 64M @ 0xe4000000
cpci_hotplug: CompactPCI Hot Plug Core version: 0.2
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: acpi_pciehprm:\_SB_.PCI0 evaluate _BBN fail=0x5
pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x5
shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5
hw_random hardware driver 1.0.0 loaded
pciehp: acpi_pciehprm:\_SB_.PCI0 evaluate _BBN fail=0x5
pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x5
shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v2.2
ACPI: PCI interrupt 0000:00:1f.2[D] -> GSI 10 (level, low) -> IRQ 10
uhci_hcd 0000:00:1f.2: Intel Corp. 82801BA/BAM USB (Hub #1)
PCI: Setting latency timer of device 0000:00:1f.2 to 64
uhci_hcd 0000:00:1f.2: irq 10, io base 0000dce0
uhci_hcd 0000:00:1f.2: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: Enabling device 0000:02:0f.0 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:0f.0[A] -> GSI 10 (level, low) -> IRQ 10
Yenta: CardBus bridge found at 0000:02:0f.0 [1028:00a3]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:0f.0, mfunc 0x05033002, devctl 0x64
Yenta: ISA IRQ mask 0x0018, PCI irq 10
Socket status: 30000006
PCI: Enabling device 0000:02:0f.1 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:0f.1[A] -> GSI 10 (level, low) -> IRQ 10
Yenta: CardBus bridge found at 0000:02:0f.1 [1028:00a3]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:0f.1, mfunc 0x05033002, devctl 0x64
Yenta: ISA IRQ mask 0x0018, PCI irq 10
Socket status: 30000006
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins at debian.org>
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[10] MMIO=[f8ffc800-f8ffcfff] Max Packet=[2048]
ieee1394: Host added: ID:BUS[0-00:1023] GUID[444fc0001d490c10]
NET: Registered protocol family 17
NET: Registered protocol family 10
Disabled Privacy Extensions on device c02da4c0(lo)
IPv6 over IPv4 tunneling driver
ACPI: Battery Slot [BAT0] (battery absent)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: AC Adapter [AC] (on-line)
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
cs: IO port probe 0x0100-0x04ff: excluding 0x170-0x177 0x200-0x207 0x280-0x287 0x370-0x37f 0x4d0-0x4d7
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0a00-0x0aff: clean.
eth0: no IPv6 routers present
Stopping tasks: ==========================================================================================|
Freeing memory: ..................................................................................................................................................................................................|
usb usb1: no poweroff yet, suspending instead
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
hub 1-0:1.0: reactivate --> -22
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
eth0: no IPv6 routers present
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
Stopping tasks: ================================================================================================|
Freeing memory: ...................................................................|
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
eth0: no IPv6 routers present
Stopping tasks: ================================================================================================|
Back to C!
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
Stopping tasks: ===============================================================================================|
Back to C!
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
eth0: no IPv6 routers present
Stopping tasks: ================================================================================================|
Back to C!
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
eth0: no IPv6 routers present
Stopping tasks: =================================================================================================|
Back to C!
PCI: Setting latency timer of device 0000:00:1f.2 to 64
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:02:0f.2[A] -> GSI 10 (level, low) -> IRQ 10
Restarting tasks... done
ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:02:06.0: 3Com PCI 3c556 Laptop Tornado at 0xe800. Vers LK1.1.19
eth0: no IPv6 routers present
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
More information about the ubuntu-devel
mailing list