Hidden Value

Putting PDF Into a 3000's Data Flow

PDF logoHP 3000 experts know of a wide array of techniques to create PDF files from the server's data, then move them via FTP to a Windows server. While the simplest answer for getting reports into PDF format and then out via Windows is probably Hillary Software's byRequest, there are other commercial solutions. There's also several bolt-together techniques if you've got very limited budget to homestead.

Bob McGregor reports:

We use txt2pdfPRO by Sanface. We had a job that would run and check a pseudo device for spoolfile output, and if the pri > 0, would run the sf2html process, convert to PDF and then FTP to a Windows server. The process would then delete spoolfiles=0 on the pseudo device the next day. Setup took a bit... but once done, worked well.

Lars Appel, author of the Samba/iX file sharing tool, adds:

I wonder if it might make sense to configure a "dummy" network printer on MPE/iX and have it send spooler output to a little socket listener on the Windows system (similar to the FakeLP example from the 3000-L archive) and then invoke GhostPCL on the Windows side for generating the PDF output.

The "dummy" network printer would let the MPE spooler take care of the PCL conversion and also perform the "file transfer" automagically. The GhostPCL software is probably easier to get (or build / update) on Windows than on MPE (okay, I admit that it did also build on MPE long ago.)

Continue reading "Putting PDF Into a 3000's Data Flow" »


Protecting a 3000 by Eliminating Its Services

Ron as PrivateHere on this day when we celebrate people who have served in the armed forces, a question emerged about enabling HP 3000 JINETD services. Or disabling them, to make a 3000 more powerful and secure. (Yes, it seems to defy the logic about more services being better, one that we can hear in national defense debates. We didn't have such debates at Signal Corps training for the Second Battalion.) The solution to the 3000 service problem included advice on how to trim back risk as well as performance drains on a 3000.

Grigor Terterian said he was having a Series 979 freeze up, because JINETD was receiving a call "for echo udb." Mark Ranft and Denys Beauchemin said the fastest repair would be to comment out echo in the inetdcnf file. Ranft got specific with an example.

:print inetdcnf.net
# Internet server configuration database
#
#echo  stream tcp nowait MANAGER.SYS internal
#echo  dgram  udp nowait MANAGER.SYS internal
#daytime  stream tcp nowait MANAGER.SYS internal
#daytime  dgram  udp nowait MANAGER.SYS internal
#time  stream tcp nowait MANAGER.SYS internal
#time  dgram  udp nowait MANAGER.SYS internal
#discard  stream tcp nowait MANAGER.SYS internal
#discard  dgram  udp nowait MANAGER.SYS internal
#chargen stream tcp nowait MANAGER.SYS internal
#chargen dgram  udp nowait MANAGER.SYS internal
telnet  stream tcp nowait MANAGER.SYS internal
#bootps  dgram  udp wait   MANAGER.SYS /SYS/NET/BOOTPD bootpd
#tftp  dgram  udp wait   NET.SYS   /SYS/NET/TFTPD tftpd
ftp  stream tcp nowait MANAGER.SYS /SYS/ARPA/FTPSRVR ftpsrvr

In the example above, only telnet and ftp services are enabled, Ranft said. This led Art Bahrs, a Certified Security Professional, to add that the services you leave on are the ones that can cause trouble, if you don't need them enabled.

Continue reading "Protecting a 3000 by Eliminating Its Services" »


Patching an HP 3000 with Patch/iX, Stage/iX

Editor's Note: Today a system manager asked for directions on using AUTOPAT on an HP 3000. That's very old school tech even for a classic system like the 3000 (TOH to Alan Yeo for digging out that link). More than 10 years ago, our contributor John Burke detailed the use of the more-modern MPE/iX patch tools.

By John Burke

Patch bicycleEven after HP introduced Patch/iX and Stage/iX to MPE/iX, these HP tools were poorly understood and generally under-used. Both are tremendous productivity tools when compared with previous techniques for applying patches to MPE/iX. There's a good reason for using the newer tools. Prior to the introduction of Patch/iX and Stage/iX, system managers did their patching with AUTOPAT, and you had to allow for at least a half-day of downtime. Plus, in relying on tape, you were relying on a notoriously flaky medium where all sorts of things could go wrong and create “the weekend in Hell.”

Patch/iX moves prep time out of downtime, cutting downtime in half because you create the CSLT (or staging area) during production time. Stage/iX reduces downtime to as little as 15-20 minutes by eliminating tape altogether and, furthermore, makes recovery from a bad patches as simple as a reboot.

This article is based upon the Patch Management sessions I presented at three Interex Solutions Symposiums. The complete set of 142 slides (over 100 screen shots) and 20 pages of handouts are downloadable from my website. The complete presentation takes you step-by-step through the application of a PowerPatch using Patch/iX with a CSLT and the application of a downloaded reactive patch using Patch/iX and Stage/iX. Included is an example of using Stage/iX to recover from a bad patch.

Why should you care about Patch Management? Keeping a system running smoothly includes knowing how to efficiently and successfully apply patches to the system. HP supplyed bug fix patches to MPE/iX and its subsystems through 2008, including two PowerPatches a year through 2006. Some patches add functionality to older 3000s. Patch/iX is a tool for managing these patches.

Continue reading "Patching an HP 3000 with Patch/iX, Stage/iX" »


Reloading, Redux: How To

Loading cementIt used to be the worst thing that could happen to an HP 3000 was a reload of its data. Adager gained its central place in the 3000 manager's toolbox because it would prevent the need for a reload after database restructuring. Although the worst thing to happen to today's 3000 is the loss of an expert to keep it healthy and sustained, reloads are still a significant event.

Not very long ago, a 3000 manager was looking for a refresher on how to do a system reload. Ernie Newton explained why he needed one and shared what he knew. Advice about adding the DIRECTORY parameter, and using BULDJOB1 to set up the accounting structure, followed when Ernie said

We suffered a double drive failure on our Raid 5 disk array yesterday and I'm thinking that I may have to do a reload. It's been almost 15 years since I've done one. If I recall, I do a load when bringing the system up, then do a restore @[email protected]@.

Our resident management expert Gilles Schipper provided detailed instruction on doing a reload. We hope it's another 15 years for Ernie until he's got to do this again.

Here are the instructions, assuming your backup includes the ;directory option, as well as the SLT:

1. Boot from alternate path and choose INSTALL (assuming alternate path is your tape drive) 
2. After INSTALL completes, boot from primary path and perform START NORECOVERY. 
3. Use VOLUTIL to add ldev 2 to MPEXL_SYSTEM_VOLUME_SET. 
4. Restore directory from backup (:restore *t;;directory) 
5. openq lp
6. Perform a full restore with the following commands
:file t;dev=7(?)
:restore *t;/;keep;show=offline;olddate;create;partdb;progress=5
7.Perform START NORECOVERY

Continue reading "Reloading, Redux: How To" »


Where Do Those DBEs Go In MPE?

Where can I get help with storing and restoring an Allbase DBE?

Gilles Schipper replies

SQLUTIL.PUB.SYS should let you access the DBE. IMAGESQL is to a DBE what QUERY/DBUTIL is to TurboIMAGE.

Denys Beauchemin adds

ISQL.PUB.SYS is used to access the data in a DBE. If a TurboIMAGE database is attached to a DBE, there is a DBTC file for each Turbo database and an ATCINFO file with the DBE.

How can I find all the IMAGE databases on a system?

Michael Anderson replies:

IMAGE database root files all have a unique filecode value, -400. IMAGE datasets all have a value of -401. So if you want to find all IMAGE databases on a MPE system I would use the following command:

LISTFILE @[email protected]@;SELEQ=[CODE=-400];FORMAT=6

This will give you all the IMAGE root files and only the IMAGE root files. If you use something like “listf @[email protected]@” you get the first dataset in the database, but also any file where the filename ends with “01”, and that may or may not be a database file. Also, the MPE file system allows filecode representations to be alpha (“PRIV”) and Numeric. When you see “PRIV” as a filecode it simply means that the numeric value of the filecode is negative, and again this can include non-database file types.

Continue reading "Where Do Those DBEs Go In MPE?" »


Passing audits: MPE privileges can be keys

Migrated HP 3000 data can become forgotten while making provisions for an audit. Since some HP 3000s work as mission-critical servers, these active, homesteading systems must weather IT and regulatory audits. The 3000 is capable of passing these audits, even in our era of PCI, HIPAA and Sarbanes-Oxley challenges — all more strenuous than audits of the past.

However, establishing and enforcing a database update procedure is a step onto filling the gap in the security of an MPE/iX system. HP 3000 managers should take a hard look at how their users employ System Manager (SM) privileges. (Privileged Mode, PM, and System Supervisor OP should also be watched. Overall, there can be 21 capabilities to each user.) In their most strict definition, those privileges can expose a database. Hundreds of users can be created at Ecometry sites; even seasonal help gets SM users, according to one consultant's report, users which are seldom deleted after the holiday has passed. One site had a script to create new users, and each had PM capability, automatically.

Privileges are often a neglected aspect of 3000 operations, especially when the system's admin experts have moved on to non-3000 duties, or even to other companies. (Then there's the prospect that nobody knew how to use privileges in the first place.) Some SM users have disturbed the integrity of 3000 databases. It's easy to do accidentally. A creator of a database can also update a 3000 database — a capability that can foul up a manager's ability to pass some audits.

