diff --git a/ethercat.sh b/ethercat.sh index efe9d856d776267c3e9d33e352abe02ff05ea7eb..30e7585a04d1bb09737fabf1d8245e125fcf22e1 100755 --- a/ethercat.sh +++ b/ethercat.sh @@ -128,6 +128,26 @@ case "$1" in rc_status ;; + + status) + echo -n "Checking for EtherCAT... " + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + lsmod | grep "^ec_master " > /dev/null + master_running=$? + lsmod | grep "^ec_8139too " > /dev/null + device_running=$? + test $master_running -eq 0 -a $device_running -eq 0 + + rc_status -v + ;; esac rc_exit