Bug 18756

Summary: Problems with suspend on an IBM Thinkpad 240
Product: [Retired] Red Hat Linux Reporter: David Roberts <dlr>
Component: XFree86Assignee: Mike A. Harris <mharris>
Status: CLOSED CURRENTRELEASE QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: bero, panemec
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-25 15:52:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Roberts 2000-10-09 23:02:12 UTC
It is unclear exactly what the problem is, but I suspect a problem with
Xfree86 version 4.0.1 in conjunction with my video card (Neomagic NM2160). 
When the system resumes, the screen will go blank (black) and the system
will not respond to anything (including ctrl-alt-delete).

I am already loading and unloading the sound driver at suspend and loading
them back at resume time.

I used this laptop with Redhat 6.1 and it worked reliably with suspend and
resume. 

I have also noted the graphics card generating garbage on the screen and
forcing me to restart the Xserver after a suspend-resume cycle.  This is
the primary thing that leads me to believe it is a video driver problem.

Can I try XFree86 3.x with RedHat 7.0 to confirm that this is a problem
with XFree86?
Is there a way to reset the graphics card after a resume?

Comment 1 Alan Cox 2000-10-09 23:56:37 UTC
You can prefer the XFree 3.x server if you wish.  Xconfigurator man page has the
option for this. I forget it this instant. The APM scripts can also be taught to
switch you away from X to a text console on suspend. Some Dell laptops need this
and it may help in your case. Try XFree 3.x first and let me know what happens



Comment 2 Bernhard Rosenkraenzer 2000-10-10 12:57:01 UTC
Try setting the CHANGEVT variable in /etc/sysconfig/apmd.
The Xconfigurator option Alan is talking about is --preferxf3.

Comment 3 David Roberts 2000-10-10 13:47:47 UTC
I already tried the console switching workaround.
It didn't work.

I will work on installing version 3.x of XFree as time allows.  That may take me
a week or two to get around to, but I'll update the ticket when I learn more.


Comment 4 David Roberts 2000-10-10 20:59:42 UTC
I couldn't leave it alone and worked on this some this morning.

I got XFree86.3.3.6 running with a mix of 3.3.6 and 4.0.1 libraries and I have
suspended and resumed the system many times during the day with no problems.

However, I will need another couple of days to know for sure that 3.3.6 fixed
it.  This problem's frequency is dependent more on the level of trust I give the
suspend/resume cycle.
So far, so good.


Comment 5 Bernhard Rosenkraenzer 2000-10-11 10:52:17 UTC
Reassigning to XFree86.

Comment 6 David Roberts 2000-10-12 19:27:42 UTC
My system is still running reliably.  I think it is safe to say XFree86 version
4 was the problem.

Comment 7 Philip Nemec 2000-10-24 05:33:56 UTC
I've got similar symptoms on a Sony F-490 - resume doesn't really resume (I have
to reset the machine).

However I seem to have narrowed the problem down to some combination of XF86
4.0.1 and the 2.2.16-22 kernel.  Running at init level 3 still doesn't really
suspend well, so while I think there is some NeoMagic related bug, I think there
is some kernel level bug as well.

I seem to be fine running 2.2.14-5.0 with 3.3.6-20.


