Re: [ANNOUNCE] sdparm 0.92

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Douglas Gilbert wrote:
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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux