1#!/bin/sh 2 3HDPARM=/sbin/hdparm 4MAX_IDE_NR=1 5 6IDE_IO_0=0x1f0 7IDE_IO_1=0x170 8 9USE_IDE_DEV_0=/dev/hda 10USE_IDE_DEV_1=/dev/hdc 11 12usage () { 13 if [ $# -gt 0 ]; then 14 echo $* >&2 15 echo 16 fi 17 18 echo "usage: $0 ide-channel-nr [off|on|rescan]" 2>&1 19 exit 1 20} 21 22IDE_NR=$1 23MODE=$2 24 25do_register=0 26do_unregister=0 27 28 29if [ ! "$IDE_NR" ] || [ $IDE_NR -lt 0 ] || [ $IDE_NR -gt $MAX_IDE_NR ]; then 30 usage "Unrecognized IDE-channel number" 31fi 32 33case "$MODE" in 34on ) do_register=1 ;; 35off ) do_unregister=1 ;; 36rescan ) do_unregister=1; do_register=1 ;; 37* ) usage "Unrecognized command" ;; 38esac 39 40eval "IDE_IO=\$IDE_IO_$IDE_NR" 41eval "USE_IDE_DEV=\$USE_IDE_DEV_$IDE_NR" 42 43[ $do_unregister -eq 1 ] && eval "$HDPARM -U $IDE_NR $USE_IDE_DEV > /dev/null" 44[ $do_register -eq 1 ] && eval "$HDPARM -R $IDE_IO 0 0 $USE_IDE_DEV > /dev/null" 45 46