VEAudit from VEsoft, using its LISTUSER @[email protected] (CAP("SM")) filter, can give you a report of all of the SM users on your HP 3000. You can even ask for the SM users where password="". (Now there's a good list to find: SM users who have no passwords.) There is no MPE command that will do such things, we are reminded by VEsoft co-founder Vladimir Volokh. Even after more than three decades of his business as a 3000 software vendor, he also offers consulting on MPE operations and management, and still travels the US to deliver this. 

Continue reading "Passing audits: MPE privileges can be keys" »


COBOL Tools for Comma Separated Values

CSV exampleIt's been a long time since I wrote in COBOL, and I have an elementary question about creating a comma-delimited file. If I want...

"item one", "item two","","","item three"

How do I create the "," between item one and item two?

And the ","",""," would it be the same?  Just put that inside double quotes?

Something tells me that there is an escape sequence, but the mind is not cooperating. 

Walter Murray, who worked in HP’s Language Labs before moving on to other 3000 work, replies

The STRING statement is helpful. I don't advocate using an apostrophe to delimit nonnumeric literals, preferring to stick with standard COBOL. And yes, QUOTE is a figurative constant guaranteed to give you a quotation mark.

Continue reading "COBOL Tools for Comma Separated Values" »


Posix file movements, using FTP and more

I'm attempting to move files in and out of Posix namespace on my HP 3000. The file I've copied becomes bytestream, and has a REC of 1. But I want to transfer that file from Posix down to my PC, I need to maintain it's structure — but what appears to be happening is it's one long record, with no separators. Is there a way (automated) that I can move files in and out of Posix, maybe FCOPY, and be able to keep the structure?

Donna Hofmeister replies

Simply copying/renaming a 'regular' MPE namespace file into HFS-namespace will not change its structural attributes.

If the MPE file was ';rec=-80,,f,ascii' to begin with, it will still be that afterwards.  And it will retain those attributes (cr/lf in particular) following an FTP transfer from your 3000 to [something else less enlightened].

To have a foreign/non-MPE filed take-on MPE fixed-record length attributes during an FTP transfer, simply add something like the following on your transfer line:

[put|get] non_mpe_file_name MPEFILE;rec=-NN,,f,ascii (making all the proper substitutions)

How do I get my HP 3000 to play well with Web-based FTP clients?

HP's James Hofmeister, who led the effort to keep FTP up to date on the 3000, replies

Lots of work went into an implementation of the FTPSRVR to support web access to the 3000. The "SITE POSIX ON" command can be sent by a FTP client and the 3000 FTPSRVR will emit Posix "standard" FTP output and will react like a Posix host (including file naming conventions).

Continue reading "Posix file movements, using FTP and more" »


Stripping on the 3000, Carriage-Style

How can I strip out the Carriage Controls from a spool file?

Tony Summers replies:

CarriageWithout dropping into Posix shell, the only other idea that comes to mind would be some third party tool. SPOOLPDF was a program we used from Open Seas to convert spoolfiles into raw PCL. A second program (OPENPDF) subsequently converted the PCL to a PDF document. OPENPDF was simply ported version (to MPE) of a Unix application (pcl2pdf). And we still use pcl2pdf on our HP-UX servers.

Lars Appel pulls a new approach out of his files:

Well, EDITOR.PUB.SYS also can change or replace columns.

/CHANGEQ 1/1 to "" in ALL

This changes column 1 through 1 to "nothing" in all lines (quietly).

If you don't want to strip CCTL but convert it to PCL escape codes, you might try using the network spooler (which typically does this when sending a file to the JetDirect printer). Example programs are in the HP3000-L archives, such as listening for TCP port 9100 to capture such data sent by the network spooler. Look for the FakeLP challenge with examples in Java, Perl, and C.

Continue reading "Stripping on the 3000, Carriage-Style" »


How to Keep Watch on Backup Completions

DAT tapeWe've had a backup hang up on a bad DAT, and we learned about it when the morning jobs couldn't start on the 3000. (We shut everything down we can, back up, then open everything up again.) To find a better way to respond to this, I'm making a procedure to compare the expected backup duration (from a table we've built) to the backup's actual duration so far. The idea is to get an early report if the duration has been exceeded by more than an hour.

I've parsed the JOBLIST output to get what I wanted. But it looks like I'll need help on converting a string variable to a numeric variable as part of this procedure. Does MPE have anything like that?

Francois Desrochers replies with this ![...] construct, an undocumented part of MPE/iX:

While

SETVAR TONY STR(TONYALL,3,2)

would create a string variable, you could do something like:

SETVAR TONY ![STR(TONYALL,3,2)]

to create a numeric variable.

Continue reading "How to Keep Watch on Backup Completions" »


How to Make a 3000 Act Like It Uses DNS

DomainsI have a script that uses FTP to send files to a site which we open by IP address. We've been asked to change to SFTP (port 22) and use the Domain Name Service name instead of an IP address. Does the 3000 support using DNS names?

Allego's Donna Hofmeister replies:

To start, I'm not sure you want to do SFTP on port 22. That's the SSH port. SFTP is meant to use port 115. Have a look at one of Allegro's white papers on how to enable SFTP on MPE

If you are going to use DNS, you must have your 3000 configured for that.  It's easily done.

Continue reading "How to Make a 3000 Act Like It Uses DNS" »


Do Secure File Transfers from the 3000

I'm trying to use ftp.arpa.sys to FTP a file to a SFTP server and it just hangs. Is there a way to do a secure FTP from the HP 3000?

Brian Edminster replies:

The reason that using MPE's FTP client (ftp.arpa.sys) fails is because as similar as they sound, FTP and SFTP are very different animals. Fortunately, there is a SFTP client available for the 3000 -- the byproduct of work by Ken Hirsh and others.

It used to be hosted on Ken's account on Invent3K, but when that server was taken out of service, so was Ken's account. As you've no doubt already noticed, it's available from a number of sources (such as Allegro). I'd like to highlight another source: www.MPE-OpenSource.org

Continue reading "Do Secure File Transfers from the 3000" »


Freeing HP's Diagnostics Inside the 3000

DiagnosticsWhen HP officially closed its formal HP 3000 support, the vendor left its diagnostics software open for use by anybody who ran a 3000. Throughout the years when HP sold 3000 support, CSTM needed a password that only HP's engineers could supply. But the CSTM diagnostics tools started to run in 2011 without any HP support-supplied password. 

