Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SCSI(4)		       FreeBSD Kernel Interfaces Manual		       SCSI(4)

     scsi, scsibus -- SCSI system

     cd* at scsibus?
     ch* at scsibus?
     safte* at scsibus?
     sd* at scsibus?
     ses* at scsibus?
     st* at scsibus?
     uk* at scsibus?

     # multipath support
     emc* at scsibus?
     hds* at scsibus?
     rdac* at scsibus?
     sym* at scsibus?

     The SCSI system provides a	uniform	and modular system for the implementa-
     tion of drivers to	control	various	SCSI devices, and to utilize different
     SCSI host adapters	through	host adapter drivers.  When the	system probes
     the SCSI buses, it	attaches any devices it	finds to the appropriate driv-
     ers.  If no driver	seems appropriate, then	it attaches the	device to the
     uk	(unknown) driver so that user level SCSI ioctls	may still be performed
     against the device.

     The option	SCSIDEBUG enables the debug ioctl.

     All devices and the SCSI buses support boot time allocation so that an
     upper number of devices and controllers does not need to be configured;
     sd* at scsibus? will suffice for any number of disk drivers.

     The devices are either wired so they appear as a particular device	unit
     or	counted	so that	they appear as the next	available unused unit.

     To	configure a driver in the kernel without wiring	down the device	use a
     config line similar to ch*	at scsibus? to include the changer driver.

     To	wire down a unit use a config line similar to ch1 at scsibus0 target 4
     lun 0 to assign changer 1 as the changer with SCSI	ID 4, SCSI logical
     unit 0 on SCSI bus	0.  Individual scsibuses can be	wired down to specific
     controllers with a	config line similar to scsibus0	at ahc0	which assigns
     SCSI bus 0	to the first unit using	the ahc	driver.	 For controllers sup-
     porting more than one bus,	the particular bus can be specified as in
     scsibus3 at ahc1 bus 1 which assigns scsibus 1 to the second bus probed
     on	the ahc1 device.

     When there	is a mixture of	wired down and counted devices then the	count-
     ing begins	with the first non-wired down unit for a particular type.
     That is, if a disk	is wired down as sd1 at	scsibus?, then the first non-
     wired disk	shall come on line as sd2.

     There are a number	of ioctls that work on any SCSI	device.	 They are de-
     fined in <sys/scsiio.h> and can be	applied	against	any SCSI device	that
     permits them.  For	the tape, it must be applied against the control de-
     vice.  See	the manual page	for each device	type for more information
     about how generic SCSI ioctls may be applied to a specific	device.

     SCIOCRESET	     Reset a device.

     SCIOCDEBUG	int *
		     Turn on debugging.	 All SCSI operations originating from
		     this device's driver will be traced to the	console, along
		     with other	information.  Debugging	is controlled by four
		     bits, described in	the header file.  If no	debugging is
		     configured	into the kernel, debugging will	have no	ef-
		     fect.  SCSI debugging is controlled by the	configuration
		     option SCSIDEBUG.

     SCIOCCOMMAND scsireq_t *
		     Take a SCSI command and data from a user process and ap-
		     ply them to the SCSI device.  Return all status informa-
		     tion and return data to the process.  The ioctl will re-
		     turn a successful status even if the device rejected the
		     command.  As all status is	returned to the	user, it is up
		     to	the user process to examine this information to	decide
		     the success of the	command.

     SCIOCIDENTIFY struct scsi_addr *
		     Ask the driver what its bus, target and lun are.  In ad-
		     dition, the device	type, ATAPI or SCSI, is	returned.

     The system	allows common device drivers to	work through many different
     types of adapters.	 The adapters take requests from the upper layers and
     do	all I/O	between	the SCSI bus and the system.  The maximum size of a
     transfer is governed by the adapter.  Most	adapters can transfer 64KB in
     a single operation, and many can transfer larger amounts.

     When the kernel is	compiled with option SCSIDEBUG,	the SCIOCDEBUG ioctl
     can be used to enable various amounts of tracing information on any spe-
     cific device.  Devices not	being traced will not produce trace informa-
     tion.  The	four bits that make up the debug level each control certain
     types of debugging	information.

     Bit 0  shows all SCSI bus operations including SCSI commands, error in-
	    formation and the first 48 bytes of	any data transferred.

     Bit 1  shows routines called.

     Bit 2  shows information about what branches are taken and	often some of
	    the	return values of functions.

     Bit 3  shows more detailed	information including DMA scatter-gather logs.

     cd(4), ch(4), emc(4), hds(4), intro(4), mpath(4), rdac(4),	safte(4),
     sd(4), ses(4), st(4), sym(4), uk(4), scsi(8)

     This scsi system appeared in MACH 2.5 at TRW.

FreeBSD	13.0		       November	21, 2015		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help