X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Finstall%2Bsetup%2Finstall%2Fprobehw.sh;h=e5fda71aa6d9624cc0b4a5c81561ded5c46428a9;hb=ee78a5efc7c5a5aa81d4d3c24166aa0a5a951228;hp=84b7fd7633057ff44af92dc1eaa104fd83e7bb01;hpb=1a8688ba59e21e3e1a1a8651e36e0d51de0815be;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/src/install+setup/install/probehw.sh b/src/install+setup/install/probehw.sh index 84b7fd763..e5fda71aa 100644 --- a/src/install+setup/install/probehw.sh +++ b/src/install+setup/install/probehw.sh @@ -1,7 +1,7 @@ #!/bin/sh -echo "Detecting Hardware" -for MODULE in $(kudzu -qps -t 30 | grep driver | cut -d ' ' -f 2 | sort | uniq); do +echo "Detecting Hardware..." +for MODULE in $(kudzu -qps -t 30 | grep driver: | cut -d ' ' -f 2 | sort | uniq); do if [ "${MODULE}" = "unknown" ] || \ [ "${MODULE}" = "ignore" ]; then continue @@ -9,9 +9,42 @@ for MODULE in $(kudzu -qps -t 30 | grep driver | cut -d ' ' -f 2 | sort | uniq) if grep -Eqe "^${MODULE} " /proc/modules; then continue fi - echo "Loading ${MODULE}" - modprobe -k ${MODULE} - udevstart + echo -n "Loading ${MODULE}" + modprobe ${MODULE} >/dev/null 2>&1 + echo " --> ecode: $?" done +if [ $# -eq 0 ]; then + exit 0 +fi + +## If the autodetection fails we will try to load every module... +## Do this only when we want... + +for i in a b c d e f g; do + if [ ! -e /dev/sd$i ]; then + DEVICE="/dev/sd$i" + echo "Checking for: $DEVICE" + break + fi +done + +for MODULE in $(ls /lib/modules/*/kernel/drivers/scsi); do + MODULE=`basename $MODULE | awk -F. '{ print $1 }'` + + echo -n "Probing for $MODULE" + modprobe $MODULE >/dev/null 2>&1 + RETVAL=$? + echo " --> ecode: $RETVAL" + if [ "$RETVAL" -eq "0" ]; then + sleep 3 + if [ -e "$DEVICE" ]; then + break + fi + fi + +done + +sleep 5 + exit 0