#!/bin/sh # # Frank Schlaefendorf # erstellt am 21.02.2005 # letzte Aenderung am 21.02.2005 # # Die verfuegbaren Protokoll-Module fuer paride. Welches Module das # richtige ist, haengt vom Chipsatz im Parallellaufwerk ab. # Ausprobieren!!!! # # aten ATEN EH-100 (HK) # bpck Microsolutions backpack (US) # comm DataStor (old-type) "commuter" adapter (TW) # dstr DataStor EP-2000 (TW) # epat Shuttle EPAT (UK) # epia Shuttle EPIA (UK) # fit2 FIT TD-2000 (US) # fit3 FIT TD-3000 (US) # friq Freecom IQ cable (DE) # frpw Freecom Power (DE) # kbic KingByte KBIC-951A and KBIC-971A (TW) # ktti KT Technology PHd adapter (SG) # on20 OnSpec 90c20 (US) # on26 OnSpec 90c26 (US) # DRIVERS="aten bpck comm dstr epat epia fit2 fit3 friq frpw kbic ktti on20 on26" # Tragen Sie hier Ihren Protokolltreiber ein. Sie koennen das Script mit dem # Parameter test aufrufen und den passenden Treiber testen lassen. # Wenn ein passender Treiber gefunden wurde, tragen sie ihn hier ein, oder # uebergeben sie ihn als parameter z.B. # /etc/rc.d/rc.parcdrom start epat DRIVER=epat is_modul(){ # teste, ob der uebergebene Name ein gueltiger Modulname ist ERG=1 for driver in $DRIVERS do if [ "$driver" == "$1" ]; then ERG=0 break fi done return $ERG } # wurde ein zweiter Parameter mit dem Treibernamen angegeben if [ "$2" != "" ]; then if is_modul $2 ; then DRIVER=$2 else echo "Der Treiber $2 ist unbekannt" fi fi test(){ echo -n "Teste " ERG=1 for driver in $DRIVERS do echo -n "$driver " modprobe $driver modprobe pd 2&>1 > /dev/null if [ "$?" == "0" ]; then echo "OK" echo "In diesem Laufwerk wird der Treiber $driver verwendet" ERG=0 break else rmmod $driver fi done if [ "$ERG" == "1" ]; then echo "Es wurde leider kein passender Protokolltreiber gefunden" fi exit $ERG } case $1 in start) modprobe paride if is_modul $DRIVER ; then echo "Das Protokoll-Modul $DRIVER wird geladen" modprobe $DRIVER modprobe pd 2&>1 > /dev/null if [ "$?" != "0" ]; then echo "Das Protokoll-Modul passt nicht zur Hardware und wird wieder entfernt" rmmod $DRIVER rmmod paride fi else test fi ;; test) modprobe paride test ;; mount) if [ ! -d /cdrom ]; then mkdir /cdrom else fuser -k /cdrom umount /cdrom fi mount /dev/pcd0 /cdrom ;; umount) fuser -k /cdrom umount /cdrom ;; stop) fuser -k /cdrom umount /cdrom rmmod pcd rmmod pd if [ "$DRIVER" != "" ]; then rmmod $DRIVER else for driver in $DRIVERS do rmmod $driver done fi rmmod paride ;; *) echo "Benutze /etc/rc.d/rc.parcdrom start|stop|test" ;; esac