lsscsi man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

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  everything.
       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	inter‐
       preted.	 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" direc‐
       tory. 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.

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  informa‐
	      tion.  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 ven‐
	      dor, 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 spa‐
	      ces. 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  Architecture 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 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	 visi‐
       ble  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, 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  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:".

       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 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:".  If FCoE (over  Eth‐
       ernet) 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 initia‐
       tor 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 (usu‐
       ally 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 inter‐
       face 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 logical
       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  Operat‐
       ing  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 stan‐
       dards 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 integer. 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 inte‐
       gers.  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 envi‐
       ronment variable LSSCSI_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_LUNHEX_OPT=2  lss‐
       csi' 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 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.

       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 CON‐
       FIG_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 © 2003-2013 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‐
       POSE.

SEE ALSO
       lspci lsusb

lsscsi-0.27			  March 2013			     lsscsi(8)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net