public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* psmouse as module with suspend/resume
@ 2004-07-15 20:54 Kevin Fenzi
  2004-07-16  5:58 ` Dmitry Torokhov
  0 siblings, 1 reply; 4+ messages in thread
From: Kevin Fenzi @ 2004-07-15 20:54 UTC (permalink / raw)
  To: linux-kernel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Greetings. 

I am having a bit of an issue with psmouse and suspend/resume. 
I am using the swsusp2, which is working great... (Thanks Nigel!)

However: 

If I compile psmouse as a module and leave it in and suspend/resume
when the laptop comes back the mouse doesn't work at all. 

If I compile psmouse as a module and unload before suspend, and reload
after resume, the mouse works for simple movement, but all the
advanced synaptics features no longer work. No tap for mouse button,
no scolling, etc. 

If I compile psmouse in everything works after a suspend/resume cycle.

I would like to be able to compile psmouse as a module. Does anyone
see any reason the synaptics stuff wouldn't work after a
unload/reload? 

Before a suspend/resume: 

kernel: Synaptics Touchpad, model: 1
kernel:  Firmware: 5.9
kernel:  Sensor: 51
kernel:  new absolute packet format
kernel:  Touchpad has extended capability bits
kernel:  -> 4 multi-buttons, i.e. besides standard buttons
kernel:  -> multifinger detection
kernel:  -> palm detection
kernel: input: SynPS/2 Synaptics TouchPad on isa0060/serio4

Afer a unload and reload:

kernel: Synaptics Touchpad, model: 1
kernel:  Firmware: 5.9
kernel:  Sensor: 51
kernel:  new absolute packet format
kernel:  Touchpad has extended capability bits
kernel:  -> 4 multi-buttons, i.e. besides standard buttons
kernel:  -> multifinger detection
kernel:  -> palm detection
kernel: input: SynPS/2 Synaptics TouchPad on isa0060/serio4

So, it all looks the same there. 
I wonder if it's not something with the input layer not reconnecting
right on reload with what the synaptics driver in X is expecting... 

In the X log after a resume/reload: 

(II) DevInputMice: ps2EnableDataReporting: succeeded
Synaptics DeviceOn called
(EE) xf86OpenSerial: Cannot open device /dev/input/event2
        No such device.
(WW) Mouse0: cannot open input device

Any ideas?
Happy to provde more information on versions, etc...

thanks,

kevin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFA9u8i3imCezTjY0ERAmWnAJ9uKMauJAfSMKgz9VBB6Z5o7/66vACffKg5
8Imj27a19cu4OtVuhaszXOM=
=6i7m
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: psmouse as module with suspend/resume
  2004-07-15 20:54 psmouse as module with suspend/resume Kevin Fenzi
@ 2004-07-16  5:58 ` Dmitry Torokhov
       [not found]   ` <20040716164704.CFC1A43FF@voldemort.scrye.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Torokhov @ 2004-07-16  5:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Kevin Fenzi

On Thursday 15 July 2004 03:54 pm, Kevin Fenzi wrote:
> 
> Greetings.
> 
> I am having a bit of an issue with psmouse and suspend/resume.
> I am using the swsusp2, which is working great... (Thanks Nigel!)
> 
> However:
> 
> If I compile psmouse as a module and leave it in and suspend/resume
> when the laptop comes back the mouse doesn't work at all.
> 
> If I compile psmouse as a module and unload before suspend, and reload
> after resume, the mouse works for simple movement, but all the
> advanced synaptics features no longer work. No tap for mouse button,
> no scolling, etc.
> 
> If I compile psmouse in everything works after a suspend/resume cycle.
>

There should not be any differences between module and compiled version.
Could you please change #undef DEBUG to #define DEBUG in
drivers/input/serio/i8042.c module and post the full dmesg (you may have
to use log_buf_size=131072 and 'dmesg -s 131072' to get the full dmesg).
 
> I would like to be able to compile psmouse as a module. Does anyone
> see any reason the synaptics stuff wouldn't work after a
> unload/reload?

When you reload do you do it from X or from text console? Do you have GPM
running? If some program has the device open when you reload a new device
will be created. X closes the device when switching to a text console, so
just kill GPM before reloading psmouse and it should help.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: psmouse as module with suspend/resume
       [not found]   ` <20040716164704.CFC1A43FF@voldemort.scrye.com>
