# Unable to resume from suspend(tuxonice) X crash

## pyrotek

All,

I am currently having an issue with tuxonice. I "think" suspend and resume is working OK. On resume my display will not come back. I usually get one of the following :-

1) black screen with the timer cursor with mouse response.

2) multi color rubbish and no mouse response.

I have an Asus EEE PC 1000H.

I have followed this guide ( gentoo-wiki.com/Asus_EEE_PC_1000 )

According to the guide suspend to ram and disk should work.

Here is my config :-

uname -a

Linux smd 2.6.25-tuxonice-r7 #3 SMP PREEMPT Fri Oct 10 20:56:03 EST 2008 i686 Intel(R) Atom(TM) CPU N270 @ 1.60GHz GenuineIntel GNU/Linu

Mesa 7.1

Xorg-server-1.5.1

xf86-video-intel-2.4.2-r2

I've tried a lot of different  settings and always get the same result.

Really need some help getting suspend to ram and disk working.

Happy to supply any more information, just not sure what you need.

Thank you,

----------

## pyrotek

Update:-

I can hibernate to ram and disk if X is not running. Works 100%. As soon as X is running I get the issue back.

I've found this in my X log but not sure what to do about it, or if its because of any of my settings.

```

Fatal server error:

lockup

(II) UnloadModule: "kbd"

(II) UnloadModule: "mouse"

Error in I830WaitLpRing(), timeout for 2 seconds

pgetbl_ctl: 0x3ffc0001 getbl_err: 0x00000003

ipeir: 0x00000000 iphdr: 0x00000000

LP ring tail: 0x00000f08 head: 0x00000000 len: 0x0001f001 start 0x00000000

eir: 0x0000 esr: 0x0011 emr: 0xffff

instdone: 0xffc1 instpm: 0x0000

memmode: 0x0000010f instps: 0x002014c0

hwstam: 0xffff ier: 0x0000 imr: 0xffff iir: 0x0000

Ring at virtual 0xa78d2000 head 0x0 tail 0xf08 count 962

Ring at virtual 0xa78d2000 head 0x0 tail 0xf08 count 962

        0001ff00: 00000000      MI_NOOP                                  1

        0001ff04: 00000000      MI_NOOP                                  1

        0001ff08: 00000000      MI_NOOP                                  1

        0001ff0c: 00000000      MI_NOOP                                  1

        0001ff10: 00000000      MI_NOOP                                  1

        0001ff14: 00000000      MI_NOOP                                  1

        0001ff18: 00000000      MI_NOOP                                  1

        0001ff1c: 00000000      MI_NOOP                                  1

        0001ff20: 00000000      MI_NOOP                                  1

        0001ff24: 00000000      MI_NOOP                                  1

        0001ff28: 00000000      MI_NOOP                                  1

        0001ff2c: 00000000      MI_NOOP                                  1

        0001ff30: 00000000      MI_NOOP                                  1

        0001ff34: 00000000      MI_NOOP                                  1

        0001ff38: 00000000      MI_NOOP                                  1

        0001ff3c: 00000000      MI_NOOP                                  1

        0001ff40: 00000000      MI_NOOP                                  1

        0001ff44: 00000000      MI_NOOP                                  1

        0001ff48: 00000000      MI_NOOP                                  1

        0001ff4c: 00000000      MI_NOOP                                  1

        0001ff50: 00000000      MI_NOOP                                  1

        0001ff54: 00000000      MI_NOOP                                  1

        0001ff58: 00000000      MI_NOOP                                  1

        0001ff5c: 00000000      MI_NOOP                                  1

        0001ff60: 00000000      MI_NOOP                                  1

        0001ff64: 00000000      MI_NOOP                                  1

        0001ff68: 00000000      MI_NOOP                                  1

        0001ff6c: 00000000      MI_NOOP                                  1

        0001ff70: 00000000      MI_NOOP                                  1

        0001ff74: 00000000      MI_NOOP                                  1

        0001ff78: 00000000      MI_NOOP                                  1

        0001ff7c: 00000000      MI_NOOP                                  1

        0001ff80: 00000000      MI_NOOP                                  1

        0001ff84: 00000000      MI_NOOP                                  1

        0001ff88: 00000000      MI_NOOP                                  1

        0001ff8c: 00000000      MI_NOOP                                  1

        0001ff90: 00000000      MI_NOOP                                  1

        0001ff94: 00000000      MI_NOOP                                  1

        0001ff98: 00000000      MI_NOOP                                  1

        0001ff9c: 00000000      MI_NOOP                                  1

        0001ffa0: 00000000      MI_NOOP                                  1

        0001ffa4: 00000000      MI_NOOP                                  1

        0001ffa8: 00000000      MI_NOOP                                  1

        0001ffac: 00000000      MI_NOOP                                  1

        0001ffb0: 00000000      MI_NOOP                                  1

        0001ffb4: 00000000      MI_NOOP                                  1

        0001ffb8: 00000000      MI_NOOP                                  1

        0001ffbc: 00000000      MI_NOOP                                  1

        0001ffc0: 00000000      MI_NOOP                                  1

        0001ffc4: 00000000      MI_NOOP                                  1

        0001ffc8: 00000000      MI_NOOP                                  1

        0001ffcc: 00000000      MI_NOOP                                  1

        0001ffd0: 00000000      MI_NOOP                                  1

        0001ffd4: 00000000      MI_NOOP                                  1

        0001ffd8: 00000000      MI_NOOP                                  1

        0001ffdc: 00000000      MI_NOOP                                  1

        0001ffe0: 00000000      MI_NOOP                                  1

        0001ffe4: 00000000      MI_NOOP                                  1

        0001ffe8: 00000000      MI_NOOP                                  1

        0001ffec: 00000000      MI_NOOP                                  1

        0001fff0: 00000000      MI_NOOP                                  1

        0001fff4: 00000000      MI_NOOP                                  1

        0001fff8: 00000000      MI_NOOP                                  1

        0001fffc: 00000000      MI_NOOP                                  1

Ring end

space: 127216 wanted 131064

Backtrace:

0: /usr/bin/X(xf86SigHandler+0x79) [0x80cbd79]

1: [0xffffe400]

2: /usr/lib/xorg/modules/drivers//intel_drv.so(I830WaitLpRing+0x1bd) [0xb7a843fb]

3: /usr/lib/xorg/modules/drivers//intel_drv.so(I830Sync+0x1b5) [0xb7a847d9]

4: /usr/lib/xorg/modules//libxaa.so [0xb7918761]

5: /usr/bin/X [0x80c969d]

6: /usr/bin/X(AbortDDX+0x82) [0x80a2c8b]

7: /usr/bin/X(AbortServer+0x28) [0x812c805]

8: /usr/bin/X(FatalError+0x66) [0x812ccf0]

9: /usr/lib/xorg/modules/drivers//intel_drv.so(I830WaitLpRing+0x18d) [0xb7a843cb]

10: /usr/lib/xorg/modules/drivers//intel_drv.so(I830Sync+0x1b5) [0xb7a847d9]

11: /usr/lib/xorg/modules//libxaa.so [0xb791ebe5]

12: /usr/lib/xorg/modules//libxaa.so(XAAPolyFillRect+0xd3) [0xb7923611]

13: /usr/lib/xorg/modules//libxaa.so [0xb795bd77]

14: /usr/bin/X [0x81617d4]

15: /usr/bin/X(ProcPolyFillRectangle+0xf3) [0x8085292]

16: /usr/bin/X(Dispatch+0x330) [0x8088014]

17: /usr/bin/X(main+0x470) [0x806f8ca]

18: /lib/libc.so.6(__libc_start_main+0xdc) [0xb7b95fdc]

19: /usr/bin/X(FontFileCompleteXLFD+0x1f5) [0x806ed31]

FatalError re-entered, aborting

Caught signal 11.  Server abort

```

