Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sleep when closing laptop lid
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Tue Nov 01, 2005 10:57 pm    Post subject: sleep when closing laptop lid Reply with quote

My old laptop was an iBook, and power managemnt was exteremely easy. All I had to do was install pbbuttonsd, and it enabled sleeping, screen dimming, and some other fun stuff.

I recently got an x86 laptop, and I'm having problems getting all the power management working. I ran though most of the gentoo power managemeent guide, but one thing eludes me. How can I get my laptop to sleep (suspend to ram I guess) when I close the laptop lid? Is this hardware specific, or are there standard procedures to get this working? Also is there some util that enables screen dimming? I've been searchign through the forums for a while, but can't find any info on these two topics.
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Tue Nov 01, 2005 11:53 pm    Post subject: Reply with quote

There is some info about those subjects here and here, with a script to suspend-on-lid-close on the second one. They are for IBM laptops originally, but it should be pretty similar for others, as long as ACPI isn't too broken...
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 7:03 am    Post subject: Reply with quote

Thanks for the reply. It turned out I didn't compile in the Lid stuff into my kernel... but I'm still having several problems.

1) For some reason /proc/acpi/button/lid/LID/state says
Code:
state:     closed
even when it is open.

2) I can't get suspend or hibernate to disk or RAM to work.
I tried out the sleep script on the site you gave above. It makes my laptop sleep, but when resuming, the screen never comes back on. Everything else seems to be active though, even the harddrive light flashes.

I have these same symptoms when running hibernate-ram.

I also tried the software suspend2 sources, but when running hibernate, my machine seems to hibernate, but on reboot, it boots as if nothing was hibernated, and the swap space is corrupted.


Last edited by mikegpitt on Wed Nov 02, 2005 3:55 pm; edited 1 time in total
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 10:02 am    Post subject: Reply with quote

mikegpitt wrote:
I can get suspend or hibernate to disk or RAM to work.
I tried out the sleep script on the site you gave above. It makes my laptop sleep, but when resuming, the screen never comes back on. Everything else seems to be active though, even the harddrive light flashes.

Most likely the backlight is not re-enabled... What kind of graphics card do you have ? The script assumes it's a Radeon and that you have the radeontool utility installed.
mkiegpitt wrote:
I also tried the software suspend2 sources, but when running hibernate, my machine seems to hibernate, but on reboot, it boots as if nothing was hibernated, and the swap space is corrupted.

It looks like it suspends properly, but it does not know to resume. You need an option like "resume2=swap:/dev/hda2" (assuming your swap drive is hda2).
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 4:06 pm    Post subject: Reply with quote

widan wrote:
Most likely the backlight is not re-enabled... What kind of graphics card do you have ? The script assumes it's a Radeon and that you have the radeontool utility installed.

I also noticed that, which is why I tried the hibernate-ram, hoping it would be generic. Is there some tool that turns on the backlight for any card? My card is an Intel 855GM:
Code:
Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)


widan wrote:
It looks like it suspends properly, but it does not know to resume. You need an option like "resume2=swap:/dev/hda2" (assuming your swap drive is hda2).

I appended this option to my kernel, and it points to the correct device for swap space. I'm wondering now that maybe things got screwed up, since I have an initramfs boot image that loads, since I compile my kernels with genkernel.

EDIT: I figured out why suspend2 wasn't working. The option isn't 'resume2=swap:/dev/hda2' it is 'resume2=/dev/hda2'.


Last edited by mikegpitt on Sat Nov 05, 2005 7:27 pm; edited 1 time in total
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 4:49 pm    Post subject: Reply with quote

mikegpitt wrote:
My card is an Intel 855GM.

Then look at this page. The problem seems to be that the video BIOS is not run again on resume, so the video card is not initialized at all. Check if your BIOS has an option "Re-POST video on S3 resume" or similar. If it has one, you can try to activate it. Else you can use vbetool as suggested in the like above:
Code:
(Before suspend:)
vbetool vbestate save > /var/s3-state
(After resume:)
vbetool post
vbetool vbestate restore < /var/s3-state

mikegpitt wrote:
I'm wondering now that maybe things got screwed up, since I have an initramfs boot image that loads, since I compile my kernels with genkernel.

It's likely the problem. From the Software Suspend Howto:
Quote:
Initrd/Initramfs's with Suspend2

