Skip to contentSkip to conversation

Using sg_ses to change cooling element rpm speed

DISCUSSION Jeff Johnson 2 participants 2 messages Mar 15, 2013 SCSI

lore
Share & tools
lore
#0 lore raw

Greetings,

I'm beating my head against the desk trying to use sg_ses to change the cooling control element requested speed code for a fan connected to an LSI SAS2X36 SAS expander.

I have tried the raw->edit<-raw method and tried the --data/--index/--control method and neither seems to work.

Polling status for the cooling element (--index=26) gets me:

Element 26 descriptor:
Predicted failure=0, Disabled=0, Swap=0, status: OK Ident=0, Hot swap=0, Fail=0, Requested on=1, Off=0 Actual speed=4920 rpm, Fan at lowest speed

Issuing the following command doesn't change the rpm speed:
'sg_ses --page=0x2 /dev/sg1 --index=26 --control --data=70,00,00,27'

Per the SES spec that string should select "Fan at highest speed".

I have also tried taking the raw output, editing the bytes for the element and sending it back and it also does nothing. The sg_ses command succeeds but there are no intended results.

Am I using the command syntax correctly? I want to be sure before I go after the vendor for improper support of the SES specification.

Thanks!

--Jeff

Signature · 12 lines
------------------------------
Jeff Johnson
Co-Founder

Aeon Computing, Inc
High-performance computing / Lustre filesystems

[email protected]
www.aeoncomputing.com
t: 858-412-3810 x101   f: 858-412-3845

4170 Morena Boulevard, Suite D - San Diego, CA 92117
#1 lore raw
Quoted 19 lines · Jeff Johnson

Greetings,

I'm beating my head against the desk trying to use sg_ses to change the cooling control element requested speed code for a fan connected to an LSI SAS2X36 SAS expander.

I have tried the raw->edit<-raw method and tried the --data/--index/--control method and neither seems to work.

Polling status for the cooling element (--index=26) gets me:

Element 26 descriptor:
Predicted failure=0, Disabled=0, Swap=0, status: OK Ident=0, Hot swap=0, Fail=0, Requested on=1, Off=0 Actual speed=4920 rpm, Fan at lowest speed

Issuing the following command doesn't change the rpm speed:
'sg_ses --page=0x2 /dev/sg1 --index=26 --control --data=70,00,00,27'

Quoted 8 lines

Per the SES spec that string should select "Fan at highest speed".

I have also tried taking the raw output, editing the bytes for the element and sending it back and it also does nothing. The sg_ses command succeeds but there are no intended results.

Am I using the command syntax correctly? I want to be sure before I go after the vendor for improper support of the SES specification.

Jeff,
Assuming you have a recent version of sg_ses, say from sg3_utils version 1.35:

  # sg_ses -V
  version: 1.70 20121211

Try this:

  # sg_ses --index=coo --set=3:2:3=7 /dev/sg1

That assumes there is only one cooling element. If there are more then:

  # sg_ses --index=coo,0 --set=3:2:3=7 /dev/sg1
  # sg_ses --index=coo,1 --set=3:2:3=7 /dev/sg1
etc.  **

Also the SES device embedded in that expander communicates with your array using SGPIO (see wikipedia). I hoping you know that and have the correct cable(s). I have a cheapie Supermicro array and it doesn't take much to trip up SGPIO here, connecting more than two SAS disks is usually enough. On a good day I can set the ident LEDs and sound the warning. I'd love to be able to slow down its !@#$ fan :-) [It doesn't have a cooling element.]

Doug Gilbert

** I could introduce the element name speed_code so that becomes:

  # sg_ses --index=coo --set=speed_code=7 /dev/sg1