@ 2004-07-16 22:43     ` Dmitry Torokhov
  2004-07-17  4:23       ` Nigel Cunningham
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Torokhov @ 2004-07-16 22:43 UTC (permalink / raw)
  To: Kevin Fenzi; +Cc: Brouard Nicolas, linux-kernel, Nigel Cunningham

On Friday 16 July 2004 11:46 am, Kevin Fenzi wrote:
> >>>>> "Dmitry" == Dmitry Torokhov <dtor_core@ameritech.net> writes:
> 
> Dmitry> On Thursday 15 July 2004 03:54 pm, Kevin Fenzi wrote:
> >> Greetings.
> >>
> >> I am having a bit of an issue with psmouse and suspend/resume.  I
> >> am using the swsusp2, which is working great... (Thanks Nigel!)
> >>
> >> However:
> >>
> >> If I compile psmouse as a module and leave it in and suspend/resume
> >> when the laptop comes back the mouse doesn't work at all.
> >>
> >> If I compile psmouse as a module and unload before suspend, and
> >> reload after resume, the mouse works for simple movement, but all
> >> the advanced synaptics features no longer work. No tap for mouse
> >> button, no scolling, etc.
> >>
> >> If I compile psmouse in everything works after a suspend/resume
> >> cycle.
> 
> Dmitry> There should not be any differences between module and
> Dmitry> compiled version.  Could you please change #undef DEBUG to
> Dmitry> #define DEBUG in drivers/input/serio/i8042.c module and post
> Dmitry> the full dmesg (you may have to use log_buf_size=131072 and
> Dmitry> 'dmesg -s 131072' to get the full dmesg).
> 
> ok. I did that...
> 
> Here is a boot up with psmouse as a module.
> Then a suspend.
> Then a rmmod psmouse; modprobe psmouse.
>

>From what I see there was no attempts to reconnect any of the devices
connected to PS/2 ports.

I am inclined to say that it's swsusp2 problem. I briefly looked over
the code and I could not find a place where device_power_up would be
called; swsusp2 goes straight to device_resume. This causes system
devices (and i8042 is currently a system device) not be resumed and
thus your touchpad is left id default PS/2 hardware emulation mode.

Have you tried swsusp1? It seems to have the proper hooks in place.
 
-- 
Dmitry

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: psmouse as module with suspend/resume
  2004-07-16 22:43     ` Dmitry Torokhov
@ 2004-07-17  4:23       ` Nigel Cunningham
  0 siblings, 0 replies; 4+ messages in thread
From: Nigel Cunningham @ 2004-07-17  4:23 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Kevin Fenzi, Brouard Nicolas, Linux Kernel Mailing List

Hi.

On Sat, 2004-07-17 at 08:43, Dmitry Torokhov wrote:
> I am inclined to say that it's swsusp2 problem. I briefly looked over
> the code and I could not find a place where device_power_up would be
> called; swsusp2 goes straight to device_resume. This causes system
> devices (and i8042 is currently a system device) not be resumed and
> thus your touchpad is left id default PS/2 hardware emulation mode.

Ah. I see what you mean. Pavel and Patrick have improved the support in
their versions and I still have the old code. I'll update to use the
device tree properly.

Regards,

Nigel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-07-17  4:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-15 20:54 psmouse as module with suspend/resume Kevin Fenzi
2004-07-16  5:58 ` Dmitry Torokhov
     [not found]   ` <20040716164704.CFC1A43FF@voldemort.scrye.com>
2004-07-16 22:43     ` Dmitry Torokhov
2004-07-17  4:23       ` Nigel Cunningham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox