Package: acpi-support
Version: 0.103-5
Severity: important
Tags: patch
the fix for the load cycling error gets applied to optical drives as well
as hard disks. this leads to somewhat scary kernel log errors such as
Dec 21 21:56:48 kernel: hdb: drive_cmd: status=0x51 { DriveReady
SeekComplete Error }
Dec 21 21:56:48 kernel: hdb: drive_cmd: error=0x04 { AbortedCommand }
Dec 21 21:56:48 kernel: ide: failed opcode was: 0xef
this is because the optical drives are not differentiated from hard disks
in ac.d/90-hdparm.sh. i've written a patch for the issue (see attached)
using hdparm and keying in on "Removeable" to differentiate hard disks
from optical disks. this works for my system, but i'm not sure if it is
a general enough approach to the problem.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.23-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages acpi-support depends on:
ii acpi-support-base 0.103-5 scripts for handling base ACPI eve
ii acpid 1.0.6-4 Utilities for using ACPI power man
ii dmidecode 2.9-1 Dump Desktop Management Interface
ii finger 0.17-11 user information lookup program
ii hdparm 7.7-1 tune hard disk parameters for high
ii laptop-detect 0.13.4 attempt to detect a laptop
ii libc6 2.7-5 GNU C Library: Shared libraries
ii lsb-base 3.1-24 Linux Standard Base 3.1 init scrip
ii nvclock 0.8b2-1 Allows you to overclock your nVidi
ii powermgmt-base 1.29 Common utils and configs for power
ii radeontool 1.5-5 utility to control ATI Radeon back
ii toshset 1.72-6 Access much of the Toshiba laptop
ii vbetool 1.0-1.1 run real-mode video BIOS code to a
ii x11-xserver-utils 7.3+2 X server utilities
acpi-support recommends no packages.
-- no debconf information
--- 90-hdparm.sh.orig 2007-12-21 21:50:41.000000000 -0500
+++ 90-hdparm.sh 2007-12-21 21:56:30.000000000 -0500
@@ -20,10 +20,12 @@
AC_POWER=$( /usr/bin/on_ac_power; echo $? )
for dev in /dev/sd? /dev/hd? ; do
if [ -b $dev ] ; then
- if [ $AC_POWER -eq 1 ] ; then
- hdparm -B 128 $dev
- else
- hdparm -B 254 $dev
+ if [ "$(hdparm -i $dev | grep Config= | awk '{print $3}')" !=
"Removeable" ] ; then
+ if [ $AC_POWER -eq 1 ] ; then
+ hdparm -B 128 $dev
+ else
+ hdparm -B 254 $dev
+ fi
fi
fi
done