Man Linux: Main Page and Category List


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


       lsscsi  [--classic] [--device] [--generic] [--help] [--hosts] [--kname]
       [--list] [--long] [--transport] [--verbose] [--version] [H:C:T:L]


       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

       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. ’-’ needs to  stand  alone  or  else  it  is  taken  as  the
       beginning  of  an  option  (e.g. ’-:-:-:-’ is illegal). ’*’ needs to be
       escaped from the shell. 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 different 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.

       Information about this utility including examples can also be found at: .


       -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.

       -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

       -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

       -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  ouput,  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.


       Information  for  this  command  is  derived from the sysfs file system
       whose mount point is found by examining the contents of /proc/mounts  .
       SCSI  (pseudo)  devices  that  have been detected by the SCSI mid level
       will be listed even if the required upper level drivers (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  something  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.

       This version of lsscsi (0.20) 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.


       This  utility  lists SCSI devices which are known as logical units (lu)
       in the SCSI Architecture Model (ref: SAM-4  at  or
       hosts  when  the --hosts option is given. A host is called an initiator
       in SAM-4. A SCSI command travels out  via  an  initiator,  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 information 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, FC, iSCSI,
       SAS and SPI.

       For IEEE 1394 (a.k.a. Firewire and "SBP" when storage is involved), the
       EUI-64 based target 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:".

       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 associated 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:".

       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 targets (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.


       Written by Doug Gilbert


       Report bugs to <dgilbert at interlog dot com>.


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


       lspci lsusb