lsscsi(8) - phpMan

Command: man perldoc info search(apropos)  


lsscsi(8)                                     LSSCSI                                    lsscsi(8)



NAME
       lsscsi - list SCSI devices (or hosts) and their attributes

SYNOPSIS
       lsscsi [--classic] [--device] [--generic] [--help] [--hosts] [--kname] [--list] [--lunhex]
       [--long] [--protection] [--protmode] [--scsi_id] [--size] [--sysfsroot=PATH] [--transport]
       [--verbose] [--version] [--wwn] [H:C:T:L]

DESCRIPTION
       Uses  information  in  sysfs  (Linux kernel series 2.6 and later) to list SCSI devices (or
       hosts) currently attached to the system. Options can be used to  control  the  amount  and
       form of information provided for each device.

       If a H:C:T:L argument is given then it acts as a filter and only devices that match it are
       listed. The colons don't have to be present, and '-', '*', '?' or missing arguments at the
       end  are  interpreted  as  wildcards. The default is '*:*:*:*' which means to match every-
       thing. Any filter string using '*' of '?' should be surrounded by single or double  quotes
       to  stop  shell  expansions.  If  '-' is used as a wildcard then the whole filter argument
       should be prefixed by '-- ' to tell this utility there are no more options on the  command
       line  to  be  interpreted.   A  leading '[' and trailing ']' are permitted (e.g. '[1:0:0]'
       matches all LUNs on 1:0:0). May also be used to filter --hosts in which case only the H is
       active and may be either a number or in the form "host<n>" where <n> is a host number.

       By  default  in  this  utility device node names (e.g. "/dev/sda" or "/dev/root_disk") are
       obtained by noting the major and minor numbers for the listed device obtained  from  sysfs
       (e.g.  the  contents  of  "/sys/block/sda/dev") and then looking for a match in the "/dev"
       directory. This "match by major and minor" will allow devices that have been given a  dif-
       ferent name by udev (for example) to be correctly reported by this utility.

       In  some  situations it may be useful to see the device node name that Linux would produce
       by default, so the --kname option is provided.  An example of where this may be useful  is
       kernel error logs which tend to report disk error messages using the disk's default kernel
       name.

OPTIONS
       Arguments to long options are mandatory for  short  options  as  well.   The  options  are
       arranged in alphabetical order based on the long option name.

       -c, --classic
              The output is similar to that obtained from 'cat /proc/scsi/scsi'

       -d, --device
              After  outputting  the  (probable) SCSI device name the device node major and minor
              numbers are shown in brackets (e.g. "/dev/sda[8:0]").

       -g, --generic
              Output the SCSI generic device file name. Note that if the sg driver is a module it
              may need to be loaded otherwise '-' may appear.

       -h, --help
              Output the usage message and exit.

       -H, --hosts
              List  the  SCSI hosts currently attached to the system. If this option is not given
              then SCSI devices are listed.

       -k, --kname
              Use Linux default algorithm for naming devices (e.g. block  major  8,  minor  0  is
              "/dev/sda")  rather  than the "match by major and minor" in the "/dev" directory as
              discussed above.

       -L, --list
              Output additional information in <attribute_name>=<value> pairs, one pair per  line
              preceded by two spaces. This option has the same effect as '-lll'.

       -l, --long
              Output  additional  information  for  each SCSI device (host). Can be used multiple
              times for more output in which case the shorter  option  form  is  more  convenient
              (e.g.  '-lll').  When  used  three  times  (i.e. '-lll') outputs SCSI device (host)
              attributes   one   per   line;   preceded   by   two   spaces;    in    the    form
              "<attribute_name>=<value>".

       -x, --lunhex
              when  this  option  is  used once the LUN in the tuple (at the start of each device
              line) is shown in "T10" format which is up to 16 hexadecimal digits. It is prefixed
              by  "0x" to distinguish the LUN from the decimal value shown in the absence of this
              option. Also hierarchal LUNs are shown with a "_" character separating the  levels.
              For  example  the  two level LUN: 0x0355006600000000 will appear as 0x0355_0066. If
              this option is given twice (e.g. using the short form:  '-xx')  then  the  full  16
              hexadecimal digits are shown for each LUN, prefixed by "0x".

       -p, --protection
              Output target (DIF) and initiator (DIX) protection types.

       -P, --protmode
              Output effective protection information mode for each disk device.

       -i, --scsi_id
              outputs the udev derived matching id found in /dev/disk/by-id/scsi* .  This is only
              for disk (and disk like) devices. If no match is found  then  "dm-uuid-mpath*"  and
              "usb*"  are  searched  in  the same directory.  If there is still no match then the
              /sys/class/block/<disk>/holders directory is searched. The matching id  is  printed
              following the device name (e.g.  /dev/sdc) and if there is no match "-" is output.

       -s, --size
              Print disk capacity in human readable form.

       -t, --transport
              Output  transport  information.  This  will  be a target related information or, if
              --hosts is given, initiator related information. When used without --list,  a  name
              or  identifier  (or both) are output on a single line, usually prefixed by the type
              of transport. For devices this information replaces the normal vendor, product  and
              revision  strings.  When the --list option is also given then additionally multiple
              lines of attribute_name=value pairs are output, each indented by  two  spaces.  See
              the section on transports below.

       -v, --verbose
              outputs  directory  names  where  information is found. Use multiple times for more
              output.

       -V, --version
              outputs version information then exits.

       -w, --wwn
              outputs the WWN for disks instead of manufacturer, model and revision  (or  instead
              of  transport information). The World Wide Name (WWN) is typically 64 bits long (16
              hex digits) but could be up to 128 bits long. To indicate the WWN  is  hexadecimal,
              it is prefixed by "0x".

       -y, --sysfsroot=PATH
              assumes  sysfs is mounted at PATH instead of the default '/sys' . If this option is
              given PATH should be an absolute path (i.e. start with '/').

