Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SG_READ_LONG(8)			   SG3_UTILS		       SG_READ_LONG(8)

       sg_read_long - send a SCSI READ LONG command

       sg_read_long   [--16]   [--correct]   [--help]  [--lba=LBA]  [--out=OF]
       [--pblock] [--readonly] [--verbose] [--version] [--xfer_len=BTL]	DEVICE

       Send SCSI READ LONG command to DEVICE. The read buffer is output	in hex
       and  ASCII  to  stdout or placed	in a file. Note	that the data returned
       includes	the logical block data (typically 512 bytes for	a  disk)  plus
       ECC  information	 (whose	 format	 is proprietary) plus optionally other
       proprietary data. Note that the logical block data may  be  encoded  or

       In  SBC-4  revision 7 the SCSI READ LONG	(10 and	16 byte) commands were
       made obsolete. In the same revision all uses of SCSI WRITE LONG (10 and
       16  byte)  commands were	made obsolete apart from the case in which the
       WR_UNCOR	bit is set.

       Arguments to long options are mandatory for short options as well.

       -S, --16
	      uses a SCSI READ LONG(16)	command. The default action is to  use
	      a	SCSI READ LONG(10) command. The	READ LONG(10) command has a 32
	      bit field	for the	lba while READ LONG(16)	has a 64 bit field.

       -c, --correct
	      sets the 'CORRCT'	bit in the SCSI	READ LONG  command.  When  set
	      the  data	 is corrected by the ECC before	being transferred back
	      to this utility. The default is to leave the 'CORRCT' bit	 clear
	      in which case the	data is	not corrected.

       -h, --help
	      output the usage message then exit.

       -l, --lba=LBA
	      where  LBA  is  the logical block	address	of the sector to read.
	      Assumed to be in decimal unless prefixed with  '0x'  (or	has  a
	      trailing	'h'). Defaults to lba 0. If the	lba is larger than can
	      fit in 32	bits then the --16 option should be used.

       -o, --out=OF
	      instead of outputting ASCII hex to stdout, send it in binary  to
	      the  file	 called	 OF.  If '-' is	given for OF then the (binary)
	      output is	sent to	stdout.	Note that all  informative  and	 error
	      output is	sent to	stderr.

       -p, --pblock
	      sets  the	 'PBLOCK'  bit in the SCSI READ	LONG command. When set
	      the physical block (plus ECC data) containing the	requested log-
	      ical block address is read. The default is to leave the 'PBLOCK'
	      bit clear	in which case the logical block	(plus any ECC data) is

       -r, --readonly
	      opens  the  DEVICE read-only rather than read-write which	is the
	      default. The Linux sg driver needs  read-write  access  for  the
	      SCSI  READ  LONG	command	 but  other access methods may require
	      read-only	access.

       -v, --verbose
	      increase the level of verbosity, (i.e. debug output).

       -V, --version
	      print the	version	string and then	exit.

       -x, --xfer_len=BTL
	      where BTL	is the byte transfer length (default to	520).  If  the
	      given  value  (or	 the  default) does not	match the "long" block
	      size of the device, the appropriate BTL is deduced from the  er-
	      ror  response and	printed	(to stderr). The idea is that the user
	      will retry this utility with the correct transfer	length.

       If a defective block is found and its contents, if any,	has  been  re-
       trieved	then  "sg_reassign"  could  be	used  to map out the defective
       block. Associated with such an action the number	 of  elements  in  the
       "grown"	defect list could be monitored (with "sg_reassign --grown") as
       the disk	could be nearing the end of its	useful lifetime.

       Various numeric arguments (e.g. LBA) may	 include  multiplicative  suf-
       fixes  or  be given in hexadecimal. See the "NUMERIC ARGUMENTS" section
       in the sg3_utils(8) man page.

       As a data point,	Fujitsu	uses a 54 byte ECC (per	block) which is	 capa-
       ble  of correcting up to	a single burst error or	216 bits "on the fly".
       [Information obtained from MAV20xxrc product manual.]

       The exit	status of sg_read_long is 0 when it is	successful.  Otherwise
       see the sg3_utils(8) man	page.

       Written by Douglas Gilbert.

       Report bugs to <dgilbert	at interlog dot	com>.

       Copyright (C) 2004-2016 Douglas Gilbert
       This  software is distributed under the GPL version 2. There is NO war-
       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR-

       sg_reassign, sg_write_long, sg_dd

sg3_utils-1.42			 November 2015		       SG_READ_LONG(8)


Want to link to this manual page? Use this URL:

home | help