However, managers need a binary patch to free up the diagnostics. Support providers who've taken over for HP know how to enable CSTM. The community has a former Hewlett-Packard engineer to thank, Gary Robillard, for keeping the door to the diagnostics open. Robillard says he is the engineer who last worked on CSTM for MPE/iX when he was a contractor at HP.

A 3000 site must request a patch to get these expert tools working. HP arranged for 3000 sites to get such patches for free at the end of 2010. We tracked the procedure in a NewsWire story, since the HP link on how to get these patches, once on the old division's webpages, has gone dead.

One such patched version of CSTM needs a binary patch. Robillard created this binary patch fix.

Versions of CSTM [patched] with ODINX19A or ODINX25A allow the expert tools with no licensing, but you still have to issue the HLIC command. 

If you install ODINX25A/B/C (6.5, 7.0, 7.5) you won't need to do anything except issue the HLIC command with any password. The HLIC command might say it was not accepted, but the license is activated anyway

Continue reading "Freeing HP's Diagnostics Inside the 3000" »


Fixing Date Problems From The Future

HP 3000 managers have traveled long roads toward the future of their servers, but sometimes the server travels even farther. Into the future, it seems, to apply modification dates to files that couldn't possibly be modified months or years from now.

Back To The FutureThis can cause problems with system maintenance. Craig Lalley experienced some last week. After running the NMVALCK command, he discovered "I have thousands of files with future dates." He was pretty sure there's a way to adjust a date like FRI, SEP 10, 2027, 1:53 AM by using MPEX. (A good bet, since the Vesoft product manages the 3000's files better than MPE/iX itself). But what about other repair options?

There are two, one in the community's freeware resources, and one in its Posix namespace. The freeware comes from Allegro Consultants. FIXFDATE (just do a "find" on the web page to locate the utility's entry) "will sweep through your files and change any creation, modification, access, allocation, or statechange date that is a "future" date to be today."

Another resource comes from within the 3000's Fundamental Operating System. Touch, a common Posix utility, exists on the HP 3000's implementation. 

Continue reading "Fixing Date Problems From The Future" »


Find hardware specs, move DTCs, and more

Is there a command or way to see the hardware specs of a HP 3000 via MPE or its installed utilities? This machine has no other utilities, like MPEX. I am looking to document the processors, memory, number of hard drives, and size of those drives. 

Jack Connor replies

Depending on MPE/iX version, you can use SYSDIAG for 6.0 and older or CSTM for 6.5 and later. In SYSDIAG, type SYSMAP, then IOMAP, and GENERAL for the IO components, then exit and go to CPUMAP for the CPU info.

In CSTM, type MAP, then SELECT ALL, then INFO, then IL (InfoLog) to get a listing of everything that MPE owns.

I don't work that much with COBOL these days, but I wanted to compile a  program and I got an error message,"size of data segment greater than 1 gig or 64 bytes" How do I get around this?

Steve Cooper replies

That means that the total space you asked for in your Working Storage Section is more than 1 GB.  Now, there are ways to work around that, but my guess is that you don't need to work around that.  My guess is there is a typo or some other unintended problem, where you are asking for way more storage than you intended. Check your OCCURS clauses and PICs to make sure you mean what they say.

We have to move a DTC into our network. Along the way there are Procurve switches and a Cisco router or two. I know that somehow the switches and routers must be configured so as to allow multicasting on addresses 09-00-09-xx-xx-xx to be forwarded and not filtered, but our Procurve administrators aren't quite sure they know how exactly how to do this. What is Procurve-ese for configuring what's necessary to allow remote DTC operation across our network?

Continue reading "Find hardware specs, move DTCs, and more" »


Make old PCs do a console's work

HP PortableGot a wheezing PC someplace in your IT shop? Believe it or not, even the creakiest of desktops can still serve your HP 3000: as a console, a la the HP700/92 variety. This is the kind of PC where, as one veteran puts it,"the keyboards have turned to glue."

...Trying to type a coherent instruction (or even worse, trying to talk someone through that task remotely) where random keys require the application of a sledgehammer to make them respond, at which point they auto repeatttttttttttttttt.

It's enough to give a veteran manager a pain in the posterior, but hey -- some HP 3000s (of the 900 Series) demand a physical console as part of their configuration. Can't you just hook up such an antique PC straight to the 3000's special console port and let it work as a console? Yes, you can.

Continue reading "Make old PCs do a console's work" »


Message Files Editing, DLT Autoloading Tips

What tools can I use to 'edit' a message file without destroying the file? I learned the hard way that if you’re using FCOPY to copy from a message file, it destroys the records read from the message file. Can you "COPY" a message file without destroying the records that are copied? 

François Desrochers says

You can use non-destructive reads by specifying the COPY option on a file equation as in:

FILE MSGFILE;COPY
FCOPY FROM=*MSGFILE;TO=NEWFILE

There's also an FOPEN Aoptions (bit 3:1) to enable the option.

As for editing a message file, the only safe way I know is to extract all the records into a regular flat file, edit it and load it back into the message file.

Continue reading "Message Files Editing, DLT Autoloading Tips" »


Sendmail, Group Purges, and ACD Removal

Is there a proper or "right" way to shut down sendmail?

Donna Hofmeister replies

• Use the Posix kill signal from SERVER.SENDMAIL or any user with SM capability. (The following can be easily turned into a job!)

kill $(head -n 1 /etc/mail/sendmail.pid)

• Only use :ABORTJOB as a last resort! (This is true for all of the Posix things that got ported to MPE)

If you don't need to run a mail server (e.g. sendmail) on your 3000, you shouldn't. In most cases, using a mail client will be "just the ticket." Point the client at your in-house (SMTP) mail server and enjoy.

How can I easily purge all the files in a group without destroying the group structure?

If GRPNAME is the name of the group then either:

1. chgroup GRPNAME and

purgegroup GRPNAME 

Or, purge @.GRPNAME 

