ec_reload.sh
author Florian Pose <fp@igh-essen.com>
Mon, 06 Mar 2006 16:18:01 +0000
changeset 99 72e375b0b308
child 100 d3d4654e499d
permissions -rwxr-xr-x
Reload-Script hinzugef?gt.
99
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     1
#!/bin/sh
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     2
###############################################################################
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     3
#
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     4
#  Shell-Script zum Laden des EtherCAT-Masters
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     5
#
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     6
#  $Id$
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     7
#
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     8
###############################################################################
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
     9
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    10
remove_module()
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    11
{
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    12
    if lsmod | grep ^$1 > /dev/null
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    13
	then
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    14
	echo "Entlade Modul \"$1\"..."
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    15
	rmmod $1 || exit -1
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    16
    fi
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    17
}
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    18
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    19
copy_to_tmp()
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    20
{
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    21
    if ! cp $1 /tmp/
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    22
	then
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    23
	echo "Fehler beim Kopieren von $1 nach /tmp..."
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    24
	exit -1
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    25
    fi
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    26
}
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    27
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    28
insert_module()
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    29
{
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    30
    name=`basename $1`
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    31
    echo "Lade Modul \"$name\"..."
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    32
    if ! insmod $*
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    33
	then
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    34
	echo "Fehler beim Laden!"
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    35
	exit -1
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    36
    fi
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    37
}
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    38
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    39
# Parameter abfragen
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    40
if [ $# -eq 0 ]
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    41
then
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    42
echo "$0: Parameter <ec_device_index> fehlt!"
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    43
exit 1
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    44
fi
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    45
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    46
echo "Lade EtherCAT..."
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    47
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    48
# Aktuelle Versionen nach /tmp kopieren...
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    49
copy_to_tmp master/ec_master.ko
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    50
copy_to_tmp devices/ec_8139too.ko
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    51
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    52
# Module entfernen...
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    53
remove_module 8139too
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    54
remove_module 8139cp
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    55
remove_module ec_8139too
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    56
remove_module ec_master
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    57
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    58
# Neue Versionen laden
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    59
insert_module /tmp/ec_master.ko
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    60
insert_module /tmp/ec_8139too.ko ec_device_index=$1
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    61
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    62
echo "EtherCAT neu geladen."
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    63
72e375b0b308 Reload-Script hinzugef?gt.
Florian Pose <fp@igh-essen.com>
parents:
diff changeset
    64
exit 0