Lund Performance Solutions
Sponsor Message


Hidden Value details commands and procedures in MPE that can improve your productivity with HP 3000 systems. Get a free NewsWire HP 3000 “3000 for 2000” cap — submit your MPE tip directly to us here at the NewsWire. Send your tips to, or fax them to 512.331.3807.

Edited by John Burke

I have an HP 3000 that is set up for full access to the Internet for testing purposes. The telnet connection works fine, but I also see that VT-MGR also works. I know that inetdsec is used for restricting access for ip, http, ftp, etc. Is there something in NMMGR that you setup to restrict VT-MGR access, or do you use inetdsec for that also?

Chris Bartram replies:
Just an option logon UDC that checks the CIVars set for the IP address and hostname of the

We have a site that is still on MPE/iX 5.5 PowerPatch 7. Will it be possible to update directly from this version of MPE/iX to version 6.5?

HP’s Jon Cohen replies:
You can update directly from 5.5 to 6.5 without stopping on any version of Release 6.0.

I know there is a way to find CPU connect and diskspace usage, but I forget. What is it?

Fred Metcalf and Joseph Dolliver reply:
REPORT group.account
If you have volume sets you have to do the following:
- DSTAT ALL to get the volume names
- REPORT @.@;ONVS=volume_set_name

The report command using a REPORT X.@ will only give you totals by account total. REPORT @.@ will give you totals by group within the accounts. REPORT @.account will give you totals of groups within an account.

I was doing a REPORT @.account and noticed that the filespace used reported for the account was greater than the sum of the filespace used for each group. How can this be?

Dave Knispel replies:
Sounds like you have Posix files attached to the account. Log onto the account and type
diskuse ../
This will show any HFS files or directories attached to the account.

I know that third party back-up software packages have an *EXCLUDE* command that excludes certain files/groups/accounts from the STORE process. I cannot seem to find an equivalent command in STORE. I am using the regular TurboStore that comes with the FOS. Is there an EXCLUDE command in TurboStore?

Joe Taylor replies:
You can use the minus sign to exclude files/groups/accounts. For example
In the command line version above, the number of excluded filesets is limited by the CI’s limit on command line length. If you use an indirect file, the number of filesets you can exclude is unlimited.

How do you check if a previous command ended correctly in a shell script?

Barry Lake replies:
Check the built-in shell variable “$?”. That should give you the exit value of the last executed command.

And Lars Appel added:
Another option might be:
some_command && this_only_if_previous_was_ok
some_command || this_only_if_previous_failed

What’s the trick to getting an NT client to work with Samba on an HP 3000? I recall something about clear-text passwords? Where is this set?

Michael Gueterman replies:
Clear-text passwords can be re-enabled under NT by applying a registry patch available in the download area of the Web site (; there is a patch available for WIN95/98 there as well). Simply download that file, then double click on it to have it installed.

What is the command for changing the system date?

David Knispel and Bill Proudfoot replied (in about a nanosecond):

I have installed Samba and want to set up some security. How do I set up a folder that is only accessible by using the logon/password screen at the PC? Where do the passwords reside?

Andreas Schmidt replies:
The passwords are the MPE passwords. An example for a password protected share, out of /SAMBA/PUB/lib/smb.conf:

comment=HP Instant Information MPE/iX update
guest ok=no
write ok=yes

I’m trying to restore files from a tape created on a DDS-II drive on a system with a DDS-I drive. I get the following error: RECSIZE OF RECORD HOLDING STORE/RESTORE LABEL WAS NOT 40 WORDS (S/R 6188). What could be causing this?

Denys Beauchemin and Christian Lheureux reply:
- The tape was not written with Store.
- You have a compressed tape being read by a drive that does not support compression.
- You have a drive that writes tapes no one else can read or a drive that can only read the tapes it wrote and no one else’s.

I am getting an error message when I boot up my HP 3000/967: “WARN E040” and “WARN EF40”. What’s causing this?

Doug Werth replies:
This means the internal battery is charging. Series 9x7 machines still had a memory battery backup that allowed the HP 3000 to recover from a power failure. It is one of the things that used to differentiate the 3000 from all other systems. Now you have to have a UPS instead.

The console status messages will go away once the battery completes charging.

One problem I keep running into is the incompleteness of SHOWPROC. The shell’s ps command shows more processes than SHOWPROC but the PID appears to have no relationship to MPE PIN. How can I see the entire process tree for a system from the MPE prompt?

Jeff Vance replies:
If you are on 6.0, then showproc ![jinfo(“#snnn”,”jsmainpin”)];tree;system will give you the entire process tree for #Snnn.
By the way, a PID is the following structure (in Pascal):
pin : bit16;
cnt : bit16;
so there is a relationship between PINs and PIDs.

When I purge all the files from all the groups in a particular account, do I recover that disk space? Or is it allocated and un-usable until I get rid of the groups and accounts?

Bill Lancaster replies:
That space is recovered, though probably fragmenting your disk, as soon as you issue the PURGE command.

I’ve heard about a command called KILLSESS to get rid of VT sessions, but cannot find it documented. How do I use it?

Jeff Vance and Barry Lake reply:
:nscontrol killsess=#s666
You have to have NM capability to do this.

How can I print from a 3000 to a non-JetDirect printer using the Native Mode spooler?

John Burke replies:
The printer MUST support basic PCL. I actually have several of the old 2934 character printers happily connected to JetDirect boxes and spooled using the network print spooler. Works fine. I’ve also been able to use non HP, but PCL-compatible, laser printers.

As for the network interface card/box, ideally it should be either a JetDirect or 100 percent-compatible. However, by using the undocumented option “snmp_enabled=false” in, you should be able to use non-JetDirect cards/boxes. I’ve successfully used Intel NetExport boxes for example.

On an Intel Box with 3 ports (2 parallel and 1 serial,) what NPCONFIG parameter would tell the spooler which port the printer is on?

Again, John Burke replies:
Serial: tcp_port_number=2501
Parallel 1: tcp_port_number=3001
Parallel 2: tcp_port_number=3002

The three-port JetDirect boxes only get one IP address, so how can I set up network printing to print to any one of the printers attached to one? Do I use the tcp_port_number parameter?

John Burke and Richard Corn reply:
Yes, the port numbers are 9100, 9101, 9102.

If we have an e3000, can we restore our full system with only a CSLT and TAR format backup tapes?

Lars Appel replies:
No. Keep in mind that TAR, unlike STORE, does not handle all the different file types available on the MPE/iX file system. I have never tried, but I would doubt that PRIV files like TurboIMAGE datasets can be tar-ed successfully (to give one example here).
Tar is nice for data exchange with other “open” systems, however STORE (or other MPE-specific backup tools) would be the preferred backup solution.

What would be the ASCII representation of the ‘Block Mode’ <numeric pad> ENTER key?

Richard Trapp replies:
The “ENTER” key (from the numeric keypad) really isn’t a character that is sent, it’s actually a function that is executed. Unless it’s been set to “ENTER=RETURN”, it actually initiates a block transfer. You can initiate this programmatically by sending an ESC+”d”

It transmits a “block” of data (either the current line, or page depending on settings). It’s most commonly utilized by VPLUS in Block Mode, but can be used in “LINE MODIFY” or “MODIFY ALL” mode for local terminal edits.

How can I turn software compression off on a HP e3000 DDS drive?

Jim Killam and John Burke reply:
devctrl.mpexl.telesup N compression=disable where N is the ldev of the tape drive.

Is there a simple way to concatenate two or more files into one? For instance, copy file_1 + file_2 + file_3 into file_4? I know I can do this on a DOS box; how about a HP 3000?

Tom Brandt replies:
1. Execute a file equation specifying APPEND access for file 4:
2. FCOPY the other files to file 4:
Make sure FILE4 is large enough to hold everything from files 1, 2 and 3.

Mark Bixby adds:
Using the POSIX shell,
cat file_1 file_2 file_3 >file_4

Is there a simple (i.e., not doing a showjob and parsing output) way to determine if a scheduled job exists? We have a :JOBCHECK command file which checks to insure that all of our daemon and other type background jobs are running by issuing a :tell jobname,user.acct Are you there? and then checking the CIERROR for the unique message saying that the only qualifying target is a job, so the job does exist. If you get the error saying no such job exists, you can take action to restart it. However, I have found no equivalent for scheduled jobs. Am I overlooking something obvious?

John Burke replies:
showjob sched;job=jobname,user.acct sort of does it. Unfortunately, it does not set a cierror value if there is no job.
In these cases, what I do is redirect the output of the showjob into a file and then just look at the eof. In the case of no matching job, the eof is 3. If one or more jobs matches, the eof is greater than 3. This should be very quick and does not require any parsing of the re-directed output.

Adam Dorritie suggests:
How about using LISTSPF on your input spoolfiles with a combination of the OWNER and JOBNAME selection parameters with the output directed to $NULL. If the job you specify isn’t out there, you’ll get a CIWARN 4809, so you can just set
CIERROR = 0, LISTSPF I@;SELEQ=..., and check CIERROR = 0 or 4809 to tell you if the scheduled job exists.

Finally, Jeff Vance suggests:
If you are on 6.0 PP1, and you know the job “[jname,]user.acct” logon ID, you can do this:
if JOBCNT(“jname,user.acct”) > 0 then ...
HELP JOBCNT and HELP JINFO provide the details.


Copyright The 3000 NewsWire. All rights reserved.