[Ed. note: Vladimir Volokh notes this last command does not purge databases from a group, although it purges everything else. You must be an SM user to purge everything in one account from another account. Of course, MPEX's %purge will purge everything, and will report the list of what is to be purged. %purge(ISPRIV) for a selection of databases only, for example.]

How can I convert an SL to an XL?

Jeff Kell and Gavin Scott reply:

You can OCTCOMP an SL, which will make the code in it run in mostly-Native Mode (though using several times the memory) and with exactly the same limitations as the original CM code. OCTCOMP just adds a pre-translated version of the CM code to the end of the file that will be invoked when you run the program or SL on an MPE/iX system.

Continue reading "Sendmail, Group Purges, and ACD Removal" »


Solutions for Keeping Passwords Fresh

Our management wants our 3000 users to be forced to change their password on a regular basis. Also, certain rules must be applied to the new password. We don’t have VEsoft’s Security/3000, although we do have MPEX. I therefore have two options. 1. Write something myself, or 2. See if there is anything in the Contributed Software Library that will do the job, or can be modified to supply the required solution.

Homegrown and bundled solutions follow. Jeff Vance offered this:

There is a pseudo random password generator available among the Jazz files which knows MPE’s password rules. See RANDNAME. There are also UDCs which force a password to be supplied when using NEWUSER, NEWACCT and NEWGROUP CI commands. These required passwords can be random or user entered with a minimal length enforced. 

Then he added as an afterthought, a strategy to program your own password system:

I haven’t thought about it much, but it seems you could have a password file (maybe a CIRcular file?) for each user on the system. This file would have their last N passwords, and the modified date of the file would be the date their password was most recently changed.

A logon UDC could detect if the password file for that user exists. If not create it and require a new password right then.  If the password file exists then get it’s modified date and compare that to today’s date. If greater than X days then in a loop prompt for a new password. Validate the entered password against previous N passwords and your other rules. Maybe run a dictionary checking program to make sure the password is not common, etc.

Update the user-specific password file with their new password, and then logon the user.

Continue reading "Solutions for Keeping Passwords Fresh" »


How MPE Talks to Its Network Neighbors

Our networking team reports they're going to refresh the hardware on our IP gateways. Our Telecom manager says they will 

  • Change the physical gateway, because the hardware is being replaced
  • Not change the IP address and gateway address
  • Change the MAC address of the gateway (because of different gateway hardware)

Network NeighborhoodWhat do I need to do on our MPE boxes to ensure that they will see the new hardware? Does MPE cache the MAC address of neighbor gateways anywhere? I was thinking I needed to restart networking services, but I wasn't sure if anything more will be needed.

Jack Connor replies

If you're taking it off the air for the network changes, I'd go ahead and close the network down until the work has completed and then reopen it. MPE will be looking for the IPs as it opens up. I know you can see the MAC addresses in NETTOOL, but I don't think they're of any import other than informational and for DTC traffic.

Donna Hofmeister adds

Halt the network (even the system if possible -- because it's almost the same thing) while the larger network work is being done. When the new gear is in place and seems stable, "wake up" the 3000 and watch what happens.

Continue reading "How MPE Talks to Its Network Neighbors" »


That final 3000 IO upgrade is still in use

Pass ThroughMore than five years after HP rolled out the ultimate release of MPE/iX, the vendor finished its work on an SCSI Pass-Through driver for the HP 3000. It was an one of the last HP-designed MPE enhancements. Independent support companies have the tech resources to create customized patches for their customers. The HP driver still makes it possible to connect and configure SCSI storage devices which HP has not certified for 3000 use.

Full instructions on how to use the software are on the ManualShelf free website. It's a tool for permitting an application to address SCSI devices without the use of the MPE/iX file system or high-level IO interfaces. But the software itself was built, lab-tested, then placed on the HP software improvements leash: It was only available to the HP support customer who was willing to take SPT, as HP called it, as a beta test version.

Patches MPENX01A, MPENX03A and MPENX04A were beta patches required to make the SPT work on MPE/iX 7.5. HP still makes these patches available to any 3000 customers at no charge. Two years ago, Allegro's Donna Hofmeister said "the magic incantation when dealing with the Response Center folks is to use transfer code 798. That’ll get you to an MPE person." 

Consultants and companies which provide support have many of these patches in their resource bins. The entire patch collection is just 1.27GB, small enough to fit onto a giveaway thumb drive.

Continue reading "That final 3000 IO upgrade is still in use" »


File transfer tips flow to move databases

System managers in the 3000 community still want to know how to use FTP to ensure a safe backup of 3000 data. Of special interest is the KSAM XL database, but most managers don't know that FAK files are HP's special Keyed Sequential Access Method database files. What appears to be program files are moved over, but database files get left behind. There's a trick to getting such files over to a Windows server.

One rule of 3000 operations is that database files act differently than all others in transfers. So FTPing them to a Windows 2003 Server won't be a successful way to ensure a safe data recovery. Third party tools can help, but if a customer is stuck on an aging HP system running MPE/IX, it's probably going to have only the budget for the included HP STORE for file backups and transfers.

Donna Hofmeister, who's spent a career helping 3000 users via the community's newsgroup, suggests starting with creating a file called mystd to store the 3000 files to disk -- then transferring that Store To Disk file.

Continue reading "File transfer tips flow to move databases" »


Checkup Tips to Diagnose Creeping Crud

When an HP 3000 of the ultimate generation developed trouble for Tom Hula, he turned to the 3000 newsgroup for advice. He'd gotten his system back up and serving its still-crucial application to users. But even after a restart, with the server looking better, things just didn't seem right to him. 

I am concerned, since I don't know what the problem was. It almost reminded me of something I used to call the Creeping Crud, where people started freezing up all over the place, while some people were still able to work. The only thing was a reboot. But in this case, it seemed worse. Only a few people on our 3000 now, but we still depend on it for a high-profile application. What should I check?

CrudThe most revealing advice came from Craig Lalley, who told Hula he'd try a Control-B into the 3000's system log. The steps after the Control-B command are SL (for System Log) and E (for Errors only.) Typing CO puts the 3000 back in console mode. Hula's system had lost its date and time on one error, and the Alert Levels showed a software failure along with lost boot functionality.

But amid the specifics of eliminating the Creeping Crud (it may have been a dead battery) came sound advice on how to prepare for a total failure and where to look for answers to 3000 hardware problems. The good news on the battery is that it's not in a Series 9x7. Advice from five years ago on battery replacement pointed to a hobbyist-grade workbench repair. More modern systems like Hula's A400 at least have newer batteries.

Continue reading "Checkup Tips to Diagnose Creeping Crud" »


Tips to Reinstall Posix, DLT/LTO Tape Drives

What is the patch that installs Posix? I seem to have a corrupt version of Posix.

Donna Garverick of Allegro replies:

These are your instructions for MPE/iX 5.5 and 6.0.

Load the 5.5 or 6.0 FOS tape on a tape drive. For this example, tape drive on ldev# 7 is used. Log on as MANAGER.SYS

:FILE T;DEV=7
:RESTORE *T;@.HP36431.SUPPORT,I0036431.USL.SYS;CREATE;SHOW
:STREAM I0036431.USL.SYS

Please note:

  • HP36431 is the master product number of the Posix 2 Shell.
  • I0036431.USL.SYS is the installation file.
  • When launched, the job I0036431 should run for less than 5 minutes. When it is done, the Posix environment is re-installed.

[Gilles Schipper notes the process for 7.5 is the same, working from the MPE/iX 7.5 FOS tape.]

I have access to a Tandberg Data Ultrium LTO 3 tape drive. It has a SCSI Ultra160 interface. Would I have any luck hooking one up to an N-Class?

Chad Lester of MPE Support Group replies:

It's worth trying. You might have issues with the dual-port SCSI cards. Also, make sure the firmware is the latest on the single SCSI U160 card.

Continue reading "Tips to Reinstall Posix, DLT/LTO Tape Drives" »


Classic MPE tips: Tar, kills, and job advice

How do I use the tar utility to put data onto tape on an HP 3000?

1) Create a tape node

:MKNOD “/dev/tape c 0 7”

2) Enter posix shell

:SH -L

3) Mount a blank tape and enter the tar command

shell/ix>tar -cvf /dev/tape /ACCOUNT/GROUP/FILENAME

How can I determine the validity of an SLT tape?

Use CHECKSLT.MPEXL.TELESUP option 1.

What is the command to abort a hung session? I tried ABORTJOB #s3456. I seem to remember there is a command that will do more.

You can use =SHUTDOWN. But seriously, there is a chance that if it is a network connection, NSCONTROL KILLSESS=#S3456 will work. If it is a serial DTC connection, ABORTIO on the LDEV should work. Finally, depending upon what level of the OS you are on, look into the ABORTPROC command. This might help as a last resort.

Continue reading "Classic MPE tips: Tar, kills, and job advice" »


Multiple Parallel Tapes on 3000 Backups

Editor's note: When I saw a request this week for a copy of HP patch MPEMX85A (a patch to STORE that enables Store-To-Disk) for older MPE/iX releases, it brought a storage procedure request to mind.

I'm dealing with some MPE storage processes and need assistance. You would think after storing files on tapes after 10-plus years, we would have found a better way to do this. We use TurboStore with four tape drives and need to find a way to validate the backup. Vstore appears to only have the ability to use one tape drive. Currently I have some empty files scattered through the system and use a separate job to delete them, remount the tapes and restore, trying to access all four drives. 

When using vestore:

vstore [vstorefile] [;filesetlist]

It seems that vstorefile is looking for a file equation similar to:

File t; dev=tape
vstore *t;@[email protected]@; show

This is why it appears that I can't use more than one tape drive, unless they are in serial, while we want to use four drives in parallel. What method or software should I be using?

Mark Ranft of Pro3K replies:

We always found that DLT 8000 tapes worked well in parallel. When the backup got so big that it wouldn't fit on two DLT 8000 tapes, we split the backup, putting the databases on two tapes in parallel and everything else on a third tape. Keep in mind, we didn't have a backup strategy. We had a recovery strategy and backups were a part of that. We found, for us, organizing backups in this manner allowed us to speed recovery — which was far more important than anything else.

You can achieve good times doing Store-to-Disk backups. But then what? Do you back up the STD to tape and send it offsite? FTP it somewhere? The recovery times on getting this back are too slow.

Continue reading "Multiple Parallel Tapes on 3000 Backups" »


How to Use MPE/iX Byte Stream Files

Back when HP still had a lab for the HP 3000, its engineers helped the community. In those days, system architect and former community liaison Craig Fairchild explained how to use byte stream files on the 3000. Thanks to the memory of the Web, his advice remains long after the lab has gone dark.

Mountain-streamThese fundamental files are a lot like those used in Windows and Linux and Unix, Fairchild said. HP has engineered "emulation type managers" into MPE/iX, an addition that became important once the 3000 gained an understanding of Posix. In 1994, MPE/XL became MPE/iX when HP added this Unix-style namespace.

Understanding the 3000 at this level can be important to the customer who wants independent support companies to take on uptime responsibility and integration of systems. Fairchild explained the basics of this basic file type.

Byte stream files are the most basic of all file types. They are simply a collection of bytes of data without any structure placed on them by the file system. This is the standard file model that is used in every Unix, Linux and even Windows systems.
 
MPE's file system has always been a structured file system, which means that the file system maintains a certain organization to the data stored in a file. The MPE file system understands things like logical records, and depending on the file type, performs interesting actions on the data (for example, Circular files, Message files, KSAM files and so on).

Fairchild detailed how HP has given bytestream files the knowledge of "organization of data" for applications.

Continue reading "How to Use MPE/iX Byte Stream Files" »


Essential Steps for Volume Reloads

When a 3000 drive goes dead, especially after a power outage, it often has to be reloaded. For example, when an LDEV2 has to be replaced. For a cheat sheet on reloading a volume, we turned to our Homesteading Editor Gilles Schipper.

By Gilles Schipper

Assuming your backup includes the ;directory option, as well as the SLT:

1. Boot from alternate path and choose INSTALL (assuming alternate path is your tape drive) 
2. After INSTALL completes, boot from primary path and perform START NORECOVERY. 
3. Use VOLUTIL to add ldev 2 to MPEXL_SYSTEM_VOLUME_SET. 
4. Restore directory from backup (:restore *t;;directory) 
5. openq lp
6. Perform a full restore with the following commands
:file t;dev=7(?)
:restore *t;/;keep;show=offline;olddate;create;partdb;progress=5 7.

Perform START NORECOVERY

Continue reading "Essential Steps for Volume Reloads" »


Getting Macro Help With COBOL II

GnuCOBOL An experienced 3000 developer and manager asked his cohorts about the COBOL II macro preprocessor. There's an alternative to this very-MPE feature: "COPY...REPLACING and REPLACE statements. Which would you choose and why?"

Scott Gates: COPY...REPLACING because I understand it better.  But the Macro preprocessor has its supporters. Personally, I prefer the older "cut and paste" method using a decent programmer's editor to replace the text I need. Makes things more readable.

Donna Hofmeister: I'm not sure I'm qualified to comment on this any longer, but it seems to me that macros were very efficient (and as I recall) very flexible (depending on how they were written, of course). It also seems to me that the "power of macros" made porting challenging. So if your hidden agenda involves porting, then I think you'd want to do the copy thing.

There was even porting advice from a developer who no longer works with a 3000, post-migration.

Continue reading "Getting Macro Help With COBOL II" »


IMAGE data schemas get visualized

Is there any program that will show the network of a TurboIMAGE database? I want to output the relationships among sets and items.

CFAWireframeIn 2011, Connie Sellitto researched the above question, while aiding new programmers who were charged with moving a pet organization's operations to a non-MPE system. Understanding the design of the database was important to this team. Sellitto mentioned a popular tool for PCs, but one not as essential as an IT pro's explanations.

You might try Microsoft's Visio, and you may need to have an ODBC connection to your IMAGE database as well. This produces a graphical view with search paths shown, and so on. However, there is still nothing like a detailed verbal description provided by someone who actually knows the interaction between datasets.

To sum up, we can refer to ScreenJet founder's Alan Yeo's testing of that Visio-IMAGE interplay

Taking a reasonably well-formed database into Visio and reverse engineering, you do get the tables and items. It will show you what the indexes in the tables are, but as far as I can see it doesn't show that a detail is linked to a particular master. Automasters are missing anyway, as they are really only for IMAGE.

My conclusion: if you have done all the work to load the databases in the SQL/DBE and done all the data type mappings, then importing in Visio might be a reasonable start to documenting the databases, as all you would have to do is add the linkages between the sets.

If you don't have everything in the SQL/DBE, then I would say we are back where we started.

Continue reading "IMAGE data schemas get visualized" »


Open source SED manages 3000 streams

Open source resources make it possible to use SED, a stream editor built in the open source community. Since 2001 SED has worked on the HP 3000, thanks to Lars Appel, a former HP support engineer who ported Samba to the platform in the 1990s.

SED's main MPE page is on a page of Appel's. SED is an at your own risk download, but support is available through the 3000 community.

Dan Barnes, working on a problem he had to solve in his 3000 environment, asked:

The issue is incoming data from another platform that is being fed into MM 3000. This data occasionally has some unprintable characters, which of  course wrecks havoc on the MM application when it is encountered. To address this, the user, using a cygwin (Unix-like) environment on their Windows PC, developed a SED script. When they test the script in the cgywin environment it works just fine. But when done on the target HP 3000 it gets an undesirable result.

Barnes added that "The user thought that because MPE/iX is Posix-compliant, that this should work." He explained his user created the expression

sed -e 's/[\x7F-\xFE]/*/g' < COMSHD > COMSHD1

But Appel noted that hex 7F thru hex FE portion of the expression isn't supported on the MPE/iX version of SED. It's a limitation of MPE/iX, but there's a workaround.

Not sure if the regular expression usage here matches Posix or GNU specs, but my guess is the "\xNN" format, that seems to indicate a char by hex code, doesn't work.

How about something like using the command sed -e 's/[^ -~]/*/g' instead, i.e. map the characters outside the range space through tilde?


HP's 3000 power supply persists in failure

Amid a migration project, Michael Anderson was facing a failure. Not of his project, but a failure of his HP 3000 to start up on a bad morning. HP's original hardware is in line for replacement at customers using the 3000 for a server. Some of these computers are more than 15 years old. But the HP grade of components and engineering is still exemplary.

"I was working with a HP 3000 Series 969, and one morning it was down," he reported. "All power was on, but the system was not running; I got no response from the console. So I power-cycled it, and the display panel (above the key switch) reported the following."

Proceeding to turn DC on

On the console it displayed garbage when the power was turned on, but the message on the display remained. I wasn’t sure what to replace. I was thinking the power supply — but all of the power was on. As it turned out, even in the middle of a power supply failure the 3000 was working to get out a message. The back side, the core I/O, FW SCSI, and so on, all appeared to have power. That is why I found it hard to believe that the power supply was the problem.

Continue reading "HP's 3000 power supply persists in failure" »


Thursday Throwback: IMAGE vs. Relational

As a precocious 18-year-old, Eugene Volokh wrote deep technical papers for HP 3000 users who were two or three times his age. While we pointed to the distinctions between IMAGE master and automatic datasets recently, Eugene's dad Vladimir reminded us about a Eugene paper. It was published in the fall of 1986, a time when debate was raging over the genuine value of relational databases.

While the relational database is as certain in our current firmament as the position of any planet, the concept was pushing aside proven technology 28 years ago. IMAGE, created by Fred White and Jon Bale at HP, was not relational. Or was it? Eugene offered the paper below to explore what all the relative fuss was about. Vladimir pointed us to the page on the fine Adager website where the paper lives in its original formatting.

COBO HallThe relationships between master and automatic and detail datasets pointed the way to how IMAGE would remain viable even during the onslaught of relational databases. Soon enough, even Structured Query Language would enter the toolbox of IMAGE. But even in the year this paper emerged, while the 3000 still didn't have a PA-RISC model or MPE/XL to drive it, there was a correlation between relational DBs and IMAGE. Relational databases rely on indexes, "which is what most relational systems use in the same way that IMAGE uses automatic masters," Eugene wrote in his paper presented at COBO Hall in Detroit (above). QUERY/3000 was a relational query language, he added, albeit one less easy to use.

Vladimir admits that very few IT professionals are building IMAGE/SQL databases anymore. "But they do look at them, and they should know what they're looking at," he explained.

Relational Databases Vs. IMAGE:
What The Fuss Is All About

By Eugene Volokh, VESOFT

What are "relational databases" anyway? Are they more powerful than IMAGE? Less powerful? Faster? Slower? Slogans abound, but facts are hard to come by. It seems like HP will finally have its own relational system out for Spectrum (or whatever they call it these days). I hope that this paper will clear up some of the confusion that surrounds relational databases, and will point out the substantive advantages and disadvantages that relational databases have over network systems like IMAGE.

What is a relational database? Let's think for a while about a database design problem.

We want to build a parts requisition system. We have many possible suppliers, and many different parts. Each supplier can sell us several kinds of parts, and each part can be bought from one of several suppliers.

Easy, right? We just have a supplier master, a parts master, and a supplier/parts cross-reference detail:

Relational-IMAGE Fig 1Every supplier has a record in the SUPPLIERS master, every part has a record in the PARTS master, and each (supplier, part-supplied) pair has a record in the SUPPLIER-XREF dataset.

Now, why did we set things up this way? We could have, for instance, made the SUPPLIER-XREF dataset a master, with a key of SUPPLIERS#+PART#.  Or,  we  could have made all three datasets stand-alone details, with no masters at all. The point is that the proof of a database is in the using. The design we showed -- two masters and a detail -- allows us to very efficiently do the following things:

  • Look up supplier information by the unique supplier #.
  • Look up parts information by the unique part #.
  • For each part, look up all its suppliers (by using the cross-reference detail dataset).
  • For each supplier, look up all the parts it sells (by using the cross-reference detail dataset).

This is what IMAGE is good at -- allowing quick retrieval from a master using the master's unique key and allowing quick retrieval from a detail chain using one of the detail's search items. 

Continue reading "Thursday Throwback: IMAGE vs. Relational" »


Manual and Automatic Masters, Detailed

A few days ago we included a Hidden Value question about how manual and automatic masters work in TurboIMAGE. Our ally and friend Vladimir Volokh called to note that in part of the question, the system manager had found "one detail data set that has thousands of entries which do not appear to be connected to any master.

It wasn't exactly a question, but in a reply on the 3000-L mailing list and newsgroup, Roy Brown gave a fine tutorial on how these features do their jobs for MPE and the 3000 -- as well as how a detail dataset might have zero key fields.

Manual masters can contain data which you define, like Detail sets can, along with a single Key field. Automatic masters contain only the Key field.

In both cases, there can be only one record for a given key value in a Master dataset.

A Detail dataset contains data fields plus zero, one, or many key fields. There can be as many records as you like for a given key value, and these form a chain accessible from the Master record key value. This chain may be sorted, or it may just be in chronological order of adding the records.

Zero key fields in a Detail dataset would be unusual, but is permissible.

Continue reading "Manual and Automatic Masters, Detailed" »


Tips for Listing SCHEMAs, and FTP Listings

From my existing TurboIMAGE database, I want to generate a listing of data sets, data item names, and their relationships (master, detail). One detail data set has thousands of entries which do not appear to be connected to any master. 

Oh, and I cannot remember the difference between manual and automatic masters.

Francois Desrochers first replies, "Use Query's FORM command."

RUN QUERY.PUB.SYS
B=dbname
PASSWORD = >> password
MODE = >> 5
FORM

Manual masters: programs have to explicitly add entries before you can add related entries in detail sets. Programs have to explicitly delete entries when there are no related detail entries left. In other words, you have to do master dataset maintenance.

Automatic masters: entries are automatically created when a related detail set entry is created. Entries in the master are automatically removed when the last related detail entry is deleted. IMAGE takes care of the maintenance.

Consultant Ron Horner adds, "If you have a tool like Adager or DBGeneral, it can create a file of the database schema. The other way is by using QUERY to get a listing."

Continue reading "Tips for Listing SCHEMAs, and FTP Listings" »


Strategies for Redirecting App Spoolfiles

An HP 3000 manager wrote that a 24x7 application at his shop is stable and never goes offline unless it's required. But the everyday management had to include aborting the app once a week.

We take that application offline to close out the spoolfile that the application generates. Is there a way to keep the application running, and just redirect the output to a new spoolfile? We're using an N-Class server.

Robert Schlosser of Global Business Systems replied: Short of closing and reopening the application after n number of pages, you could have the application read (without wait and checking status codes) a message file. It could then close and open the output file on demand, and possibly even close down the application gracefully (no abort).

Our Homesteading Editor Gilles Schipper replied: I think the only way you could do that would be to actually modify the application program to periodically (say, for example, every 10 pages or every 100 pages) close then re-open the print file.

Olav Kappert of IOMIT International added:

If the program can be slightly modified, then I would suggest creating a message file as a conduit to the application. The program would do a read of the message file with the nowait option every once and awhile.  If the application encounters a keyword indicating a new spoolfile, then the program would close the spoolfile and reopen it.

An alternate method would involve the application being modified to close and open the file at a particular day and time during the week.


Pre-Migration Cleanup Techniques

Migrations are inevitable. The Yolo County Office of Education is on its way to a Windows-based system, after many years of HP 3000 reliance. Ernie Newton of the Information and Technology Services arm of the organization is moving his 3000 data. He's doing a clean-up, a great practice even if you're not heading off of MPE.

I am cleaning up our IMAGE databases for the inevitable move to Microsoft’s SQL Server. One thing I've encountered is that Suprtool does not like null characters where there should be numbers.

I know that I have invalid characters, (non-numeric), in a field called ITEM-NUMBER.  But when I try to find those records, Suprtool chokes and abruptly stops the search. Here's what I get...

IF ITEM-NUMBER < 0 OR ITEM-NUMBER > 9999
X

Error:  Illegal ascii digit encountered. Please check all data sources
Input record number: 1

Is there a way to run Suprtool to help it find these records? Query finds them just fine, but Query doesn't have to ability to do what I want to do. 

After being reminded that "Nulls are not numbers," by Olav Kappert, and "try to use a byte string to compare (like < "a" or > "z") or something like that," Robelle's Neil Armstrong weighed in.

You can find any character you want by using the Clean, $findclean and $clean feature. The first issue to deal with is to re-define the item-number as a byte type in order to use the function.

Continue reading "Pre-Migration Cleanup Techniques" »


Ways to Create PDFs from 3000 Output

Years ago -- okay, seven -- we reported the abilities of the Sanface Software solution to create PDF files out of HP 3000 output. But there are other ways and tools to do this, a task that's essential to sharing data reports between HP 3000s and the rest of the world's computers.

On the HP 3000 newsgroup, a veteran 3000 developer has asked,

Has anyone got any experience involving taking a file in an output queue and creating a PDF version of it?

"We use text2pdf v1.1 and have not had any problems since we installed it in October 2001," said Robert Mills of Pinnacle Entertainment. "I have e-mailed a copy of this utility and our command file to 27 people. Never knew that so many sites wanted to generate PDFs from their 3000s."

The program is a good example of 3000 source code solutions. This one was created as far back as the days of MPE/iX 6.0, a system release which HP has not supported since 2005.

Continue reading "Ways to Create PDFs from 3000 Output" »


Passing FTP Capabilities to MPE