TRANSPORTS
       This utility lists SCSI devices which are known as logical units (LU) in the  SCSI  Archi-
       tecture  Model  (ref:  SAM-4  at  http://www.t10.org)  or hosts when the --hosts option is
       given. A host is called an initiator in SAM-4. A SCSI command travels out via  an  initia-
       tor, across some transport to a target and then onwards to a logical unit. A target device
       may contain several logical units. A target device has one  or  more  ports  that  can  be
       viewed as transport end points. Each FC and SAS disk is a single target that has two ports
       and contains one logical unit. If both target ports on a FC or SAS disk are connected  and
       visible to a machine, then lsscsi will show two entries. Initiators (i.e. hosts) also have
       one or more ports and some HBAs in Linux have a host entry per initiator port while others
       have a host entry per initiator device.

       When  the  --transport  option is given for devices (i.e.  --hosts not given) then most of
       the information produced by lsscsi is associated with the target, or more  precisely:  the
       target port, through which SCSI commands pass that access a logical unit.

       Typically  this  utility  provides one line of output per "device" or host.  Significantly
       more information can be obtained by adding the --list option. When used together with  the
       --transport  option, after the summary line, multiple lines of transport specific informa-
       tion in the form "<attribute_name>=<value>" are  output,  each  indented  by  two  spaces.
       Using  a filter argument will reduce the volume of output if a lot of devices or hosts are
       present.

       The transports that are currently recognized are: IEEE 1394, ATA, FC,  iSCSI,  SAS,  SATA,
       SPI and USB.

       For  IEEE 1394 (a.k.a. Firewire and "SBP" when storage is involved), the EUI-64 based tar-
       get port name is output when --transport is given, in the absence of the  --hosts  option.
       When  the --hosts option is given then the EUI-64 initiator port name is output. Output on
       the summary line specific to the IEEE 1394 transport is prefixed by "sbp:".

       to detect ATA and SATA a crude check is performed on the driver name (after the checks for
       other  transports  are  exhausted).  Based on the driver name either ATA or SATA transport
       type is chosen. Output on  the  summary  line  is  either  "ata:"  or  "sata:".  No  other
       attributes  are  given.  Most device and hosts flagged as "ata:" will use the parallel ATA
       transport (PATA).

       For Fibre Channel (FC) the port name and port identifier are output  when  --transport  is
       given.  In the absence of the --hosts option these ids will be for the target port associ-
       ated with the device (logical unit) being listed. When the --hosts option  is  given  then
       the  ids  are for the initiator port used by the host. Output on the summary line specific
       to the FC transport is prefixed by "fc:".  If FCoE (over Ethernet) is detected the  prefix
       is changed to "fcoe:".

       For  iSCSI the target port name is output when --transport is given, in the absence of the
       --hosts option. This is made up of the iSCSI name and the target portal group  tag.  Since
       the  iSCSI  name  starts  with "iqn" no further prefix is used. When the --hosts option is
       given then only "iscsi:" is output on the summary line.

       For Serial Attached SCSI the SAS address of the target port (or initiator port if  --hosts
       option  is  also given) is output. This will be a naa-5 address. For SAS HBAs and SAS tar-
       gets (such as SAS disks and tape drives) the SAS address will be world  wide  unique.  For
       SATA  disks  attached to a SAS expander, the expander provides the SAS address by adding a
       non zero value to its (i.e. the  expander's)  SAS  address  (e.g.  expander_sas_address  +
       phy_id  +  1).  SATA disks directly attached to SAS HBAs seem to have an indeterminate SAS
       address. Output on the summary line specific to the SAS transport is prefixed by "sas:".

       For the SCSI Parallel Interface (SPI) the target port identifier (usually a number between
       0  and  15  inclusive)  is output when --transport is given, in the absence of the --hosts
       option. When the --hosts option is given then only "spi:" is output on the summary line.

       When a USB transport is detected, the summary line will contain "usb:" followed by  a  USB
       device  name.  The USB device name has the form "<b>-<p1>[.<p2>[.<p3>]]:<c>.<i>" where <b>
       is the USB bus number, <p1> is the port on the host. <p2> is a port on  a  host  connected
       hub,  if  present.  If needed <p3> is a USB hub port closer to the USB storage device. <c>
       refers to the configuration number while <i> is the interface number. There is a  separate
       SCSI  host  for  each  USB  (SCSI)  target. A USB SCSI target may contain multiple logical
       units. Thus the same "usb: <device_name>" string appears for a USB SCSI host and all logi-
       cal units that belong to the USB SCSI target associated with that USB SCSI host.

LUNS
       For  historical  reasons  and as used by several other Unix based Operating Systems, Linux
       uses a tuple of integers to describe (a path to) a SCSI device (also  know  as  a  Logical
       Unit (LU)). The last element of that tuple is the so-called Logical Unit Number (LUN). And
       originally in SCSI a LUN was an integer, at first 3 bits long, then 8 then 16  bits.  SCSI
       LUNs  today (SAM-5 section 4.7) are 64 bits but SCSI standards now consider a LUN to be an
       array of 8 bytes.

       Up until 2013, Linux mapped SCSI LUNs to a 32 bit integer by taking the first 4  bytes  of
       the  SCSI LUN and ignoring the last 4 bytes. Linux treated the first two bytes of the SCSI
       LUN as a unit (a word) and it became the least significant 16 bits in the Linux LUN  inte-
       ger. The next two bytes of the SCSI LUN became the upper 16 bits in the Linux LUN integer.
       The rationale for this was to keep commonly used LUNs small Linux LUN integers.  The  most
       common LUN (by far) in SCSI LUN (hex) notation is 00 00 00 00 00 00 00 00 and this becomes
       the Linux LUN integer 0. The next most common LUN is 00 01 00 00 00  00  00  00  and  this
       becomes the Linux LUN integer 1.

       In 2013 it is proposed to increase Linux LUNs to a 64 bit integer by extending the mapping
       outlined above. In this case all information that is possible to represent in a  SCSI  LUN
       is  mapped  a  Linux  LUN (64 bit) integer. And the mapping can be reversed without losing
       information.

       This version of the utility supports both 32 and 64 bit Linux LUN  integers.   By  default
       the  LUN  shown  at  the end of the tuple commencing each line is a Linux LUN as a decimal
       integer. When the --lunhex option is given then the LUN is in SCSI LUN format with  the  8
       bytes  run  together,  with  the  output  in  hexadecimal and prefixed by '0x'. The LUN is
       decoded according to SAM-5's description and trailing zeros (i.e. digits to the right) are
       not  shown. So LUN 0 (i.e. 00 00 00 00 00 00 00 00) is shown as 0x0000 and LUN 65 (i.e. 00
       41 00 00 00 00 00 00) is shown as 0x0041.  If the --lunhex option is given twice then  the
       full 64 bits (i.e. 16 hexadecimal digits) are shown.

       If the --lunhex option is not given on the command line then the environment variable LSS-
       CSI_LUNHEX_OPT is checked. If LSSCSI_LUNHEX_OPT  is  present  then  its  associated  value
       becomes  the number of times the --lunhex is set internally. So, for example, 'LSSCSI_LUN-
       HEX_OPT=2  lsscsi' and 'lsscsi -xx' are equivalent.

EXAMPLES
       Information  about   this   utility   including   examples   can   also   be   found   at:
       http://sg.danny.cz/scsi/lsscsi.html .

NOTES
       Information for this command is derived from the sysfs file system, which is assumed to be
       mounted at /sys unless specified otherwise by the user.  SCSI (pseudo) devices  that  have
       been  detected by the SCSI mid level will be listed even if the required upper level driv-
       ers (i.e. sd, sr, st, osst or ch) have not been loaded. If  the  appropriate  upper  level
       driver  has not been loaded then the device file name will appear as '-' rather than some-
       thing like '/dev/st0'. Note that some devices (e.g. scanners and medium changers)  do  not
       have  a primary upper level driver and can only be accessed via a SCSI generic (sg) device
       name.

       Generic SCSI devices can also be accessed via the bsg driver in Linux.   By  default,  the
       bsg  driver's  device  node names are of the form '/dev/bsg/H:C:T:L'. So, for example, the
       SCSI device shown by this utility on a line starting with the  tuple  '6:0:1:2'  could  be
       accessed via the bsg driver with the '/dev/bsg/6:0:1:2' device node name.

       lsscsi version 0.21 or later is required to correctly display SCSI devices in Linux kernel
       2.6.26 (and possibly later) when  the  CONFIG_SYSFS_DEPRECATED_V2  kernel  option  is  not
       defined.

AUTHOR
       Written by Doug Gilbert

REPORTING BUGS
       Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
       Copyright (C) 2003-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
       lspci lsusb



lsscsi-0.27                                 March 2013                                  lsscsi(8)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-25 17:11 @18.119.133.96 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!