This feature allows you almost full control of your SES enclosure and devices within it. We will let you send low-level commands to do anything you want to do such as decrease the fan speed or turn off the power supplies. Use this feature wisely. If you want to do something stupid like program all of the fans to get turned off and disable the thermal shutdown, SMARTMon-UX will let you submit those commands to your enclosure (which will probably be rejected as most SES engines will not let you do these things for obvious reasons).
This function is really for storage engineers, hardware designers, and other advanced users who would typically be very aware of how to directly program a SES enclosure, but require an application program that can facilitate this for them. These users would typically be very familiar with the ANSI SES programming specification, as well as programming vendor-unique fields that would not normally be available without a non-disclosure agreement between the end-user and the enclosure manufacturer.
Usage
smartmon-ux -EP2ttnnwwxxyy [-EP2ttnnwwxxyy] device_name
Note, all numbers are two character hex digits, ranging from 0-9 or A-F. You may also combine multiple commands on the same line. This is the preferred way to combine multiple commands as all of them will get executed at the same time.
| • | tt - Element type. Represents either an ANSI-defined element type code or a vendor-unique type code. See the table below for a cross-reference. |
| • | nn - Element number. This is the nth element of type tt. If you want to configure the overall settings for a specific element type, enter value FF for the element number. The first element number is always 00. So, if you wanted to address the first power supply, the beginning of the command option would be -EP20200 |
| • | wwxxyy - These are the three bytes you want to send which correspond to byte offsets 1, 2, and 3in the CommonControl field of SES Page #2. |
tt = element number (in hex) that you wish to control. Range is 0 to n, where n is the highest element number
-EP2ttnnwwxxyy Sends bytes ww,xx,yy to SES enclosure control page (#2) for element type tt number nn. This function is covered in detail in the next chapter, Enclosure Services Reprogramming
ANSI-Defined SES Element Types and Description Table
Element Type Code (hex) |
Description |
00 |
Unspecified (Do not use it!!) |
01 |
Device (i.e., something in a slot like disk drive or DAT tape) |
02 |
Power Supply |
03 |
Cooling (typically a fan) |
04 |
Temperature Sensor |
05 |
Door Lock |
06 |
Audible Alarm |
07 |
Enclosure Services Controller Electronics |
08 |
SCC Controller Electronics |
09 |
Nonvolatile Cache |
0A |
Invalid Operation Reason |
0B |
Uninterruptible Power Supply |
0C |
Display (LCD display or control panel) |
0D |
Key Pad Entry |
0E |
Enclosure |
0F |
SCSI Port/Transceiver |
10 |
Language Element |
11 |
Communication Port |
12 |
Voltage Sensor |
13 |
Current Sensor |
14 |
SCSI Target Port |
15 |
SCSI Initiator Port |
16 |
Simple Sub-enclosure |
17 |
|
18 - 7F |
Reserved |
80 - FF |
Vendor-specific type code |
Example:
Below is a table from the ANSI SES programming specification which shows how one might package the bytes to control aspects of a device. We will send a harmless command which will enable the fault light for a device in a particular slot. Every element type has a different 4-byte structure and options, so you should consult either the ANSI programming specification or your particular vendor's documentation. Remember, an enclosure manufacturer is free to not support certain functions as well as add vendor-unique functionality.
Byte/Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
||||||||
Reserved |
||||||||
Active |
Do Not Remove |
Reserved |
Request Insert |
Request Remove |
Request Identify |
Reserved |
||
Reserved |
Request Fault |
Device Off |
Enable Bypass A |
Enable Bypass B |
Reserved |
|||
To enable the request fault light, we must set bit 5 in byte #3 (i.e., 20 hex), so the wwxxyy sequence must be 000020. As we are controlling the device element, we must send a 01 to indicate a disk device. For our example, we'll select the third device in the enclosure (corresponding to element # 2). Put it all together, and you would send out -EP20102000020.
If we were to send out -EP20102000200, this will turn off the fault light, but turn on the identify light (assuming one exists). Note that the fault light goes off because byte 3 (the yy field) has all zeros in it. The SES enclosure will stay in whatever state you put it in, until either the enclosure decides to override that state or power is reset to the enclosure. Everything is volatile. (There may be some exceptions for vendor-unique SES elements).
If you wanted to instruct the device to both request fault and force the bypass "A" path, and turn on the identify LED, then send -EP20102000228.
Page url: http://www.santools.com/santool/index.html?enclosureservicesprogramming.htm