[Linux apm] Armada laptops: apm: set display: Interface not engaged
Samuel Thibault <[email protected]> Sun, 9 Jun 2002 15:19:04 +0200 (CEST)
| Newsgroups | org.kernel.vger.linux-laptop |
|---|---|
| Message-ID | <Pine.LNX.4.44.0206091518370.1286-300000@youpi> |
Hello, I just bought an Armada E500 and activated apm, but when the screen should go blank (after a while), "apm: set display: Interface not engaged" is displayed instead, while BIOS reports that apm is engaged (see flags in joined file dmesg, which are the same as what /proc/apm reports). The same occurs under X, and apm events aren't handled properly. Searching with Google showed that M300 on kernel 2.4.17, and M700 on 2.4.6 had similar troubles. Therefore, I tried to engage apm at boot time, even if bios reports it has already done it, and then the "Interface not engaged" never appeared any more, the screen got blank when it should and apm events ran well... I think it should be included in kernel, see joined patch Best Regards, Samuel Thibault
dmesg
(text/plain, 5 KB)
Linux version 2.4.18 (root@bouh) (gcc version 2.95.4 20011002 (Debian prerelease)) #7 ven jun 7 01:10:27 CEST 2002 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000007ff0000 (usable) BIOS-e820: 0000000007ff0000 - 0000000007ff3800 (reserved) BIOS-e820: 0000000007ff3800 - 0000000008000000 (ACPI NVS) On node 0 totalpages: 32752 zone(0): 4096 pages. zone(1): 28656 pages. zone(2): 0 pages. Kernel command line: auto BOOT_IMAGE=Linux ro root=303 Initializing CPU#0 Detected 796.544 MHz processor. Console: colour VGA+ 80x50 Calibrating delay loop... 1589.24 BogoMIPS Memory: 127016k/131008k available (863k kernel code, 3604k reserved, 296k data, 188k init, 0k highmem) Dentry-cache hash table entries: 16384 (order: 5, 131072 bytes) Inode-cache hash table entries: 8192 (order: 4, 65536 bytes) Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) CPU: Before vendor init, caps: 0383f9ff 00000000 00000000, vendor = 0 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU: After vendor init, caps: 0383f9ff 00000000 00000000 00000000 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: 0383f9ff 00000000 00000000 00000000 CPU: Common caps: 0383f9ff 00000000 00000000 00000000 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. POSIX conformance testing by UNIFIX mtrr: v1.40 (20010327) Richard Gooch ([email protected]) mtrr: detected mtrr type: Intel PCI: PCI BIOS revision 2.10 entry at 0xf0478, last bus=1 PCI: Using configuration type 1 PCI: Probing PCI hardware Unknown bridge resource 2: assuming transparent PCI: Discovered primary peer bus 04 [IRQ] PCI: Using IRQ router PIIX [8086/7110] at 00:07.0 Limiting direct PCI/PCI transfers. Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16) Starting kswapd pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS02 at 0x03e8 (irq = 4) is a 16550A PCI: Found IRQ 11 for device 00:09.1 PCI: Sharing IRQ 11 with 00:08.0 PCI: Sharing IRQ 11 with 00:09.0 Redundant entry in serial pci_table. Please send the output of lspci -vv, this message (11c1,0445,8086,2204) and the manufacturer and name of serial board or modem board to [email protected]. register_serial(): autoconfig failed block: 128 slots per queue, batch=32 Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx PIIX4: IDE controller on PCI bus 00 dev 39 PIIX4: chipset revision 1 PIIX4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x3420-0x3427, BIOS settings: hda:DMA, hdb:pio hda: TOSHIBA MK1016GAP, ATA DISK drive ide2: ports already in use, skipping probe ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: 19640880 sectors (10056 MB), CHS=1299/240/63, UDMA(33) Partition check: hda: hda1 hda2 hda3 eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <[email protected]> and others PCI: Found IRQ 11 for device 00:09.0 PCI: Sharing IRQ 11 with 00:08.0 PCI: Sharing IRQ 11 with 00:09.1 eth0: OEM i82557/i82558 10/100 Ethernet, 00:D0:59:4B:1B:2E, IRQ 11. Board assembly 98004c-000, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1. General self-test: passed. Serial sub-system self-test: passed. Internal registers self-test: passed. ROM checksum self-test: passed (0xdbd8681d). SCSI subsystem driver Revision: 1.00 Linux Kernel Card Services 3.1.22 options: [pci] [cardbus] [pm] PCI: Found IRQ 11 for device 00:04.0 PCI: Sharing IRQ 11 with 00:04.1 PCI: Sharing IRQ 11 with 01:00.0 PCI: Found IRQ 11 for device 00:04.1 PCI: Sharing IRQ 11 with 00:04.0 PCI: Sharing IRQ 11 with 01:00.0 Intel PCIC probe: not found. usb.c: registered new driver hub Yenta IRQ list 06b8, PCI irq11 Socket status: 30000006 Yenta IRQ list 06b8, PCI irq11 Socket status: 30000006 NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 8192 bind 8192) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 188k freed Adding Swap: 249472k swap-space (priority -1) Real Time Clock Driver v1.10e eth0: 0 multicast blocks dropped.
apm-engage-anyway.patch
(text/plain, 2.1 KB)
diff -urN linux-2.4.18/Documentation/Configure.help linux-2.4.18-cor/Documentation/Configure.help
--- linux-2.4.18/Documentation/Configure.help Fri Jun 7 16:15:50 2002
+++ linux-2.4.18-cor/Documentation/Configure.help Fri Jun 7 16:38:05 2002
@@ -17368,6 +17368,14 @@
T400CDT. This is off by default since most machines do fine without
this feature.
+Engage APM at boot time anyway
+CONFIG_APM_ENGAGE_ANYWAY
+ Engage APM at boot time, even if BIOS says it has already done it.
+ Your BIOS may not report correctly whether APM was already engaged
+ at boot time, so that engaging it anyway may be needed, such as on
+ Compaq Armada laptops which print "apm: set display: Interface not
+ engaged" instead of blanking the screen
+
Make CPU Idle calls when idle
CONFIG_APM_CPU_IDLE
Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
diff -urN linux-2.4.18/arch/i386/config.in linux-2.4.18-cor/arch/i386/config.in
--- linux-2.4.18/arch/i386/config.in Fri Jun 7 16:16:47 2002
+++ linux-2.4.18-cor/arch/i386/config.in Fri Jun 7 16:16:58 2002
@@ -281,6 +281,7 @@
if [ "$CONFIG_APM" != "n" ]; then
bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND
bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE
+ bool ' Engage PM at boot time anyway ' CONFIG_APM_ENGAGE_ANYWAY
bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE
bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK
bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
diff -urN linux-2.4.18/arch/i386/kernel/apm.c linux-2.4.18-cor/arch/i386/kernel/apm.c
--- linux-2.4.18/arch/i386/kernel/apm.c Fri Jun 7 16:16:23 2002
+++ linux-2.4.18-cor/arch/i386/kernel/apm.c Fri Jun 7 16:16:31 2002
@@ -1711,6 +1711,13 @@
return -1;
}
}
+#ifdef CONFIG_APM_ENGAGE_ANYWAY
+ else {
+ error = apm_engage_power_management(APM_DEVICE_ALL, 1);
+ if (error)
+ apm_error("engaging power management anyway", error);
+ }
+#endif
if (debug && (smp_num_cpus == 1)) {
error = apm_get_power_status(&bx, &cx, &dx);