ACC SHELL
#!/bin/sh
HDPARM=/sbin/hdparm
MAX_IDE_NR=1
IDE_IO_0=0x1f0
IDE_IO_1=0x170
USE_IDE_DEV_0=/dev/hda
USE_IDE_DEV_1=/dev/hdc
usage () {
if [ $# -gt 0 ]; then
echo $* >&2
echo
fi
echo "usage: $0 ide-channel-nr [off|on|rescan]" 2>&1
exit 1
}
IDE_NR=$1
MODE=$2
do_register=0
do_unregister=0
if [ ! "$IDE_NR" ] || [ $IDE_NR -lt 0 ] || [ $IDE_NR -gt $MAX_IDE_NR ]; then
usage "Unrecognized IDE-channel number"
fi
case "$MODE" in
on ) do_register=1 ;;
off ) do_unregister=1 ;;
rescan ) do_unregister=1; do_register=1 ;;
* ) usage "Unrecognized command" ;;
esac
eval "IDE_IO=\$IDE_IO_$IDE_NR"
eval "USE_IDE_DEV=\$USE_IDE_DEV_$IDE_NR"
[ $do_unregister -eq 1 ] && eval "$HDPARM -U $IDE_NR $USE_IDE_DEV > /dev/null"
[ $do_register -eq 1 ] && eval "$HDPARM -R $IDE_IO 0 0 $USE_IDE_DEV > /dev/null"
ACC SHELL 2018