]> git.zerfleddert.de Git - rsbs2/blobdiff - rsbs2.pl
fix boardstatus output
[rsbs2] / rsbs2.pl
index 0d2a682940d6373a9649d431dc49653d7aafc928..17f33dc40e2eb5f7720e15abe3192ba4215f6777 100755 (executable)
--- a/rsbs2.pl
+++ b/rsbs2.pl
@@ -411,19 +411,21 @@ sub status {
        print "COM redirection:\t" . (($bs & 0x100000) ? "ON" : "OFF") . "\n";
        print "UART redirect:\t\t" . (($bs & 0x200000) ? "ON" : "OFF") . "\n";
        print "UART redirect pending:\t" . (($bs & 0x400000) ? "TRUE" : "FALSE") . "\n";
+       print "Hex BoardStatus:\t${boardstatus}\n";
        my $fws = hex ($boardfwstatus);
        print "FW status:\t\t";
        if ($fws == 3 || $fws == 32771) {
-               print "WAITING\n";
+               print "WAITING";
        } else {
-               print "DONE\n";
+               print "DONE";
        }
+       print " (${boardfwstatus})\n";
        if (($fws & 0x8080) || ($fws & 0x80)) {
                printf("FW error:\t\t0x%02x\n", ($fws & 0xff));
        }
-       print "boardstatus:\t\t${boardstatus}\n";
-       print "boardfwstatus:\t\t${boardfwstatus}\n";
-       print "fw upgrade progress:\t${boardfwprogress}\n";
+       if ($fws != 0) {
+               print "FW upgrade progress:\t${boardfwprogress}\n";
+       }
 }
 
 sub login {
@@ -492,8 +494,10 @@ my $powup = 0;
 my $powdown = 0;
 my $powcyc = 0;
 my $reset = 0;
+my $resetrsbs2 = 0;
 my @sprop = ();
 my @gprop = ();
+my @xmlsend = ();
 my $show = 0;
 my $enable_debug = "";
 my $save = "";
@@ -538,6 +542,11 @@ while (defined($ARGV[0])) {
                                shift @ARGV;
                                last SWITCH;
                        };
+               /^-R$/ && do {
+                               $resetrsbs2 = 1;
+                               shift @ARGV;
+                               last SWITCH;
+                       };
                /^-l$/ && do {
                                shift @ARGV;
                                $enable_debug = shift @ARGV;
@@ -548,6 +557,11 @@ while (defined($ARGV[0])) {
                                shift @ARGV;
                                last SWITCH;
                        };
+               /^-X$/ && do {
+                               shift @ARGV;
+                               push @xmlsend, shift @ARGV;
+                               last SWITCH;
+                       };
                /^-b$/ && do {
                                $showstat = 1;
                                shift @ARGV;
@@ -587,9 +601,11 @@ if (!$valid_arg) {
        print STDERR "\t-d\t\tpowerdown\n";
        print STDERR "\t-c\t\tpowercycle\n";
        print STDERR "\t-r\t\treset\n";
+       print STDERR "\t-R\t\treset RSB S2 borad\n";
        print STDERR "\t-x\t\tshow all properties, variables and settings\n";
        print STDERR "\t-l IP\t\tsend SYSLOG debug messages to IP\n";
        print STDERR "\t-b\t\tshow board/server status\n";
+       print STDERR "\t-X\t\tsend raw XML string (start with REQ tag)\n";
        print STDERR "\t-v\t\tverbose\n";
        print STDERR "\t-save file\tsave configuration to 'file'\n";
        print STDERR "\t-load file\tload configuration from 'file'\n";
@@ -630,6 +646,12 @@ if (@sprop) {
        }
 }
 
+if (@xmlsend) {
+       foreach my $x (@xmlsend) {
+               print Dumper(_req('<?xml version="1.0"?><?RMCXML version="1.0"?><RMCSEQ>'.$x.'</RMCSEQ>'));
+       }
+}
+
 if ($save ne '') {
        my @dontsave = qw(ENABLE_LAN_AUTONEG ENABLE_LAN_100 ENABLE_LAN_FDUPLEX
        GATEWAY IP_ADDRESS NETMASK TFTP_FIRMWARE_FILE TFTP_ADDR_FIRMWARE
@@ -713,4 +735,10 @@ if ($showstat) {
        status();
 }
 
+if ($resetrsbs2) {
+       print "Resetting board...\n";
+       _cmd("boardreset");
+       exit(0);
+}
+
 logout();
Impressum, Datenschutz