Advertisement
Guest User

script to disable power management on specific drives

a guest
Apr 18th, 2012
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.55 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. echo "::walk sd_state | ::grep '.!=0' | ::print -at struct sd_lun" |
  4.         mdb -k|egrep "( struct sd_lun | struct scsi_device | un_f_power_condition_disabled )" |
  5.  
  6. ( while read sd_lun && read scsi_device && read power_cond; do
  7.  
  8.         echo
  9.         echo "=============================="
  10.         echo
  11.  
  12.         sd_lun="0x"${sd_lun%% *}
  13.         echo "LUN addr = " $sd_lun
  14.  
  15.         scsi_device=${scsi_device##*un_sd = }
  16.         echo "DEV addr = " $scsi_device
  17.  
  18.         power_cond=${power_cond%%.*}
  19.         echo "PWR addr = " $power_cond
  20.  
  21.         scsi_inq=`echo "$scsi_device ::print -at struct scsi_device" | mdb -k |grep "struct scsi_inquiry"`
  22.         scsi_inq=${scsi_inq##*sd_inq = }
  23.         echo "INQ addr = $scsi_inq"
  24.  
  25.         dev=`echo "$scsi_inq ::print -at struct scsi_inquiry" |
  26.                 mdb -k|egrep "(inq_vid|inq_pid|inq_revision|inq_serial)" |
  27.                 awk -F\" '{print $2}'`
  28.         dev=""$dev
  29.         echo $dev
  30.  
  31.         if [ `echo $dev | egrep "ST2000NM0001" |wc -l` -ne "1" ]; then
  32.                 continue
  33.         fi
  34.  
  35.         echo "$sd_lun ::print -at struct sd_lun" | mdb -k| grep $power_cond
  36.  
  37.         byte=`echo "$power_cond/V" | mdb -k | awk '{print $2}'`
  38.         echo "BYTE = $byte"
  39.         byte=$((byte|64))
  40.         byte=$((byte&127))
  41.         echo "CHANGE TO $byte"
  42.  
  43.         echo "$power_cond/v 0t$byte" | mdb -kw > /dev/null
  44.  
  45.         echo "$sd_lun ::print -at struct sd_lun" | mdb -k| grep $power_cond
  46.         byte=`echo "$power_cond/V" | mdb -k | awk '{print $2}'`
  47.         echo "BYTE = $byte"
  48. done )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement