Man Linux: Main Page and Category List


       sg_test_rwbuf  -  Tests the SCSI host adapter by issuing write and read
       operations on a device’s buffer and calculating checksums.


       sg_test_rwbuf [--addrd=AR] [--addwr=AW]  [--help]  [--quick]  --size=SZ
       [--times=NUM] [--verbose] [--version] DEVICE

       or an older deprecated format sg_test_rwbuf DEVICE SZ [AW] [AR]


       sg_test_rwbuf  writes and reads back SZ bytes to the internal buffer of
       DEVICE (e.g. /dev/sda or /dev/sg0). A pseudo random pattern is  written
       to the data buffer on the device then read back. If the same pattern is
       found ’Success’ is reported. If they do not match  (checksums  unequal)
       then  this  is  reported  and  up  to  24 bytes from the first point of
       mismatch are reported; the first line shows what was  written  and  the
       second  line shows what was received. For testing purposes, you can ask
       it to write AW or read AR additional bytes.


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

       -r, --addrd=AR
              Read an additional AR bytes (than indicated by SZ) from the data
              buffer. Checksum is performed over the first SZ bytes.

       -w, --addwr=AW
              Write  an  additional  AW  bytes (than indicated by SZ) of zeros
              into the data buffer. Checksum is generated over  the  first  SZ

       -h, --help
              Print out a usage message the exit.

       -q, --quick
              Perform  a  READ  BUFFER  descriptor  command  to  find  out the
              available data buffer length and offset,  print  them  out  then
              exit (without testing with write/read sequences).

       -s, --size=SZ
              where  SZis  teh size of buffer in bytes to be written then read
              and checked. This number needs to be less than on equal  to  the
              size  of  the  device’s  data  buffer which can be seen from the
              --quick option.  Either this option or the --quick option should
              be given.

       -t, --times=NUM
              where  NUM  is  the  number of times to repeat the write/read to
              buffer test. Default value is 1 .

       -v, --verbose
              increase verbosity of output.

       -V, --version
              print version number (and data of last change) then exit.


       The microcode in a SCSI device is  _not_  modified  by  doing  a  WRITE
       BUFFER  command  with  its  mode  set  to  "data" (0x2) as done by this
       utility. Therefore this utility is safe in that respect.  [Mode  values
       0x4, 0x5, 0x6 and 0x7 are the dangerous ones :-)]

       WARNING: If you access the device at the same time (e.g. because it’s a
       hard disk with a mounted file system on it) the device’s buffer may  be
       used  by  the  device  itself  for  other  data  at  the same time, and
       overwriting it may or may not cause data corruption! HOWEVER the  SPC-3
       draft  standard  does  state in its WRITE BUFFER command: "This command
       shall not alter any medium of the logical unit when data  mode  ...  is
       specified".  This  implies  that  it _is_ safe to use this utility with
       devices that have mounted file systems on them.  Following  this  theme
       further,  a  disk  with  active mounted file systems may cause the data
       read back to be different (due to caching activity) to what was written
       and hence a checksum error.


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


       Written by D. Gilbert and K. Garloff


       Copyright © 2000-2006 Douglas Gilbert, Kurt Garloff
       This software is distributed under the  GPL  version  2.  There  is  NO
       warranty;  not  even  for  MERCHANTABILITY  or FITNESS FOR A PARTICULAR