Using an initrd with Suspend2 is possible. To use this, you MUST edit your linuxrc (or init) script to contain the line
Code:
echo > /proc/suspend2/do_resume

BEFORE the script mounts your filesystem. If the line is missing, your system will not resume. If the line comes after mounting file systems, you will most likely suffer from filesystem corruption. You have been warned.
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 6:16 pm    Post subject: Reply with quote

Ugh... I'm going crazy...

My BIOS doesn't have the option you mentioned, so I emerged the vbetool, and tried the scripts in the link mentioned above. When using the regular gentoo sources, the video never comes back on. When using the suspend2 sources the video comes back on after a few seconds, but then the computer immediately halts.

I also messed with some kernel settign for LCD nad backlight with no avail.


As for suspend to disk using suspend2, I tried adding that line to the /usr/share/genkernel/generic/linuxrc file, but no luck.

I tried to add it before and after these two lines, which seems to make sense to me... but obviously there is something else wrong.
Code:
mount -o remount,rw /
mount -t proc proc /proc

I'm not too concerned about suspend to disk though, I've found suspend to RAM usually can last days before recharging.


The ironic part is that I bought this laptop from a company LinuxCertified, so it woudl have good linux support. It came with Fedora on it, and I'm sure it worked great, but of course I needed to put gentoo on it :wink:
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 6:49 pm    Post subject: Reply with quote

You can also try the parameters described in /usr/src/linux/Documentation/power/video.txt (adding "acpi_sleep=s3_bios", or "acpi_sleep=s3_mode" on the kernel command line) and see if it helps.
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 7:11 pm    Post subject: Reply with quote

widan wrote:
You can also try the parameters described in /usr/src/linux/Documentation/power/video.txt (adding "acpi_sleep=s3_bios", or "acpi_sleep=s3_mode" on the kernel command line) and see if it helps.
Ok we are getting closer. I was using the acpi_sleep=s3_bios before, but when I changed this to acpi_sleep=s3_mode I can suspend and resume (with screen) using the regular gentoo sources. Unfortunatly it still shuts the machine down when it returns... I really have no idea why this would happen.

BTW - Thanks again for all your help!
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 7:28 pm    Post subject: Reply with quote

mikegpitt wrote:
Unfortunatly it still shuts the machine down when it returns... I really have no idea why this would happen.

Some drivers don't like suspending. Try to rmmod some modules before suspending - in fact try to rmmod as much as possible and retry. If it resumes properly, then insert some modules, retry, ... until it won't resume. Once you know which drivers are problematic, make a script that rmmods them before suspending, and inserts them again on resume.

Before you try with no modules at all, try with the USB modules unloaded (uhci_hcd, ohci_hcd, ehci_hcd)... they are often problematic.
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 8:19 pm    Post subject: Reply with quote

widan wrote:
Some drivers don't like suspending. Try to rmmod some modules before suspending - in fact try to rmmod as much as possible and retry. If it resumes properly, then insert some modules, retry, ... until it won't resume. Once you know which drivers are problematic, make a script that rmmods them before suspending, and inserts them again on resume.


No dice... I was able to rmmod every module, except usb_core (for some reason it is still in use even after I kill all services). It still halts on wakeup, when it wakes up it instantly switches to run level 0 and halts.

Maybe I should start looking into APM...
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 9:13 pm    Post subject: Reply with quote

mikegpitt wrote:
when it wakes up it instantly switches to run level 0 and halts

You mean that you see the "Switching to runlevel 0" message ? Then according to that thread, it can be caused by a spurious power button ACPI event. To check this, open /etc/acpi/default.sh, and comment those lines (put a "#" sign at the beginning):
Code:
power)   /sbin/init 0
;;

Then try to suspend/resume again. Obviously the power button will not work to shut the system down with those lines disabled, but if it's that, it should not be too difficult to change the default.sh script to ignore the spurious event (the way it is described in the link above).
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 10:13 pm    Post subject: Reply with quote

Ok I'm getting really close! (Actually I should say you are gettign really close, since it is all your suggestions :lol:)

Anyways, suspend to ram works and resumes with the screen! Now the problems... For soem reason after resuming X gets messed up. Current programs that are launched only show the window border and title (ie. the inside is transparent). This also occurs with new problems. I am using FVWM, but I dont' think this is the problem, since when I log out the same distortion occurs with xdm (the login box and my halt/reboot buttons are distorted).