Comment 8 David Roberts 2000-11-14 18:33:26 UTC
It has been some time now, and my system is still operating reliably (as long as
I don't use my lucent winmodem).  It has run for as long as two weeks, and
considering it is a laptop that I carry with me most everywhere, that is not
bad.

Initially, I tried to mix RedHat 6.2 XF863.3.6 with RedHat 7.0 packages.  I
managed to back out of that, and I have it running now with all RedHat 7.0
packages, but using the XFree86 3.3.6 server.

As for the kernel, I did recompile the RedHat 7.0 kernel.  I used
kernel-2.2.16-i686.config as a starting point and set the following APM options:

CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_IGNORE_SUSPEND_BOUNCE=y
CONFIG_APM_RTC_IS_GMT=y
CONFIG_APM_ALLOW_INITS=y
CONFIG_APM_REAL_MODE_POWER_OFF=y

And, in the BIOS, I have the display forced into 800x600 mode.  I have had
problems where the screen would get stuck in 640x480 mode after a suspend/resume
cycle.  I set this BIOS setting back when I was using RedHat 6.1 and have not
tried changing it in RedHat 7.0.



Comment 9 Xiuqin Xiong 2000-11-19 03:59:56 UTC
I have a digital hinote ultra 2000. After I upgraded from 6.1 to 7.0, suspend
sometimes report 'hda lost interrupt' upon resume. The message keeps coming
and the machine does not respond keyboard inputs. This happens in text mode.
It also seems that this will happen when my battery power drops below certain 
point and automatically start recharge from AC power.

Comment 10 Mike A. Harris 2001-08-28 17:32:30 UTC
DOes this problem still occur with the latest Rawhide packages?

Comment 11 David Roberts 2001-08-28 18:40:11 UTC
I am now running RedHat 7.1 and have been using XFree86 4 for a few days with no
problems.  If you read the man page on neomagic, it mentions a few optimization
options that is says will cause hanging similar to what I was seeing.  These
options are present in the Xconfigurator generated setup files for RedHat 7.1.

It may be that this was exactly my problem.

I recommend waiting a week, and if the problem does not return, we should close
out this ticket assuming that my problem was solved by these two settings:

          Option "XaaNoScanlineImageWriteRect"
          Option "XaaNoScanlineCPUToScreenColorExpandFill"

Comment 12 Mike A. Harris 2002-01-25 10:50:45 UTC
Can you please attach the output of the following so I can have this
be the default in the future:

lspci -vvv
lspci -n

Comment 13 David Roberts 2002-01-25 15:52:21 UTC
[dlr@alex ~]% lspci -vvv
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (AGP
disabled) (rev 03)
	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: 64
	Region 0: Memory at f8000000 (32-bit, prefetchable) [size=64M]

00:07.0 Bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
	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: 0

00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80
[Master])
	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: 64
	Region 4: I/O ports at 1040 [size=16]

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00
[UHCI])
	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: 64
	Interrupt: pin D routed to IRQ 11
	Region 4: I/O ports at 1060 [size=32]

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
	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-
	Interrupt: pin ? routed to IRQ 9

00:09.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph
128XD] (rev 01) (prog-if 00 [VGA])
	Subsystem: IBM: Unknown device 0164
	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-
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at f5000000 (32-bit, prefetchable) [size=16M]
	Region 1: Memory at f4000000 (32-bit, non-prefetchable) [size=2M]
	Region 2: Memory at f4200000 (32-bit, non-prefetchable) [size=1M]

00:0a.0 CardBus bridge: Texas Instruments PCI1211
	Subsystem: IBM: Unknown device 019a
	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: 168, cache line size 08
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=00, subordinate=01, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	I/O window 0: 00001800-000018ff
	I/O window 1: 00001c00-00001cff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

00:0b.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive
(rev 02)
	Subsystem: ESS Technology: Unknown device 8898
	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: 64 (500ns min, 6000ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: I/O ports at 1000 [size=64]
	Region 1: I/O ports at 1090 [size=16]
	Region 2: I/O ports at 1080 [size=16]
	Region 3: I/O ports at 10a4 [size=4]
	Region 4: I/O ports at 10a0 [size=4]
	Capabilities: <available only to root>

00:0c.0 Communication controller: Lucent Microelectronics WinModem 56k (rev 01)
	Subsystem: CIS Technology Inc: Unknown device 0440
	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-
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at f4300000 (32-bit, non-prefetchable) [size=256]
	Region 1: I/O ports at 10a8 [size=8]
	Region 2: I/O ports at 1400 [size=256]
	Capabilities: <available only to root>

[dlr@alex ~]% lspci -n
00:00.0 Class 0600: 8086:7192 (rev 03)
00:07.0 Class 0680: 8086:7110 (rev 02)
00:07.1 Class 0101: 8086:7111 (rev 01)
00:07.2 Class 0c03: 8086:7112 (rev 01)
00:07.3 Class 0680: 8086:7113 (rev 02)
00:09.0 Class 0300: 10c8:0004 (rev 01)
00:0a.0 Class 0607: 104c:ac1e
00:0b.0 Class 0401: 125d:1969 (rev 02)
00:0c.0 Class 0780: 11c1:0449 (rev 01)
[dlr@alex ~]% 


Update:

I am now using Redhat 7.2 with a relatively default setup and am still not
experiencing problems.

Comment 14 Mike A. Harris 2002-02-09 00:56:10 UTC
Ok, thanks for the info.  Closing out as fixed in current release of
Red Hat Linux 7.2.