table of contents
SES(4) | Device Drivers Manual | SES(4) |
NAME¶
ses
— SCSI
Environmental Services driver
SYNOPSIS¶
device ses
DESCRIPTION¶
The ses
driver provides support for all
SCSI devices of the environmental services class that are attached to the
system through a supported SCSI Host Adapter, as well as emulated support
for SAF-TE (SCSI Accessible Fault Tolerant Enclosures). The environmental
services class generally are enclosure devices that provide environmental
information such as number of power supplies (and state), temperature,
device slots, and so on.
A SCSI Host adapter must also be separately configured into the system before a SCSI Environmental Services device can be configured.
KERNEL CONFIGURATION¶
It is only necessary to explicitly configure one
ses
device; data structures are dynamically
allocated as devices are found on the SCSI bus.
A separate option, SES_ENABLE_PASSTHROUGH,
may be specified to allow the ses
driver to perform
functions on devices of other classes that claim to also support
ses
functionality.
IOCTLS¶
The following ioctl(2) calls apply to
ses
devices. They are defined in the header file
<cam/scsi/scsi_enc.h>
(q.v.).
ENCIOC_GETNELM
- Used to find out how many
ses
elements are driven by this particular device instance. ENCIOC_GETELMMAP
- Read, from the kernel, an array of SES elements which contains the element
identifier, which subenclosure it is in, and the
ses
type of the element. ENCIOC_GETENCSTAT
- Get the overall enclosure status.
ENCIOC_SETENCSTAT
- Set the overall enclosure status.
ENCIOC_GETELMSTAT
- Get the status of a particular element.
ENCIOC_SETELMSTAT
- Set the status of a particular element.
ENCIOC_GETTEXT
- Get the associated help text for an element (not yet implemented).
ses
devices often have descriptive text for an element which can tell you things like location (e.g., "left power supply"). ENCIOC_INIT
- Initialize the enclosure.
ENCIOC_GETELMDESC
- Get the element's descriptor string.
ENCIOC_GETELMDEVNAMES
- Get the device names, if any, associated with this element.
ENCIOC_GETSTRING
- Used to read the SES String In Diagnostic Page. The contents of this page are device-specific.
ENCIOC_SETSTRING
- Used to set the SES String Out Diagnostic Page. The contents of this page are device-specific.
ENCIOC_GETENCNAME
- Used to get the name of the enclosure.
ENCIOC_GETENCID
- Used to get the Enclosure Logical Identifier.
EXAMPLE USAGE¶
The files contained in
</usr/share/examples/ses>
show simple mechanisms for how to use these interfaces, as well as a very
stupid simple monitoring daemon.
FILES¶
- /dev/sesN
- The Nth
SES
device.
DIAGNOSTICS¶
When the kernel is configured with DEBUG enabled, the first open to an SES device will spit out overall enclosure parameters to the console.
SEE ALSO¶
HISTORY¶
The ses
driver was originally written for
the CAM SCSI subsystem by Matthew Jacob and first released in
FreeBSD 4.3. It was a functional equivalent of a
similar driver available in Solaris, Release 7. It was largely rewritten by
Alexander Motin, Justin Gibbs, and Will Andrews for FreeBSD
9.2.
November 12, 2019 | Debian |