hello .. use the firmware updater software provided by iomega --- serach for link --- and create a folderstructure as described in this thread , of course you must copy the firmware of the cloud edition in the same folder as the script should be placed !
copy this script (see downwards) in an unix editor and save it as preimage.sh in folder on your usb-stick ---> \ecmtools\ix2-200d_images\preimage.sh
--------------------- here the script ---- copy in unix editor ans save as --- preimage.sh ---------- --------------------
Kod:
# /bin/sh
# This script is used to upgrade the drive firmware version
# if the drive firmware is < CC37 then this script needs to upgrade that drive
# Also the hdparm needs to be 9.28 fo this to work
##
echo "!!!!!!This script upgrades the seagate drive firmware"
HDPARM=/usb_drive/emctools/seagate/hdparm916/hdparm
FWPATH=/usb_drive/emctools/seagate
UPGRADED=0
find_firmware()
{
MODEL=$1
if [ "$MODEL" == "ST3500412AS" ]
then
NEW_FIRMWARE="$FWPATH/500-cc37.bin"
elif [ "$MODEL" == "ST31000520AS" ]
then
NEW_FIRMWARE="$FWPATH/1tb-cc38.bin"
elif [ "$MODEL" == "ST32000542AS" ]
then
NEW_FIRMWARE="$FWPATH/2tb-cc38.bin"
else
return 1
fi
return 0
}
update_firmware()
{
dev=/dev/$1
MODEL=`$HDPARM -I $dev | grep Model | awk '{print $3}'`
echo "Model is $MODEL"
FIRMWARE_REV=`$HDPARM -I $dev | grep Firmware | awk '{print $3}'`
echo "Firmware revision is $FIRMWARE_REV"
find_firmware $MODEL
if [ "$?" == "0" ]
then
rev=`echo $FIRMWARE_REV | awk '{print substr($0, 3, 2)}'`
if ( [ "$MODEL" == "ST3500412AS" ] && [ "$rev" -lt "37" ] ) || ( [ "$MODEL" != "ST3500412AS" ] && [ "$rev" -lt "38" ] )
then
echo "The drive firmware needs to be updated to $NEW_FIRMWARE"
count=1
while [ "$count" -lt "5" ];
do
echo "pass $count"
$HDPARM --yes-i-know-what-i-am-doing --please-destroy-my-drive --fwdownload $NEW_FIRMWARE $dev
cmd_ret=$?
if [ "$cmd_ret" -lt "6" ]
then
UPGRADED=1
break
fi
let count++
done
else
echo "Firmware does not need an upgrade"
fi
else
echo "The Model $MODEL is not supported"
return 1
fi
}
#MAX_DRIVES=12
#drive_letters=(a b c d e f g h i j k l)
for i in a b c d e f g h i j k l;
do
drive=sd$i
if [ -f /sys/block/$drive/removable ]
then
isDrive=`cat /sys/block/$drive/removable`
if [ "$isDrive" == "0" ]
then
echo "$drive is a hard drive"
update_firmware $drive
else
echo "$drive is not a hard drive"
fi
else
echo "$drive doesnot exists"
fi
done
if [ $UPGRADED == "1" ]
then
echo "Need to reboot after a firmware upgrade"
exit 1
else
exit 0
fi
Konuyu Favori Sayfanıza Ekleyin