HP3000-L Archives

May 1996, Week 5

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
John Korb <[log in to unmask]>
Reply To:
John Korb <[log in to unmask]>
Date:
Fri, 31 May 1996 23:21:06 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (90 lines)
Stan said:
 
<snip>
 
>Steve Cooper reminded me of the time he needed to reboot an apparently
>working 3000/III, so he could test the crash recovery code of Environment/3000.
>The system was in Washington, but Steve was in California.  He called the
>operator, who said: "why should I reboot? the system's working fine"...and
>wouldn't reboot.  So, a simple HALT call later, Steve calls the operator
>and says "the system seems to have stopped, is anything wrong?"  The
>operator checks, says "the system seems to have crashed...I'll reboot it".
>
>Stan (hoping that operator isn't reading this) Sieler
>
 
Now days you can buy a package from HP that will allow your 3000 to
automatically reboot after a system failure (iX box, that is).  In the
classic days, it wasn't that easy.
 
About 10 years ago I was asked by a friend and software developer (who I
know is active on this list) if it would be possible to have an HP 3000
(classic system) automatically reboot itself after a system failure.  I
already had a little program that made use of a neat little double word
instruction for rebooting the classic system.  It worked great on the S37,
GX, XE, etc., but you had to respond to the DATE?  TIME? prompts on the
older hardware like the S70, which meant you still needed an operator.
 
The version of the program for the S37 and newer boxes allowed you to
specify the type of system start you wanted (RELOAD and COLDLOAD not good
options, as the tape tended to go offline so you needed the operator to put
the tape back online).  During testing I used it to WARMstart or COOLstart
remote GX, XE, and S37 systems without any problems.
 
To get around the DATE? TIME? YES/NO? prompt problem on the series 70's, I
played with modifying MPE [just a little, of course ;-) ].  The toughest
part of getting a working solution was compiling the MPE source code with
the changes made to it.  Basically, I had sudden death write the current
date to a console soft key, the time (plus 10 minutes) to another console
soft key, and a "Y" to another soft key.  I made changes to the boot process
so that the DATE? TIME? YES/NO? prompts issued escape sequences to force the
console to transmit the soft key contents.  It worked, but it wasn't pretty
and I'm sure HP would have run from any system containing the modifications,
but it was handy to have a series 70 reboot itself unattended after a system
failure.  Then one day one of those system failures from which you don't
want to immediately reboot popped up.  That sort of put a damper on the
experiments.  Then PCs became cheaper and it became easier to handle the
problem in a console emulation than within the 3000 (and fewer support
issues were involved).
 
Anyway, if you simply wish to reboot a S37, GX, XE, etc. remotely, the
program is very short and simple.  Look in a machine instruction set manual
for the classic systems.  You can find the instruction for rebooting your
system near the back (I don't have one here so I can't look it up right now
to tell you the instruction name or parameters).
 
In the program below, CON is used as the instruction is not recognized by
the SPL compiler's ASSEMBLE statement.
 
!!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!
+-------------------------------------------------------------------------+
|  BEFORE using the program below, read about the instruction in the      |
|  Instruction Set referenct manual, as the value 33 that is hard coded   |
|  in the example below is very important (it has been 10 years, but I    |
|  seem to remember it being the DRT of the boot device or something      |
|  significant like that).                                                |
+-------------------------------------------------------------------------+
 
   $Control USLinit, List, Source
   Begin
      Intrinsic            GetPrivMode;
 
      GetPrivMode;
      TOS:=2;  << Coolstart >>
      TOS:=33;
      Assemble (CON %020302,%000011);
   End.
 
Again, be sure to read up on the instruction and modify the values as
necessary for your system.
 
Enjoy!
 
John
--------------------------------------------------------------
John Korb                            email: [log in to unmask]
Innovative Software Solutions, Inc.
 
The thoughts, comments, and opinions expressed herein are mine
and do not reflect those of my employer(s), or anyone else.

ATOM RSS1 RSS2