Hidden Value – December 2000

 

Q: I would like to add a used 100 BASE-T LAN card to my 9X7 system. We currently run MPE/iX 6.0. Are the drivers already present in MPE/iX 6.0, or do I need to purchase the software/drivers?

A: Dennis Heidner replied:

You must also buy the BT100 drivers when you buy the card. Otherwise it is unusable.

Q: Anybody know?: Does declaring a DTC modem card as DIRECT vs MODEM cause reversal of the data pins?

A: Doug Werth replied:

It does not. The only thing the flag is used for is to determine how many ports to allow you to configure on the next screen. If you set the card as a modem card you will only see 6 port. If you set it to direct connect you will see 8 ports.

Let’s say you have a direct connect card and configure it as a modem card. The only problem you will have is that you will not be able to configure ports 6 and 7. Furthermore, if you configure a modem card as a direct connect it will show you two ports that physically don't exist. If you configure the extra ports nothing bad will happen. And you still can set the profile to be a modem port even though the card type is "direct".

Q: Is there a way using just MPE/iX to view a job before it has executed but while it is still in IN.HPSPOOL?

A: John Backus replied:

If you have SM capability, use PRINTSPF Ifile.IN.HPSPOOL.

[Editor's note: Use showin job=#jnn to determine the Ifile.]

Q: Is it possible to execute a command via FTP on the remote system? If so how?

A: Larry Simonsen and Chris Goodey replied:

Sure, for example,

quote site stream file.group.acct

Q: I have forgotten how to add and remove lockwords in MPE. Can someone remind me how it's done?

A: Gary Paveza and Leonard Berkowitz replied:

Use the RENAME command. To add a lockword,

rename file,file/lockword

To remove a lockword,

rename file/lockword,file

[Editor's note: Here is a tip given me by Eric Sorensen of the HPRC.]

The program NMVALCHK.PUB.SYS will tell you whether NMCONFIG.PUB.SYS has been validated:

:nmvalchk

NMVALCHK Version A.00.00.000 (C) Hewlett-Packard Co. 1991

TUE, NOV 21, 2000, 9:52 AM

The DTS subsystem of NMCONFIG.PUB.SYS IS validated.

[Editor's note: While we are on tips, here is one I found the hard way.]

If you use the ASSOCIATE command, you've had to struggle with the $@%^#$% ACOCTBL program and the file it maintains, ASOCIATE.PUB.SYS. Here is one more gotcha. Even though you only enter a device class name and then "associate" it with a set of users/accounts, the system is also apparently storing the ldev for the class in the ASOCIATE file.

As part of a project to reduce the number of DTCs on our network, I've been converting printers from DTC to network. While the printer (device class) name does not change, the ldev does. We discovered that the ASSSOCIATE command no longer worked on these "changed" printers until the ASOCIATE table was reloaded.

Q: After several hours of no problems, our operations staff started getting user logging errors against a production database:

DBOPEN, MODE 1, ON <xxxxxx>
MAXIMUM USER COUNT PER LOG PROCESS REACHED
HEX DUMP OF STATUS ARRAY FOLLOWS:
ff92 000d 0000 0000 0000 0191 4163 cd08 0001 0000

What does this mean and what can we do?

A: Tom Emerson and Rene Woc replied:

You are probably hitting the default of 128 users per logging process (the maximum configurable value is 1140). Raise the value (in the logging section of SYSGEN) and reboot to clear up the problem.

Rene added this tip:

Don't automatically raise the limit to the 1140 max. Give yourself some headroom in case your application grows to the point where the hard max limit of 1140 users per logging is in sight. This will allow you time to re-engineer your application in a non-panic environment.

Q: Does anyone have or know of a program/process/command file to quickly convert back and forth between integer values and the string version of their bit equivalent?

A: Several people contributed MPE/iX CI scripts, but Mark Bixby gave the most esthetically pleasing answer and, in the process, demonstrated again why we all need to get comfortable with the posix shell:

echo "obase=2; 3000" | bc

101110111000

echo "ibase=2; 101110111000" | bc

3000

Q: How can I capture and print the error message a user gets when he's got a VPlus screen open and his program aborts, filling all the field windows with the message?

A: Several people suggested redirecting $STDLIST to a file, but Tracy Pierce went a little beyond:

:build mymsgs;msg
:file mymsgs;NOBUF;SHR;SAVE;GMULTI;MSG
:run vpapplication;stdlist=*mymsgs

will redirect your error message, any DISPLAYs, etc., to a message file which you can read from another window on your Winxx machine or from any other connected terminal. I do this routinely. In conjunction with built-in Cobol tools, debugging is a snap.

Q: I am running out of luck trying to install a network printer. I can do it with a JetDirect, but have been unsuccessful using a netxport print server from Intel. Is there any way to make this work?

A: John Burke replied:

In your npconfig file declaration for this particular printer/Intel box combination, add the directive

snmp_enabled=false

If your Intel box has three ports, a serial and two parallel ports, then you also need to include one of:

tcp_port_number= 2501 <-- serial
tcp_port_number= 3001 <-- parallel 1
tcp_port_number= 3002 <-- parallel 2

Q: How can we change the label on an IBM-labeled tape? We keep getting them back with different labels than they had when we sent them out.

A: Doug Werth replied:

You can't directly change a tape label. You must scratch it first, then you can create a new one.

:file t;dev=7;NOLABEL
:fcopy from=$null;to=*t

<<reply to message on console that its OK to erase expired label>>

:file t;dev=7;label=MYLABEL,IBM
:fcopy from=$null;to=*t

<<reply to console message to create tape label>>

Thanks to Jeff Woods for reminding me that FROM=$NULL works better than defaulting to $STDLIST because FCOPY won't "complain" that your from and to files don't have matching characteristics.

Q: You have a background job. It's normally always running. You may or may not have streamed it (you personally probably didn't but you can't assume that hplastjob is meaningful). You don't know when it was streamed (and you don't really care). But for whatever reason you want to test if it's still running. So, given that you know very little about this job, other than it's name, how do you find out it's job number?

A: Mark Bixby replied:

The JOBCNT() CI function will do what you are asking.

Q: How can one tune memory management? Or maybe better, what are areas that one can tune from the system perspective?

A: Gavin Scott replied:

Best advice I can give is to leave it alone.

MPE does quite a good job of managing resources in almost all cases. A typical solution for customers who hire us to tune their systems is to simply remove all of the :TUNE micro-management that the customer put in and things immediately start working much better.

Just because you can, it doesn't mean you should.

Q: From my NT command prompt I can send a pop-up message to someone on the network using the NET command with the SEND option (Ex. NET SEND NodeName "Hello There". Is there an equivalent on the HP e3000?

A: [Editor: They don't call it the HP e3000 for nothing.] Rick Clark, Tom Emerson, Keven Miller and Michael Gueterman all pointed out that /SAMBA/PUB/bin/smbclient does just this. Michael further suggested going to www.sambaix.com and downloading the SMBTELL.TXT command file, which eliminates all the messiness of calling smbclient directly.

Q: I am currently doing network printing from my e3000 very nicely. We have installed an H-P print server and my question is, how do I specify a particular port on the print-server in my NPCONFIG file on the e3000?

A: John Burke replied:

Use the tcp_port_number directive as follows:

Parallel 1: tcp_port_number=9100
Parallel 2: tcp_port_number=9101
Parallel 3: tcp_port_number=9102

A single port HP JetDirect box uses port 9100, but there is no need to specify it in NPCONFIG.

Q: Currently we transfer our files from the HP e3000 to our network servers through custom ftp jobs. These ftp jobs have the server's IP address hard coded in them. I would like to replace the IP addresses with the file server node names. Obviously I am missing something because my recent attempts have failed. What settings (besides the hard-coded IP address) do I have to change on the HP?

A: Michael Berkowitz replied:

The simplest way to provide this functionality, especially if you only have a few machines you want to do name resolution for, is to use a "host" file. See HOSTSAMP.NET.SYS for set up information.

Mark Bixby added:

Or if the hosts in question are defined in a DNS server, you can enable DNS hostname resolutions on your HP e3000 by:

If RESLVCNF.NET.SYS does not already exist,

:COPY RSLVSAMP.NET.SYS,RESLVCNF.NET.SYS.

2) Edit RESLVCNF.NET.SYS and add a nameserver entry for each top-level DNS server in your organization, and a domain entry that specifies your default domain. I.e. if you say "domain foobar.com" and then try "ftp blarg", the system will query DNS for blarg.foobar.com.

3) :NEWLINK /etc/resolv.conf,/SYS/NET/RESLVCNF

[Editor's note: You can not use both methods on the HP e3000. If reslvcnf.net.sys is present and provided a reply is received to a name resolution request, then, even if the reply is negative, MPE/iX will not try the hosts file.]

Q: This morning when I came to work, our HP e3000 979-100 had crashed. The message on the console in the lower left was FLT CBFB. The message on the LED on the computer was:

FLT CBFB
TRAPS CPU0

How can I find out what this means?

A: Paul Coury replied:

All you ever wanted to know about hardware fault codes is available in the Technical Knowledge Database at the ITRC.HP.COM

The document ID for K class hardware fault codes is: PAM39EF55E1

To get it, go to the Knowledge Database at www.itrc.hp.com then select "Search Technical Knowledge Base", then select "Search by Doc. ID" and put the above document ID in.

For other server classes (A,B,C,D,J,N, etc.) search the technical knowledge database using the string:

troubleshooting hardware fault server code class

This will return 41 documents. Just pick your class of server.

Q: We have a Tally T6045 connected to the HP3000 as a network printer and it is printing fine except for the wastage of paper. It prints %-12345XZ on the first page and then skips to the next page before printing the contents of the spoolfile. This escape sequence is not in NPCONFIG and it is not in the environment file. The escape sequence appears in OUTSPTJ.PUB.SYS but I don't know how to stop it. Any ideas?

A: John Burke replied:

The short answer is you can not stop it. This is hard coded into the network spooler. This is one reason why HP says that to use MPE/iX network printing the printer must understand PCL. While not technically PCL, the %-12345X sequence is nevertheless understood by most PCL-compatible printers.

Consider yourself fortunate that you only waste some paper. The spooler also spits out other PCL periodically, which your Tally printer is apparently discarding. It gets very ugly, for example, with an Epson printer.

For a much longer and detailed answer, please see my "net.digest" columns for July and August of this year.

Q: I have a 9x7. We had problems with our UPS last week and it got me wondering how long the internal battery is supposed to keep it "running" without having to do a reboot? 2 seconds? 10 seconds? 1 minute?

A: Chris Gauthier replied:

The battery in the 9x7 family is designed to keep main memory alive for at least 15 minutes (your results may vary depending on how much memory you have, some people get more time, others get only the 15 minutes). If your time runs out earlier than 15 minutes, I recommend you look at getting a new battery or batteries (2) as is the case with RX/SX chassis (battery part # 1420-0507).

The theory of operation is that when you lose AC power, your internal disk drives, tape and the processor lose power, but main memory kept alive by the battery. This allows MPE to start at the last known system state it was in when it lost power. If all goes well, the power comes on within the 15 minutes, you get a short system test and the oh-so-famous "RECOVERY FROM POWERFAIL" message printed across the console. You're up again, no sweat.

A UPS, on the other hand, will keep the whole system and any UPS-protected peripherals up as if there was no power failure until the UPS itself runs out of power. After the UPS dies, the 9x7 would go into its normal "memory-run-by-battery" mode as before.

Stan Sieler added:

Just in case, let me mention that the battery doesn't keep the system "running". When A/C power drops, the battery keeps the contents of memory valid. When A/C power returns before the battery runs out, the system sort of semi-reboots and says "wow, memory is intact, so I don't have to really reboot. I'll print a "POWER FAILURE" message and resume running".

Your battery life will vary with the amount of memory you have.

Q: Does anyone know why this file:

ACCOUNT= CLAIMS GROUP= JEPTST
FILENAME CODE ------------LOGICAL RECORD----------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX

EDIACK01 1110B FA 4 4 1 32 1 1

produces this result for FINFO?

JEP:calc finfo("ediack01.jeptst","maxext")

0, $0, %0

A: Tracy Pierce and Barry Lake both noted after several tests that this construct consistently produced an answer of one less than the actual value on MPE/iX 6.0 systems and suggested a bug report be filed with the HPRC.

[Editor's note: It gets weirder.]

:build temp
:listf temp,2

ACCOUNT= SYSMGR GROUP= PUB
FILENAME CODE ------------LOGICAL RECORD----------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX

TEMP 128W FB 0 1023 1 0 0 *

:calc finfo("temp","maxext")

7, $7, %7