[ltp] Re: T43 or T43p and APM?

Bill Wohler linux-thinkpad@linux-thinkpad.org
Sun, 01 Jan 2006 13:04:56 -0800


--=-=-=

"Felix E. Klee" <felix.klee@inka.de> writes:

>> Anyway, suspend to disk works fine on a recent T43 with vanilla
>> kernels, same with suspend to ram, 
>
> Thanks, it's nice to know that APM works fine for this, except for:

Yes, I use APM since I had trouble with ACPI the last couple of times
I tried (using a stock Debian linux-kernel package). I have not tried
suspend-to-disk, but I use suspend-to-ram every day.

>  > if you don't have any USB devices attached...
>
> Could you be a bit more specific.  AFAICS, only USB mass storage
> devices will be attached, occasionally.

Felix, please check out http://www.newt.com/debian/thinkpad-t40p/.
Debian etch has recently migrated from devfs/hotplug to all udev. I'll
be updating this page with my new settings. In the meantime, I've
attached my new /etc/apm/events.d/local file that deals with the
issues raised above. Note that I use uhci_hcd and have blacklisted
ehci_hcd since it causes problems with my ThinkPad's docking station
for some reason.


--=-=-=
Content-Disposition: inline; filename=local

#! /bin/sh

# The ath_pci (used with the wireless network) and uhci_hcd (used with
# USB devices on docking station and Bluetooth) modules don't recover
# after suspending under 2.6 and udev. So, take down all networks upon
# suspend. Remove and insert uhci_hcd upon resume. The networking
# scripts will handle resetting the ath_pci module.
#
# Finally, esd gets hosed after a suspend and resume, so kill it
# before suspending and start it on resume. Starting it as wohler is
# ugly, but works.
#
# See apmd(8) for a description of the parameters passed to this script.

case "$1,$2" in
suspend,*)
    stop-networks
    killall esd
    ;;

resume,*)
    modprobe -r uhci_hcd
    modprobe uhci_hcd
    su wohler esd &
    ;;
esac

exit 0

--=-=-=
Content-Disposition: inline; filename=stop-networks

#! /bin/sh

# Stop all normal networks.

networks=`ifconfig -s|egrep '(eth0|ath0|ppp0)'|awk '{print $1}'`
for i in $networks; do
    echo -n "Stopping $i..."
    ifdown --force $i
    echo "done"
done


--=-=-=


-- 
Bill Wohler <wohler@newt.com>  http://www.newt.com/wohler/  GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.

--=-=-=--