scsictl
—
a program to manipulate SCSI devices and busses
scsictl |
device command
[arg [...]] |
scsictl
allows a user or system administrator to issue
commands to and otherwise control SCSI devices and busses. It is used by
specifying a device or bus to manipulate, the command to perform, and any
arguments the command may require. scsictl
determines
if the specified device is an actual device or a SCSI bus automatically, and
selects the appropriate command set.
For commands which scsictl
issues a SCSI
command to the device directly, any returned sense information will be
decoded by scsictl
and displayed to the standard
output.
The following commands are supported for SCSI devices:
debug
level
- Set the debugging level for the given device; the following flags are
supported:
- 1
- Show scsi commands, errors, data.
- 2
- Routine flow tracking.
- 4
- Internal info from routine flows.
- 8
- Device specific debugging.
This option is only supported with kernels compiled with
SCSIPI_DEBUG
.
defects
[primary] [grown] [block|byte|physical]
- Read the primary and/or grown defect lists from the specified device in
block, byte from index, or physical sector format. The default is to
return both the primary and grown defect lists in physical sector format.
This command is only supported on direct access devices.
format
[blocksize [immediate]]
- (Low level) format the named device. If the optional
blocksize
parameter is provided, the device
geometry will be modified to use the specified
blocksize
. If this parameter is different form the
Current or Default Mode Page 3 parameters, the device will update Mode
Page 3 at the successful completion of the Format. Device geometry may
change as a result of using a new device
blocksize
. When the optional
blocksize
parameter is specified, the Defect List
on the drive will revert to the original primary defect list created at
the time of manufacture if available. The drive will usually recertify
itself during the Format and add any other defective blocks to the new
Defect List. Some disks may not support the ability to change the
blocksize and may enter a Degraded Mode when fed a Format command of this
type. If this happens the standard recovery for the drive requires issuing
a correct Format command, i.e. one without the blocksize parameter.
When the immediate
parameter is also
specified, the disk is instructed to return from the format command
right away. It continues to format, and every ten seconds
scsictl
issues a TEST UNIT READY command to
check the associated sense data. This associated sense data has a
progress indicator which indicates how far the format is progressing.
Note well that most SCSI disk drives prior to a few years ago do not
support this option.
identify
- Identify the specified device, displaying the device's SCSI bus, target,
and lun, as well as the device's vendor, product, and revision
strings.
reassign
blkno [blkno [...]]
- Issues a
REASSIGN BLOCKS
command to the device,
adding the specified blocks to the grown defect list. This command is only
supported on direct access devices.
release
- Send a “RELEASE” command to the device to release a
reservation on it.
reserve
- Send a “RESERVE” command to the device to place a
reservation on it.
reset
- Reset the device. This command is only supported for devices which support
the
SCIOCRESET
ioctl.
start
- Send a “START” command to the device. This is useful
typically only for disk devices.
stop
- Send a “STOP” command to the device. This is useful
typically only for disk devices.
tur
- Send a “TEST UNIT READY” command to the device. This is
useful for generating current device status.
getcache
- Returns basic cache parameters for the device.
setcache
none|r|w|rw [save]
- Set basic cache parameters for the device. The cache may be disabled
(none), the read cache enabled (r), the write cache enabled (w), or both
read and write cache enabled (rw). If the drive's cache parameters are
savable, specifying save after the cache enable
state will cause the parameters to be saved in non-volatile storage.
flushcache
- Explicitly flushes the write cache.
setspeed
speed
- Set the highest speed that the optical drive should use for reading data.
The units are multiples of a single speed CDROM (150 KB/s). Specify 0 to
use the drive's fastest speed.
getrealloc
- Returns automatic reallocation parameters for the device.
setrealloc
none|r|w|rw [save]
- Set automatic reallocation parameters for the device. Automatic
reallocation may be disabled (none), the automatic read reallocation
enabled (r), the automatic write reallocation enabled (w), or both
automatic read and write reallocation enabled (rw). If the drive's
automatic reallocation parameters are savable, specifying
save after the automatic reallocation enable state
will cause the parameters to be saved in non-volatile storage.
reportluns
normal|wellknown|all|#
- Report Logical Units provided by the drive.
- normal
- report all but well-known logical units. This is also the
default.
- wellknown
- report the well known logical units instead. E.g.,
- 0xc101h
- Addressable objects
- 0xc102h
- Addressable objects associations
- 0xc103h
- SCSI target device identification
- all
- report all logical units.
- #
- Use the given numeric select report value (0-255).
The following commands are supported for SCSI busses:
reset
- Reset the SCSI bus. This command is only supported if the host adapter
supports the
SCBUSIORESET
ioctl.
scan
target lun
- Scan the SCSI bus for devices. This is useful if a device was not
connected or powered on when the system was booted. The
target and lun arguments
specify which SCSI target and lun on the bus is to be scanned. Either may
be wildcarded by specifying the keyword “any” or
“all”.
detach
target lun
- Detach the specified device from the bus. Useful if a device is powered
down after use. The target and
lun arguments have the same meaning as for the
scan
command, and may also be wildcarded.
When scanning the SCSI bus, information about newly recognized devices is
printed to console. No information is printed for already probed devices.
/dev/scsibus* - for commands operating on SCSI busses
ioctl(2),
cd(4),
ch(4),
scsi(4),
sd(4),
se(4),
ss(4),
st(4),
uk(4),
atactl(8),
dkctl(8)
The scsictl
command first appeared in
NetBSD 1.4.
The scsictl
command was written by
Jason R. Thorpe of the Numerical Aerospace Simulation
Facility, NASA Ames Research Center.