1lsscsi(8) LSSCSI lsscsi(8)
2
3
4
6 lsscsi - list SCSI devices (or hosts), list NVMe devices
7
9 lsscsi [--brief] [--classic] [--controllers] [--device] [--generic]
10 [--help] [--hosts] [--kname] [--list] [--long] [--long-unit] [--lunhex]
11 [--no-nvme] [--pdt] [--protection] [--protmode] [--scsi_id] [--size]
12 [--sysfsroot=PATH] [--sz-lbs] [--transport] [--unit] [--verbose]
13 [--version] [--wwn] [H:C:T:L]
14
16 Uses information in sysfs (Linux kernel series 2.6 and later) to list
17 SCSI devices (or hosts) currently attached to the system. Many non-SCSI
18 storage devices (but not all) used the SCSI subsystem in Linux. In lss‐
19 csi version 0.30 support was added to list NVMe devices.
20
21 In single line per device (LU or NVMe namespace) mode, the default,
22 each line starts with a 4 element tuple surrounded by square brackets.
23 For SCSI devices the first element 'H' is the host number, the second
24 element 'C' is the controller number, the third element 'T' is the tar‐
25 get number and the final element is the Logical Unit Number (LUN). All
26 four are integers. For NVMe namespaces see two paragraphs down. When
27 the --hosts option is given for SCSI devices the tuple is reduced to
28 one element: the host number.
29
30 If a H:C:T:L tuple is given as an argument on the command line then it
31 acts as a filter and only devices that match it are listed. The colons
32 don't have to be present, and '-', '*', '?' or missing components at
33 the end are interpreted as wildcards. The default is '*:*:*:*' which
34 means to match devices (i.e. Logical Units). Any filter string using
35 '*' of '?' should be surrounded by single or double quotes to stop
36 shell expansions. If '-' is used as a wildcard then the whole filter
37 tuple should be prefixed by '-- ' to tell this utility there are no
38 more options on the command line to be interpreted. A leading '[' and
39 trailing ']' are permitted ( e.g. '[1:0:0]' matches all LUNs on 1:0:0).
40 May also be used to filter --hosts in which case only the H is active
41 and may be either a number or in the form "host<n>" where <n> is a host
42 number.
43
44 For NVMe devices and controllers almost all of the previous paragraph
45 applies. The main difference is that "N" appears in the 'H' (first) po‐
46 sition. The 'C' position for NVMe is the controller's Linux generated
47 "char" device minor number which is the first number that appears in a
48 typical NVMe controller name, for example: "/dev/nvme2". The 'T' posi‐
49 tion for NVMe is the "CNTLID" value. The final 'L' position is the NVMe
50 namespace identifier which is typically a sequential value starting at
51 1. The leading explicit "N" for NVMe devices is converted internally
52 into a large value (32,767) that should not interfere with any Linux
53 generated SCSI host number; it also means that the numeric sort used to
54 show hosts (controllers) and devices (LUs or logical units) will always
55 place NVMe devices and controllers after those that use the SCSI sub‐
56 system. To filter using a H:C:T:L argument for NVMe controllers,
57 "hostN", "hostN:<num>", "N" or "N:<num>" may be used; when no "<num>"
58 is given, only NVMe controllers will be listed (i.e. it lists no SCSI
59 hosts (HBAs)).
60
61 By default in this utility device node names (e.g. "/dev/sda" or
62 "/dev/root_disk") are obtained by noting the major and minor numbers
63 for the listed device obtained from sysfs (e.g. the contents of
64 "/sys/block/sda/dev") and then looking for a match in the "/dev" direc‐
65 tory. This "match by major and minor" will allow devices that have been
66 given a different name by udev (for example) to be correctly reported
67 by this utility.
68
69 In some situations it may be useful to see the device node name that
70 Linux would produce by default, so the --kname option is provided. An
71 example of where this may be useful is kernel error logs which tend to
72 report disk error messages using the disk's default kernel name.
73
75 Arguments to long options are mandatory for short options as well. The
76 options are arranged in alphabetical order based on the long option
77 name. Hyphenated long options can also take underscore, and vice versa
78 (e.g. --scsi_id or --scsi-id are acceptable).
79
80 -b, --brief
81 reduces one line per device output to the tuple and the primary
82 device name. This may simplify scripts that process the output
83 of this utility. With the --generic option it will show on each
84 line the tuple (from which the bsg pass-through device name can
85 be deduced), the primary device name (which the block subsystem
86 uses) and the sg device name (also a pass-through).
87 When the --pdt option is used together with this option the SCSI
88 Peripheral Device Type (PDT) is displayed in hex (with a leading
89 "0x") between the tuple and the primary device name. For NVMe
90 namespaces "0x0" is displayed (for a disk or direct access de‐
91 vice).
92
93 -c, --classic
94 The output is similar to that obtained from 'cat
95 /proc/scsi/scsi'
96
97 -C, --controllers
98 Lists NVMe controllers and SCSI hosts. This is a synonym for the
99 --hosts option.
100
101 -d, --device
102 After outputting the (probable) SCSI device name the device node
103 major and minor numbers are shown in brackets (e.g.
104 "/dev/sda[8:0]").
105
106 -g, --generic
107 Output the SCSI generic device file name. Note that if the sg
108 driver is a module it may need to be loaded otherwise '-' may
109 appear.
110 NVMe does not have generic (char) devices in the same sense as
111 SCSI. Instead NVMe Admin, NVM (i.e. block type commands such as
112 Read and Write) and MI (Management Interface (e.g. to an enclo‐
113 sure)) commands are all sent to the containing controller whose
114 device name is shown when the --hosts option is used.
115 To unclutter the single line per device mode the --brief option
116 combined with this option should help.
117
118 -h, --help
119 Output the usage message and exit.
120
121 -H, --hosts
122 List the SCSI hosts and NVMe controllers currently attached to
123 the system. If this option is not given (and the --controllers
124 option is not given) then SCSI devices (logical units (LUs))
125 followed by NVMe devices (namespaces) are listed.
126
127 -k, --kname
128 Use Linux default algorithm for naming devices (e.g. block major
129 8, minor 0 is "/dev/sda") rather than the "match by major and
130 minor" in the "/dev" directory as discussed above.
131
132 -L, --list
133 Output additional information in <attribute_name>=<value> pairs,
134 one pair per line preceded by two spaces. This option has the
135 same effect as '-lll'.
136
137 -l, --long
138 Output additional information for each SCSI device (host). Can
139 be used multiple times for more output in which case the shorter
140 option form is more convenient (e.g. '-lll'). When used three
141 times (i.e. '-lll') outputs SCSI device (host) attributes one
142 per line; preceded by two spaces; in the form "<attri‐
143 bute_name>=<value>".
144
145 -U, --long-unit
146 Output logical unit name in full, if available. It replaces the
147 normal vendor, product and revision strings given in the single
148 logical unit per line mode. If no logical unit name is found
149 "none" is printed. If the logical unit name is long (e.g. a
150 UUID) then following fields are pushed further to the right as
151 required. This option is functionally equivalent to the '-uuu'
152 option.
153 If the option is used twice (e.g. '-UU') then EUI, NAA, UUID and
154 T10 vendor ID formats are prefixed by "eui.", "naa.", "uuid."
155 and "t10." respectively. Note that SCSI name format used by
156 iSCSI should already be prefixed by 'iqn.'. Using the '--unit'
157 option 4 or more times (e.g. '-uuuu') will have the same action
158 as '-UU'.
159 --long_unit is also an acceptable form when invoking this op‐
160 tion.
161
162 -x, --lunhex
163 when this option is used once the LUN in the tuple (at the start
164 of each device line) is shown in "T10" format which is up to 16
165 hexadecimal digits. It is prefixed by "0x" to distinguish the
166 LUN from the decimal value shown in the absence of this option.
167 Also hierarchal LUNs are shown with a "_" character separating
168 the levels. For example the two level LUN: 0x0355006600000000
169 will appear as 0x0355_0066. If this option is given twice (e.g.
170 using the short form: '-xx') then the full 16 hexadecimal digits
171 are shown for each LUN, prefixed by "0x".
172 For NVMe, the namespace identifier (nsid) is shown in the "L"
173 position. The nsid is a 32 bit unsigned quantities with 0x0 and
174 0xffffffff reserved. Without this option, the nsid is shown in
175 decimal. When this option is used once the nsid is output in hex
176 with a lead 0x and with up to 3 leading zeros. When this option
177 is used twice the nsid is output in hex with up to 7 leading ze‐
178 ros.
179
180 -N, --no-nvme
181 this option excludes NVMe devices and controllers for the out‐
182 put. This option may be needed to stop NVMe device output inter‐
183 fering with specific format output like that produced when the
184 --classic option is used.
185 To only show NVMe devices, use 'lsscsi N', to only show NVMe
186 controllers, use 'lsscsi -H N'.
187
188 -D, --pdt
189 this option displays the SCSI Peripheral Device Type (PDT) in
190 hex preceded by "0x". For NVME namespaces "0x0' is displayed
191 which corresponds to a disk ("Direct Access Device" or SSD). In
192 single line output this hex PDT replaces the device type abbre‐
193 viation (e.g. "0x0 " replaces "disk ") and appears after
194 the tuple.
195
196 -p, --protection
197 Output target (DIF) and initiator (DIX) protection types.
198
199 -P, --protmode
200 Output effective protection information mode for each disk de‐
201 vice.
202
203 -i, --scsi_id
204 outputs the udev derived matching id found in
205 /dev/disk/by-id/scsi* . This is only for disk (and disk like)
206 devices. If no match is found then "dm-uuid-mpath*" and "usb*"
207 are searched in the same directory. If there is still no match
208 then the /sys/class/block/<disk>/holders directory is searched.
209 The matching id is printed following the device name (e.g.
210 /dev/sdc) and if there is no match "-" is output. Note that only
211 disk (like) devices are matched by this option; so, for example,
212 a SCSI enclosure will have an identifier of '-'.
213 Prior to revision 164 the first match in /dev/disk/by-id/scsi*
214 was printed. A change was added at that point to check for iden‐
215 tifiers in a specific order as some are considered "stronger"
216 than others. See the ORDER OF SCSI IDENTIFIERS section below.
217
218 -s, --size
219 Print disk capacity in human readable form. When given once,
220 normal base 10 SI units are used as a prefix for 'B' which is
221 bytes (aka octets). For example MB, GB and TB stand for 10^6,
222 10^9 and 10^12 bytes respectively. When given twice, IEC 80000-3
223 prefixes for 'B' are used; for example MiB, GiB and TiB stand
224 for 2^20, 2^30 and 2^40 bytes respectively. The output is
225 rounded to 3 or less significant figures in order to fit on a
226 single line. It will also output the size of RBC devices,
227 CD/DVD media and host managed ZBC disks. Host aware ZBC disks
228 have their "peripheral device type" set to 0 (the same as normal
229 disks) so their size is output.
230 If given three times (short form is the more convenient: '-sss')
231 then the disk capacity as a logical block count is given. This
232 is an exact figure in decimal reported by the storage device at
233 discovery. Discovery is typically just after boot time, or when
234 it was last attached if the storage device is removable.
235 To unclutter the single line per device mode the --brief option
236 combined with this option should help.
237
238 -y, --sysfsroot=PATH
239 assumes sysfs is mounted at PATH instead of the default '/sys' .
240 If this option is given PATH should be an absolute path (i.e.
241 start with '/').
242
243 -S, --sz-lbs
244 Print disk capacity as a number of logical blocks (which is the
245 same as '-sss'). When used twice a comma is added followed by
246 the logical block size in bytes. It should be a number like 512
247 or 4096.
248 If the logical block size cannot be found (e.g. because the ver‐
249 sion of Linux predates the /sys/block/<dev_name>/queue direc‐
250 tory) then the number of 512 byte blocks followed comma and then
251 '512' is output irrespective of what the true logical block size
252 of the device is. This special case action occurs whether this
253 option is given one or more times.
254 To unclutter the single line per device mode the --brief option
255 combined with this option should help.
256
257 -t, --transport
258 Output transport information. This will be target related infor‐
259 mation or, if --hosts is given, initiator related information.
260 When used without --list, a name or identifier (or both) are
261 output on a single line, usually prefixed by the type of trans‐
262 port. For devices this information replaces the normal vendor,
263 product and revision strings. When the --list option is also
264 given then additionally multiple lines of attribute_name=value
265 pairs are output, each indented by two spaces. See the section
266 on transports below.
267
268 -u, --unit
269 Output logical unit name, if available. If this option is given
270 once or twice, then the 30 character field where the vendor,
271 product and revision strings are usually placed is expanded to
272 32 characters and replaced by the logical unit name. If no logi‐
273 cal unit name is found "none" is printed. The first found of
274 the NAA, EUI-64 or SCSI name string is output unless a SCSI name
275 string is found and the associated target port indicates the
276 iSCSI protocol, in which case the SCSI name string is preferred.
277 Finally if there is no match on the above and a T10 Vendor ID
278 descriptor is found then it is used.
279 If the name cannot fit in the 32 character field then it is
280 truncated to the right and a trailing '_' character is used to
281 alert the reader to the truncation. The 32 character width is
282 chosen since that is large enough to hold 16 byte NAA or EUI-64
283 identifiers. However SCSI name strings as used by iSCSI can be
284 larger than that.
285 If this option is used twice then this field is also 32 charac‐
286 ter wide. If the logical unit name cannot fit then it will be
287 truncated to the left and a leading '_' character is used to
288 alert the reader to the truncation.
289 If this option is used three times the whole logical unit name
290 is output, followed by several spaces.
291 In order for this option to work, it needs a Linux kernel from
292 and including 3.15 . It accesses the sysfs vpd_pg83 file for the
293 device in question. Old SCSI and ATA (SATA) equipment may not
294 provide this information. If it is provided by ATA (SATA) then
295 it will be the WWN.
296
297 -v, --verbose
298 outputs directory names where information is found. Use multiple
299 times for more output.
300
301 -V, --version
302 outputs version information then exits. If used once outputs to
303 stderr; if used twice outputs to stdout and shortens the date to
304 yyyymmdd numeric format. The first number in the version string
305 is the release number.
306
307 -w, --wwn
308 outputs the WWN for disks instead of manufacturer, model and re‐
309 vision (or instead of transport information). The World Wide
310 Name (WWN) is typically 64 bits long (16 hex digits) but could
311 be up to 128 bits long. To indicate the WWN is hexadecimal, it
312 is prefixed by "0x". The ATA/SATA WWN is referred to as LU name
313 in SCSI jargon; hence this option is more or less superseded by
314 the --unit and --long-unit options.
315
317 This utility lists SCSI devices which are known as logical units (LU)
318 in the SCSI Architecture Model (ref: SAM-5 at https://www.t10.org) or
319 hosts when the --hosts option is given. A host is called an initiator
320 in SAM-5. A SCSI command travels out via an initiator, across some
321 transport to a target and then onwards to a logical unit. A target de‐
322 vice may contain several logical units. A target device has one or more
323 ports that can be viewed as transport end points. Each FC and SAS disk
324 is a single target that has two ports and contains one logical unit. If
325 both target ports on a FC or SAS disk are connected and visible to a
326 machine, then lsscsi will show two entries. Initiators (i.e. hosts)
327 also have one or more ports and some HBAs in Linux have a host entry
328 per initiator port while others have a host entry per initiator device.
329
330 When the --transport option is given for devices (i.e. --hosts not
331 given) then most of the information produced by lsscsi is associated
332 with the target, or more precisely: the target port, through which SCSI
333 commands pass that access a logical unit.
334
335 Typically this utility provides one line of output per "device" or
336 host. Significantly more information can be obtained by adding the
337 --list option. When used together with the --transport option, after
338 the summary line, multiple lines of transport specific information in
339 the form "<attribute_name>=<value>" are output, each indented by two
340 spaces. Using a filter argument will reduce the volume of output if a
341 lot of devices or hosts are present.
342
343 The transports that are currently recognized are: IEEE 1394, ATA, FC,
344 iSCSI, SAS, SATA, SPI, SRP and USB.
345
346 For IEEE 1394 (a.k.a. Firewire and "SBP" when storage is involved), the
347 EUI-64 based target port name is output when --transport is given, in
348 the absence of the --hosts option. When the --hosts option is given
349 then the EUI-64 initiator port name is output. Output on the summary
350 line specific to the IEEE 1394 transport is prefixed by "sbp:".
351
352 To detect ATA and SATA devices a crude check is performed on the driver
353 name (after the checks for other transports are exhausted). Based on
354 the driver name either the ATA or SATA transport type is chosen. Output
355 on the summary line is either "ata:" or "sata:". A search is made for
356 an associated vpd_pg83 file in sysfs, if found it may contain the de‐
357 vice's WWN which is output if present. The WWN will not appear in Linux
358 kernels before 3.15 and with old PATA and SATA devices. Most device and
359 hosts flagged as "ata:" will use the parallel ATA transport (PATA). For
360 SATA devices that are attached via a SAS expander, see the SAS para‐
361 graph below.
362
363 For Fibre Channel (FC) the port name and port identifier are output
364 when --transport is given. In the absence of the --hosts option these
365 ids will be for the target port associated with the device (logical
366 unit) being listed. When the --hosts option is given then the ids are
367 for the initiator port used by the host. Output on the summary line
368 specific to the FC transport is prefixed by "fc:". If FCoE (over Eth‐
369 ernet) is detected the prefix is changed to "fcoe:".
370
371 For iSCSI the target port name is output when --transport is given, in
372 the absence of the --hosts option. This is made up of the iSCSI name
373 and the target portal group tag. Since the iSCSI name starts with "iqn"
374 no further prefix is used. When the --hosts option is given then only
375 "iscsi:" is output on the summary line.
376
377 For Serial Attached SCSI the SAS address of the target port (or initia‐
378 tor port if --hosts option is also given) is output. This will be a
379 naa-5 address. For SAS HBAs and SAS targets (such as SAS disks and tape
380 drives) the SAS address will be world wide unique. For SATA disks at‐
381 tached to a SAS expander, the expander provides the SAS address by
382 adding a non zero value to its (i.e. the expander's) SAS address (e.g.
383 expander_sas_address + phy_id + 1). SATA disks directly attached to SAS
384 HBAs seem to have an indeterminate SAS address. Output on the summary
385 line specific to the SAS transport is prefixed by "sas:".
386
387 For SATA devices, see the paragraph above on ATA devices. As noted in
388 the previous paragraph, SATA devices attached to SAS expanders will
389 display a manufactured SAS transport address (manufactured by the ex‐
390 pander) rather than the SATA device's WWN.
391
392 For the SCSI Parallel Interface (SPI) the target port identifier (usu‐
393 ally a number between 0 and 15 inclusive) is output when --transport is
394 given, in the absence of the --hosts option. When the --hosts option is
395 given then only "spi:" is output on the summary line.
396
397 For the PCIe transport (a.k.a. PCI Express) there at two possible stor‐
398 age types: NVMe and SOP/PQI (SCSI over PCIe). There are very few exam‐
399 ples of the latter currently so this utility concentrates on NVMe. NVMe
400 uses its own command set and not SCSI but has many things in common.
401 Rather than re-invent everything currently in use that SCSI has accumu‐
402 lated over nearly 40 years, NVMe is beginning to use some parts of
403 SCSI. A recent example is the SES-3 standard for enclosure management
404 which has been adopted by NVMe. In SCSI a SES device is a logical unit
405 with a peripheral device type (PDT) of 0xd (for enclosure) so it will
406 appear when the lsscsi utility is invoked without any options. In NVMe
407 is seems that an enclosure with appear as attached to the management
408 interface (MI) of a NVMe controller. This means it should appear when
409 "lsscsi --hosts" is invoked. It is unclear whether such a NVMe con‐
410 troller can have any storage namespaces associated with it. The sg_ses
411 utility (in the sg3_utils package) can then be given that NVMe con‐
412 troller's device name (e.g. /dev/nmve1).
413 When the --transport option is given, after "pcie" the NVMe con‐
414 troller's subsystem vendor id and device id are output, separated by a
415 colon (e.g. "pcie 0x8086:0x390a").
416
417 For the SCSI RDMA Protocol (SRP) the IB (InfiniBand) port's GUID is
418 given. As an example, it has a form like this: 0002:c903:00fa:abcd .
419
420 When a USB transport is detected, the summary line will contain "usb:"
421 followed by a USB device name. The USB device name has the form
422 "<b>-<p1>[.<p2>[.<p3>]]:<c>.<i>" where <b> is the USB bus number, <p1>
423 is the port on the host. <p2> is a port on a host connected hub, if
424 present. If needed <p3> is a USB hub port closer to the USB storage
425 device. <c> refers to the configuration number while <i> is the inter‐
426 face number. There is a separate SCSI host for each USB (SCSI) target.
427 A USB SCSI target may contain multiple logical units. Thus the same
428 "usb: <device_name>" string appears for a USB SCSI host and all logical
429 units that belong to the USB SCSI target associated with that USB SCSI
430 host.
431
433 For historical reasons and as used by several other Unix based Operat‐
434 ing Systems, Linux uses a tuple of integers to describe (a path to) a
435 SCSI device (also know as a Logical Unit (LU)). The last element of
436 that tuple is the so-called Logical Unit Number (LUN). And originally
437 in SCSI a LUN was an integer, at first 3 bits long, then 8 then 16
438 bits. SCSI LUNs today (SAM-5 section 4.7) are 64 bits but SCSI stan‐
439 dards now consider a LUN to be an array of 8 bytes.
440
441 Up until 2013, Linux mapped SCSI LUNs to a 32 bit integer by taking the
442 first 4 bytes of the SCSI LUN and ignoring the last 4 bytes. Linux
443 treated the first two bytes of the SCSI LUN as a unit (a word) and it
444 became the least significant 16 bits in the Linux LUN integer. The next
445 two bytes of the SCSI LUN became the upper 16 bits in the Linux LUN in‐
446 teger. The rationale for this was to keep commonly used LUNs small
447 Linux LUN integers. The most common LUN (by far) in SCSI LUN (hex) no‐
448 tation is 00 00 00 00 00 00 00 00 and this becomes the Linux LUN inte‐
449 ger 0. The next most common LUN is 00 01 00 00 00 00 00 00 and this be‐
450 comes the Linux LUN integer 1.
451
452 In 2013 it is proposed to increase Linux LUNs to a 64 bit integer by
453 extending the mapping outlined above. In this case all information that
454 is possible to represent in a SCSI LUN is mapped a Linux LUN (64 bit)
455 integer. And the mapping can be reversed without losing information.
456
457 This version of the utility supports both 32 and 64 bit Linux LUN inte‐
458 gers. By default the LUN shown at the end of the tuple commencing each
459 line is a Linux LUN as a decimal integer. When the --lunhex option is
460 given then the LUN is in SCSI LUN format with the 8 bytes run together,
461 with the output in hexadecimal and prefixed by '0x'. The LUN is decoded
462 according to SAM-5's description and trailing zeros (i.e. digits to the
463 right) are not shown. So LUN 0 (i.e. 00 00 00 00 00 00 00 00) is shown
464 as 0x0000 and LUN 65 (i.e. 00 41 00 00 00 00 00 00) is shown as 0x0041.
465 If the --lunhex option is given twice then the full 64 bits (i.e. 16
466 hexadecimal digits) are shown.
467
468 If the --lunhex option is not given on the command line then the envi‐
469 ronment variable LSSCSI_LUNHEX_OPT is checked. If LSSCSI_LUNHEX_OPT is
470 present then its associated value becomes the number of times the
471 --lunhex is set internally. So, for example, 'LSSCSI_LUNHEX_OPT=2 lss‐
472 csi' and 'lsscsi -xx' are equivalent.
473
475 This section only applies to the --scsi_id option and only for disk
476 like devices (e.g. not tapes nor enclosures). There are potentially
477 several SCSI identifiers and from revision 164 they are checked in the
478 following order and only the first found is output.
479
480 The SCSI identifier preference order is:
481 3 : NAA based (Network address Authority)
482 2 : EUI-64 based
483 8 : SCSI name string (e.g. iSCSI: iqn.1998-01.com.zzware.iscsi:name1)
484 S : serial number from SCSI VPD page 0x80
485 1 : T10 Vendor Identifier
486 0 : Vendor Specific
487 Those numbers prefixing each entry are the SCSI 'Designator Types'
488 found in the definition of the Device Identification VPD page (0x83) in
489 SPC/-3, SPC/-4 and SPC/-5. The 'S' of course if not a number and it
490 refers to a different VPD page: the Serial Number VPD page (0x80).
491
492 There is a more general --wwn option that should apply to almost all
493 devices. The term "WWN" (world-wide name) comes from the ATA and NVMe
494 standards and corresponds to the "Logical Unit (LU) name" in SCSI. The
495 LU name in SCSI tends to change by transport. For SAS the LU name is
496 the LU's NAA identifier.
497
498 Plus there the --unit and the --long-unit options that may be helpful
499 in uniquely identifying storage devices.
500
502 Information about this utility including examples can also be found at:
503 https://sg.danny.cz/scsi/lsscsi.html .
504
506 Information for this command is derived from the sysfs file system,
507 which is assumed to be mounted at /sys unless specified otherwise by
508 the user. SCSI (pseudo) devices that have been detected by the SCSI
509 mid level will be listed even if the required upper level drivers (i.e.
510 sd, sr, st, osst or ch) have not been loaded. If the appropriate upper
511 level driver has not been loaded then the device file name will appear
512 as '-' rather than something like '/dev/st0'. Note that some devices
513 (e.g. scanners and medium changers) do not have a primary upper level
514 driver and can only be accessed via a SCSI generic (sg) device name.
515
516 Generic SCSI devices can also be accessed via the bsg driver in Linux.
517 By default, the bsg driver's device node names are of the form
518 '/dev/bsg/H:C:T:L'. So, for example, the SCSI device shown by this
519 utility on a line starting with the tuple '6:0:1:2' could be accessed
520 via the bsg driver with the '/dev/bsg/6:0:1:2' device node name.
521
522 lsscsi version 0.21 or later is required to correctly display SCSI de‐
523 vices in Linux kernel 2.6.26 (and possibly later) when the CON‐
524 FIG_SYSFS_DEPRECATED_V2 kernel option is not defined.
525
527 Written by Doug Gilbert
528
530 Report bugs to <dgilbert at interlog dot com>.
531
533 Copyright © 2003-2021 Douglas Gilbert
534 This software is distributed under the GPL version 2. There is NO war‐
535 ranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
536 POSE.
537
539 lspci lsusb lsblk
540
541
542
543lsscsi-0.32 May 2021 lsscsi(8)