SCSICTL(8)

NAME
scsictl - manipulate SCSI devices and busses

SYNOPSIS
scsictl device command [arg ...]

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

DEVICE COMMANDS
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 [vpd]
    Identify the specified device, displaying the device's SCSI bus, target, and lun, as well as the device's vendor, product, and revision strings.

    When the optional vpd parameter is added, Vital Product Data that identifies the device is also queried and displayed.

reassign blkno ...
    Issue 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
    Return basic cache parameters for the device.

setcache file ... 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 flush 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
    Return automatic reallocation parameters for the device.

setrealloc file ... 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 file ... 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).

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

NOTES
When scanning the SCSI bus, information about newly recognized devices is printed to console. No information is printed for already probed devices.

FILES
/dev/scsibus* - for commands operating on SCSI busses

SEE ALSO
ioctl(2), cd(4), ch(4), scsi(4), sd(4), se(4), ss(4), st(4), uk(4), atactl(8), dkctl(8)

HISTORY
The scsictl command first appeared in NetBSD 1.4.

AUTHORS
-nosplit The scsictl command was written by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, NASA Ames Research Center.