The
scsi
interface is accessed through a two-level directory.
The
scsiid
file contains the
SCSI id of the host interface, typically 7, represented textually.
Some implementations allow this to be changed by writing to the file;
in many cases, the higher-order bits are hardware specific.
Each
SCSI target
n
(0<=n<=7)
is associated with a subdirectory
#S/n
containing files
cmd,
data,
and
debug.
The following steps may be used to execute a
SCSI command:
The command block is written to the
cmd
file.
The
data
file is either written or read depending on
the direction of the transfer. (A command that involves no data transfer
is executed with a zero-length write.)
The
cmd
file is read to retrieve the status of the command,
returned as a 4-byte big-endian integer.
Writing an
ASCII 1
to the
debug
file causes tracing information to be written to
/dev/klog;
writing a
0
turns the tracing off.