Also when I try to switch to a tty or restart X, all I get is a black screen with a cursor blinking in the corner. I need to kill the power and reboot at this point.

I would think it is an X problem, but the tty problems make me think otherwise...
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 10:41 pm    Post subject: Reply with quote

If you suspend from a text console, does it resume properly ? Some video cards don't like it when you resume directly to X (when you switch to a text console, the X video driver saves the video state to memory, and restores it when you switch back, but if you suspend directly from X, the video BIOS that runs on resume will not be able to restore everything needed for the graphics mode).
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Wed Nov 02, 2005 11:03 pm    Post subject: Reply with quote

widan wrote:
If you suspend from a text console, does it resume properly ? Some video cards don't like it when you resume directly to X (when you switch to a text console, the X video driver saves the video state to memory, and restores it when you switch back, but if you suspend directly from X, the video BIOS that runs on resume will not be able to restore everything needed for the graphics mode).
Same issues if I suspend from the text console...
I wish I knew more about ACPI... I guess I'm learning now...

EDIT: I thought it may have been a problem with my screen resolution (I'm using 1280x800), so I switched it to 1024x768, but I have the same problems.
I got the advice based on this thread: https://forums.gentoo.org/viewtopic-t-293145-highlight-855gm+suspend.html
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Wed Nov 02, 2005 11:16 pm    Post subject: Reply with quote

And if you try with the scripts from this page (that is, using vbetool in addition to the "acpi_sleep=s3_mode"), in case the video BIOS does not initialize enough ?
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Thu Nov 03, 2005 3:27 am    Post subject: Reply with quote

widan wrote:
And if you try with the scripts from this page (that is, using vbetool in addition to the "acpi_sleep=s3_mode"), in case the video BIOS does not initialize enough ?
I actually am using those scripts with the kernel paramater right now...
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Thu Nov 03, 2005 6:01 am    Post subject: Reply with quote

WOW I may have gotten it to work! <- not true, keep reading

I followed the advice on this link:
http://article.gmane.org/gmane.linux.gentoo.laptop/340

The video_post program seems to be able to suspend and resume X without any problems! Now I need to hook the script into the laptop lid...

EDIT: It seems to work great once... but after that if run the script again all I get is a blinking cursor.. I'm presuming this is VT47, but no sleeping occurs...

BTW this is the sleep script I'm using... from the link:
Code:
#change to text console
chvt 47
#suspend
echo mem >/sys/power/state
video_post
#back to x
chvt 7


EDIT2: The crash seems to occur everytime I change to another virtual terminal after resuming from sleep. The machine itself doesn't crash however. X seems to be at 99% CPU though.

I was able to log in via ssh, and get this from the logs.
Code:
Nov  3 01:37:07 bonsai Unable to handle kernel paging request at virtual address 00002502
Nov  3 01:37:07 bonsai printing eip:
Nov  3 01:37:07 bonsai c025555b
Nov  3 01:37:07 bonsai *pde = 00000000
Nov  3 01:37:07 bonsai Oops: 0002 [#1]
Nov  3 01:37:07 bonsai PREEMPT
Nov  3 01:37:07 bonsai Modules linked in: ipv6 i915 drm rtc 8139cp ath_pci ath_rate_onoe wlan ath_hal i2c_i801 i2c_core joydev pcmcia firmware_class yenta_socket rsrc_nonstatic pcmcia_core speedstep_centrino freq_table 8139too mii dm_mirror dm_mod ata_piix ahci sata_qstor sata_vsc sata_uli sata_sis sata_sx4 sata_nv sata_via sata_svw sata_sil sata_promise libata sbp2 ieee1394 sl811_hcd ohci_hcd uhci_hcd usb_storage usbhid ehci_hcd usbcore
Nov  3 01:37:07 bonsai CPU:    0
Nov  3 01:37:07 bonsai EIP:    0060:[<c025555b>]    Tainted: P      VLI
Nov  3 01:37:07 bonsai EFLAGS: 00010286   (2.6.13-gentoo-r5)
Nov  3 01:37:07 bonsai EIP is at vesafb_handle_tasks+0xdb/0x380
Nov  3 01:37:07 bonsai eax: 00000003   ebx: dffde000   ecx: 0000000e   edx: 00000001
Nov  3 01:37:07 bonsai esi: df007400   edi: 00002502   ebp: f4f5d400   esp: dffdef00
Nov  3 01:37:07 bonsai ds: 007b   es: 007b   ss: 0068
Nov  3 01:37:07 bonsai Process vesafb (pid: 7, threadinfo=dffde000 task=dffef060)
Nov  3 01:37:07 bonsai Stack: 00000001 c03ef8e4 dffde000 dffdef58 c012d8f0 dffde000 c0255945 00060000
Nov  3 01:37:07 bonsai 00000007 018c4000 018c0000 dffde000 c18c0000 00000000 00000000 dffef060
Nov  3 01:37:07 bonsai c012d8f0 dffdef64 dffdef64 dffef060 dffef060 dffdef60 00000000 dffef060
Nov  3 01:37:07 bonsai Call Trace:
Nov  3 01:37:07 bonsai [<c012d8f0>] autoremove_wake_function+0x0/0x50
Nov  3 01:37:07 bonsai [<c0255945>] vesafb_thread+0x145/0x270
Nov  3 01:37:07 bonsai [<c012d8f0>] autoremove_wake_function+0x0/0x50
Nov  3 01:37:07 bonsai [<c012d8f0>] autoremove_wake_function+0x0/0x50
Nov  3 01:37:07 bonsai [<c011a02a>] release_task+0xca/0x160
Nov  3 01:37:07 bonsai [<c0114d8f>] schedule_tail+0x2f/0xb0
Nov  3 01:37:07 bonsai [<c01030b2>] ret_from_fork+0x6/0x14
Nov  3 01:37:07 bonsai [<c0255800>] vesafb_thread+0x0/0x270
Nov  3 01:37:07 bonsai [<c0255800>] vesafb_thread+0x0/0x270
Nov  3 01:37:07 bonsai [<c0101385>] kernel_thread_helper+0x5/0x10
Nov  3 01:37:07 bonsai Code: 89 e8 e8 29 d9 ee ff 8b 4c 24 04 eb c1 8b 75 60 85 f6 74 1c 66 c7 45 4c 00 02 bf 02 25 00 00 b9 0e 00 00 00 c7 45 18 02 05 00 00 <f3> a5 66 a5 a4 8d 45 08 e8 18 fb ff ff f6 45 04 01 c6 45 5c 01


I really don't know what ths traceback means... vesafb is mentioned, so maybe it's a crash with framebuffer...
Back to top
View user's profile Send private message
widan
Veteran
Veteran


Joined: 07 Jun 2005
Posts: 1512
Location: Paris, France

PostPosted: Thu Nov 03, 2005 8:56 am    Post subject: Reply with quote

mikegpitt wrote:
I really don't know what ths traceback means... vesafb is mentioned, so maybe it's a crash with framebuffer...

If means that there was the kernel-mode equivalent of a segfault somewhere in the function vesafb_handle_tasks. You need to try without the framebuffer (the vesafb-tng implementation used in gentoo-sources tries to call the video BIOS to do some tasks, and it may have been confused by the suspend).

To remove it when using genkernel, run "genkernel --menuconfig all", and uncheck that item:
Code:
Device Drivers  --->
  Graphics support  --->
    < > Support for frame buffer devices

Now it should use the normal text mode console (not a framebuffer).

There is a report here about framebuffer and S3:
Quote:
Also, I didn't get framebuffer working out of the box in Ubuntu. For some reason vesafb doesn't seem to initialize at all. To get it to work, I had to use the vesafb-tng patch (http://dev.gentoo.org/~spock/projects/vesafb-tng/), but then the Laptop doesn't properly recover from Suspend-to-ram anymore.
Back to top
View user's profile Send private message
InfinityX
Guru
Guru


Joined: 31 Jan 2004
Posts: 385

PostPosted: Thu Nov 03, 2005 2:09 pm    Post subject: Reply with quote

I've been following this thread trying to get suspend-to-ram working on my Acer Travelmate (same graphics chip as the original poster) with identical results. I'd just about given up when I decided to give software suspend another try, something I'd only used for suspend-to-disk. It works perfectly! I don't even need to reload USB modules, though I haven't been able to use a framebuffer with it yet.

/etc/hibernate/ram.conf

/etc/acpi/events/lid
Code:
event=button/lid
action=/etc/acpi/suspend_to_ram.sh %e

/etc/acpi/suspend_to_ram.sh
Code:
#!/bin/sh

echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0

/usr/sbin/hibernate-ram


Now I can suspend-to-disk with /usr/sbin/hibernate (using the text version of the progress bar of course) and suspend-to-ram by closing the lid!
Back to top
View user's profile Send private message
richme
n00b
n00b


Joined: 25 Sep 2005
Posts: 14
Location: Western Australia

PostPosted: Thu Nov 03, 2005 3:09 pm    Post subject: Reply with quote

Anothe couple of places to look for info on Linux on laptops is http://tuxmobil.org/mylaptops.html or http://www.linux-laptop.net/.

Both these sites have long stories about how people got Linux working for specific versions/makes/models of laptop.

HTH
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Thu Nov 03, 2005 3:50 pm    Post subject: Reply with quote

It looks like I got it working now... without gensplash.
I used the script and prog I mentioned in my above post.

widan: Thanks for all your help, you are awesome I was hoping I woulldn't have to compile out fbsplash, since I love it... especially for a laptop. Then again, if suspend to ram works, I won't ever need to reboot!
BTW - it looks liek we both went "l33t" during the coruse of this thread... although I dont' feel all that l33t with all the problems I had.

InfinityX: I tried the method you suggested using hibernate, but I still get the same video distortion.

richme: I have scoured linux-laptop.net and google trying to find people with ACPI workign with this card. I'm sure there are many out there, but I had a tough time finding stuff.
Back to top
View user's profile Send private message
InfinityX
Guru
Guru


Joined: 31 Jan 2004
Posts: 385

PostPosted: Thu Nov 03, 2005 5:05 pm    Post subject: Reply with quote

Mind posting your final configs mikegpitt? My method seems to suffer from that video distortion when I suspend for more than a few minutes, not having much luck with the other methods :?
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Thu Nov 03, 2005 11:27 pm    Post subject: Reply with quote

InfinityX wrote:
Mind posting your final configs mikegpitt? My method seems to suffer from that video distortion when I suspend for more than a few minutes, not having much luck with the other methods :?
Sure thing. Everything seems to be working fine all day, except that the laptop still seems to run a little warm even when sleeping, and the battery seems to drain faster than I would expect. This is something I will look into next.

/etc/acpi/events/pmg_lid
Code:
event=button[ /]lid
action=/etc/acpi/actions/sleep.sh %e


/etc/acpi/actions/sleep.sh (ohci1394 spits errors for me, you may want to add or delete from the rmmod/modprobe statements)
Code:
#!/bin/bash

#change to text console
chvt 47
#suspend
rmmod ohci1394
echo mem >/sys/power/state
/etc/acpi/actions/video_post
#back to x
chvt 7
modprobe ohci1394


To make the sleep.sh script function, build the video_post program found here:
http://www.srcf.ucam.org/~mjg59/laptops/video-post_0.1.orig.tar.gz
Code:
tar -xzf video-post_0.1.orig.tar.gz
cd video-post-0.1
make
cp video_post /etc/acpi/actions/.


/etc/acpi/default.sh (note the comments)
Code:
#!/bin/sh
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-power/acpid/files/acpid-1.0.4-default.sh,v 1.1 2005/03/15 19:15:53 ciaranm Exp $

# Default acpi script that takes an entry for all actions

set $*

group=${1/\/*/}
action=${1/*\//}

case "$group" in
        button)
                case "$action" in
                        #power) /sbin/init 0
                        #       ;;
                        *)      logger "ACPI action $action is not defined"
                                ;;
                esac
                ;;

        *)
                #logger "ACPI group $group / action $action is not defined"
                ;;
esac
Back to top
View user's profile Send private message
InfinityX
Guru
Guru


Joined: 31 Jan 2004
Posts: 385

PostPosted: Thu Nov 03, 2005 11:59 pm    Post subject: Reply with quote

Seems to be working so far, thanks! Though it's a shame to lose the framebuffer. I'm going to suspend it for around half an hour to test it properly now, then see if it can make it through the night without being plugged in. Technically the battery should be able to last around 2-3 days when suspended but we'll see how it goes.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum