Norit <norit <at> komma.info> writes:
...
Some hints.
This will show you files/dirs installed by pm-utils on your system:
$ rpm -ql pm-utils
This is where pm-utils files/dirs are (you should have these !):
$ ls -al /usr/lib/pm-utils/
total 136
dr-xr-xr-x. 7 root root 4096 Nov 24 10:20 .
dr-xr-xr-x. 175 root root 86016 Dec 6 20:00 ..
drwxr-xr-x. 2 root root 4096 Dec 6 19:49 bin
-rw-r--r-- 1 root root 2019 Nov 18 16:10 defaults
-rwxr-xr-x 1 root root 5629 Nov 18 16:10 functions
dr-xr-xr-x. 2 root root 4096 Nov 24 10:20 module.d
-rwxr-xr-x 1 root root 9136 Nov 18 16:10 pm-functions
dr-xr-xr-x. 2 root root 4096 Nov 24 10:20 power.d
dr-xr-xr-x. 2 root root 4096 Dec 6 21:11 sleep.d
drwxr-xr-x 2 root root 4096 Nov 24 10:20 video-quirks
# ls -al /etc/pm*
-rw-r--r-- 1 root root 370 Nov 18 16:10 /etc/pm-utils-hd-apm-restore.conf
/etc/pm:
total 28
drwxr-xr-x. 5 root root 4096 Apr 19 2010 .
drwxr-xr-x. 131 root root 12288 Dec 6 19:44 ..
drwxr-xr-x. 2 root root 4096 Apr 19 2010 config.d
drwxr-xr-x. 2 root root 4096 Apr 19 2010 power.d
drwxr-xr-x. 2 root root 4096 Apr 19 2010 sleep.d
Below is a configuration file.
These lines are of interest (sounds familiar ? 99hd-apm-restore.hook ?):
$ cat /etc/pm-utils-hd-apm-restore.conf
# Config file for hd-apm-restore hook
# Devices, where the hd apm value should be restored, separated by space
#HD_APM_DEVICES="sda"
# Use this to overwrite a value for a device in case hdparm reports
# "unknown value" for the apm level. This is ignored when hdparm
# returns an other value.
#savestate sda 192
#savestate sdb 192
#savestate sdc 192
#savestate sdd 192
This is your "trouble" script (put it back in):
$ cat /usr/lib/pm-utils/sleep.d/99hd-apm-restore.hook
...
line 17:
source "${PM_FUNCTIONS}"
...
line 29 and 30:
HD_APM_DEVICES="`ls /dev | grep '^hd[a-z]$'`"
HD_APM_DEVICES+="`ls /dev | grep '^sd[a-z]$'
...
line 34:
for DEVICE in ${HD_APM_DEVICES}
...
line 48:
savestate "${DEVICE}" "${HD_APM_LEVEL}"
...
This is where your pm-utils files/dirs are (you should have these files !):
$ ls /usr/lib/pm-utils/
bin functions pm-functions sleep.d
defaults module.d power.d video-quirks
This is where your package internal variables are defined.
This variable is "source-ed" in 99hd-apm-restore.hook above:
$ cat /usr/lib/pm-utils/pm-functions
...
PM_UTILS_LIBDIR="/usr/lib/pm-utils"
...
PM_FUNCTIONS="$PM_UTILS_LIBDIR/functions"
...
The above says (after substitutions of variables) that actually this file is
sourced:
/usr/lib/pm-utils/functions
When you look at that above file's contents you will find the function
savestate referenced in line 48 of 99hd-apm-restore.hook above:
the function takes as arguments "${DEVICE}", that is devices hda* and sda*
present, if any, in your dir:
# ls /dev/sda*
/dev/sda /dev/sda11 /dev/sda14 /dev/sda4 /dev/sda7
/dev/sda1 /dev/sda12 /dev/sda2 /dev/sda5 /dev/sda8
/dev/sda10 /dev/sda13 /dev/sda3 /dev/sda6 /dev/sda9
You should see there above some sdb* devices (one of those represents your
external USB harddisk, you showed in dmesg in your original post).
The rest you have to figure out on your own.
You are a pround Linux user, aren't you :-)
JB