Ws-FTP ProHP 3000s do lots of duty with data from outside the server. The 3000's FTP services sit ready to handle transfers from the world of Windows, as well as other systems, and PCs far outnumber the non-Windows computers networked to 3000s. Several good, low-cost FTP clients on Windows communicate with the 3000, even though MPE/iX still has some unique "features" in its FTP server.

Our former columnist John Burke once reported that his HP 3000 emitted a second line of text during an FTP session that could confuse the open source FTP client FileZilla:

FileZilla issues the PWD command to get the working directory information. On every other system I've tried, the result is something like 257 "home/openmpe" is the current working directory However, MPE responds with something like 257-"/SYSADMIN/PUB" is the current directory. 257 "MGR.SYSADMIN,PUB" is the current session. The second line appears to be confusing FileZilla because it reports the current directory as /MGR.SYSADMIN,PUB/, which of course does not work.

Back when it was a freeware, Craig Lalley took note of a worthy solution, WS-FTP from IP Switch. The product is now for sale but its client is not costly. And an MPE setting can remove the problems that can choke up FileZilla.

Continue reading "Passing FTP Capabilities to MPE" »


Advice on uptime, net gateways and sockets

Is there a way to use the 3000's networking to check how long your system has been up?

James Hofmeister replies:

If you have SNMP running, a query to check system uptime is:

: snmpget ector.atl.hp.com public system.sysUpTime.0
Name: system.sysUpTime.0
Timeticks: (418638300) 48 days, 10:53:03

I get no awards for 48 days uptime, but I use my machines to duplicate, beta test and verify repair of customer network problems.

Is there a way to scan all the ports on my HP 3000 Series 996: How many are being used, and how many are available?

Mark Bixby replies:

SOCKINFO.NET.SYS can tell you which programs have opened which sockets.

NETTOOL.NET.SYS STATUS,TCPSTAT and STATUS,UDPSTAT can also give you useful information about sockets, particularly STATUS,TCPSTAT and CONNTABLE.

Continue reading "Advice on uptime, net gateways and sockets" »


See how perl's strings still swing for MPE

PerlheartThe HP 3000 has a healthy range of open source tools in its ecosystem. One of the best ways to begin looking at open source software opportunity is to visit the MPE Open Source website operated by Applied Technologies. If you're keeping a 3000 in vital service during the post-HP era, you might find perl a useful tool for interfacing with data via web access.

The 3000 community has chronicled and documented the use of this programming language, with the advice coming from some of the best pedigreed sources. Allegro Consultants has a tar-ball of the compiler, available as a 38MB download from Allegro's website. (You'll find many other useful papers and tools at that Allegro Papers and Books webpage, too.)

Bob Green of Robelle wrote a great primer on the use of perl in the MPE/iX environment. We were fortunate to be the first to publish Bob's paper, run in the 3000 NewsWire when the Robelle Tech long-running column made a hit on our paper pages.

You could grab a little love for your 3000, too. Cast a string of perls starting with the downloads and advice. One of HP's best and brightest -- well, a former HP wizard -- has a detailed slide set on perl, too.

Continue reading "See how perl's strings still swing for MPE" »


The 3000's got network printing, so use it

Ten years ago this summer, HP's 3000 lab engineers were told that 3000 users wanted networked printing. By 2005 it was ready for beta testing. This was one of the last enhancements demanded as Number 1 by a wide swath of the 3000 community, and then delivered by HP. The venerable Systems Improvement Ballot of 2004 ranked networked printing No. 1 among users' needs.

MPEMXU1A is the patch that enables networked printing, pushed into General Release in Fall, 2005. In releasing this patch's functionality, HP gave the community a rather generic, OS-level substitute for much better third party software from RAC Consulting (ESPUL). It might have been the last time that an independent software tool got nudged by HP development.

HP M1522N printerThe HP 3000 has the ability to send jobs to non-HP printers over a standard network as a result of the enhancement. The RAC third party package ties printers to 3000 with fewer blind spots than the MPEMXU1A patch. HP's offering won't let Windows-hosted printers participate in the 3000 network printing enhancement. There's a Windows-only, server-based net printing driver by now, of course, downloadable from the Web. The HP Universal Print Driver Series for Windows embraces Windows Server 2012, 2008, and 2003.

Networked printing for MPE/iX had the last classic lifespan that we can recall for a 3000 enhancement. The engineering was ready to test less than a year after the request. This software moved out of beta test by November, a relatively brief five-month jaunt to general release. If you're homesteading on 3000s, and you don't need PCL sequences at the beginning and end of a spool file, you should use it. Commemorate the era when the system's creator was at least building best-effort improvements.

Continue reading "The 3000's got network printing, so use it" »


Classic Advice: Adding a DLT to an HP 3000

I'm trying to add a DLT to a my HP 3000 939KS and it keeps reporting media as bad. I can FCOPY but not run an Orbit or MPE store. It does mount the tape normally. The MPE store gives the following error:

STORE ENCOUNTERED MEDIA WRITE ERROR ON LDEV 9  (S/R 1454)    
SPECIFICALLY, STORE RECEIVED ERROR -48 FROM THE IO SYSTEM (S/R 1557).

The server which this drive is being added to has DDS-3s on it, but we are adding another disk array, so we are going to outgrow what we have very quickly.

DLT4000DLT8000s have not been manufactured in perhaps 10 years. Even five-year-old drives are SDLTII or DLT VS160, or some form of LTO. Also, using HVD-SCSI is so last century. At any rate, the heads on the DLT drives do get used up depending on the media used. Try another DLT drive, if possible.

Unfortunately, this is the exact issue facing homesteaders and others who are delaying their migration off the HP 3000, especially if they have pre-PCI machines like the 939. The hardware to run with it can be difficult to find, but it's out there, although it can be of varying level of readiness. You have many options open to you, but as time goes by they will more difficult to implement.

Continue reading "Classic Advice: Adding a DLT to an HP 3000" »


Find :HELP for what you don't know exists

Last week we presented a reprise of advice about using the VSTORE command while making backups. It's good practice; you can read about the details of why and a little bit of how-to in articles here, and also here.

But since VSTORE is an MPE command, our article elicited a friendly call from Vesoft's Vladimir Volokh. He was able to make me see that a great deal of what drives MPE/iX and MPE's powers can remain hidden -- the attribute we ascribed to VSTORE. "Hidden, to some managers running HP 3000s, is the VSTORE command of MPE/iX to employ in system backup verification." We even have a category here on the blog called Hidden Value. It's been one of our features since our first issue, almost 19 years ago.

MPE commands exampleFinding help for commands is a straightforward search, if those commands are related to the commands you know. But how deep are the relationships that are charted by the MPE help system? To put it another way, it's not easy to go looking for something that you don't know is there. Take VSTORE, for example. HP's HELP files include a VSTORE command entry. But you'll only find that command if you know it's there in the operating environment. The "related commands" part of the entry of STORE, identifying the existence of VSTORE, is at the very bottom of the file.

Vladimir said, "Yes, at the bottom. And nobody reads to the bottom." He's also of the belief that fewer people than ever are reading anything today. I agree, but I'd add we're failing in our habits to read in the long form, all the way beyond a few paragraphs. The Millennial Generation even has an acronymn for this poor habit: TLDR, for Too Long, Didn't Read. It's a byproduct of life in the Web era.

But finding help on VSTORE is also a matter of a search across the Web, where you'll find archived manuals on the 5.0 MPE/iX where it was last documented. There's where the Web connects us better than ever. What's more, the power of the Internet now gives us the means to ask Vladimir about MPE's commands and the MPEX improvements. Vladimir reads and uses email from his personal email address. It's not a new outlet, but it's a place to ask for help that you don't know exists. That's because like his product MPEX, Vladimir's help can be conceptual.

Continue reading "Find :HELP for what you don't know exists" »


Using VSTORE to Verify 3000 Backups

