>>Mogens Valentin wrote:
Douglas Gilbert wrote:
Mogens Valentin wrote:
Douglas Gilbert wrote:
Mogens Valentin wrote:
Douglas Gilbert wrote:
sdparm is a command line utility designed to get and set SCSI disk parameters (cf hdparm for ATA disks). ..snip..
Nice! Just got it and tried on an external usb disk. One feature I could use, probably others as well: Could you add the ability to spin down/up a scsi disk? I'd really like this for exteral (usb) disks.
With sg_start (in the sg3_utils package) I have tried to spin up and down an ATA disk inside a USB enclosure without success. The same command on a USB connected CD/DVD combo drive did work.
Could you try sg_start on your USB external enclosure which I assume contains an ATA disk rather than a SCSI (SPI) disk and report if it works?
Sure. Got it, compiled, but got the error: .../usr/include/scsi/sg.h /usr/include/scsi/scsi.h /usr/include/stdint.h sg_lib.h sg_cmds.h llseek.h gcc: cannot specify -o with -c or -S and multiple compilations make: *** [sgp_dd.o] Error 1
I could only find -o and -c in the makefiles around line 95.
Slack 9.1 / 2.6.10 from sources.
It's 4am, I'm off to bed, sorry :p
Could you try the sg3_utils-1.15.tgz beta at the top of http://www.torque.net/sg [in the news section]. Hopefully that cures the compile problem.
Nope, but it changes the error. You changed the makefile exactly as I tried it, removing '-c' in line 95.
This results in missing header files compiles:
...
creating sg_dd
gcc -g -O2 -Wall -W -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -c sgp_dd.c ...
.../usr/include/stdint.h sg_lib.h sg_cmds.h llseek.h
gcc: compilation of header file requested
gcc: compilation of header file requested
...
make: *** [sgp_dd.o] Error 1
Forgot to mention I have gcc version 3.2.3, FWIW..
It's not exactly an uncommon problem; I googled a bit :p
I haven't pinpointed the problem as yet, but found comments (from compiling other apps) that it could be either a gcc versioning problem, a problem with -I or -D switches, or simply a Makefile problem.
I can make that compile file as well if I place rubbish in the INCLUDES environment variable; for example: # export INCLUDES=hello.h
# make sgp_dd
gcc hello.h -g -O2 -Wall -W -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -c sgp_dd.c
gcc: hello.h: No such file or directory
make: *** [sgp_dd.o] Error 1
Ehh.. I don't follow you here..
INCLUDES seems left undefined and hence evaluates empty, so yes, you can provoke an error by defining some nonsense, but since I cannnot compile, something's wrong: my gcc version, your makefile, or my (½empty) mind.
Even if it doesn't you can 'make sg_start' to get the sg_start executable. 'man ./sg_start' will give you the usage information.
That I could do, doing the 1.15 version. Oh, it's man ./sg_start.8 ..
Of course.
Hmm, couldn't run sg_start:
.libs/sg_start: error while loading shared libraries: libsgutils.so.1: cannot open shared object file: No such file or directory
./sg_start in the compile directory should work.
My mistake..
No wonder, since libs hadn't been installed, so I copied them to /usr/local/lib . Now sg_start runs, but... :
bash-2.05b# .libs/sg_start 0 /dev/sdc start_stop: SCSI status: Check Condition Fixed format, current; Sense key: Illegal Request Additional sense: Invalid command operation code Raw sense data (in hex): 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 plus...: Driver_status=0x08 [DRIVER_SENSE, SUGGEST_OK]
So it doesn't support the SCSI START STOP UNIT command. Hence sdparm will be unable to spin up or down that disk :-(
Some info: bash-2.05b# cat /proc/scsi/usb-storage/11 Host scsi11: usb-storage Vendor: Prolific Technology Inc. Product: ATAPI-6 Bridge Controller Serial Number: 559F Protocol: Transparent SCSI Transport: Bulk Quirks:
bash-2.05b# sdparm -lv /dev/sdc /dev/sdc: ST316002 3A 8.01 >> Read write error recovery mode page not supported >> Caching (SBC) mode page not supported >> Control mode page not supported >> Informational exception control mode page not supported
And the bridge doesn't support the normal mode pages for a disk. Seems like a minimal bridge that supports the minimal 4 commands: - INQUIRY - READ CAPACITY - READ (10) - WRITE (10)
Not exactly "prolific".
Guess not, but that's what they call it. Marketing.. :p
How doy you tell that it's the the interface, not the disk, that has those limitations? For sure, it's a Seagate 7200.7 ATA, so I guess it should have the same features as the other interface-types of the same..
Anyways, damn!
I think you will find that sdparm will be more useful on your cd/dvd drive than that disk :-)
Yeah, I just don't need to spin 'em up/down ;)
As I said ealier, I'll keep looking; just got back in the saddle. I cc'd to linux-scsi, in case someone has interesting input.
-- Kind regards, Mogens Valentin
..but the others are way beyond behind! -- Kim, a good friend
- : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html