aboutsummaryrefslogtreecommitdiff
path: root/patches/bin/rescan-scsi-bus
diff options
context:
space:
mode:
Diffstat (limited to 'patches/bin/rescan-scsi-bus')
-rw-r--r--patches/bin/rescan-scsi-bus119
1 files changed, 0 insertions, 119 deletions
diff --git a/patches/bin/rescan-scsi-bus b/patches/bin/rescan-scsi-bus
deleted file mode 100644
index f1745bd9..00000000
--- a/patches/bin/rescan-scsi-bus
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/sh
-# Skript to rescan SCSI bus, using the
-# scsi add-single-device mechanism
-# (w) 98/03/19 Kurt Garloff <kurt@garloff.de> (c) GNU GPL
-
-# This script is useful for automatically scanning for new
-# USB and IEEE1394 devices which will not show up automatically
-# if they use a LUN (logical unit number) other than 0.
-# To search all LUNS for new devices to enable, run like this:
-#
-# rescan-scsi-bus -l
-
-found=0
-rmvd=0
-
-# Return hosts. /proc/scsi/HOSTADAPTER/? must exist
-findhosts() {
- hosts=
- for name in /proc/scsi/*/?; do
- name=${name#/proc/scsi/}
- if test ! $name = scsi ; then
- hosts="$hosts ${name#*/}"
- echo "Host adapter ${name#*/} (${name%/*}) found."
- fi
- done
-}
-
-# Test if SCSI device $host $channen $id $lun exists
-# Outputs description from /proc/scsi/scsi, returns new
-testexist() {
- grepstr="scsi$host Channel: 0$channel Id: 0*$id Lun: 0$lun"
- new=`cat /proc/scsi/scsi | grep -e "$grepstr"`
- if test ! -z "$new" ; then
- cat /proc/scsi/scsi | grep -e "$grepstr"
- cat /proc/scsi/scsi | grep -A2 -e "$grepstr" | tail -n 2
- fi
-}
-
-# Perform search (scan $host)
-dosearch() {
- for channel in $channelsearch; do
- for id in $idsearch; do
- for lun in $lunsearch; do
- new=
- devnr="$host $channel $id $lun"
- echo "Scanning for device $devnr ..."
- printf "OLD: "
- testexist
- if test ! -z "$remove" -a ! -z "$new" ; then
- echo "scsi remove-single-device $devnr" > /proc/scsi/scsi
- echo "scsi add-single-device $devnr" > /proc/scsi/scsi
- printf "\r\x1b[A\x1b[A\x1b[AOLD: "
- testexist
- if test -z "$new"; then
- printf "\rDEL: \r\n\n\n\n"
- rmvd=$(($rmvd+1))
- fi
- fi
- if test -z "$new" ; then
- printf "\rNEW: "
- echo "scsi add-single-device $devnr" > /proc/scsi/scsi
- testexist
- if test -z "$new"; then
- printf "\r\x1b[A"
- else
- found=$(($found+1))
- fi
- fi
- done
- done
- done
-}
-
-
-# main
-if test @$1 = @--help -o @$1 = @-h ; then
- echo "Usage: rescan-scsi-bus.sh [-l] [-w] [-c] [host [host ...]]"
- echo " -l activates scanning for LUNs 0 .. 7 [default: 0]"
- echo " -w enables scanning for device IDs 0 .. 15 [def.: 0 .. 7]"
- echo " -r enables removing of devices [default: disabled]"
- echo " -c enables scanning of channels 0 1 [default: 0]"
- echo " If hosts are given, only these are scanned [default: all]"
- exit 0
-fi
-
-# defaults
-lunsearch="0"
-idsearch="0 1 2 3 4 5 6 7"
-channelsearch="0"
-remove=""
-
-# Scan options
-opt="$1"
-while test ! -z "$opt" -a -z "${opt##-*}"; do
- opt=${opt#-}
- case "$opt" in
- l) lunsearch="0 1 2 3 4 5 6 7" ;;
- w) idsearch="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" ;;
- c) channelsearch="0 1" ;;
- r) remove=1 ;;
- *) echo "Unknown option -$opt !" ;;
- esac
- shift
- opt="$1"
-done
-
-# Hosts given ?
-if test @$1 = @; then
- findhosts
-else
- hosts=$*
-fi
-
-for host in $hosts; do
- dosearch
-done
-echo "$found new device(s) found. "
-echo "$rmvd device(s) removed. "
-