Card VerificationHidden, to some managers running HP 3000s, is the VSTORE command of MPE/iX to employ in system backup verification. It's good standard practice to include VSTORE in every backup job's command process. If your MPE references come from Google searches instead of reading your NewsWire, you might find it a bit harder to locate HP's documentation for VSTORE. You won't find what you'd expect inside a MPE/iX 7.5 manual. HP introduced VSTORE in MPE/iX 5.0, so that edition of the manual is where its details reside.

For your illumination, here's some tips from Brian Edminster, HP 3000 and MPE consultant at Applied Technologies and the curator of the MPE Open Source repository, MPE-OpenSource.org.

If possible, do your VSTOREs on a different (but compatible model) of tape drive than the one the tape was created on. Why? DDS tape drives (especially DDS-2 and DDS-3 models) slowly go out of alignment as they wear.

In other words, it's possible to write a backup tape, and have it successfully VSTORE on the same drive. But if you have to take that same tape to a different server with a new and in-alignment drive, you could have it not be readable! Trust me on this -- I've had it happen.

If you'll only ever need to read tapes on the same drive as you wrote them, you're still not safe. What happens if you write a tape on a worn drive, have the drive fail at some later date -- and that replacement drive cannot read old backup tapes? Yikes!

Continue reading "Using VSTORE to Verify 3000 Backups" »


Maximum Disc Replacement for Series 9x7s

Software vendors, as well as in-house developers, keep Series 9x7 servers available for startup to test software revisions. There are not very many revisions to MPE software anymore, but we continue to see some of these oldest PA-RISC servers churning along in work environments.

9x7s, you may ask -- they're retired long ago, aren't they? Less than one year ago, one reseller was offering a trio for between $1,800 (a Series 947) and $3,200. Five years ago this week, tech experts were examining how to modernize the drives in these venerable beasts. One developer figured in 2009 they'd need their 9x7s for at least five more years. For the record, 9x7s are going to be from the early 1990s, so figure that some of them are beyond 20 years old now.

"They are great for testing how things actually work," one developer reported, "as opposed to what the documentation says, a detail we very much need to know when writing migration software. Also, to this day, if you write and compile software on 6.0, you can just about guarantee that it will run on 6.0, 6.5, 7.0 and 7.5 MPE/iX."

BarracudaSome of the most vulnerable elements of machines from that epoch include those disk drives. 4GB units are installed inside most of them. Could something else replace these internal drives? It's a valid question for any 3000 that runs with these wee disks, but it becomes even more of an issue with the 9x7s. MPE/iX 7.0 and 7.5 are not operational on that segment of 3000 hardware.

Even though the LDEV1 drive will only support 4GB of space visible to MPE/iX 6.0 and 6.5, there's always LDEV2. You can use virtually any SCSI (SE SCSI or FW SCSI) drive, as long as you have the right interface and connector.

There's a Seagate disk drive that will stand in for something much older that's bearing an HP model number. The ST318416N 18GB Barracuda model -- which was once reported at $75, but now seems to be available for about $200 or so -- is in the 9x7's IOFDATA list of recognized devices, so they should just configure straight in. Even though that Seagate device is only available as refurbished equipment, it's still going to arrive with a one-year warranty. A lot longer than the one on any HP-original 9x7 disks still working in the community.

Continue reading "Maximum Disc Replacement for Series 9x7s" »


How to Employ SFTP on Today's MPE

Is anyone using SFTP on the HP 3000?

Gavin Scott, a developer and a veteran of decades on MPE/iX, says he got it to work reliably at one customer a year or so ago. "We exchanged SSL keys with the partner company," Scott said, "and so I don't think we had to provide a password as part of the SFTP connection initiation."

At least in my environment, the trick to not having it fail randomly around 300KB in transfers (in batch) was to explicitly disable progress reporting -- which was compiled into the 3000 SFTP client as defaulting to "on" for some reason. I forget the exact command that needed to be included in the SFTP command stream (probably "progress <mumble>" or something like that), but without that, it would try to display the SFTP progress bar. This caused it to whomp its stack or something similarly bad when done in a batch job, due to the lack of any terminal to talk to.

Continue reading "How to Employ SFTP on Today's MPE" »


The Long and Short of Copying Tape

Is there a way in MPE to copy a tape from one drive to another drive?

Stan Sieler, co-founder of Allegro Consultants, gives both long and short answers to this fundamental question. (Turns out one of the answers is to look to Allegro for its TapeDisk product, which includes a program called TapeTape.)

Short answer: It’s easy to copy a tape, for free, if you don’t care about accuracy/completeness.

Longer answer: There are two “gotchas” in copying tapes ... on any platform.

Gotcha #1: Long tape records

You have to tell a tape drive how long a record you with to read.  If the record is larger, you will silently lose the extra data.

Thus, for any computer platform, one always wants to ask for at least one byte more than the expected maximum record — and if you get that extra byte, strongly warn the user that they may be losing data.  (The application should then have the internal buffer increased, and the attempted read size increased, and the copy tried again.)

One factor complicates this on MPE: the file system limits the size of a tape record you can read.  STORE, on the other hand, generally bypasses the file system when writing to tape and it is willing to write larger records (particularly if you specify the MAXTAPEBUF option).

Continue reading "The Long and Short of Copying Tape" »


Paper clips play a role in 3000's guardian

The HP 3000 was designed for satisfactory remote access, but there are times when the system hardware needs to be in front of you. Such was the case for a system analyst who was adding a disk drive to a A-Class HP 3000.

BentpaperclipCentral to this process is the 3000's Guardian Service Processor (GSP). This portion of the A-Class and N-Class Multifunction IO card gives system managers basic console operations to control the hardware before MPE/iX is booted, as well as providing connectivity to manage the system. Functions supported by the GSP include displaying self-test chassis codes, executing boot commands, and determining installed hardware. (You can also read it as a speedometer for how fact your system is executing.)

The GSP was the answer to the following question.

I need to configure some additional disk drives and I believe reboot the server. The GSP is connected to a IP switch and I have the IP address for it, but it is not responding. I believe I need to enable it from the console. Can this be done from the soft console, using a PC as the console with a console # command?

A paper clip can reset the GSP and enable access, says EchoTech's Craig Lalley.

Continue reading "Paper clips play a role in 3000's guardian" »


Deleting 3000 System Disks That Go Bad

Hard-disk-headAs Hewlett-Packard's 3000s age, their disks go bad. It's the fate of any component with moving parts, but it's especially notable now that an emulated 3000 is a reality. The newest HP-built 3000 is at least 11 years old by now. Disks that boot these servers might be newer, but most of them are as old as the computer itself.

A CHARON-based 3000 will have newer drives in it, because it's a modern Intel server with current-day storage devices. However, for the nearly-total majority of the 3000 system managers without a CHARON HPA/3000, the drives in their 3000s are spinning -- ever-quicker -- to that day when they fail to answer the bell.

Even after replacing a faulty 3000 drive — which is not expensive at today's prices — there are a few software steps to perform. And thus, our tale of the failed system (bootup) disk.

Our disk was a MEMBER in MPEXL_SYSTEM_VOLUME_SET. I am trying to delete the disk off the system.  Upon startup of the machine is says that LDEV 4 is not available.  When going into SYSGEN, then IO, then DDEV 4 it gives me a warning that it is part of the system volume set — cannot be deleted.  I have done an INSTALL from tape (because some of the system files were on that device), which worked successfully. How do I get rid of this disk?

Gilles Schipper of GSA said that the INSTALL is something to watch while resetting 3000 system disks.

Sounds like the install did not leave you with only a single MPEXL_SYSTEM_VOLUME_SET disk. Could it be that you have more than one system volume after INSTALL because other, non-LDEV 1 volumes were added with the AVOL command of SYSGEN -- instead of the more traditional way of adding system volumes via the VOLUTIL utility?

You can check as follows:

SYSGEN
IO
LVOL

If the resulting output shows more than one volume, that's the answer.

Schipper offered a repair solution, as well. 

Continue reading "Deleting 3000 System Disks That Go Bad" »