Compiled by John Burke
We recently upgraded our HP 3000 and now AUTOREPLY doesn't work on our tape drive. How do we configure AUTOREPLY for a tape drive?
Gary Biggs replies:
Use SYSGEN and issue a mdev command against that device in the IO Config
section. Then do a SHUTDOWN and a START NORECOVERY. AUTOREPLY is one of the
options you can specify with either the adev or mdev commands.
[Editor's note: With MPE/iX 5.5 you should be able to do this online
in two steps
by using the IOCONFIG utility to first delete the drive and then add it
back in with
AUTOREPLY enabled.]
I have a job STDLIST that the spooler won't let me touch. If I try to
print it:
:print o10.out.hpspool
What can I do to recover this file? I tried DELETESPOOLFILE,
but now it's just
sitting in the DELPND state.
The PRINT command failed. (CIERR 9080)
BAD VARIABLE BLOCK STRUCTURE (FSERR 105)
Lars Appel of HP replies:
Try PURGELINK or the Shell's rm on the file. These should not attempt
to open the
file (unlike PURGE or PRINT) and thus are not affected by the bad variable
block
structure which indicates damage in the file's contents.
Goetz Neumann of HP adds:
We (HP) now have a Beta test patch (MPEJX51) ready to prevent the "bad
variable
block structure". Please check with your HP-RC. The problem comes from programs
writing to a STDLIST via the bytestream file system type manager. I assume
your job does
something in the Posix shell or with a Posix-related utility/program. There
is also a
DEBUG script that can (ugly but readable) dump out the contents of the affected
spoolfile(s).
To which the original questioner responded:
Yes, we are using the Samba/iX client in the job to link to and move some files from MPE to NT.
Using Reflection with an NS connection to an HP 3000, I am unable to 'paint' Block Mode (VPLUS) screens. The screen clears, the keyboard locks, and that's it! I am able to connect to the same machine via serial connection and the same applications work just fine. I am able to connect to a machine with the same client/host configuration via modem and the same applications work just fine. What could be wrong?
Chris Bartram replies:
Turn off HPTYPEAHEAD on the host. It "breaks" VPLUS applications over
Reflection network connections.
I would like to know how to change the system prompt; i.e. change "MPE XL:" to something else.
To permanently change the system prompt, you must get into SYSGEN and change either or both the "logon prompt" and the "ci prompt" in the MISCellaneous subsection. You should be logged on as system manager in the SYS account.
system (sy) [userversion = x.yy.zz]
:SYSGEN
To change any of the values you just type:
sysgen> MI
misc> HE SYSTEM
[logonprompt = max-255-characters]
[ciprompt = max-255-characters]
[enforcelogonudcs = ON|OFF]
SY {command name} = {new value}
Remember to HO(ld) your changes before you exit back to the
sysgen level and
then you must KE(ep) the changes or they will be ignored when you exit
SYSGEN.
Finally, none of the above takes effect until you do a SHUTDOWN and "START
NORECOVERY" of the computer.
Of course, you can also change the CI prompt on a session-by-session
basis using
the HPPROMPT CI variable (usually in a logon UDC).
How do you use "brackets" ([]) related to dereferencing variables in CI programs?
Mark Bixby replies:
Generally, you put brackets around CI expressions, not just variables.
For example, you could say:
:SETVAR A B+C :ECHO The answer is !A
Or you could just directly say:
:ECHO The answer is ![B+C]
And Jeff Vance adds:
The ![...] construct allows an expression to be embedded in a command
line that
normally never expects an expression. For example,
:build myfile;disc=![finfo(otherfile,'eof')*2]
lets you create a new file that is twice as large as another file.
The BUILD command
expects a simple integer for the size of the file, and that is what the
command actually
receives as an argument. Before the BUILD command is executed, the CI
substitutes the
result of the expression into the command line.
Note that there is a difference between !varname and ![varname]:
:echo !foo
:echo ![foo]
:setvar foo "foo!!bar"
This example reveals that !varname recursively (or dynamically)
de-references
varname; whereas, ![varname] does not. ![varname] just retrieves the
immediate value of
varname, without further evaluation.
:setvar bar "abc"
fooabc
foo!bar
Note as an aside: !nn, where "nn" is an integer, is treated as referencing command number nn from the CI's redo stack. If command #nn exists, the entire command line will be substituted in place of "!nn".
I have an HP 3000 here under 5.0 with a little problem. It doesn't have a printer and I need one "short term" (meaning like now, because I need a printer to run a batch job. How can I "fake out" a printer, so that I can run jobs without them trying to open $STDLIST on an a non-existent printer.
Mark Bixby replies:
Go into :SYSGEN and define a printer DEV=LP for any unused HPIB or SCSI
address on an existing HPIB or SCSI bus. Your jobs will spool just fine
even if the printer
is offline or even bogus in this case.
I got the most amazing file system error today:
WARNING!!!DATA READ FROM FILE IN QUARANTINE (FSWARN 516)
This is coming out of Speedware, so I don't have a lot of
control, but do you have
any idea what it may be?
HP's Pete Crosby replies:
A file is quarantined on 5.5 when subsystem dump is enabled and a
problem with
the structures related to an open file is encountered. A subsystem dumpfile
is created
and the file is then quarantined, which allows only READ access to the file.
FSCHECK has 2 new commands on 5.5. QPURGE will purge file objects in quarantine; QDISPLAY will display information regarding file objects in quarantine.
Other than reading the data and creating a new file, I don't believe the original file can ever be made write-accessible again. All of this is designed to allow a more resilient system and reduce the number of system aborts, where possible.
What is going on here?
:SETVAR TYPE "T"
Randy Medd and Stan Sieler reply:
:PURGE BUTYPE
:FILE BUTYPE;REC=-1,,F,ASCII;DISC=1;SAVE
:ECHO !TYPE > *BUTYPE
The CI cannot write to output file. (CIERR 9096)
You can do: echo !type> *butype
but not: echo !type > *butype
The critical difference is the space after "!type" in the failing
example, and the
lack of the space in the good example. Apparently, the CI doesn't strip
trailing blanks
prior to writing to the output file. Thus, the first example is a
2-character write, which is
larger than the file can handle!
Some months ago, I saw an note on the Internet about putting an HPIB adapter into an HP 3000/9x9KS. I've tried this, but on our system it didn't work (the card wasn't even recognized). What did I do wrong? Do I have to have specific firmware on the HPIB adapter (it's an old 27113 [datecode 3012] taken out of a 922 LX)? Do I have to change dip switches or something ? [Editor's note: HP's official position is that HP-IB is not supported on the 9x9KS servers.]
Steve Dirickson replies:
The hardware that works with our 959KS box is the combined HPIB
controller +
CIO adapter card from the 957 that it replaced. I haven't checked the
actual HP part
numbers on the hardware, but SYSGEN knows these two pieces as
io> lp 10/16/4 PATH: 10/16/4 LDEV: ID: HP19744A TYPE: CA PMGR: SPECTRUM_CIO_CAM PMGRPRI: 6 LMGR: MAXIOS: 0 io> lp 10/16/4.0 PATH: 10/16/4.0 LDEV: ID: HP27113A TYPE: DA PMGR: HPIB_DAM PMGRPRI: 6 LMGR: MAXIOS: 0The HPIB printer in use is
io> ld 6 LDEV: 6 DEVNAME: OUTDEV: 0 MODE: ID: HP2564B RSIZE: 66 DEVTYPE: LP PATH: 10/16/4.0.1 MPETYPE: 32 MPESUBTYPE: 9 CLASS: LP
Here is the configuration from a 959/200KS with a 7978A HPIB tape drive attached.
PATH: 10/4/8 LDEV: ID: HPA1741A TYPE: CA PMGR: SPECTRUM_CIO_CAM PMGRPRI: 6 LMGR: MAXIOS: 0 PATH: 10/4/8.0 LDEV: ID: HP27113A TYPE: DA PMGR: HPIB_DAM PMGRPRI: 6 LMGR: MAXIOS: 0 PATH: 10/4/8.0.0 LDEV: 8 ID: HP7978A TYPE: TAPE PMGR: TAPE_7978_DM PMGRPRI: 10 LMGR: LOGICAL_DEVICE_MANAGER MAXIOS: 0
I'm attempting to put our new 939KS on the network. I get a "missing DADCONF.NET.SYS" message after doing "NSCONTROL START". I believe I've gotten through all the pertinent NMMGR screens, validated them and successfully did a "NETCONTROL START". Any ideas?
Jim Knight replies:
Stream the JCONFJOB.NET.SYS job and restart the network. This will
probably
solve your problem.
Using only MPE/iX 5.0 FOS, can you restrict a user to only one logon at a time; i.e. so Joe.anyacct can only be logged on to one terminal or PC at a time?
Paul Christidis replies:
In your logon UDC enter the following:
... .... if hpjobtype = "S" then echo tell & !hpjobname,!hpuser.!hpaccount Someone is using your signon. >z212z z212z > $null if cierror <> 1620 then echo **** echo Multiple logons are not allowed.. echo ****< bye endif purge z212z,temp > $null endif .... ....
Does anyone know how many volumes can be added to a volumeset? We are going to attempt to add 32 more disks to ours (16 primary and 16 mirrors) bringing our total from 96 (48 primary, 48 mirrors) to 128 (64 primary, 64 mirrors). We do realize that this is an extremely large volumeset, but it only contains one application.
Scott McClellan of HP replies:
The maximum number of volumesets is 255. The maximum number of volumes in
one volumeset is 255. The maximum number of volumes (TOTAL) on a given
system is
255.
A mirrored disk obviously requires two volumes, so the maximum number of mirrored pairs is less than 128 (note: you cannot mirror the system volumeset).
We have a funded R&D effort to increase most of the above limits. This
will be
submitted to a "future release of MPE/iX" -- probably not available until
the mid '98
timeframe (though release schedules that far out are subject to change).
The new limits
will be much higher with one major exception -- the maximum number of
volumes in a
volumeset will remain 255. For one thing, this is a very difficult problem
to solve in a
backward compatible manner. For another, we do not want our customers
putting that
much data in one volumeset anyway. The disadvantages from a high
availability/disaster
recovery point of view are pretty obvious.
We are now trying to get a new procedure working. This procedure is a
job that does
several :DSCOPYs across some very unreliable lines. After each :DSCOPY, by
checking the
value of CIERROR, we can know if the copy was successful or not. If it was
not, we would
like the job to re-STREAM itself some minutes later to continue until the
transfer is
successfully completed. How can a job stream, which only exists as a
temporary file,
access itself?
John Archer, Larry Boyd and Lee Gunter separately reply:
Rather than worry about re-STREAMing the jobs, build the file
transfers inside a
"while...endwhile" loop, pausing for about 15 minutes if the transfer is
unsuccessful.
The loop can terminate either by a successful transfer or after a
time-of-day limit has
been reached.