|
Enclosure Services Reprogramming (SES) |
Top Previous Next |
|
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 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
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.
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.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||