Provided by: sg3-utils_1.46-3ubuntu4_amd64 bug

NAME

       sg_map - displays mapping between Linux sg and other SCSI devices

SYNOPSIS

       sg_map [-a] [-h] [-i] [-n] [-scd] [-sd] [-sr] [-st] [-V] [-x]

DESCRIPTION

       Sometimes it is difficult to determine which SCSI device a sg device name (e.g. /dev/sg0) refers to. This
       command loops through the sg devices and finds the corresponding SCSI disk, cdrom or tape device name (if
       any). Scanners are an example of SCSI devices that have no alternate SCSI device name apart from their sg
       device name.

       This utility is deprecated and has not been updated for years, only very  obvious  bugs  will  be  fixed.
       Unless a very old version of Linux is being used (e.g.  2.4 series or earlier), then please use a utility
       like lsscsi(8) or the facilities offered by udev(8).

OPTIONS

       -a     assume the sg devices have alphabetical device names and loop  through  /dev/sga,  /dev/sgb,  etc.
              Default  is  numeric  scan.   Note  that  sg  device  nodes  with  an alphabetical index have been
              deprecated since the Linux kernel 2.2 series.

       -h     print usage message then exit.

       -i     in addition do a standard INQUIRY and output vendor, product and revision strings for devices that
              are found.

       -n     assume  the sg devices have numeric device names and loop through /dev/sg0, /dev/sg1, etc. Default
              is numeric scan

       -scd   display mappings to SCSI cdrom device names of the form /dev/scd0, /dev/scd1 etc

       -sd    display mappings to SCSI disk device names

       -sr    display mappings to SCSI cdrom device names of the form /dev/sr0, /dev/sr1 etc

       -st    display mappings to SCSI tape device names

       -V     print out version string then exit (without further ado).

       -x     after each active sg device name is displayed there are five digits: <host_number> <bus> <scsi_id>
              <lun> <scsi_type>

NOTES

       If no options starting with "-s" are given then the mapping to all SCSI disk, cdrom and tape device names
       is shown.

       If the device file system (devfs) is present a line noting  this  is  output.  The  "native"  devfs  scsi
       hierarchy  makes  the  relationship  between  a  sg device name and any corresponding disk, cdrom or tape
       device name easy to establish. This replaces the need for this command. However  many  applications  will
       continue to look for Linux SCSI device names in their traditional places. [Devfs supplies a compatibility
       daemon called devfsd whose default configuration adds back the Linux device names  in  their  traditional
       positions.

       Quite  often  the  mapping  information  can  be  derived  by  observing  the output of the command: "cat
       /proc/scsi/scsi".  However if devices have been added since boot this can be deceptive.

       In the Linux kernel 2.6 series something close to the mapping shown by  this  utility  can  be  found  by
       analysing  sysfs.  The  main difference is that sysfs analysis will show the mapping between sg nodes and
       other SCSI device nodes in terms of major and minor numbers. While major 8,  minor  16  will  usually  be
       /dev/sdb  this  is  not necessarily so. Facilities associated with udev may assign major 8, minor 16 some
       other device node name. This version of sg_map has been extended to cope with  sparse  disk  device  node
       names  of the form "/dev/sd<str>" where <str> can be one of [a-z,aa-zz,aaa-zzz]. See the sg_map26 utility
       for a more precise way (i.e. less directory scanning) for mapping between  sg  device  names  and  higher
       level names; including finding user defined names.

       This utility was written at a time when hotplugging of SCSI devices was not supported in Linux. It used a
       simple algorithm to scan sg device nodes in ascending numeric or alphabetical order, stopping after there
       were 5 consecutive errors.

       In the Linux kernel 2.6 series, this utility uses sysfs to find which sg device nodes are active and only
       checks those. Hence there can be large "holes" in the numbering of sg device nodes (e.g. after an adapter
       has  been  removed)  and  still  all  active sg device nodes will be listed. This utility assumes that sg
       device nodes are named using the normal conventions and searches from /dev/sg0 to /dev/sg4095 inclusive.

EXAMPLES

       My system has a SCSI disk, a cd writer and a dvd player:
          $ sg_map
          # Note: the devfs pseudo file system is present
          /dev/sg0  /dev/sda
          /dev/sg1  /dev/sr0
          /dev/sg2  /dev/sr1

       In order to find which sg device name corresponds to the disk:
          $ sg_map -sd
          # Note: the devfs pseudo file system is present
          /dev/sg0  /dev/sda
          /dev/sg1
          /dev/sg2

       The "-x" option gives the following output:
          sg_map -x
          # Note: the devfs pseudo file system is present
          /dev/sg0  1 0 1 0  0  /dev/sda
          /dev/sg1  2 0 4 0  5  /dev/sr0
          /dev/sg2  2 0 6 0  5  /dev/sr1

       When a SCSI scanner is added the output becomes:
          $ sg_map
          # Note: the devfs pseudo file system is present
          /dev/sg0  /dev/sda
          /dev/sg1  /dev/sr0
          /dev/sg2  /dev/sr1
          /dev/sg3

       By process of elimination /dev/sg3 must be the scanner.

EXIT STATUS

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

AUTHOR

       Written by Douglas Gilbert

REPORTING BUGS

       Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT

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

SEE ALSO

       sg_map26(8) , scsi_info(8) , scsidev(8) , devfsd(8) , lsscsi(8) , udev(7)