-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The Thursday 2007-06-21 at 00:52 +0200, Joachim Schrod wrote:
> Carlos E. R. wrote:
>
> > ...I had completely forgotten 'sdparm' :-)
> >
> > > sdparm --command=ready /dev/sdc # check ready state
> > > sdparm --command=start /dev/sdc # start a sleeping disk
> > > sdparm --command=stop /dev/sdc # put a disk in standby
> > > sdparm -al -f /dev/sdc # list all known mode flags
> > > sdparm -6 -p po --clear=STANDBY /dev/sdc # turn off standby feature
> > > sdparm -6 -p po --defaults /dev/sdc # establish it again
> >
> > I have looked at the man page, but didn't find out more. Perhaps there is
> > another one to learn the sleep timeout.
>
> At my disk, the sleep timeout is shown by the -alf command:
>
> pussy:~/log # sdparm -al -f /dev/sdc
> /dev/sdc: Seagate FreeAgentDesktop 100D
> RBC device parameters (RBC) [PS=1] mode page:
> WCD 0 [cha: n, def: 0, sav: 0] Write cache disable
> LBS 512 [cha: n, def:512, sav:512] Logical block size
> NLBS 0x3a386030 [cha: y, def:0x3a386030, sav:0x3a386030]
> Number of logical blocks
> P_P 0 [cha: n, def: 0, sav: 0] Power/performance
> READD 0 [cha: n, def: 0, sav: 0] Read disable
> WRITED 0 [cha: n, def: 0, sav: 0] Write disable
> FORMATD 0 [cha: n, def: 0, sav: 0] Format disable
> LOCKD 0 [cha: n, def: 0, sav: 0] Lock disable
> Power condition [PS=0] mode page:
> IDLE 0 [cha: n, def: 0, sav: 0] Idle timer active
> STANDBY 1 [cha: y, def: 1, sav: 1] Standby timer active
> ICT 0 [cha: n, def: 0, sav: 0] Idle condition timer
> (100 ms)
> SCT 9000 [cha: y, def:9000, sav:9000] Standby condition timer (100
> ms)
>
> The standby timer is set to 900sec (last line).
That line doesn't show in mine. It actually complains at the end:
...
SESS_F 63 [cha: y, def: 63, sav: 63] Session format
PACK_S 0 [cha: n, def: 0, sav: 0] Packet size
>> hereafter field position exceeds mode page length=12
APL 0 [cha: n, def: 0, sav: 0] Audio pause length (blocks)
nimrodel:~ #
> Does "sdparm -p po -l /dev/sda" output any values on your system?
> It does only work on my USB disks; my SATA disks output
Doesn't look too good:
/dev/sda: ST360020 A 0000
Direct access device specific parameters: WP=0 DPOFUA=0
>> Power condition [po] mode page not supported
> > > Power condition mode page not supported
> probably the stop command wouldn't work there either. (I don't want to stop
> one of them, they're in use. :-))
I have no sata, but in the past I did the experiment on pata: I could hear
the motors spinning down, and after a few seconds they spinned up again,
with perhaps a complaint from the kernel. Let me see, my hdb is not in use
right now...
nimrodel:~ #
[...]
Crash!
I had a system crash just at that point, this is what I recovered of my
email that served as notebook. What did I do?
Well, I checked my /dev/hdb status via hdparm -C, which was "active/idle",
then sent it to sleep (-y and or -Y), which it did, checked the status
again, and now I'm not sure if it answered fast or took some time. A
second time took a minute to answer. I think it said standby. I should
have written it down on paper.
However, the problem was that /dev/hda, where my home is (but not the
system) stopped responding:
Jun 21 01:59:54 nimrodel kernel: hdb: drive_cmd: status=0x51 { DriveReady
SeekComplete Error }
Jun 21 01:59:54 nimrodel kernel: hdb: drive_cmd: error=0x04 { DriveStatusError }
Jun 21 01:59:54 nimrodel kernel: ide: failed opcode was: 0xe0
Jun 21 01:59:55 nimrodel kernel: hdb: drive_cmd: status=0x51 { DriveReady
SeekComplete Error }
Jun 21 01:59:55 nimrodel kernel: hdb: drive_cmd: error=0x04 { DriveStatusError }
Jun 21 01:59:55 nimrodel kernel: ide: failed opcode was: 0x94
Jun 21 02:00:02 nimrodel kernel: hdb: drive_cmd: status=0x51 { DriveReady
SeekComplete Error }
Jun 21 02:00:02 nimrodel kernel: hdb: drive_cmd: error=0x04 { DriveStatusError }
Jun 21 02:00:02 nimrodel kernel: ide: failed opcode was: 0xe0
Jun 21 02:00:02 nimrodel kernel: hdb: drive_cmd: status=0x51 { DriveReady
SeekComplete Error }
Jun 21 02:00:02 nimrodel kernel: hdb: drive_cmd: error=0x04 { DriveStatusError }
Jun 21 02:00:02 nimrodel kernel: ide: failed opcode was: 0x94
Jun 21 02:00:17 nimrodel kernel: hdb: irq timeout: status=0xd0 { Busy }
Jun 21 02:00:17 nimrodel kernel: ide: failed opcode was: 0xe5
Jun 21 02:00:27 nimrodel kernel: hda: lost interrupt
Jun 21 02:00:47 nimrodel kernel: hda: dma_timer_expiry: dma status == 0x60
Jun 21 02:00:47 nimrodel kernel: hda: DMA timeout retry
Jun 21 02:00:47 nimrodel kernel: hda: timeout waiting for DMA
Jun 21 02:01:17 nimrodel kernel: hda: lost interrupt
Jun 21 02:01:47 nimrodel kernel: hda: lost interrupt
Jun 21 02:02:17 nimrodel kernel: hda: lost interrupt
Jun 21 02:02:32 nimrodel kernel: hda: lost interrupt
Jun 21 02:02:32 nimrodel kernel: hdb: status timeout: status=0xd0 { Busy }
Jun 21 02:02:32 nimrodel kernel: ide: failed opcode was: 0xe5
Jun 21 02:02:32 nimrodel kernel: hdb: drive not ready for command
Jun 21 02:02:52 nimrodel kernel: hda: dma_timer_expiry: dma status == 0x60
Jun 21 02:02:52 nimrodel kernel: hda: DMA timeout retry
Jun 21 02:02:52 nimrodel kernel: hda: timeout waiting for DMA
Jun 21 02:03:02 nimrodel kernel: hda: lost interrupt
Jun 21 02:03:22 nimrodel kernel: hda: dma_timer_expiry: dma status == 0x60
Jun 21 02:03:22 nimrodel kernel: hda: DMA timeout retry
Jun 21 02:03:22 nimrodel kernel: hda: timeout waiting for DMA
Jun 21 02:03:32 nimrodel kernel: hda: lost interrupt
Jun 21 02:03:52 nimrodel kernel: hda: dma_timer_expiry: dma status == 0x60
Jun 21 02:03:52 nimrodel kernel: hda: DMA timeout retry
Jun 21 02:03:52 nimrodel kernel: hda: timeout waiting for DMA
Jun 21 02:04:22 nimrodel kernel: hda: lost interrupt
Jun 21 02:04:52 nimrodel kernel: hda: lost interrupt
Jun 21 02:05:22 nimrodel kernel: hda: lost interrupt
Jun 21 02:05:52 nimrodel kernel: hda: lost interrupt
Jun 21 02:05:55 nimrodel kernel: end_request: I/O error, dev hda, sector
100834032
Now, my hda has been acting up for some time, and I suspect the 80 pin
connector or cable, and I want to replace it. Thus I can not be fully sure
that it coincidentally decided to act up again, or this time it was really
caused by my tests (I should not have used -Y uppercase)
I did try to awake both with -w:
-w Perform a device reset (DANGEROUS). Do NOT use this
option. It exists for unlikely situations where a reboot
might otherwise be required to get a confused drive back
into a useable state.
But it didn't work. Actually, I go a kernel panic:
Jun 21 02:05:55 nimrodel kernel: ------------[ cut here ]------------
Jun 21 02:05:55 nimrodel kernel: kernel BUG at drivers/ide/ide.c:1382!
Jun 21 02:05:55 nimrodel kernel: invalid opcode: 0000 [#1]
Jun 21 02:05:55 nimrodel kernel: last sysfs file: /block/sda/size
...
and the system stopped with caps lock and scroll lock blinking. Power down
and boot, and reboot (no network the first time)
Well... a kernel bug is a kernel bug. I assume I should report it to
bugzilla.
Interesting times :-}
- --
Cheers,
Carlos E. R.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Made with pgp4pine 1.76
iD8DBQFGekhitTMYHG2NR9URAqEPAJoCJu4sQ4IY9+OvCJbdG19Z/p+/3wCfd+xq
3crjQdD71vht3U+NMvDinoY=
=06Vj
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]