diff --git a/doc/wrs-developer-manual.in b/doc/wrs-developer-manual.in index bc2631714a1aabf99bdffe788e8e1689ce906059..1c723517de085f5310df3592d93ae5d8996feb31 100644 --- a/doc/wrs-developer-manual.in +++ b/doc/wrs-developer-manual.in @@ -1814,6 +1814,47 @@ gentle restarts before. Date set from file @t{/update/saved_date} is never correct, but is based on best effort principle. +@c ========================================================================== +@node Supervision of running processes +@section Supervision of running processes + +During normal operation @t{monit} supervises several processes running on a wrs +switch. Check is done every 10 seconds. As for now supervised processes are: +@t{wrsw_rtud}, +@t{wrsw_hal}, +@t{ppsi}, +@t{lighttpd}, +@t{dropbear}, +@t{snmpd}. + +In case any of the supervised processes does not run anymore (because of a crash, +exit etc.), @t{monit} restarts missing process. If 5 restarts of a process +occur during 10 cycles (10*10 seconds), the entire switch is restarted. + +Since @t{monit} is started from the inittab, even if @t{monit} crashes for some +reason it will be re-spawned by the @t{init}. + +@c ========================================================================== +@node Disabling monit +@subsection Disabling monit + +In some cases, especially during development it is convenient to disable +@t{monit} to avoid annoying re-spawns of the processes and restarts of the entire +switch. +@t{monit} can be disabled with command: +@example +/etc/init.d/monit.sh stop +@end example +which will send STOP signal to @t{monit} or by adding @t{CONFIG_MONIT_DISABLE=y} to dot-config. + +To re-enable @t{monit} first make sure there is no @t{CONFIG_MONIT_DISABLE=y} in dot-config, then execute command: +@example +/etc/init.d/monit.sh start +@end example + +NOTE: Even when @t{monit} is disabled there is a process @t{/usr/bin/monit} in +a process list, but its state is "stopped" (T). + @c ========================================================================== @node SDB and Hardware Information @section SDB and Hardware Information diff --git a/doc/wrs-user-manual.in b/doc/wrs-user-manual.in index 1c6ec2965b6cc31855acbae5af4c06975c2bc245..0080570c98a032af0b3c6b957acaf19946ea3735 100644 --- a/doc/wrs-user-manual.in +++ b/doc/wrs-user-manual.in @@ -554,7 +554,7 @@ value is changed by the web interface, proper action is taken. @item CONFIG_MONIT_DISABLE Disable monitoring of running processes by monit. Monit by default - re spawns processes that have died. This option is useful mostly during + re-spawns processes that have died. This option is useful mostly during development. @end table diff --git a/userspace/rootfs_override/etc/init.d/dropbear b/userspace/rootfs_override/etc/init.d/dropbear index 5f62740ce6b73d873e776b26af8fd010ed203069..ce247e9a294e9ea3590e9ab6666b8ecb91d82170 100755 --- a/userspace/rootfs_override/etc/init.d/dropbear +++ b/userspace/rootfs_override/etc/init.d/dropbear @@ -40,14 +40,27 @@ start() { fi umask 077 start-stop-daemon -S -q -p /var/run/dropbear.pid --exec /usr/sbin/dropbear - start_counter - echo "OK" + ret=$? + if [ $ret -eq 0 ]; then + start_counter + echo "OK" + elif [ $ret -eq 1 ]; then + echo "Failed (already running?)" + else + echo "Failed" + fi } + stop() { echo -n "Stopping dropbear sshd: " start-stop-daemon -K -q -p /var/run/dropbear.pid - echo "OK" + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi } + restart() { stop start diff --git a/userspace/rootfs_override/etc/init.d/hald.sh b/userspace/rootfs_override/etc/init.d/hald.sh new file mode 100755 index 0000000000000000000000000000000000000000..57b11a65f42e9a560cb772186ed8295b1721627c --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/hald.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting HAL daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_HAL + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof wrsw_hal > /dev/null; then + # wrsw_hal already running + echo "Failed (already running?)" + else + eval /wr/bin/wrsw_hal $LOGPIPE \& + echo "OK" + fi +} + +stop() { + echo -n "Stopping HAL " + start-stop-daemon -K -q --exec /wr/bin/wrsw_hal + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/init.d/lighttpd.sh b/userspace/rootfs_override/etc/init.d/lighttpd.sh index 0c59a0b66900243c00fc92cb4e1d3b7389b443cd..ad1d7445c353ec4721599a70f8b8dd007db3e320 100755 --- a/userspace/rootfs_override/etc/init.d/lighttpd.sh +++ b/userspace/rootfs_override/etc/init.d/lighttpd.sh @@ -21,23 +21,27 @@ start() { # running start-stop-daemon -q -p /var/run/lighttpd.pid -S \ --exec /usr/sbin/lighttpd -- -f /var/www/lighttpd.config - if [ $? -eq 0 ]; then + ret=$? + if [ $ret -eq 0 ]; then start_counter echo "OK" - else + elif [ $ret -eq 1 ]; then echo "Failed (already running?)" + else + echo "Failed" fi } + stop() { echo -n "Stopping lighttpd daemon: " start-stop-daemon -K -q -p /var/run/lighttpd.pid if [ $? -eq 0 ]; then - start_counter echo "OK" else echo "Failed" fi } + restart() { stop start diff --git a/userspace/rootfs_override/etc/init.d/ppsi.sh b/userspace/rootfs_override/etc/init.d/ppsi.sh new file mode 100755 index 0000000000000000000000000000000000000000..65e0c714cad851d5f283a25c7a98c6dfd88af0bd --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/ppsi.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting PTP daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_PTP + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof ppsi > /dev/null; then + # ppsi already running + echo "Failed (already running?)" + else + eval /wr/bin/ppsi $LOGPIPE \& + echo "OK" + fi +} + +stop() { + echo -n "Stopping PTP: " + start-stop-daemon -K -q --exec /wr/bin/ppsi + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/init.d/reboot.sh b/userspace/rootfs_override/etc/init.d/reboot.sh new file mode 100755 index 0000000000000000000000000000000000000000..a943d0fc2e471f8ce1659b52fc9491ff4e09c5f6 --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/reboot.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# simple wrapper for monit to announce reboot to console +echo "Monit triggered reboot due to $1" > /dev/console +/sbin/reboot diff --git a/userspace/rootfs_override/etc/init.d/rtud.sh b/userspace/rootfs_override/etc/init.d/rtud.sh new file mode 100755 index 0000000000000000000000000000000000000000..8ae637f7c380c69810ba4e70cdaf0da2e4aa2182 --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/rtud.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting RTUd daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_RTU + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof rtud > /dev/null; then + # rtud already running + echo "Failed (already running?)" + else + eval /wr/bin/wrsw_rtud $LOGPIPE \& + # ensure we receive UDP PTP frames, since ppsi supports UDP too. + /wr/bin/rtu_stat add 01:00:5e:00:01:81 18 0 & + echo "OK" + fi +} + +stop() { + echo -n "Stopping RTUd " + start-stop-daemon -K -q --exec /wr/bin/wrsw_rtud + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/init.d/snmp b/userspace/rootfs_override/etc/init.d/snmpd similarity index 60% rename from userspace/rootfs_override/etc/init.d/snmp rename to userspace/rootfs_override/etc/init.d/snmpd index 652781a3143bd019cd2507b79ccf9bec304a522b..db2955076223042b592fd30fcd4e7d4fe80cea6c 100755 --- a/userspace/rootfs_override/etc/init.d/snmp +++ b/userspace/rootfs_override/etc/init.d/snmpd @@ -16,18 +16,31 @@ start_counter() { } start() { + echo -n "Starting snmpd daemon: " # Log to syslog at daemon level. And log source address (-a) - snmpd -Lsd -p $SNMP_PID -a -c $SNMP_CONF - start_counter + start-stop-daemon -q -p $SNMP_PID -S \ + --exec /usr/sbin/snmpd -- -Lsd -p $SNMP_PID -a -c $SNMP_CONF + ret=$? + if [ $ret -eq 0 ]; then + start_counter + echo "OK" + elif [ $ret -eq 1 ]; then + echo "Failed (already running?)" + else + echo "Failed" + fi } stop() { - if pidof snmpd > /dev/null; then - echo -n "Stopping snmpd: " - start-stop-daemon -K -q -p $SNMP_PID + echo -n "Stopping snmpd: " + start-stop-daemon -K -q -p $SNMP_PID + if [ $? -eq 0 ]; then echo "OK" + else + echo "Failed" fi } + restart() { stop start diff --git a/userspace/rootfs_override/etc/init.d/syslogd b/userspace/rootfs_override/etc/init.d/syslogd index 06db86d540ce732d72624ef392946e267385f2d5..875bbe4351369fd361642872e6bf84741ae4be79 100755 --- a/userspace/rootfs_override/etc/init.d/syslogd +++ b/userspace/rootfs_override/etc/init.d/syslogd @@ -17,9 +17,17 @@ start() { # Check the configuration file: if there's no target, don't run the thing. if ! grep -q '^##.*remote-host' /etc/rsyslog.conf; then echo -n "Starting rsyslog: " - /usr/sbin/rsyslogd - start_counter - echo "OK" + start-stop-daemon -q -p /var/run/rsyslogd.pid -S \ + --exec /usr/sbin/rsyslogd + ret=$? + if [ $ret -eq 0 ]; then + start_counter + echo "OK" + elif [ $ret -eq 1 ]; then + echo "Failed (already running?)" + else + echo "Failed" + fi else echo "Not starting rsyslog: no target host selected" # avoid SNMPd complaints about lack of start counter file @@ -28,12 +36,15 @@ start() { } stop() { - if pidof rsyslogd > /dev/null; then - echo -n "Stopping rsyslog: " - start-stop-daemon -K -q -p /var/log/rsyslog.pid + echo -n "Stopping rsyslog: " + start-stop-daemon -K -q -p /var/run/rsyslogd.pid + if [ $? -eq 0 ]; then echo "OK" + else + echo "Failed" fi } + restart() { stop start diff --git a/userspace/rootfs_override/etc/init.d/wrs_auxclk b/userspace/rootfs_override/etc/init.d/wrs_auxclk index 7c99c3bbca98bbf1630f1503348bcba9751ade26..cf6c88a7c630237463c896e56a20e8a6ed7b7bff 100755 --- a/userspace/rootfs_override/etc/init.d/wrs_auxclk +++ b/userspace/rootfs_override/etc/init.d/wrs_auxclk @@ -34,10 +34,10 @@ if [ ! -z "$CONFIG_WRSAUXCLK_PPSHIFT" ]; then fi # execute wrs_auxclk -echo "Configuring external clock clk2" +echo -n "Configuring external clock clk2: " /wr/bin/wrs_auxclk $p_freq $p_duty $p_cshift $p_sigdel $p_ppshift > /dev/null 2>&1 if [ $? == 0 ]; then - echo "External clock clk2 OK" + echo "OK" else - echo "Failed to configure external clock clk2!!!" + echo "Failed" fi diff --git a/userspace/rootfs_override/etc/monit.d/dropbear.conf b/userspace/rootfs_override/etc/monit.d/dropbear.conf index 870b24c82502cbf0eb48cfdfcda9b63b855ee33a..af065e780918c3f5c7eff0c2a576ad783f91cf08 100644 --- a/userspace/rootfs_override/etc/monit.d/dropbear.conf +++ b/userspace/rootfs_override/etc/monit.d/dropbear.conf @@ -2,4 +2,4 @@ start program = "/etc/init.d/dropbear start" stop program = "/etc/init.d/dropbear stop" if failed host localhost port 22 type tcp then restart - if 5 restarts within 10 cycles then exec "/sbin/reboot" + if 5 restarts within 10 cycles then exec "/etc/init.d/reboot.sh dropbear" diff --git a/userspace/rootfs_override/etc/monit.d/hald.conf b/userspace/rootfs_override/etc/monit.d/hald.conf new file mode 100644 index 0000000000000000000000000000000000000000..543d766d03845f5c7143513808c0431bb658b08a --- /dev/null +++ b/userspace/rootfs_override/etc/monit.d/hald.conf @@ -0,0 +1,4 @@ + check process wrsw_hal matching /wr/bin/wrsw_hal + start program = "/etc/init.d/hald.sh start" + stop program = "/etc/init.d/hald.sh stop" + if 5 restarts within 10 cycles then exec "/etc/init.d/reboot.sh hald" diff --git a/userspace/rootfs_override/etc/monit.d/lighttpd.conf b/userspace/rootfs_override/etc/monit.d/lighttpd.conf index 21e4b36752ac10f0ca08bf5fbe671287ffee26b7..d80bcb573186839e18efe1458e13be5b2746b732 100644 --- a/userspace/rootfs_override/etc/monit.d/lighttpd.conf +++ b/userspace/rootfs_override/etc/monit.d/lighttpd.conf @@ -2,4 +2,4 @@ start program = "/etc/init.d/lighttpd.sh start" stop program = "/etc/init.d/lighttpd.sh stop" if failed host localhost port 80 type tcp then restart - if 5 restarts within 10 cycles then exec "/sbin/reboot" + if 5 restarts within 10 cycles then exec "/etc/init.d/reboot.sh lighttpd" diff --git a/userspace/rootfs_override/etc/monit.d/ppsi.conf b/userspace/rootfs_override/etc/monit.d/ppsi.conf new file mode 100644 index 0000000000000000000000000000000000000000..2e546ee6775244585cfb3dab25f836775fe7aea9 --- /dev/null +++ b/userspace/rootfs_override/etc/monit.d/ppsi.conf @@ -0,0 +1,5 @@ + check process ppsi matching /wr/bin/ppsi + start program = "/etc/init.d/ppsi.sh start" + stop program = "/etc/init.d/ppsi.sh stop" + if 5 restarts within 10 cycles then exec "/etc/init.d/reboot.sh ppsi" + depends on wrsw_hal diff --git a/userspace/rootfs_override/etc/monit.d/rtud.conf b/userspace/rootfs_override/etc/monit.d/rtud.conf new file mode 100644 index 0000000000000000000000000000000000000000..301559ca0a057b381624bea4c00567f2b63c594e --- /dev/null +++ b/userspace/rootfs_override/etc/monit.d/rtud.conf @@ -0,0 +1,5 @@ + check process wrsw_rtud matching /wr/bin/wrsw_rtud + start program = "/etc/init.d/rtud.sh start" + stop program = "/etc/init.d/rtud.sh stop" + if 5 restarts within 10 cycles then exec "/etc/init.d/reboot.sh rtud" + depends on wrsw_hal diff --git a/userspace/rootfs_override/etc/monit.d/snmp.conf b/userspace/rootfs_override/etc/monit.d/snmp.conf deleted file mode 100644 index c27602227c2b2ba01bfc58427ed3a15564466c63..0000000000000000000000000000000000000000 --- a/userspace/rootfs_override/etc/monit.d/snmp.conf +++ /dev/null @@ -1,4 +0,0 @@ - check process snmpd with pidfile /var/run/snmpd.pid - start program = "/etc/init.d/snmp start" - stop program = "/etc/init.d/snmp stop" - if 5 restart within 10 cycles then exec "/sbin/reboot" diff --git a/userspace/rootfs_override/etc/monit.d/snmpd.conf b/userspace/rootfs_override/etc/monit.d/snmpd.conf new file mode 100644 index 0000000000000000000000000000000000000000..64633938570c224c1a1ca3fbdd102f74970824eb --- /dev/null +++ b/userspace/rootfs_override/etc/monit.d/snmpd.conf @@ -0,0 +1,4 @@ + check process snmpd with pidfile /var/run/snmpd.pid + start program = "/etc/init.d/snmpd start" + stop program = "/etc/init.d/snmpd stop" + if 5 restart within 10 cycles then exec "/etc/init.d/reboot.sh snmpd" diff --git a/userspace/rootfs_override/etc/rcS/S61hald.sh b/userspace/rootfs_override/etc/rcS/S61hald.sh new file mode 120000 index 0000000000000000000000000000000000000000..e053cc418657034efde4254575cc6721f891606b --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61hald.sh @@ -0,0 +1 @@ +../init.d/hald.sh \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S61ppsi.sh b/userspace/rootfs_override/etc/rcS/S61ppsi.sh new file mode 120000 index 0000000000000000000000000000000000000000..8aaeeadb998c77940c428f426b1da70c7627dee5 --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61ppsi.sh @@ -0,0 +1 @@ +../init.d/ppsi.sh \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S61rtud.sh b/userspace/rootfs_override/etc/rcS/S61rtud.sh new file mode 120000 index 0000000000000000000000000000000000000000..33886d42571d177d16fdaa3c06db677d20bcb3cb --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61rtud.sh @@ -0,0 +1 @@ +../init.d/rtud.sh \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S80snmp b/userspace/rootfs_override/etc/rcS/S80snmp deleted file mode 120000 index 4adfeb2f0456efdf1a10b70e3e75089f6acade51..0000000000000000000000000000000000000000 --- a/userspace/rootfs_override/etc/rcS/S80snmp +++ /dev/null @@ -1 +0,0 @@ -../init.d/snmp \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S80snmpd b/userspace/rootfs_override/etc/rcS/S80snmpd new file mode 120000 index 0000000000000000000000000000000000000000..f270432a6f44a88ae7af06b41115fa87391a578b --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S80snmpd @@ -0,0 +1 @@ +../init.d/snmpd \ No newline at end of file diff --git a/userspace/rootfs_override/wr/bin/apply_dot-config b/userspace/rootfs_override/wr/bin/apply_dot-config index 1e8bd49237ba41e34a2442279873e1818879e910..b1608f4a34af71761162d29859fa140c64b7680f 100755 --- a/userspace/rootfs_override/wr/bin/apply_dot-config +++ b/userspace/rootfs_override/wr/bin/apply_dot-config @@ -80,14 +80,6 @@ set | tr -d \' | grep CONFIG_SNMP | sed 's/=/ /' | while read varname value; do done copy_conf /wr/etc/snmpd.conf -# Fix log values -cp /wr/sbin/start-daemons.sh.in $T -set | tr -d \' | grep CONFIG_WRS_LOG | sed 's/=/ /' | while read varname value; do - if [ -z "$value" ]; then continue; fi - sed -i "/$varname/ s,$varname,$value," $T -done -copy_conf /wr/sbin/start-daemons.sh - # Select a ppsi configuration file if [ "$CONFIG_PTP_PORT_PARAMS" = "y" ]; then /wr/bin/assembly_ppsi_conf.sh diff --git a/userspace/rootfs_override/wr/sbin/start-daemons.sh.in b/userspace/rootfs_override/wr/sbin/start-daemons.sh.in deleted file mode 100755 index c01cc9bf34b1b0fefc815ce9cb8645efc9f2455a..0000000000000000000000000000000000000000 --- a/userspace/rootfs_override/wr/sbin/start-daemons.sh.in +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/ash -echo "Starting up WR daemons..." - -# The following variables are modified at build time, with Kconfig values -LOG_HAL=CONFIG_WRS_LOG_HAL -LOG_RTU=CONFIG_WRS_LOG_RTU -LOG_PTP=CONFIG_WRS_LOG_PTP - -# The loop below is a little intricate because of the eval, but I need it this -# to have pipe and file as both supported. -# Also, to have both stdout and stderr, we need "2>&1" before the pipe, but -# after the file redirection (why????) - -for n in HAL RTU PTP; do - # if empty turn it to /dev/null - if eval test -z "\$LOG_$n"; then LOG_$n="/dev/null"; fi - # if a pathname, use it - eval value="\$LOG_$n" - if echo "$value" | grep / > /dev/null; then - eval LOGPIPE_$n=\" \> $value 2\>\&1 \"; - continue; - fi - # not a pathname: use verbatim - eval LOGPIPE_$n=\" 2\>\&1 \| logger -t wr-switch -p $value\" -done - -export WR_HOME="/wr" - -eval $WR_HOME/bin/wrsw_hal $LOGPIPE_HAL \& -eval $WR_HOME/bin/wrsw_rtud $LOGPIPE_RTU \& -eval $WR_HOME/bin/ppsi $LOGPIPE_PTP \& - -# ensure we receive UDP PTP frames, since ppsi supports UDP too. -$WR_HOME/bin/rtu_stat add 01:00:5e:00:01:81 18 0 & - diff --git a/userspace/rootfs_override/wr/sbin/startup-mb.sh b/userspace/rootfs_override/wr/sbin/startup-mb.sh index 55753f35ed0ff94bfa004286a95a2a1c0f19c089..1a5712c50cfb9a9c573c1a2c84fb7163ae103b31 100755 --- a/userspace/rootfs_override/wr/sbin/startup-mb.sh +++ b/userspace/rootfs_override/wr/sbin/startup-mb.sh @@ -62,5 +62,4 @@ insmod $WR_HOME/lib/modules/wr-nic.ko macaddr=$val insmod $WR_HOME/lib/modules/wr_rtu.ko insmod $WR_HOME/lib/modules/wr_pstats.ko pstats_nports=18 insmod $WR_HOME/lib/modules/wr_clocksource.ko -$WR_HOME/sbin/start-daemons.sh