[ltp] USB issues after suspend to RAM with recent kernels on T60

Jan Kundrát linux-thinkpad@linux-thinkpad.org
Thu, 18 Mar 2010 19:06:21 +0100


This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig260DE4751A8D6D72B75AE136
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi list,
I had been using 2.6.26-gentoo-r1 for quite a long time and never had
any problem with USB after suspend to RAM. Some time ago, however, I
decided to try 2.6.30-gentoo. Starting with that kernel, my USB devices
which stood plugged during suspend would not be usable after reboot, and
would require re-plugging.

Therefore, based on a rumor I heard from a USB kernel guy over a beer
("yeah, could be fixed already, you're running an old kernel"), I waited
for a new kernel to try. Exam time came and I waited even longer, and
eventually settled for vanilla 2.6.33.1. Still, I'm having the following
issues. My machine is a T60 2007-FRG with what I believe is one of the
recent EC/BIOS firmwares. I'm using only drivers shiped with upstream
kernel with the exception of tp_smapi-0.40, which is not merged in
vanilla, AFAIK. Some of the experiments involved "Thinkpad Advanced
Minidock".

* Machine is running standalone, that is, not docked and with no power
adaptor. I plug a USB mouse to a USB port right on the machine, suspend,
to RAM. The light on the mouse shuts down. However, when I resume, the
LED in the mouse temporarily lights, but goes off after a while. I have
to plug it off and back in in order to get it to work.

* No dock, no USB device attached (apart from internal stuff like the FP
reader), suspend, resume, plug directly, it works. Great, but kind of
expected :).

* No dock, no USB, suspend, plug the mouse directly to the machine,
resume, the mouse works.

* No dock, no USB, suspend, dock the machine to the minidock while still
suspended with USB already plugged to the dock, resume while still
docked, USB works.

* Docked, no USB, suspend, plug via dock, resume, works.

* Docked, USB attached via dock, suspend, undock without pressing the
"undock button" on the dock (as it used to wake up the machine -- note
that I've been using that particular scenario for 2+ years without any
problem), leave it undocked for a few seconds, put back to the dock,
resume in there. USB device stood attached to the dock (and hence
disconnected from the PC) for the whole time. Upon resume, the mouse
gets lit for about 4 seconds, then it stops shining. `lsusb` still shows
the USB mouse as plugged. Relevant part of `dmesg` is attached (I
believe the iwl3945 trace is irrelevant; I've also removed some of its
debugging messages from the log).

So, to conclude -- my hibernate-script configuration did not change
since the time I was using the 2.6.26-something kernel. Still, whenever
the USB device is present during the suspend/resume cycle, it is not usab=
le.

In all cases, newly plugged devices worked without any problem I would
have noticed.

Any pointers about what to do are much appreciated. I can try some
kernel patches, if they were needed.

Cheers,
-jkt

--=20
cd /local/pub && more beer > /dev/mouth


--------------enig260DE4751A8D6D72B75AE136
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkuia6MACgkQamXfqERyJRfALgCeP3M9BnCh+oDDdmrG/NpbCdJN
vpUAnRX5jEE02bFGgGVGERwhybfXhI3C
=bgp2
-----END PGP SIGNATURE-----

--------------enig260DE4751A8D6D72B75AE136--