----------

## lkraav

exactly the same issue with a lenovo c300 laptop. relevant parts of Xorg.log.0:

```
X Window System Version 1.3.0

Release Date: 19 April 2007

X Protocol Version 11, Revision 0, Release 1.3

Build Operating System: UNKNOWN 

Current Operating System: Linux omnibook 2.6.24-tuxonice-r9 #40 PREEMPT Sat Nov 15 17:57:40 EET 2008 i686
```

```
(--) PCI:*(0:2:0) Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller rev 4, Mem @ 0xd0000000/19, 0xa0000000/28, 0xd0080000/18, I/O @ 0xe000/3
```

```
(II) LoadModule: "intel"

(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so

(II) Module intel: vendor="X.Org Foundation"

   compiled for 1.3.0, module version = 2.4.2

   Module class: X.Org Video Driver

   ABI class: X.Org Video Driver, version 1.2
```

```
(II) intel(0): Kernel reported 110336 total, 1 used

(II) intel(0): I830CheckAvailableMemory: 441340 kB available

(EE) intel(0): [dri] I830CheckDRIAvailable failed: dri not loaded

(**) intel(0): Framebuffer compression enabled

(**) intel(0): Tiling enabled

(==) intel(0): VideoRam: 262144 KB

(II) intel(0): Attempting memory allocation with tiled buffers.

(II) intel(0): Tiled allocation successful.

(II) intel(0): adjusting plane->pipe mappings to allow for framebuffer compression

(II) intel(0): Page Flipping disabled

(==) intel(0): Write-combining range (0xa0000000,0x10000000)

(II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(WW) intel(0): EXA compatibility mode.  Output rotation rendering performance may suffer

(II) EXA(0): Offscreen pixmap area of 12582912 bytes

(II) EXA(0): Driver registered support for the following operations:

(II)         Solid

(II)         Copy

(II)         Composite (RENDER acceleration)

(==) intel(0): Backing store disabled

(==) intel(0): Silken mouse enabled

(II) intel(0): Initializing HW Cursor

(II) intel(0): xf86BindGARTMemory: bind key 0 at 0x00800000 (pgoffset 2048)

(II) intel(0): xf86BindGARTMemory: bind key 1 at 0x00c00000 (pgoffset 3072)

(II) intel(0): Fixed memory allocation layout:

(II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)

(II) intel(0): 0x00020000-0x0061ffff: compressed frame buffer (6144 kB, 0x000000001f820000 physical

)

(II) intel(0): 0x00620000-0x00620fff: compressed ll buffer (4 kB, 0x000000001fe20000 physical

)

(II) intel(0): 0x00621000-0x0062afff: HW cursors (40 kB, 0x000000001fe21000 physical

)

(II) intel(0): 0x0062b000-0x00632fff: logical 3D context (32 kB)

(II) intel(0): 0x00633000-0x00633fff: overlay registers (4 kB, 0x000000001fe33000 physical

)

(II) intel(0): 0x007bf000:            end of stolen memory

(II) intel(0): 0x00800000-0x00bfffff: front buffer (4096 kB) X tiled

(II) intel(0): 0x00c00000-0x017fffff: exa offscreen (12288 kB)

(II) intel(0): 0x10000000:            end of aperture

(WW) intel(0): ESR is 0x00000001, instruction error

(WW) intel(0): PRB0_CTL (0x0001f001) indicates ring buffer enabled

(WW) intel(0): PRB0_HEAD (0x00000000) and PRB0_TAIL (0x00000080) indicate ring buffer not flushed

(WW) intel(0): Existing errors found in hardware state.

Error in I830WaitLpRing(), timeout for 2 seconds

pgetbl_ctl: 0x1ffc0001 getbl_err: 0x00000000

ipeir: 0x00000000 iphdr: 0x00000000

LP ring tail: 0x00000088 head: 0x00000000 len: 0x0001f001 start 0x00000000

eir: 0x0000 esr: 0x0001 emr: 0xffff

instdone: 0xffc1 instpm: 0x0000

memmode: 0x00000306 instps: 0x002014c0

hwstam: 0xffff ier: 0x0000 imr: 0xffff iir: 0x0000

Ring at virtual 0xa7a75000 head 0x0 tail 0x88 count 34

Ring at virtual 0xa7a75000 head 0x0 tail 0x88 count 34

   0001ff00: 00000000   MI_NOOP                                  1

   0001ff04: 00000000   MI_NOOP                                  1

   0001ff08: 00000000   MI_NOOP                                  1

   0001ff0c: 00000000   MI_NOOP                                  1

   0001ff10: 00000000   MI_NOOP                                  1

   0001ff14: 00000000   MI_NOOP                                  1

   0001ff18: 00000000   MI_NOOP                                  1

   0001ff1c: 00000000   MI_NOOP                                  1

   0001ff20: 00000000   MI_NOOP                                  1

   0001ff24: 00000000   MI_NOOP                                  1

   0001ff28: 00000000   MI_NOOP                                  1

   0001ff2c: 00000000   MI_NOOP                                  1

   0001ff30: 00000000   MI_NOOP                                  1

   0001ff34: 00000000   MI_NOOP                                  1

   0001ff38: 00000000   MI_NOOP                                  1

   0001ff3c: 00000000   MI_NOOP                                  1

   0001ff40: 00000000   MI_NOOP                                  1

   0001ff44: 00000000   MI_NOOP                                  1

   0001ff48: 00000000   MI_NOOP                                  1

   0001ff4c: 00000000   MI_NOOP                                  1

   0001ff50: 00000000   MI_NOOP                                  1

   0001ff54: 00000000   MI_NOOP                                  1

   0001ff58: 00000000   MI_NOOP                                  1

   0001ff5c: 00000000   MI_NOOP                                  1

   0001ff60: 00000000   MI_NOOP                                  1

   0001ff64: 00000000   MI_NOOP                                  1

   0001ff68: 00000000   MI_NOOP                                  1

   0001ff6c: 00000000   MI_NOOP                                  1

   0001ff70: 00000000   MI_NOOP                                  1

   0001ff74: 00000000   MI_NOOP                                  1

   0001ff78: 00000000   MI_NOOP                                  1

   0001ff7c: 00000000   MI_NOOP                                  1

   0001ff80: 00000000   MI_NOOP                                  1

   0001ff84: 00000000   MI_NOOP                                  1

   0001ff88: 00000000   MI_NOOP                                  1

   0001ff8c: 00000000   MI_NOOP                                  1

   0001ff90: 00000000   MI_NOOP                                  1

   0001ff94: 00000000   MI_NOOP                                  1

   0001ff98: 00000000   MI_NOOP                                  1

   0001ff9c: 00000000   MI_NOOP                                  1

   0001ffa0: 00000000   MI_NOOP                                  1

   0001ffa4: 00000000   MI_NOOP                                  1

   0001ffa8: 00000000   MI_NOOP                                  1

   0001ffac: 00000000   MI_NOOP                                  1

   0001ffb0: 00000000   MI_NOOP                                  1

   0001ffb4: 00000000   MI_NOOP                                  1

   0001ffb8: 00000000   MI_NOOP                                  1

   0001ffbc: 00000000   MI_NOOP                                  1

   0001ffc0: 00000000   MI_NOOP                                  1

   0001ffc4: 00000000   MI_NOOP                                  1

   0001ffc8: 00000000   MI_NOOP                                  1

   0001ffcc: 00000000   MI_NOOP                                  1

   0001ffd0: 00000000   MI_NOOP                                  1

   0001ffd4: 00000000   MI_NOOP                                  1

   0001ffd8: 00000000   MI_NOOP                                  1

   0001ffdc: 00000000   MI_NOOP                                  1

   0001ffe0: 00000000   MI_NOOP                                  1

   0001ffe4: 00000000   MI_NOOP                                  1

   0001ffe8: 00000000   MI_NOOP                                  1

   0001ffec: 00000000   MI_NOOP                                  1

   0001fff0: 00000000   MI_NOOP                                  1

   0001fff4: 00000000   MI_NOOP                                  1

   0001fff8: 00000000   MI_NOOP                                  1

   0001fffc: 00000000   MI_NOOP                                  1

Ring end

space: 130928 wanted 131064

Fatal server error:

lockup

```

----------

## dmpogo

Mesa 7.1

Xorg-server-1.5.1

xf86-video-intel-2.4.2-r2

This is a bit funny combination.   With xorg-server-1.5.1   people usually run xf86-video-intel-2.5.0 and mesa-7.2

while if they want to stick to xf86-video-intel-2.4.2, they run xorg-server-1.4.x

My advice would be first to upgrade/dowgrade to consistent combination.   Go, say,  for ~amd64 (~x86)    xorg-x11-7.4

----------

## lkraav

googling around, this I830WaitLpRing comes up from years back all the way up till now. i havent been able to find any consistent pattern of common circumstances, except obviously for the intel integrated video adapter. i havent been able to find any pattern how people have solved this and its unclear whether even the same things are causing this error, or whether this error has any relevance at all.

if i had known this i wouldve looked for another machine..

i switched to the vesa driver in the meanwhile, while i gather some knowledge, fortunately the requirements for that particular machine are not very high at the moment.

----------

## pyrotek

dmpogo, understood its odd but no matter what combination I was using the problem still happed. I did try the upgrade/downgrade path there just the versions i ended up on.

Finally fixed the issue. !!!

Uvesafb for me was the issue. 

If i had uvesafb active and the user space linker active, suspend/resume would fail with the "ring" error.

I was using uvesafb to get a good native console resolution for the Eeepc.

I removed uvesafb from my kernel and the user space linker. Set a VGA mode via grub not perfect (800x600) but its far better then suspend and resume not working!

Now using VESA driver for console and Intel xf86 driver for Xorg.

Works 100% now.

Hope this helps someone out there.

thanks

----------

## lkraav

oh wow, excellent find! i'm also using uvesafb. i will be able to take a look at this tomorrow.

there are loads of other threads on the net with this ring issue. bugs.freedesktop.org would perhaps be the most important spot to share this find. linking this to uvesafb is a first i've seen.

edit: looks like fellow estonian had this figured out. https://bugs.freedesktop.org/show_bug.cgi?id=17701

edit2: another freedesktop bug http://bugs.freedesktop.org/show_bug.cgi?id=10798

how did my searches for I830WaitLpRing miss this uvesafb link...

----------

## dmpogo

 *pyrotek wrote:*   

> dmpogo, understood its odd but no matter what combination I was using the problem still happed. I did try the upgrade/downgrade path there just the versions i ended up on.
> 
> Finally fixed the issue. !!!
> 
> Uvesafb for me was the issue. 
> ...

 

I am using tuxonice on intel chipset (965GM) with vesafb with no problems.  vesafb does give enough of the console goodies for my taste.

BTW,    hibernate conf scripts recommend to enable SwitchToTextMode option of switching to console if bootspalsh is used.

Have you tried it ?

----------

## pyrotek

dmpogo,

UvesaFB is the issue not vesafb.

Currently using vesaFB with no issues at all.

UvesaFB will not work ( http://dev.gentoo.org/~spock/projects/uvesafb/ )

Sorry for any confusion.

----------

## lefou

Great!   :Very Happy: 

Disabling uvesafb solved the resume crashes with my ThinkPad X60s as well. Many thanks for pointing out, pyrotek!

Regards, 

lefou

----------

## pyrotek

No problem lefou.    :Very Happy: 

lkraav,

Bug ID 17701 is one that I've added detail into.

Thanks for finding the other bug.

What I want to know is this a Intel driver issue or Xorg issue or Uvesafb ?

Thanks

----------

## dmpogo

 *pyrotek wrote:*   

> dmpogo,
> 
> UvesaFB is the issue not vesafb.
> 
> Currently using vesaFB with no issues at all.
> ...

 

I understood you right, just did not phrase my response properly.

I meant you can use vesafb, and have better that 800x600 console together with solid hibernation

----------

## pyrotek

dmpogo,

Understood  :Smile: 

I could never get the 1024x600 native of the EEEPC 1000H to work with vesafb.

Only got 800x600 but I am more then happy with that for console on the 1000H

Thanks for your help

----------

## dmpogo

 *pyrotek wrote:*   

> dmpogo,
> 
> Understood 
> 
> I could never get the 1024x600 native of the EEEPC 1000H to work with vesafb.
> ...

 

That is understandable, since I think 1024x600 is not a VESA standard mode  :Smile: 

Did you try intelfb ?

----------

## pyrotek

 *dmpogo wrote:*   

> 
> 
> That is understandable, since I think 1024x600 is not a VESA standard mode 
> 
> Did you try intelfb ?

 

No I did not try intelfb

I can't find any documentation on intelfb and if it natively supports 1024x600.

quite happy with 800x600  :Smile: 

Thanks

----------

