August 23, 2011
Zipping Files on Today's HP 3000s
Although the code for compressing files on HP 3000s is more than a decade old, like a lot of things on the system, it continues to work as expected. A customer recently asked how to Zip and Unzip files to move things between the HP 3000 and other servers.
Tracy Johnson, who manages the Invent3K server operated by OpenMPE, noted he's using the MPE/iX Posix shell's compress and uncompress. "It creates a file that ends in capital Z. Seems the compressed format is compatible with both GNU-zip and Winzip programs or any other *nix machine."
Lars Appel, who ported the Samba file sharing tool to MPE, offers a comprehensive answer. He points to software that resides on his own development server, open to the public.
You can pick up the InfoIP zip/unzip programs (in a tar file) at www.editcorp.com/personal/lars_appel/WebKit2 The link in that webpage that contains the zip/unzip programs is
E:\WebKit2\upload\infozip.tar.Z
Transfer it to the 3000 in bytestream or (fixed) binary format and then unpack with :/bin/tar "-xvzopf FILENAME". Place the two programs where you like; I typically have them in /usr/local/bin or (with uppercase filename) in a group or directory that is part of my HPPATH settings.The web page also contains a tar.Z file with /usr/local/bin/gzip
E:\WebKit2\upload\gnuzip.tar.Z
(gzip -d decompresses; creating a symbolic link gunzip is also useful)
Posted by Ron Seybold at 12:21 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
August 04, 2011
Old veteran console tricks for PCs
Got 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.
Overheard among chatter between 3000 vets:You can connect a PC via its serial port to the console port on the HP3000, and then run a terminal emulator via the serial connection, leaving it logged on as the console. That way, using free remote control software (VNC Free) on the PC, you could even have control of the physical console (as opposed to just taking the virtual console) so that things like Control-A/B would work.
You'll need a little physical cabling help to make this work. Even though those desktop PCs are old, most of them have not had serial ports in many years. Think about it. It's all USB by now. So you buy a USB-to-serial converter. You'll need a copy of a HP 3000 terminal emulator on the PC configured to connect via the serial port.
Just make sure the PC stays up and the emulator's window is open and connected. You don't need the console buffer filling up.
Posted by Ron Seybold at 09:08 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
July 29, 2011
A Full Day of Free 3000 Networking Advice
In a flurry of under 24 hours, six HP 3000 veterans chipped in advice this week to help a 3000 manager who's weathering poor network response times. All of the consulting was free, offered though the 3000's ultimate community resource, the HP3000-L mailing list and newsgroup.
Kevin Smeltzer, an IT Specialist in MPE Systems at IBM's Global Services group, said he was watching his development N-Class responses slip into unusable measurements. "Today was so bad that test programs could not stay connected to a Quick program," he reported at 4 PM yesterday. "Linkcontrol only shows an issue with Recv dropped: addr on one path. This is a known issue with some enterprise network monitoring software that sends a packet that the HP 3000 cannot handle. Even HP last year had no solutions for that issue."
Donna Hoffmeister, Craig Lalley, Mark Ranft, Tony Summers, Mark Landin and Jeff Kell all came to Smeltzer's aid in less than 24 hours. Hoffmeister, Lalley and Ranft work support and consulting businesses, but nobody wanted to collect any fee. Summers and Landin chimed in from veteran 3000 manager status. And Kell, well, he founded the 3000-L, and headed the System Manager's special interest group for years. Like the others, he's steeped in the nuances of HP 3000 networking.
So long as the 3000-L is running, no one has run out of places to ask for this kind of help. There has been a thread of 16 messages so far, back and forth emails with long dumps of NETTOOL reports, examinations of TCP timer settings (Hoffmeister wrote an article for Allegro about this on its website), and discussion of switch port settings. "Do I need to shutdown and restart JINETD or restart the network," Smeltzer asked this morning, "to have my TCP changes in NMMGR take effect?"
The point here is not the solution to Smeltzer's problem -- still developing today -- but the careful exam he was getting from fellow managers about his 3000's condition. "I still have not heard from my network admin," he said. "This will tell me if a network change happened and port/switch changed so that the HP 3000 connection is no longer set to 100BT. This is my best hope at this time."Lalley ventured a guess after a close reading of Smeltzer's reports:
How are your gateways defined? If you change the gateway
NSCONTROL ;UPDATE=INTERNET
then you could try deleting the wrong gateway and see if it helps. I think you have a router broadcasting a wrong gateway.
Hoffmeister said the problems might be in the physical layer:
Did you change NMMGR before or after the reboot? If after, you're going to want to reboot again. Your packet loss is disturbing. I'd be suspicious of a physical layer problem.
Problems in the physical layer can be addressed by replacing parts, Mark Landin advised.
Could be a bad network cable or connector. Replace them.
Could be a bad network switch port. Connect the system to another port (properly configured, of course).
Could be a bad NIC. Swap them in the 3000 and see if the problem moves with the card.
Hoffmeister pointed back to the TCP timer issues.
On PCI (A- and N-Class) systems with 100bt cards, you're more likely to see 'recv dropped: addr' counts due to the way the card handles (or not, actually) traffic routed for a different destination.
Typically these counts are nothing to be concerned about. What is concerning are the TCP statistics. Retransmits are almost always a function of using the default (or otherwise messed up) TCP timers. Let's just say I've never seen a case where it's not.
You get the idea. Smeltzer, who's competent enough to provide all the needed reports to the 3000 community, is getting HP Support Center-grade assistance. And free. Better assistance, even, since he noted about the enterprise packet problems of 2010, "Even HP had no solutions for that issue."
This is why when our email link to 3000-L went dead for a few days (thanks, ATT) we got online to set up an alternative delivery address. More than 110 message this month devoted to HP 3000 techniques. You can sign on for the free help at 3000-L, or just read the advice, at the mailing list website: http://raven.utc.edu/cgi-bin/WA.EXE?A0=HP3000-L The NewsWire would never have gotten off the ground without 3000-L's networking with the community. Make that network one of yours, too.
Posted by Ron Seybold at 08:27 PM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (0)
July 22, 2011
It's time to change your 3000 timers
Allegro Consultants has offered a new white paper that deals with an old and common issue of 3000 management: TCP timers. The support company's Donna Hoffmeister, who has posted a passel of tips about 3000 administration on the 3000 newsgroup, wrote A Discussion of MPE TCP Timers. These timers are a management subject every 3000 owner should discuss with their admin folks. They establish how quickly your system responds to network traffic calls.
Hoffmeister's paper sets out the recommended values for the modern era. HP 3000s have been useful for so many decades that it's easy to overlook some of the fundamental assumptions at the heart of the MPE environment.These values control how a 3000 reacts in the event it needs to re-send (retransmit) a packet ("chunk") of data over a TCP/IP network. These values were established at least in the MPE V days (and possibly before that) – back when only big, important computers were trying to talk to each other. (Unlike today, when even your refrigerator thinks it needs to "yack it up" over the Internet!)
The important thing to understand about these values is that they are perfectly fine and do not need changing because they are never (or rarely) used on an optimally-performing network. However, given that
1. These days, networks rarely perform optimally, and
2. HP Network Engineers described the above values as "way out of whack"you should change your TCP values.
Allegro's president Steve Cooper reminded us that the new White Paper from his company is part of a collection of MPE and HP 3000 help at the firm's Papers and Books web page. Advice there includes repairs for aborts and hangs on HP3000s, and even a paper on HP-UX system panics. The company is committed to providing support for 3000s through at least 2016.
Posted by Ron Seybold at 01:29 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
July 14, 2011
Community considers upgrading essentials
Secure transfers of HP 3000 files, as well as the ability to compress and decompress them, remain projects in need of technical help. A Secure FTP functionality (SFTP) is still short of production-grade release by some managers. Using ZIP to squeeze and unsqueeze 3000 data requires a 14-year-old piece of software.
On the FTP front, a decent set of files and documents once was available on the Invent3K server which HP operated until 2008. Ken Hirsh did that work on OpenSSH, which is essential to making SFTP more useful on a 3000. But Invent3K operations and contents were transferred to OpenMPE recently. Hirsh doesn't have an active account on the new version of the server.
ZIP needs help as well. The current version of the industry default for compression has had several updates since 1997, but none have been ported to the HP 3000. Some managers at multi-3000 sites still use ZIP daily, and an upgrade (which by now would really be a port) will help compress and decompress files bigger than 2GB. That's how old the 3000's ZIP is today; IMAGE jumbo datasets to go beyond 4GB arrived in 1995.
System managers of the 3000s report they are willing to develop -- or pay an outside party -- to bring these industry standards in line with more modern verions. Independent developers, or the originators of the older ports, are available in the community to help, too.
ZIP was last ported to the 3000 by Neil Harvey & Associates, one of the seven holders of MPE/iX source code licenses. The most current version managers are seeking for ZIP is 3.2.2.FTP issues are more complex, but there is also more on the table to use for the security that can satisfy auditors. Brian Edminster, the community's specialist in open source software for the 3000, said "SFTP clients are available for MPE/iX, and work fine on v7.5. You can contact me if you’d like to discuss how to get a copy of your own. I’ve had extensive experience with the SFTP client, and some with the SCP [network file transfer] client. Both work remarkably well, although there are some quirks it helps to be aware of."
Today's limitation on securing file transfers is that the 3000 must originate the transaction. Edminster explains that "This can make for some process redesigns if your existing applications are used to your 3000 being the server. And no, jinetd doesn’t need to be running for SCP or SFTP to work."
SCP needs OpenSSH on MPE/iX to perform its transfers, but only an initial port was done by Hirsh, who was doing the work for free. Edminster says the ported software runs on MPE/iX 7.0 and 7.5. The port included the ssh command line client, but it had very limited functionality, he added.
It also included the client components SFTP and SCP, as well as a random number generator written in Perl. This last piece is necessary because the random number functions under MPE/iX aren’t very random. At least, not as far as serious cryptography is concerned. This Perl script (modified by Ken to run on MPE) was originally written by others to get round not having a kernel based entropy source for their systems either. Poor quality random number generation is not just a MPE/iX issue.
The 'server' components (sshd, sftpd, and scpd) were never ported for reasons that Ken could possibly explain. It might have been something as simple as he didn’t need them. From my perspective, I’m thankful that Ken did the port in the first place. I have installed his OpenSSH port many times, and even tightly integrated it with legacy applications. SFTP is still in use many times a day with those applications, and since first installed several years go -- has safely and securely transferred terabytes of data, with no clear end-date for this application’s life.
Hewlett-Packard opened the door for this kind of community porting when it included much of the software required for creating an installable version of things like OpenSSH in MPE/iX. It should also be available from non-HP sources by now. That's an issue for OpenMPE to take up. At the moment these volunteers are hosting contributed 3000 software (the CSL) and charging access for development accounts on Invent3K. Locating and hosting the open source work is a mission the community could embrace.
Posted by Ron Seybold at 03:26 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (1)
June 27, 2011
Must-have firmware, patches for 7.5 install?
We have just started up a new A-class 2-way running 7.5 PP5. This system is configured with 4GB RAM, a VA7410 running off two PCI FC Host Bus Adapters, one DTC 16, and two SureStore DDS-2 tape drives running off the LVD SCSI interface. SUBSYS products consist of NS, COBOL, and FORTRAN. We do use FTP, incoming and outgoing. We will probably start using Sendmail for a few things (as an old Unix admin, I respect Sendmail, but do not fear it!) Our primary use for this system is MANMAN with around 170 users.
Our third party portfolio is the usual: Suprtool, MPEX, Minisoft ODBC, and Adager, plus some other odds and ends. So, for this kind of system, what are the “must have” patches that we should install on top of PP5?
After Gilles Schipper assured the manager that "PowerPatch 5 should be all you need," Jack Connor replied:
You may want to check the PDC firmware level. I believe the Fiber Channel patches found in 43.43 for the N class are in 43.50 for the A. You can see the PDC level at the boot menu.
Do you have an HP-UX or Windows box with Command View set up to monitor the VA? It's very advisable, as you can do a lot of drill down if you have problems and all can be remote to the system. Did you configure High Availability Fail Over (HAFO)? You may want to offload the CIO network interface card with a standalone 100Bt card and leave your DTC on the CIO.
Craig Lalley added:
Yes, MPE can do HAFO. What I do is configure all the odd LUNs down one path and all the even LUNs down the second path. Then SYSGEN IO HA , and then create the secondary path. It works on the VAs because all the LUNs are seen down both paths.
Lalley added that firmware will be an important part of configuring such a system.Don't forget to put the correct firmware on the VA7410 controllers and disk. To update the firmware, CommandView is required.The latest firmware bundle (that I know of) can be found at HP's Biz Support website http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=316166&prodTypeId=12169&prodSeriesId=89018&swLang=13&taskId=135&swEnvOID=54
HP's Jim Hawkins says that HAFO was built for the any SCSI disk device where a manager can see LUNs on more than one port. But HAFO really wasn't useable until Fiber Channel took off on the 3000s.
Original HAFO was with XP256 F/W SCSI, but that was a pretty clunky device even when it was “state of the art”. HAFO really didn’t become useable until FC. I lead the FC-based effort and we did all of our work on XP and then VA devices, because they were what worked at the time; those are the configurations that were officially supported, blessed, and used successfully by many customers.
We did evaluate EVA [storage] products and they did “work” as disks, but they didn’t have this “LUNs visible on more than one path” feature until way too late for lab development and certification. HAFO probably would work on EMC, though our co-development/marketing agreement with them had terminated by the time HAFO was developed. They did continue to advertise support for MPE/iX systems long after we stopped working with them.
Posted by Ron Seybold at 08:00 AM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (0)
June 15, 2011
N-Class price, storage advice points at value
While we were trolling our files for news about the HP 3000, we found a note about this year's cost of the N-Class HP 3000 servers. The ultimate HP 3000 ever built by the vendor, used as a spare parts unit or a hot backup for a production machine, sells for $3,000-$8,000 from one supplier. That's the price for a server that's got a pre-loaded version of MPE/iX, but the license is up to you to arrange. The $8,000 N-Class was listed as the most powerful (750 MhZ), sporting three processors.
On the other end of the useful 3000 power scale, the Series 927LX -- almost the smallest PA-RISC HP 3000 ever built by HP -- is still in use in the field. Chuck Trites asked this week if a DLT tape drive could be installed in this server that was designed in the early 1990s.
"This is not a problem as long as you have a free slot, or an open 28696A fast-wide card," says Jack Connor of Abtech. "I believe you need to be on MPE/iX 6.0 or 6.5 to go with a DLT8000. I'm sure a DLT4000 and probably a DLT7000 are okay." Larry Kaufman of legal firm Weltman, Weinberg and Reis reports that the 28696A IO card is easily obtained, a double-high interface device that permits the 927 to use HVD SCSI DLTs of 4000, 7000 or 8000 models.
HP 3000 managers trade this kind of configuration experience often, usually bolstered by independent support companies like Gilles Schipper's GSA. Schipper adds that some DLT4000s have a Single-Ended SCSI interface if that 927 doesn't have a spare full-height slot.
You might miss one point of this set of exchanges. At one end there's a 20-year-old server still working in a production setting. At the other end, the most powerful 3000s sold by HP are now less than $10,000, at least in a spare-parts or hot DR offering with your own licenses. There's value available for a server HP hasn't built in more than seven years, if you know where to ask for help.
Trites, who runs a consultancy that serves 3000 managers and sites, created a tape with a DLT4000. "What I need to do is restore the databases on the tape to my system for a project. I only have a DDS drive, and don't know if it's worth trying to install a DLT drive or not." Mostly, that would depend on the price of the DLT SE-SCSI wOther 3000 IO advice is being offered on balancing file allocations by duplicating a DISC class in SYSGEN. "I want to put an 18GB drive on LDEV 1 and a 9GB on LDEV 2: DISC twice on LDEV 1 would seem to be good to do this," says John Pitman. "I tried to do this in SYSGEN, but it said it was already there."
Schipper explains:
That used to be a good technique in the pre-MPE/iX and MPE/XL days. But it’s not necessary any longer. MPE will naturally choose whichever disc has the most free space for its file disc space allocation.
And there is also a special allowance for LDEV 1 to ensure it does not prematurely fill up. You can control some aspects of disc utilization via the permanent and transient percentages that can be manipulated via VOLUTIL.
Craig Lalley of EchoTech notes that the VOLUTIL commands are
ALTERVOL MPEXL_SYSTEM_VOLUME_SET:MEMBER Perm# Trans#
HP's own Jim Hawkins, a longtime engineer in the IO labs for the 3000, offered his insights on how MPE/iX uses its algorithm to balance the allocations.
I poked around in this code as part of the "Large Disk" patch set. The algorithm is based upon percentage full -- that is, we pick the disk in the set with lowest percent full. Note though this does have a disadvantage that if your volumes are very different sizes as you may bottleneck or serialize lots of IO to the larger disks.
MPE does do better when disks are matched in size. Also, the original algorithms were designed when 4 GB was a really big disk, so were granular to 1/100. With one of the Large Disk patches, I think I made that 1/10000 -- otherwise you'd have to add 3GB of files to a 300GB disk before you'd move to the next volume.
Posted by Ron Seybold at 09:13 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
May 16, 2011
3000 gains new function via migration work
Keven Miller of 3kRanger is doing migration work for a customer, but his labors have delivered a new function for the 3000 namespace of the HP 3000. HP added many useful functions for the server after the Posix introduction of the mid-1990s. But since some programs don't run from the Posix namespace, Miller needed to make a faithful replication of the putenv() for the 3000 namespace. putenv() changes or adds a value to an environment's variables.
You can download Miller's work for use on your 3000 at his website. "I found that the provided LIBC.LIB.SYS (MPE/iX 6.0) does not provide a putenv() function. So to whomever it may be useful, you can get one under MPE Software, in the MPE issues in libc section. Now this can work in the MPE programming environment as well. Besides putenv(), there are also a couple fixes for sleep() and abort()." Miller explains further.
"The CI already provides SETVAR to set and change variables," Miller said "similar to the export command in Posix or other Unix-type shells. putenv() is a library function to give programs access to the environment variables." He cited the ANSI-C specification.HP's Cathlene McRae noted that putenv() is a Posix function. In Posix, the environment is part of each process. In MPE, the environment is part of the job or session which allows all your processes access to the variables.
ANSI-C describes a getenv() function that retrieves environment variable values and is included in the MPE C library. It uses the HPCIGETVAR intrinsic to do so. However the putenv() function is not part of ANSI-C** and so I suppose that is one reason why it was left out.
A large part of migration projects I'm involved in is testing, to make sure the new environment works the same as on MPE. Therefore I attempt to make my code run on both environments. In this case, some built in runtime debugging code used putenv() which I happened to put back onto MPE for testing. I need to do this in the MPE environment, not Posix, since I'm working with MPE programs for migration.
So I put together a putenv() that uses the HPCIPUTVAR intrinsic; making a good match for the exiting getenv() function.
The definition of getenv is designed to accommodate both implementations that have all in-memory read-only environment strings and those that may have to read an environment string into a static buffer. Hence the pointer returned by the getenv function points to a string not modifiable by the caller. If an attempt is made to change this string, the behavior of future calls to getenv is undefined.
A corresponding putenv function was omitted from the Standard, since its utility outside a multi-process environment is questionable, and since its definition is properly the domain of an operating system standard
Posted by Ron Seybold at 08:35 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
April 28, 2011
File transfer backup tips flow off HP's forum
Relying on HP for 3000 support is becoming a gamble and a gambit. One of the spots to place a bet is on an open forum run by Hewlett-Packard's support team. A recent quest for FTP techniques reveals yet another place where independent experts share MPE/iX answers.
The question was how to use FTP to ensure a safe backup of 3000 data. In this case it was a KSAM XL database, but the manager didn't know that his FAK files were HP's special Keyed Sequential Access Method database files. "What appears to be program files are moved over," he said, "but database files get left behind. How do I get these files over to our Windows server?" This 3000 is running MPE/iX 6.0, so there's more than just management experience missing from this server, since 6.0 is more than 10 years old.
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. (There are tools like Orbit Software's Backup Plus to do this, updated and supported in a way that STORE or HP's TurboStore subsystems will never be supported again.) But if a machine is stuck on 6.0, it's probably going to have only the budget to tap included HP software for file backups and transfers.
Donna Hofmeister, whose resume helping 3000 users occupies a vast chunk of the 3000-L newsgroup archives, suggests starting with mystd to store the files to disk -- then transfer the STD file. The advice arrived from a source that won't see a forced shutdown, or a portal migration, like HP's. The answers came from your community.
"First try this little experiment," Hofmeister began in her answer.file mystd;dev=disc
store a@.pub.sys;*mystd;show
if it works, you just stored/archived all the files that begin with 'a' in the .pub group of the .sys account into a file called 'mystd' (my store-to-disc). You can expand the number of files being stored into your STD file by modifying your store command to:
@.pub.sys -- all files in .pub.sys
@.@.sys -- all files in .sys
@.@.acct -- all files in .acct (for example)
@.@.@ -- all files on the system (and it's actually better to say '/' instead of '@.@.@')
Keep in mind that as you increase the scope of what your storing, so does the size of your STD file. In other words, to store the whole system you need 50 percent or more free space , which you probably don't have. So, break what you're storing into chunks (do one account at a time) and things should go smoothly.
If STD doesn't work, you might be able to get tar to work. The same space precautions apply. One advantage of using tar is you should be able to verify the tar file on the destination system -- something you can't do with STORE without a 3000 in the mix.
Chris Bartram, who still operates an information treasure-house in 3k.com, added explicit advice about FTP and the 3000's files.
If you package all the MPE files up in either a store-to-disk (aka std) or a tar "wrapper" (disc file) you can transport that file around at will -- as a BINARY file -- don't try to transfer it as ASCII or CR/LF translations will trash it.
Once you get it back on the 3000, a simple file equation directing your source (tape) to the new (std) file name (and add the ;DEV=DISC to the file equation) will allow you to restore the files onto the 3000 preserving all the MPE specific file attributes they started with. Tar will work similarly for almost all MPE files, but can't handle database/PRIV files and probably not MSG (message) files and a few other very MPE-specific files.
tar works the same way on MPE as on *nix boxes. But is much more "familiar" if you run it from the Posix shell (sh.hpbin.sys), though that's not necessary. Treat the tar file just like you would on a *nix box.
For store-to-disc files, you use the same MPE syntax for storing files as you do normally; the only difference is that the output device is file-equated to ;dev=disc. As mentioned, be aware of the disc space required to store another copy of your backed-up files online.
Likewise, when you restore instead of pointing to tape, you point to the disc file -- and don't forget to add ;dev=disc to that file equation as well. If the store-to-disc files are going to be very large (several gigabytes) you can use some additional syntax to break them into chunks - but hopefully you needn't worry about that for now.
Treat a store-to-disc file just like a tar file. Record size and most other attributes aren't so critical, but if you move it around do NOT let FTP transfer it in ASCII mode or it will corrupt the file.
As for examples; I back my primary HP 3000 up to a disc file then transfer (FTP) it to a Linux server. Here's the gist of my JCL:
!FILE t=FULLB.PUB.BACKUP;DEV=disc
!CONTINUE
!STORE / - /BACKUP/ ;*T &
! ;SHOW=SHORT,dates,path;progress=5;directory;tree;&
! onvs=MPEXL_SYSTEM_VOLUME_SET,WORK;STATISTICS;COMPRESS=HIGH
!ftp.arpa.sys
open ftpserver
user userid password
del hp3000-full
binary
put FULLB.PUB.BACKUP hp3000-full
quit
Bartram hoped his answer helped the manager handling a 6.0-vintage HP 3000. HP's now got few unique resources to solve these problems. Most of these answers can be found on the 3000-L list, where both Bartram and Hofmeister have been regular contributors. HP's said this week that its IT Resource Center forums will remain open to everyone, even after the migration to the new HP support portal is enforced on June 1. If the vendor changes its mind, it's comforting to know there's a community resource to surpass HP's answers.
Posted by Ron Seybold at 02:05 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
April 14, 2011
3000 can listen for less to link with printers
We want to use a Ricoh Afficio printer with npconfig on the HP 3000. However, we do have an HP LaserJet that could be used. What I recall hearing is that the Ricoh can work -- but the HP LaserJet, not being a foreign printer, would be easier to use. True?
Jeff Kell of the University of Tennessee at Chattanooga replies:
If you are using real HP network printing without any third-party bells and whistles, the HP software is expecting to output something to a device along the lines of a JetDirect card or a networked Laserjet III/IV, and not much else. The 3000's MPE/iX generates fairly straightforward PCL output directed at TCP port 9100, has a rudimentary knowledge of SNMP status reports from a LaserJet/JetDirect. Later versions attempted some PJL handshaking in order to synchronize headers, print, trailers, and some error recovery.
So everything worked exactly as expected/planned, but for a very narrow window of time and hardware.
With that said, if you disable PJL (pjl_supported = FALSE), it eliminates many problems with earlier LaserJets and third party PCL-compatible printers, and now you're strictly dealing with fairly straightforward PCL.
There was a later "turn off PCL" option (pcl_enabled = FALSE) but I never had a run at that one to know just how generic that made the driver.
We have some Ricoh multi-function devices on campus and have done some bulk printing to one before (not sure of the exact model.) But the 3000 had no issues with it after suitably neutering the MPE print configuration.
Posted by Ron Seybold at 10:59 AM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (1)
April 04, 2011
Keeping a 3000 on the Network
With most HP 3000s more than 10 years old by now, the internal components might be subject to failures. It doesn't happen often to anything but a disk, but any electronic part can go belly up on you. We liked the advice applied when a seasoned manager found his Network Interface Card (NIC) unresponsive on his 3000.
I have a NIC that appears to be down (no blinky lights). When I tried to restart the LAN configured to it, I got the console message in reply to my restart command below:
/SYS/PUB%>NETCONTROL START;NET=LAN3
Encountered one or more errors while processing command. (CIERR 4436)
/SYS/PUB%>** NETXPORT Control Process : BUFFER MANAGER; Buffer manager error
- Loc: 45; Class: 2; Parm= $FFE300C9; PortID: $FFFFF78E
Does this appear to be software or hardware related? In other words, if I power down the HP 3000 and bring it back up, will the card wake up or remain dead?
Donna Hofmeister of Allegro replied:
Using NMMGR, check the configured packet size for the affected link. In particular, look for a packet size of 8224, which may indicate the NMCONFIG file has been corrupted, probably by an incompatible version of NMMGR. If the packet size is configured correctly, then depending on the error, it is possible too much frozen memory is being used by the system, but this can change with time. Use GLANCEXL or a similar utility to check memory usage by the system.
Use of the LINKCONTROL command can at least show if the 3000 can see the apparently dead hardware.Mark Ranft of Pro 3k explains:
LINKCONTROL @,all
Or more specifically...
LINKCONTROL LAN3,all
3000 manager (and Invent3K DR system admin) Tracy Johnson posed the question. Before he asked for the techniques to test, he explained his solution. "I solved the problem by swapping the IP with an unused NIC and doing a NETCONTROl START on it."
But if you're starting to solve this kind of problem with no unused NIC on hand, knowing the diagnostic process is the best first step to keeping a 3000 on the network
Posted by Ron Seybold at 11:27 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
March 14, 2011
Architecture Toolbelt Emerges for 3000s
When Connie Sellitto of the American Cat Fanciers' Association (CFA) asked for help preparing for a migration, the 3000 community hacked out suggestions and pointers. But much of the toolset designed to identify what's to be migrated off a 3000 can also be put to use in sustaining projects. Sustaining is what a manager should be doing to homestead, if they are not migrating. As the word suggests, sustaining is an activity that goes beyond glancing at a console to see if the 3000 is running, plus ensuring there are enough backup tapes.
The advice from 3000 managers and experts was aimed at Sellitto's deadline of tomorrow; she needs to present a "wireframe" diagram of the system's database architecture by March 15. The document will go into the hands of a web design company the CFA's board has chosen, one which has won the right to migrate its HP 3000 to a Windows environment.
Wireframe is architectural terminology for the map of website design, page by page. In the environment at CFA, databases and applications take the place of website pages. Alan Yeo of ScreenJet, which has built the EZ View modernization kit for 3000 user screens still in VPlus, said the ubiquitious PC tool Visio that Sellitto was learning quickly might be overkill.
If you have Adager/Flexibase/DBGeneral, or already have a good schema file for the databases, just generate the schema files and import them into Word or Excel and give them to [your migrators]. If they can't put together the data structure from that, no amount of time you can spend with Visio is going to impart any more information.
A schema file isn't difficult to understand, and if they can't, there isn't much you can do to help them.
Yeo added a few pointers on understanding the schema file.
A Primary Key is a sorted key, and indications that a specific numeric has (n) implied decimal places should be the most they should need, plus a couple of pages from the IMAGE manual that describe the data types. IMAGE structures aren't complex.
But 3000 consultant and developer Roy Brown wrote us to advise further, with detailed pointers on how anyone who needs to chronicle and maintain the architecture of a 3000 can get the job done -- whether they're migrating, or sustaining.
Visio (Professional, let's hope they gave her Professional) can read the details of a SQL database and produce a visual schema automagically, so it's not like she's got to chart them manually. And standard HP 3000 tools let you generate SQL views of TurboIMAGE databases, for Visio to chomp on.The SQL extensions to IMAGE are covered in the HP Communicator at docs.hp.com/cgi-bin/doc3k/B3021690178.13563/65
Brown added that IMAGE/SQL specifications, to help train any migration contractor, are also online at HP's 3000 web pages.
It's been a while since I used these tools, but they let you work on TurboIMAGE databases as if they were SQL ones. We were using them to pull data into Business Objects.
I recall using one of the tools (IMAGESQL) to even extend the definitions of the items, so the SQL access would know how many decimal places numeric fields had, something not held in IMAGE schemata. All these tools run on MPE, on the HP3000.
With all the above defined, you can then use the supplied ODBC client on a PC linked to the HP 3000, so that ODBC-compliant programs 'see' a SQL representation of the TurboImage database, and can work with this just as if it was a SQL one. Birket Foster (whose company created ODBCLink/SE) will probably know a great deal more about this than I do. And also in what ways his paid-for ODBCLink is superior.
But if I recall correctly, you configure things so the ODBC-compliant program on the PC knows: to use the ODBCLink driver; where the HP 3000 is (IP address or hostname), and how to authenticate -- and away you go.
Visio has free and open source competition, software which HP support veteran Lars Appel pointed out. "Perhaps Visio has similar 'database graph' features such as free or open source tools like dbVisualizer or SquirrelSQL."
Stan Sieler of Allegro noted that "You might look at our DBHTML product, with example output on our website, although it doesn't draw pretty pictures."
Sellitto checked back in on the 3000 newsgroup and reported some progress, but her migration contractor really seems to want those diagrams.
The SCHEMA file produced by Adager and/or FO from QUERYNM provides sufficient detail as to the tables (datasets) and fields (items) of an IMAGE database. I have provides these, along with an explanations such as ‘X6’ means a ‘char’ of 6 characters, ‘search item’ would be an ‘index’ and so on. In addition, I provided narratives of what each ‘table is used for, FO listings of representative records, and screen shots of how our users access the data. Should be sufficient -- and they seemed to indicate an understanding.
But now, with a few days before they visit our office, they have again requested the diagram approach.
Denys Beauchemin, who's written database tools for the 3000, wonders if automating these architecture layout tasks for 17 database is really worth the learning curve -- especially on a one-time, leave-the-3000 project.
You’re spending an enormous amount of time trying to make tools work. If this was something that would be ongoing, I can see spending the time for that, but for a one off thing?
I would sit down with the schemas and some paper and simply draw the two-level diagrams with a pencil, showing the links between master and details. Then I would simply scan the papers into a PDF file and call it good.
Beauchemin's opinion shows where a sustaining project could benefit from architecture automation, while a migration project won't enjoy the same payoff.
In a final test, Yeo worked with Visio and other tools and has broken down the process to show the architecture of 3000 databases.
The only databases and tables that I could access are those set up in the SQL DBE definition. So if you haven’t gone through all that work in the first place then its a non starter. As far as I can see the DBE only contains information about the datasets that someone has chosen to add (or probably that is make available via a view). When adding the databases' datasets to the DBE, if only the default item mappings were used, then all you are going to find out is that an item is char or numeric -- but you would have no idea about "date" types or decimal places etc. So again, not much good if you're trying to provide a data structure description.
Anyway, 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.
Go into QUERY, open the database just do an "FO" it will tell you everything about all the items, all datasets, all indexes, paths etc. Do a select all, copy, go into Word and paste. Then if you want to be really helpful, go through the item defs and mark up if they are a date format, of if numeric how many implied decimals. Oh, and if you're using a char as a numeric, or you have a field overloaded with undescribed children, that is probably the most useful info.
Posted by Ron Seybold at 02:59 PM in Homesteading, Migration, MPE's Hidden Value, Users & Reports | Permalink | Comments (0)
February 28, 2011
Start getting ready for IPv6
IPv6, the Internet address protocol for the future, is among the technologies that MPE/iX will not support this year. This Version 6 of software that routes Web traffic was among those that OpenMPE was considering when it applied for its license for the MPE/iX source. It was suggested back in 2008 that a contract project might have revised the 3000's networking to accomodate the new protocol.
But native support for IPv6 networking won't matter as much as some 3000 managers expected. Although the 3000 was prepared to do DNS service, the vendor didn't build a patch in 2009 to eliminate a security hole in DNS for MPE/iX. That's bedrock technology for Internet protocols, so it would have to be made secure. Much of this kind of routing for 3000 shops takes place on external PC systems today. You can even make an older Windows XP box do IPv6, according to Paul Edwards, a former OpenMPE volunteer who's a training resource for the 3000 community.
The new networking will become much more essential to an IT operation this year. Earlier this month the Internet Assigned Numbers Authority issued the last block of IPv4 addresses. Another organization, the American Registry for Internet Numbers (ARIN), advised that companies that do business over the Internet should support IPv6 on public-facing Web serversor Web services by Jan. 1, 2012 or risk losing potential customers.
Edwards sent us a note this month that outlines a simple process to enable IPv6 on Windows XP -- which despite being as discontinued at Microsoft as MPE is at HP, continues to drive the majority of PCs worldwide.You may have heard the news: the world officially runs out of IPv4 addresses this month. But never fear. IPv6 is here... well, sort of.
Many companies are converting their networks to IPv6 now, and Windows 7 comes with built in support, but what about those who are still using Windows XP? Luckily, it’s easy to install the IPv6 protocol on your XP machine. Here’s how:
1. Click Start | Run
2. Type cmd to open the command prompt window.
3. At the prompt, type netsh and press ENTER
4. Type interface and press ENTER
5. Type ipv6 and press ENTER
6. Type install and press ENTER
This installs IPv6. You can confirm that’s been installed by typing, at the command prompt, ipconfig /all.
You should see an entry under your Local Area Connection that says “Link-local IPv6 Address” and shows a hexadecimal number, separated by colons. That’s your IPv6 address.
There's a lengthy technical article about building a Linux-based lab PC to do IPv6 testing up on the InfoWorld site. That process involves installing Vyatta Core, a distro of Linux which supports IPv6 by using "a wide variety of routing protocols, including OSPF and BGP."
Edwards said he's enabled IPv6 on his XP systems, and hasn't encountered any conflicts with websites using the new protocol on XP.
Posted by Ron Seybold at 01:52 PM in Homesteading, Migration, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
February 07, 2011
Need a little 3000 disk? Go to the web
HP 3000s have a storage legacy to endure: SCSI, the IO interface that HP did not advance for the servers in the prior decade. Finding SCSI replacements for 3000s was supposed to be harder by now. But like any prediction about the death of technology, the reports fall short of reality. You can find what you need on the Web.
Disk drives are the most likely parts of an HP 3000 to fail, being just about the only moving part in the system. (Tape is the other.) Disks from HP are available from independent resellers, but are still more costly than more recent vintages of storage peripheral. When you browse the Web and see a 1 TB disk for $150, you might wonder if there's a chance to use that kind of device in your HP 3000.
By many experts' testimony, there's a good chance that an under-$100 drive will boot up your HP 3000 just fine. These older 3000s use pretty small disks, so the costs of replacement are small, if you go outside HP's inventory. HP stopped selling and making SCSI-2 drives long ago.
If a little drive is all you need, how can you be sure you're buying something that works with the 3000? Years back, John Burke wrote an article for the NewsWire explaining how to do it. HP replied at the time with its set of sensible reasons why the HP-firmwared devices are worth the extra cost. These Low Voltage Device units, long in the tooth, are making homesteading customers look at replacing their 3000 disks that are eight, 10, even 15 years old.
3000 storage experts like Denys Beauchemin have years of evidence that HP's disk standards have not been essential for reliable 3000 service.
I have been using non-HP firmwared disk drives in my HP 3000 for over 10 years now. "SCSI is SCSI," and as long as you can get your hands on a 50 pin SE or LVD disk drive, or if you can get a converter from 68 PIN to 50 pin you should be good to go.
Or if you would rather have something with a newer manufacture date than 1997 (that's so last millennium,) pick up any current (or at least 21st century) LVD-SCSI drive and get a 68-pin to 50 pin converter and have at it.
The converter can be had at granitedigital.com, where Granite Digital Part 6980, 80 SCA to 50m IDC (no termination) runs about $40.
Research on SCSI requirements is best started at the SCSI FAQ. Adaptec's website has good information, too. Allegro's Stan Sieler once posted a comprehensive list of Seagate's disk ackronyms for their drive interfaces. "Seagate drives indicate their interface via the one or two letters at the end of the model number."
LC Low Voltage Differential, 80-pin SCA
LCV Same as LC, but with an increased cache size
LW Low Voltage Differential, 68-pin Wide SCSI Connector
LWV Same as LW, but with an increased cache size
N SCSI, 50-pin Narrow SCSI Connector
DC Differential, 80-pin Single Connector Attachment (SCA)
ND Differential, 50-pin Narrow SCSI ConnectorThen, the high-voltage differentials, (HVDs) which can't be used with a simple adapter:
W SCSI, 68-pin Wide SCSI Connector
WC SCSI, 80-pin SCA (Hot Swapable)
WD Differential, 68-pin Wide SCSI ConnectorSo as an example, a Seagate ST318404LC (Cheetah 18GB 10,000 RPM) has a low-voltage (LV) 80-pin interface. Coupled with the converter, it can work with a Series 918 to replace original drives, if you use the original drive cable in the 3000.
Even today, it's simple enough to find a Seagate ST318404LC. Amazon lists the drives new at $74.99
Beauchemin has offered an interesting history of these interfaces:
SE-SCSI is very old (20-plus years) and was almost the original SCSI. It stands for Single-Ended SCSI. Speed is 5 MB/second and the cable can’t be very long, 6 feet or less.
Then came UltraSCSI or HVD-SCSI. The speed was up to 20 MB/second (or even 40, but I’m not sure.) The good thing with HVD is that you could go long distances, 25+ meters with it. It uses the difference in voltages between pins, whereas SE SCSI uses absolute voltages that are very low to begin with. If you remember RS-232 and RS-422, it’s the same principle here. RS-232 was based on signals having a (low) voltage and no voltage and RS-422 was based on the differences in voltage between signal pairs. Which is why RS-232 was certified for 50 feet and RS-422 could go thousands of feet. It’s all a question of resistance and signal attenuation.
However, it seems that HVD had a speed limit associated with it, perhaps that speed of light thing. Also, as devices became (much) smaller, the need for long distances went down or was better addressed with fiber optics which is insensitive to stray electrical signals.
So, SE came back in vogue, but this time as LVD or Low Voltage Differential. When you plug a single-ended device in an LVD string, all devices, including the host bus adapter, drop down to SE signaling and to the speed of SE-SCSI. So, as long as you can account for the 50 pin to 68 pin thing, either with a cable or an adapter, LVD and SE devices can co-exist, at SE speeds.
LVD hasn't disappeared. Back when Jazz was online at HP, the vendor recommended in a white paper the supplier Rancho SysTech -- which today is still selling adapters to bridge this gap from the 900 Series 3000s that use HVD drives to the more-available LVD drives.
Posted by Ron Seybold at 10:47 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
January 26, 2011
PDF techniques span integration skills
HP 3000 experts and veterans recently swapped 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 to getting a report into PDF format and out to Windows is probably Hillary Software's byRequest (called a slick solution by Dave Vogt of Miller Compressed Air Company) there are other commercial solutions -- and a raft of bolt-together techniques you might try if you've got very limited budget to homestead.
Bob McGregor reported:
We used 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, added:
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 WinTel 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...)
Another vote came in for the Advant/X software from Tracy Johnson, the OpenMPE volunteer who's built up the Invent3K shared server. Johnson noted that the STR Software product "while intended to convert spool files and then e-mail or fax them, I imagine it can be used short of the transmission process
John Pitman combines an off-the-shelf FTP solution from a departed vendor, Whisper Technology, with a good deal of original integration.
Nominate a spooled ldev as always suspended (74 in our case - arbitrary). Users can choose this device as their printer in their Menu, and all subsequent reports (until changed to another real printer ldev) will go to these device, and therefore NOT physically print. Some reports that are commonly used to import to excel have been modified to make headings tightly lined up with the data columns, and only print one page heading, to ease the import process.
Run a job on 3000 that every few minutes scans for spoolfiles for this ldev, copy them to posix space specific to 74(for generality), with the creating user and account in the file name(eg mgr_stock_O12345.txt), delete the original spoolfile.
We use a product called Bullet Proof FTP Server on Windows - this provides FTP user/password secured access to directories . Last time I looked this was a bit hard to find, but was free in at least one version - it came out of Whisper Technology.
A scheduled program on the windows box (every minute!) FTP connects to the 3000. When it finds a spool files as above example, it checks for a windows destination dir of MGR_STOCK , and copies the file to it as O12345.txt, and deletes the 3000 copy of the file. The account name enables segregation of reports for different applications in our case. If the file is > 1MB(arbitrary size of your choice, designed to reduce network loads when the file is downloaded by the user), its zipped. It could as easily be converted to any desired form - pdf via cutepdf? It could aslo readily email the output to a user, given access to a mail server, and a way to develop the email address.
Users have a client to access the FTP server and obtain their .txt or .zip files
This has been running for at 10 years now, with almost no issues. Occasionnally a large file might hang ftp, but cancelling and restarting the copy usually fixed it. I have seen report selection errors produce 500mb txt files.
You might use several suspended ldevs for different types or groups of users. We run this on four 3000s in different locations, each with their own separate windows boxes using BP-FTP server. This means that users in Oz can run a report on the Houston or China system to the local printer 74, pause, connect their ftp client to the relevant ftp server, and download the report without having to print it.
The process also enables soft storage of month end reports , which can be very useful for comparative purposes, auditing , and general historical reference - we now have about 8 years of this information stored , with backups and CD copies. Much more compact than paper, and cheaper!
Posted by Ron Seybold at 04:14 AM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (1)
January 12, 2011
Tape drive controls lead to Looney Tunes
Autochanging tape drives used to be the stuff of science fiction among 3000 managers, but those days passed by before HP cut off making its Classic 3000 MPE V systems. Just because an autochanger is a standard storage option does not make it automatic to program, however.
A question posed to the community by systems manager John Pitman of RYCO Hydraulics reached for help on "programmatically controlling such autochangers -- to select a slot, and load the tape and come to ready." Advice is at hand, including a detour to a Looney Tunes classic. As it turned out, Pitman didn't need his programming, but the advice can make some autochangers toot smoother.
HP's pass-through SCSI driver came up in some advice. The software built by HP's labs and "not for the faint of heart" can assert a program's control over autochangers, although third party programs such as the Orbit Software Backup+/iX do this work. If you've never seen an autochanger at work, OpenMPE's Tracy Johnson pointed to great theme music, a tune called Powerhouse you will know as soon as you hear it, if you've ever watched a Warner Brothers cartoon.
Some programming ideas came from Denys Beauchemin, among others, the engineer who developed at HiComp for the HiBack 3000 solution. "For the next tape to be brought online automatically, I seem to remember there had to be a special setting with the dip switches."
As for being able to control the robot itself, you definitely need to have the [HP] SCSI pass-through driver configured and loaded, and then you need a program to actually issue the IOCTL calls to the robot with the properly formatted SCSI commands. There was such a program a long time ago from a vendor, but that's all gone now.
The pass-though driver is still available from HP for the strong hearted, a piece of coding designed to give 3000 sites control of SCSI devices HP didn't engineer or test for the server. Perhaps the high-test flutes and heavy octane horns of Powerhouse -- used in Duck Rogers and the 24th and a Half Century -- can be put up on the MP3 player while fitting the driver to MPE. ("Oh drat these computers -- they're so naughty and so complex," says Marvin the Martian in one installment. "I could just pinch them.")
Jack Connor of Abtech -- another OpenMPE volunteer -- pointed to similar complex answers about controlling DDS changers.
Typically, there's a second SCSI port/address assigned for the transport control which allows the selection of specific tape. For MPE, stacker mode is typically selected, which tells the drive to just mount the next tape in line when requested. I don't know if the DDS autoloaders have a network connection available like the C7145NA DLT autoloaders do; with that device's web interface you can reload any tape, bypass a bad tape, and so on.
Pitman checked in to report that a much simpler solution to his changer's control needs popped up. "On re-examining my code for HPDEVCONTROL, I found I had catered for 1- and 2-digit device numbers in the string passed, but I had configured the drive as dev 777. This produced a string dev number of 77, which doesn't exist as a tape drive. Once I fixed this, it works like a treat."
While that solves the control needs of HP autochangers at Ryco, the exercise also leaves the devices and the pass-through software with a classic piece of music by jazz master Raymond Scott as a theme song. It takes a community of 50-ish experts in an enterprise computer classic to connect long-ago-written, or long-gone, software with a tune that Warner Brothers' Carl Stalling used in a dozen 1950s cartoons.
Posted by Ron Seybold at 07:00 PM in Homesteading, MPE's Hidden Value, Podcasts | Permalink | Comments (0)
January 07, 2011
Users reach for new IO connnections
Linear Tape (LTO) and virtual disk arrays might not be common players at many 3000 sites. But as these servers mature in production settings, these higher capacity storage solutions are gaining attention from system managers. HP's engineering is better for the VA solutions than LTO, but both can perform in 3000 installations, according to user reports.
Are the LTO and LTO2 drives supported on Series 997 and N-Class servers?
Mark Ranft of Pro 3K replies:
They work, but they are not supported (if that means anything) with HP TurboStore. Other third party backup software vendors do support LTO. We do DLT backups to two, three or four drives with success.
Craig Lalley of EchoTech notes that N-Class LTO use yields the best results:
The 997 has a NIO bus that is capable of a sustained throughput of 20mb/sec. That is 20 megabytes per second. I seriously doubt that a 997 can make an LTO drive run in "stream" mode. Hence it would just "shoe-shine," back and forth. The N-Class is a different story, as long as it is not crippled.
Chad Lester of the MPE Support Group reports that the firm has LTO-2 and LTO-3 modules running on several N-Class servers the company supports. Dan Cossey of Client Systems takes note of HP's official communicator article regarding LTO support.MPE/iX support of Ultrium 215 and 230 devices is limited to parallel LVD-SCSI connections only. Thus, these devices may only be connected to HP e3000 A-Class and N-Class systems running MPE/iX 7.0 or 7.5 Release. In addition, patch MPEMXJ3, version "A" for MPE/iX 7.0 or version "B" for MPE/iX 7.5, must be installed for the device to be supported. Finally, on 7.0 only, patch MPEMX74 "A" should also be installed.
Ultrium devices will only be supported for access/usage by certified third party supplied back-up products; certified products are currently limited to: BACKUP+/iX (ORBiT Software) and HiBackR (Mount10 Group).
The program devtool.pub.sys and the command file devctrl.mpexl.telesup may be used to load/unload media, but it will NOT support turning compression on/off for Ultrium. HP Ultrium incorporates "intelligent" compression that prevents attempts to compress data that is already compressed, so there is no need to explicitly turn device level (hardware) compression on or off.
We have a brand new VA7410 disk array. Is the CommandView SDM really necessary? I know it won't run on MPE, so I have to have a Unix or Windows host with an FC card to run it. But I also know the VA arrays have a serial port for command access. Can I do everything I need to do through the array's built-in command line? What can only be done via SDM?
Donna Hofmeister of Allegro Consultants replies:
You do want SDM running on something, because you need to be able to get to the array's log file and I don't think you can do that through the serial port. SDM will tell you (via logging) if your array is healthy or not -- probably something you really, really want to know.
But Craig Lalley demurs:
You can do most everything you need to do through the command port. However, you cannot update the firmware, or monitor the array. If the firmware is correct, you can semi-monitor the VA through the serial port.
Jack Connor of Abtech adds:
You need either the HP-UX or Windows version of Command View to manage and diagnose the VA. You can configure it somewhat from the serial port in the back, but if there are log entries, such as a controller going bad or other issues, you’re going to have problems identifying them. Also, disc and controller firmware updates require CommandView.
While it will run on a WinTel platform, in my experience the fiber cards for a PC are (or at least were) cost-prohibitive compared to something like a J6700 workstation.
Posted by Ron Seybold at 07:57 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
December 28, 2010
How to Train Newbies on an HP 3000
Several migration and sustainability experts have noted that the biggest risk in staying on a 3000 is the community's brain-drain. The answer to replacing more fundamental skills is to train for 3000 use and administration. John Archer of 3000 site ThermoLink needs training materials.
I need to put together some training for one of my employees that will be working on the 3k. He knows nothing about the box. I have been trying to find material on the basics and I can fill in on the specifics and more technical issues that I deal with day to day. It looks as if all links to HP's material (training wise) is gone and I can't find any self paced or tutorial material.
HP's Cathlene McRae replies:
Some 3000/MPE/iX training material can be found at HP's website. [Editor's note: This is a comprehensive set of links to dozens of training manuals and whitepapers written by HP, ranging from Using FCOPY to a comparison of several IMAGE maintenance tools.]
Using HP e3000 fundamental skills and advanced skills manuals are at the bottom of the list.
Marc Cordeau of Speedware offered a link to the HP 3000 Series 9x8 Computer Systems Task Reference, hosted at docs.hp.com.
Paul Edwards of Paul Edwards Associates notes:
All the links [to training materials] are gone because HP shut down MPE training and licensed Frank Smith and me as exclusive MPE instructors, and had the HP training linked to our website. Our website was shut down last year due to the lack of interest in MPE training, except for in India. I still do MPE training on-site and have the details listed on my web site, www.peassoc.com. I don’t know if the old self-paced training modules are somewhere in the HP archives. Let me know if I can help.
Several other 3000 pros would like to help train newbies to the system. Mark Ranft of Pro 3K would be glad to assist.
But I get the impression that John was looking for self-paced training for free. With that in mind, there are options like the Guided Tour manuals that make very good starting points for learning MPE.
Lars Appel, the former HP support engineer who ported Samba to the system in the '90s, pointed to several of the training web pages.
* Performing System Operation Tasks
* Performing System Management Tasks
* Getting Started as an MPE/iX Programmer
Reviewing at the least the table of contents might be helpful to see if they have information useful for you. Some sections of the programmer guide, for example, do have nice overview- style info that might be useful for a more than just a person aiming to become a programmer.
Posted by Ron Seybold at 02:38 PM in Homesteading, MPE's Hidden Value, News Outta HP, Web Resources | Permalink | Comments (0)
October 27, 2010
More notes on 3000 SFTP, and HP's advice
We got expert response from the community for our Monday story about Secure File Transfer Protocol (SFTP), something that UK-based Adrian Hudson wants to manage from his HP 3000. Hudson checked in with us after hearing from consultant Mark Ranft of Pro 3k as well as the NewsWire. It turns out Hudson is a contractor working at Europ Assistance, a company using an HP 3000 to "provide insurance and assistance (e.g. motor breakdown, travel) cover across the world."
Hudson offered some career history, which includes a seven-year stint at HP. "I worked on 3000s and 9000s on and off from 1986 until 2003 and was lucky enough to work at HP between 1997 and 2003 as a 3000 ‘expert’ in their Storage Division. Since then I’ve spent seven years or so on lots of different flavours of Unix and Linux and, to be honest, until 7 weeks ago I thought I had done my last LISTF. It has been a strange but warming experience to get back onto a 3000, especially one with vanilla TurboIMAGE!"They have a need for SFTP to transfer new policy details from the Internet. I have a feeling that if Europ Assistance can’t do SFTP from the 3000, or if there is a cost involved, they will simply use one of their non-3000 servers as a piggyback to do the SFTP on the 3000's behalf. But with me being a nostalgic old soul, I would like to see it done from the 3000.
So, last week I started to look around for a zero-cost solution and found a Beechglen web page about it. This web page all seems perfectly okay, so I started to see if I could source the components mentioned on the web page, namely Openssl, Openssh, perl and a GNU C compiler.On the openssl list server, I also started to independently look for versions of ssl and ssh which had been ported to the 3000 and I also sent an email to Tracy Johnson of OpenMPE to try and get a logon to the invent3k2 server to see what I might find on there.
Separately, Ranft got back to us on the specifics of running SFTP on a 3000, something he doesn't recommend as highly as getting the services from another environment.
I have recently completed the instructions for installing sftp on Pro 3K’s server and on a customer’s server. It was not easy, but I managed to gather all the files needed. Some of the components were extremely difficult to track down. I have them all stored in a single 100MB store-to-disk file that can be transferred to [Hudson's] system and restored.
The instructions have you install the GNU C compiler and make the components needed for SFTP client to function. As with following any instructions, we ran into a few issues along the way with syntax and typos. Most of these were pretty straightforward caused by slightly different names for the newer digest files.
When complete, your system will be capable of acting as an SFTP client, but not as an SFTP server. If you are not familiar with SFTP and how it works, another issue is the key exchange. SFTP depends on a public/private key exchange for security. The procedure for generating the key and storing it on the server is another complex portion of the project.
After completing the SFTP installation and key exchange, I am confident that you will have a solution that will work. But this HP 3000 SFTP solution will not be ‘supported’. [Ed. note: At least not supported by HP; independent companies have an option to support it.] Basically, if you or your customer have trouble down the road, once again you will be dependent on consulting to guide you to the solution.
In truth, using a non-HP 3000 server to be the intermediary SFTP solution is an excellent choice. This solution can provide additional security. The server running SFTP can be both a client (to send files) and a server (to receive files). The SFTP server can be placed in the DMZ of your customer's network. (A DMZ, or demilitarized zone, is a physical or logical subnetwork that contains and exposes an organization’s external services to a larger untrusted network, such as the internet.) This is a good solution.
Ranft added that the secure FTP white paper that HP referred us toward doesn't really detail how to get SFTP working on a 3000. "It's about making regular old FTP/iX more secure," Ranft said. "It has very little or nothing to do with SFTP."
HP states in the 2008 paper that it covers the enhancements HP applied to FTP/iX for security, a request voted No. 2 in the final Systems Improvement Ballot.
Briefly, these security enhancements are:
- Restricting unauthorized users from logging on to an FTP server,
- Restricting unauthorized users from retrieving certain files on an FTP server
- Quarantining certain FTP/iX users to single directory roots,
- Logging all FTP commands and all file transfers from both the server and client side
- Preventing FTP users from rename, delete, and overwrite file operations
- Disallowing read access of the NETRC configuration file (which contains sensitive logon data)
- Password hiding when running FTP/iX in debug mode.
Another section describes a few methods to enhance security of FTP/iX in addition to the recent security enhancements. Some of the alternatives discussed are
- An envelope FTP/iX script that provides encryption of the data transfer between hosts
- Using non-MPE intermediaries like HP-UX to facilitate secure FTP communication
- Porting of Open SSH on MPE/iX to provide secure data transfer
- Use of a firewall for sockisified FTP
- Hardware solutions for enhanced security
Posted by Ron Seybold at 03:23 PM in Homesteading, MPE's Hidden Value, Users & Reports, Web Resources | Permalink | Comments (0)
October 25, 2010
Getting OpenSSL, SFTP Working on 3000s
HP 3000s can use OpenSSL, cryptographic protocols that provide security for communications over networks such as the Internet. SSL can encrypt segments of network connections at the Application Layer to ensure secure end-to-end transit at the Transport Layer. It's an open source standard tool, but deploying it on an HP 3000 can be less than transparent.
Consider the following question from Adrian Hudson in the UK.
Does anyone know anything about putting OpenSSL on a HP 3000? I've seen various websites referring to people who have succesfully ported the software, but with the HP 3000s being used less and less, I'm finding lots of broken links and missing pages. My ultimate intention is to try and get Secure FTP (SFTP) running from Posix on the HP 3000.
Several up-to-date support providers can help Hudson and others who want this security tool running on a 3000. Mark Ranft of Pro3K (612.804.2774) said, "I would be happy to assist. I recently did this for another client. I have all the pieces and instructions to do this." Beechglen's founder Mike Hornsby also has software and experience at hand. "Beechglen has OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17, SFTP and SSHD versions for MPE/iX," he said.
HP placed the OpenSSL pieces in its WebWise MPE/iX software, according to former HP Internet & Connectivity engineer Mark Bixby (now developing at K-12 app company QSS). "When I left [HP's 3000 division], a fully functional OpenSSL was part of the Apache bundle. The last Apache/WebWise patch that I built contained all of the necessary source code and build scripts, and more."
However, Secure FTP is not provided in the WebWise bundle. A longtime friend of the 3000 community, still working in support, provided a white paper on how to set up SFTP for the HP 3000. The paper was written just two years ago.
Cathlene McRae, still working at HP in 3000 support, confirmed Bixby's report on SSL. "WebWise is the product you are looking for. This has OpenSSL." She shared a PowerPoint document of 85 slides written by Bixby in 2002, one of the last years that WebWise was updated for the HP 3000. (You can download these slides, a PDF file, from our site.) A few minutes later, she pointed us to the SFTP paper.Finally, Keven Miller of 3K Ranger detailed his notes from installing OpenSSL on a 3000, aided by Craig Lalley of EchoTech. I'd be happy to talk with whomever has interest. I would like to do the "port" again with notes so others can reproduce; and place on my website or my Invent3k2 website, invent3k2.org/~GUEST.MILLER
I'm looking on my HP 918 (mpe 6.0 pp2)
Openssl 9.6a
OpenSSL> version
OpenSSL 0.9.6a 5 Apr 2001
OpenSSL>
I believe AFTP did build and run. That would be from OpenSSH. As I recall, the process is1. install zlib
2. install openssl
3. install openssh
/OPENSSH/V00371P2/openssh-3.7.1p2#sftp
usage: sftp [-vC1] [-b batchfile] [-o ssh_option] [-s subsystem | sftp_server]
[-B buffer_size] [-F ssh_config] [-P sftp_server path]
[-R num_requests] [-S program]
[user@]host[:file [file]]
/OPENSSH/V00371P2/openssh-3.7.1p2#sftp hpux-1
Connecting to hpux-1...
Couldn't connect to PRNGD socket "/tmp/egd-pool": Can't assign requested address
Entropy collection failed
ssh-rand-helper child produced insufficient data
Connection closedAs I recall, I need to stream a job for this EGDPOOL. I hope to get back to this and other porting things.
But work gets in the way.
Posted by Ron Seybold at 03:13 PM in Homesteading, MPE's Hidden Value, Users & Reports, Web Resources | Permalink | Comments (0)
October 20, 2010
Tape data to disc files and setting Posix time
I have some information on a tape. I’d like to create a store to disc file with it — how do I do that?
Jack Connor replies:
There are several solutions. The first and easiest is to simply restore the info to a system (RESTORE *T;/;SHOW;CREATE;ACCOUNT=WORKSTOR) where WORKSTOR is an account you create to pull the data in. Then a simple FILE D=REGSFILE;DEV=DISC and STORE /WORKSTOR/;*D;whatever else should create the disc store.
The second is to use FCOPY. You'll have to research the STORE format, but I believe it's FILE TAPEIN;DEV=TAPE;REC=8192,,U,BINARY.
The third (also easy, but you need the software) is to use Allegro's tool TAPECOPY, which moves from tape store to disc store and back.
Do you mean copy it off tape to disk store file? I’m not sure if that can be done, as in my experience of tapes, there is a file mark between files, and EOT is signified by multiple file marks in a row... but anything may be possible. If you do a file equate and FCOPY as shown below, you should be able to look at the raw data, and it should show separate files, after a file list at the front.
FILE TX;DEV=TAPE;REC=32767
FCOPY
FROM=*TX;TO=;CHAR;FILES=ALL
Here is our current store command, and the message it provokes. MAXTAPEBUF speeds it up somewhat
STORE !INSTOREX.NEW.STOCK2K;*DDS777;FILES=100000;DIRECTORY;MAXTAPEBUF
Why is the date/time in the Posix shell way off from the time on MPE, and what can be done to fix it? It’s over three weeks off.
Homesteading Editor Gilles Schipper replies:
First, check to ensure your timezone offset is correct and there are no pending time clock changes.
:showclock
SYSTEM TIME: TUE, OCT 19, 2010, 5:46:38 PM
CURRENT TIME CORRECTION: 0 SECONDS
TIME ZONE: 4 HOURS 0 MINUTES WESTERN HEMISPHERE
If incorrext timezone and/or time correction is non-zero, you can fix both with the :SETCLOCK command.
Next, ensure that the TZ variable is appropriately set. This can be done with a system logon UDC that executes the following:
comment the following is for Eastern Time
SETVAR TZ "EST5EDT"
comment use the following for california
comment SETVAR TZ "PST8PDT"
Posted by Ron Seybold at 02:26 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
September 30, 2010
Restrict 3000 access, link web console, UPS
Is there a way to restrict access to only a certain user within an account? For example, I would only like user OPERATOR.AIS to have access to everything in the FILES.AIS group and account. There are users within this account that have AL and or GL access.Gilles Schipper replies:
If you wish to restrict the group FILES to be able to be accessed by only the user OPERATOR, do the following:
:ALTGROUP FILES;ACCESS=(R,L,X,W,A,S:GL)
:ALTUSER OPERATOR;HOME=FILES;CAP=+GL
This will restrict any kind of access to files within the FILES group to only the user OPERATOR, with the following possible exceptions:
1. Any user in that account that has AM capability cannot be denied access to files in that group.
2. If any other user in the account has its home group as FILES -- AND also has GL capability -- then that user will also have access to the files in the FILES group.
So, in the specific example you cite
, you only need to ensure that any other user that has GL capability does not also have FILES as the home group. (Of course, as stated previously, you cannot deny access to any user in the account that possesses AM capability).Possessing AL capability does not provide access, since, as shown in the above ALTGROUP command, all forms of access are given ONLY to users with GL capability. And GL capability is negated for all users that log in to other than their HOME groups.
To repeat -- this technique allows you the proper file access restrictions WITHOUT the nuisance of group passwords, because if any user in the account (other than an AM user) logs in to this group (and does not have FILES as the home group or lacks GL capability) that user will be denied access to all files in the FILES group.
Can I make a Web Console work with my 959? The 959 has a DB-25 remote console socket, rather than the 9-pin of the N-Class.
Mark Ranft replies:
With the correct cable, the Web Console should definitely work on the 959. I had it working on a 989. I am not sure why you would compare the 959 to the N-Class. Anyone using Web Console on the N-Class should switch to using the GSP console.
For a better, more reliable, faster, more fully featured console on pre-GSP systems, I have set up remote console via DTC, using back-to-back DTC switching. It is very nice.
Craig Lalley adds:
Just use the 25-pin connector that is currently connected to the system console.
I have a system that I need to set up a UPS and Monitor/iX software. Is there a quick method to configuring and setting up the background job?
Gilles Schipper replies:
You'll need a straight-through 9pin-9pin serial cable attached from the N4000 UPS port to your UPS serial port.
You should already have the UPSUTIL.MPEXL.TELESUP software that you need to configure the UPS monitor.
The UPSUTIL manual, which is really pretty straightforward, is available at:
http://docs.hp.com/en/14249/upsutil.pdf
I am having an issue getting write access to the N-Class console after getting successfully connected. I have tried BREAK, and get the response [Read only - use ^Ecf for console write access.]
Craig Lalley replies:
The "^" stands for the control key.
So with three fingers Control-Shift-E take your fingers off and type 'c' then 'f' -- then hit return
Posted by Ron Seybold at 08:51 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
August 16, 2010
Products, programs push remote printing
3000 consultant Michael Anderson tapped a wellspring of advice over the last few days with a request about remote printing from an HP 3000 to multiple locations.
I have a need to support "Printing on printers at the remote locations" to multiple client companies from my HP 3000. Kind of like the old time-share paradigm. The client companies can access the HP 3000 using Telnet/iX, but they need to be able to print from the HP 3000 (Telnet session) to their own local printers. Does anyone know of any “canned” software that would help achieve my goal, or perhaps another network strategy?
Charles Finley of Transformix, a migration and software services company that's been working with Robelle of late, posted eight replies of considerable detail to solve Anderson's problem. But along the way the 3000 community which still trades 3000 technique at comp.sys.hp.mpe chipped in a few commercial solutions for the challenge, as well as one recommendation to use Samba.
The simplest resource to implement looked to be the ESPUL HP 3000 software written and sold and supported by Richard Corn. The creator posts rarely on the newsgroup, but Corn offered this detail on how to use the print management product.
You would be using our product ESPUL to print from the HP 3000 to a Windows box into printer queues set up on that box. If you currently have Windows printing in your environment and a Windows system that hosts or has queues for the printers you want to use, you can make use of that from the HP 3000. One other option is using ESPUL to print to a locally attached printer via Reflection or MS92 session.
Finley began solving with the advice, "It can be done with mostly off-the-shelf open source stuff. But someone still needs to do a little programming."
1) You need to create what the HP 3000 thinks is a network printer to which the HP 3000 will send its output. So, in this case you need to configure the Linux computer to look like a JetDirect box to the HP 3000. This means that you need a way to have something listen on TCP port 9100 and accept raw data from the HP 3000.
2) You need to strip out and/or convert CCTL characters to standard ASCII print controls. Therefore, you need an intercept program that processes the raw data you get from the HP 3000.3) You need to alter your report programs so that there are some tags in each report identifying which customer it belongs to. Your filter program needs to read the tags in the report.
4) You need some sort of PDF conversion software that will take the HP 3000 reports and convert them to PDF. You need a PCL to PDF (not text to PDF) converter to do this. Otherwise, you will need to send the output to a printer instead of PDF.
5) You need either a web application that will restrict users to certain directories based on their login or you could even do it without a web application. This should be simple enough because you can give each user a unique Linux user account.
6) You need some sort of directory browsing application. You could even let the customers use Reflection with its file transfer capability.
Essentially, it can be done with simply having one program that:
1) Listens on port 9100
2) Does the CCTL conversion
3) Reads the tags in the report and places the report in a specific user account based on the tag.
4) Converts PCL to PDF
Once all of the print output is in PDF, you do not need to address their printers. Therefore, you do not need to print to their printers at all. They will be able to print from any printer at their own site.
Another 3000 vet suggested packaged software from OpenSeas, OpenPDF. Tony Summers said, "It is a product from OpenSeas on the HP 3000, and we continue to use it even though we’ve migrated onto HP-UX. The raw spoolfiles were converted in a simple two-stage process which we wrapped up into a UDC and the end result was FTP’d to the end user as a PDF file."
In the discussion that flowed across a Thursday afternoon and into Friday, Anderson was sparked by some of the ideas. "Having something that looks like a Jetdirect printer to the HP 3000 is key! My thinking is that something that looks like a JetDirect printer could be a CUPS print server. Then using CUPS in combo with Samba, and maybe SCP, will make the network connectivity issues easier to resolved, and enable the possibly of sending the output directly to the remote printer without any user intervention."
John Pitman added that he's used "an intermediate Windows box running BP FTP Surfer, with user and passworded access. Each HP user who directs printout to a specific device (that isn’t physically present) gets the output sucked off the HP to the FTP surfer to a directory specific to the user as a txt file. This is mostly to save paper and to provide data suitable for importing to Excel. Requires a job on the HP 3000 to move spoolfiles to a Posix directory, and an FTP job on the Windows system to suck them across every few minutes.
After reading Anderson's progress on the printing process, Finley summarized how available open source software and JetDirect gets the job done.
Since you are simply planning on using the Linux/CUPS machine as a store and forward message server. you could do the following:
1. Set up a CUPS server on each IP address you can give the Linux computer. There are ways to assign more than one. One way to cheat is to pretend you have a multiport JetDirect. I may be out of date, but the last multiport one I worked on had TCP ports 9100,0102, and 9103. If you can get enough TCP/Port IP address combinations to satisfy all of your printing needs you may not need to do any programming. For example 4 IP addresses = 4x3 separate “printers." I haven’t confirmed this, but if you can make each of those represent a separate Queue on the Linux computer you can assign one to each real printer.
2. Configure each Queue on the HP 3000 and print to it just as you would any network connected printer.
3. On the Linux end, simply configure each real printer to match each queue. Then I believe you’re done.If you can’t do the above, you can send all of the output to one pretend JetDirect address and create a little intercept filter to separate the output to each real queue.
Anderson had enough advice by the end of Friday to go into a test "with two CUPS servers using scp, connected through the cloud, and setup a NPCONFIG device on MPE to print to it"
It is simple, and if addition massaging of print files is needed, the CUPS server is equipped with many powerful scripting tools, regexp, awk/sed, and tcl.
Using SCP to copy printfiles between the local CUPS server and the remote CUPS server should be very efficient, and the remote CUPS server can be anywhere in the world, anywhere that supports an internet connection. So, from the HP3000 spooler, you’ll be able to print anywhere in the world, after setting up local and remote CUPS servers. And MPE will just think they are normal JetDirect printers.
In Unix, you can use the |scp| command to copy files and directories securely between remote hosts without starting an FTP session or logging into the remote systems explicitly. The |scp| command uses SSH to transfer data, so it requires a password or pass-phrase for authentication. Unlike |rcp| or FTP, |scp| encrypts both the file and any passwords exchanged so that anyone snooping on the network can’t view them.
Less than 24 hours later, with the help of six 3000 experts, one solved problem. Independent support takes a lot of forms this year, but going to the remote network of veterans can yield a wide array of solutions.
Posted by Ron Seybold at 04:42 PM in Homesteading, MPE's Hidden Value, Users & Reports, Web Resources | Permalink | Comments (0)
June 14, 2010
Delete empties, checks on batch, and more
I have a group that contains flat files that get FTPed to our network by a job on the HP 3000. Before FTPing the files, I would like the job to delete files that are empty, but the problem is that the file name is never the same. How can I use MPE/iX or MPEX to determine which files in the group are empty and delete them?Robert Schlosser replies:
In MPEX you can say PURGE @(EOF=0) and purge all files with no records
Dave Powell adds, for those who have only standard MPE/iX at hand:
If you don’t have MPEX (gasp), you can still :listfile into a msg file, and read it back, call finfo to check the eof, and you are in business. Knowing how to do this can be handy if you want to do something to a fileset that isn’t a one-line MPEX command.
Here’s an example slightly dumbed-down from a routine we use to do things only to files with more than seven records. You could adapt it by changing “> 7” to “= 0” on the third finfo. It’s a bit fancier that you really need, because I insisted on echoing the file name and eof to the job listing, padded with blanks so the columns add up.!PURGE MG, TEMP > $NULL
!FILE MG; REC=-72,,F,ASCII;MSG;DISC=5000,32,1;TEMP
!LISTFILE fileset.group,6 >> *MG
!
!SETVAR _CNT 0
!IF FINFO("MG",'EXISTS') = TRUE
! WHILE FINFO("MG","EOF") > 0 DO
! INPUT _LONGNAME < MG
! SETVAR _NAME_X lft('!_LONGNAME',26)
! IF FINFO(_NAME_X,"exists")
! SETVAR _EOF FINFO(_NAME_X,'EOF')
! SETVAR _EOF_X RHT(' !_EOF',6)
! IF FINFO(_NAME_X,"eof") > 7
! ECHO File-Name = !_NAME_X EOF = !_EOF_X
! your commands go here, like maybe "purge !_NAME_X" or "print
!_NAME_X"
! SETVAR _CNT _CNT + 1
! ENDIF
! ENDIF
! ENDWHILE
!ENDIF
!IF _CNT = 0
! your "nothing found" routine goes here, if any
!ENDIF
Is there a clean way to determine, either in a command file or programmatically, whether I am running in batch? I don't want to simply check the variable HPINTERACTIVE or HPJOBTYPE. Those don’t do what I want if we are in a session that was created by a REMOTE HELLO from a batch job on a remote machine. I want a way to know that such a “session” is really “batch.”
Cathlene Mc Rae of HP's Response Center replies:
When a job is streamed on a system the hp variable set for the job are as follows:
HPSTREAMEDBY = CATHLENE,MGR.MCRAE (#S102) HPJOBTYPE = J
HPINTERACTIVE = FALSE
When the job does a dsline system and a remote hello the following variables are set for the remote session:
:remote showvar
HPSTDIN_ACCESS_TYPE = NS/VT
HPVT_CLIENT_LDEV_NUM = JOB INPUT SPOOLER HPVT_CLIENT_JOB_NUM = #J14
HPVT_CLIENT_JOB_NAME = MGR.MCRAE
HPINTERACTIVE = TRUE
HPJOBTYPE = S
HPSTREAMEDBY = CATHLENE,MGR.MCRAE (#S102)
The variable set when a session does a dsline system and a remote hello are:
HPSTDIN_ACCESS_TYPE = NS/VT
HPVT_CLIENT_LDEV_NUM = 3
HPVT_CLIENT_JOB_NUM = #S102
HPVT_CLIENT_JOB_NAME = MGR.MCRAE
So, how can you tell if a job or session started the remote session?
Answer:
The hpvt_client_ldev_num will be may be set to “job input spooler “ and hpvt_client_job_num will be “#J”.
Tony Summers adds:
Please note, the variables won't exist if it's a local session. In the past I've used the BOUND command to prevent command scripts from failing.
IF BOUND(HPVT_etc)
IF (HPVT_etc = "whatever")
etc
Walter Murray, who posed the original question, commented:
The most clever suggestion was from Jeff Vance, who pointed out that you can try setting HPTYPEAHEAD to TRUE, and then check HPCIERR. Sure enough, that works!
In the end, I decided to go with a technique that several others suggested, and Cathlene amplified. There are a number of HPVT_xxx variables that are sometimes set. I decided to check HPVT_CLIENT_JOB_NUM.
Here's what I came up with:
COMMENT * Are we running in batch or interactively?
COMMENT *
SETVAR RUNNING_IN_BATCH FALSE
IF HPJOBTYPE = "J"
SETVAR RUNNING_IN_BATCH TRUE
ELSE
COMMENT * A real session, or REMOTE HELLO from a Job?
IF BOUND(HPVT_CLIENT_JOB_NUM)
IF TYPEOF(HPVT_CLIENT_JOB_NUM) = 2
IF LEN(HPVT_CLIENT_JOB_NUM) > 2
IF STR(HPVT_CLIENT_JOB_NUM,2,1) = "J"
SETVAR RUNNING_IN_BATCH TRUE
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
I face a serious situation on our HP 3000. A batch job which used to run for about 30-45 minutes (stores data in an IMAGE detail with about 3.2 million entries) runs now 4 hours and longer to handle the same amount of data. What should I look for?
Brian Donaldson replies:
Did anyone make program changes? Or change locking strategies in the program -- locking data sets and/or data items and not DBUNLOCKing until the program completes, instead of DBUNLOCKing immediately after an update (DBPUT, DBDELETE, DBUPDATE) has completed?
If TurboIMAGE is the problem, then you can investigate the possibilities of synonym entries in your automatic and manual masters.
If you just use HOWMESSY, however, it doesn’t give you info regarding the offending entries causing the problems. It will just give you a percentage of synonyms in a particular data set, "SET-A has 23% synonyms." Not very helpful if you want to find out the offending entries that caused the collision in the first place.
For example:
data-set-a (master), key item = data-item-a
data-type= X4, key-value="ABCD"
hashes to IMAGE record 1234. Record 1234 already occupied by key value “XXYY”. So then IMAGE has to go find a slot to place key value “ABCD”.
With each DBPUT this hashing/collision nightmare could slow you down immensely.
If TurboIMAGE is your problem you can try changing the capacities on your offending automatic and manual master data sets.
Integer keys on master sets work fine if the key value is between 1 and the capacity of the data set.
When a key value is greater than the capacity then watch out -- the synonym problem will bite you. Generally speaking, “X” type key items (search items in detail sets) work best.
If your app uses integer keys, you cannot just change the data types of these keys without having to modify every piece of source code that manipulates these data sets. Then you have to recompile the entire application. Not exactly the optimum solution.
If you determine that TurboIMAGE is your problem I suggest you go straight to the big guns for assistance and call the gurus at Adager. Those guys will be able to help you best, I’m sure of it.
Posted by Ron Seybold at 12:31 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
April 28, 2010
Intercepting PCL to Extend 3000 Printing
HP 3000s generate Printer Command Language, the format syntax HP created for its line of laser printers. The 3000s were glad to get PCL abilities in their applications and utilities, but PCL is not for everybody. Multifunction devices not schooled in HP technology, such as those from Xerox, need a go-between to extend the 3000's printing.
The easiest and most complete solution to this challenge, one recently posted on the 3000 newsgroup, is Minisoft's NetPrint, written by 3000 output device guru Richard Corn. When we last reported on Corn's creation it was helping the Victor S. Barnes Company pass 3000 output to Ricoh multifunction printers.
But for the company that can't find about $995 in a budget for that 3000-ready product, there's a commercial Windows alternative of about $300 less you might try to integrate into your system designs. Charles Finley of Transformix explains that the path to print outside of PCL is two-fold.
Finley says of the fundamentals:
1. You need to get the print output from the HP 3000 to some device that is external to the HP 3000
2. You may need to intercept the PCL generated on the HP 3000 and format it for the intended device.
On the one hand, you can license the product of either Richard Corn or Minisoft to manage all this -- or if you want to use what MPE provides, you need to intercept the stream by using something that pretends to be an HP LaserJet.
In the second scenario, assuming you can connect the printers to Windows computers, you can use LPD and an interceptor of some kind. A commercial product we have used is RPM from Brooks Internet Software to accomplish the communication part of the process, plus some other PCL translator product to convert the PCL to whatever you need on the printer.
We had two projects in which, instead of the RPM product, we provided our own little interceptor (described at www.xformix.com/xprint) that does the same kind of thing as RPM. We have the Windows machine pretend that it is an HP PCL printer and configure the HP 3000 to print to it. We used other commercial software (two different products) to intercept the output intended for what it thinks is a LaserJet and format the print output so that it prints correctly.I believe in each case the customers wanted to translate the PCL to PDF and do other stuff with it on the Windows computer before actually printing it. In one case, they wanted to store the PDF on the Windows computer and store reference data in a SQL Server database so that customers could selectively view and print the file at will.
Posted by Ron Seybold at 12:11 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
April 15, 2010
Cross over lines from disk's unknown state
I had a mirrored disk drive in a Jamaica Enclosure attached to my N-Class 3000 go bad. The DSTAT results showed that it went into a ‘BUSY’ state, and nothing short of a reboot could clear it. During the reboot, I replaced the drive. But when the system went through “Mount All Volumes” it complained about a duplicate volume. My 3000 now shows this replaced drive in an "UNKNOWN" state. How do I resolve this partially mounted volume issue?Gilles Schipper replies
You should use VOLUTIL's suspendmirrvol command. After you've replaced the drive, you simply:
:volutilreplacemirrvol IT_UV:member2 (plus volume number)
There’s really no need to perform a store-to-disk or buldjob stuff. But if really want to do that, there are a few steps that are needed.
I would first perform a directory store, as in:
:store command.pub.sys;directory;onvs=mpexl_system_volume_set,diskdump,it_uv,a_uv,b_uv;*t;show
Then, store the files on it_uv, ..Then, after vsclosing, etc,
:restore *t;;directory;show
Then restore of files on that volset -- with the ;olddate;create;keep;partdb options. But I don't think any subsequent steps (vsclose, scratch, then rebuilding the volume set) will be necessary.
What's more, you really should not need to do a FORMATVOL. I've only once actually ever needed to do that -- and I did not do it with MPE, which is extremely slow.
A simple VOLUTIL replacemirrvol should do the trick after you've replaced the drive. The fact that the drive is in an "UNKNOWN" state is perfectly normal for the situation you described.
Posted by Ron Seybold at 04:08 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
March 26, 2010
Get specific about access from IPs
Is there a way to force a particular user ID to use a specific IP address? In other words, I want to give a machine a static IP and only allow this person to access the HP 3000 from that PC with the static IP.Tracy Johnson replies:
A simple logon UDC should suffice:
IF HPREMIPADDR = "aaa.bbb.ccc.ddd" then
ECHO Welcome.
ELSE
ECHO Evil message here.
BYE
ENDIF
Bob Schlosser of the Support Group inc adds:
You can set up a logon UDC that checks that the var HPLOCIPADDR is equal to the device (PC) that you want them to use. Something like this:
LOGON
OPTION NOBREAK,LOGON
IF "!HPLOCIPADDR" <> "123.456.789.321" change "123.456.789.321" to
your IP address
BYE
ENDIF
Using this we verify that the user is on the correct (assigned) IP address, and log them off if not.
Chris Bartram, who's created e-mail solutions for the 3000 and hosted Web servers since early in the 1990s, adds:
The following is an excerpt from system UDCs I use on my HP 3000s that might give you some ideas.
The "VALIDATEIPADDR" call in the UDC calls another command file that actually does a validation of the logging-on user based on data in a control file to determine if he/she is allowed to log onto the system from the specific host/IP address they are coming from.
The variables the UDC sets will work whether the logging on user is coming in via Telnet or NSVT (or hardwired or modem).
The TELLOPs also leave a nice log on the system console (and log file) of the login, including where they came from and what protocol was used to access the system.
***
LOGON
OPTION LOGON,NOBREAK,NOHELP
setvar _network_node ''
if bound(hpstdin_network_node) then
setvar _network_node '!hpstdin_network_node'
endif
setvar _na ''
setvar _at 'HARDWIRED'
if bound(hpstdin_network_addr) then
setvar _na '!hpstdin_network_addr'
elseif bound(hpremipaddr) then
setvar _na '!hpremipaddr'
endif
if bound(hplocport) then
if !hplocport=23 then
setvar _at 'TELNET'
endif
endif
IF BOUND(HPSTDIN_ACCESS_TYPE) THEN
SETVAR _AT "!HPSTDIN_ACCESS_TYPE"
ENDIF
IF BOUND(HPSTDIN_TRANSPORT_TYPE) THEN
SETVAR _TP "!HPSTDIN_TRANSPORT_TYPE"
ELSE
IF "!_AT"="TELNET" THEN
SETVAR _TP "TCP/IP"
ELSE
SETVAR _TP "SERIAL"
ENDIF
ENDIF
IF BOUND(HPVT_CLIENT_VENDOR) THEN
SETVAR _VND " (!HPVT_CLIENT_VENDOR)"
ELSE
SETVAR _VND " "
ENDIF
TELLOP LOGON VIA !_AT USING !_TP !_VND
setvar _node ups(ltrim(rtrim("!_network_node")))
setvar _addr ups(ltrim(rtrim("!_na")))
if '!_node'<>'' then
tellop !_at, IP: "!_addr" Node: "!_node"
else
tellop !_at, IP: "!_addr"
endif
setjcw cierror=0
continue
VALIDATEIPADDR
if !cierror<>0 then
echo
echo ************************************
echo ** NODE/IP CONTROL FILE CORRUPT **
echo ************************************
echo
bye
endif
Posted by Ron Seybold at 11:54 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
March 15, 2010
It may be later than it looks, to a few 3000s
Daylight Saving Time started in the US early Sunday morning, and your HP 3000 should have kept up with the forward progress of the outside world's clocks. But if it didn't, then independent consultant Keven Miller has shared a repair.
"My DAYLIGHT job was still on the old TZ dates," he said of the list of trigger-dates for changing the 3000's clock. "I checked my TZTAB file (which was correct), and fixed my job."
HP supplied a new file for 3000s in 2007, when the US government and a few others changed crossover dates for the spring and fall time shifts. Miller shared an updated job stream to keep the 3000 on time.
THE TZTAB file was complex enough to merit more than one attempt by HP to revise it. Miller's job slows down the 3000's clock in the fall, but jumps it ahead right away in the springtime.
55.1 !COMMENT 2010-03-04 2nd Sun Mar, 1st Sun Nov
56 !COMMENT
57 !showclock
58 !if hpday = 1 and hpmonth = 11 and hpdate >= 1 and hpdate <= 7 then
59 ! SETCLOCK TIMEZONE = W7:00
60 ! ECHO SETVAR TZ "MST7MDT" > TZ.CMD.XSI
61 ! TELLOP *********************************************
62 ! TELLOP Changing the system clock to STANDARD TIME.
63 ! TELLOP The clock will S L O W D O W N until
64 ! TELLOP we havev fallen back one hour.
65 ! TELLOP *********************************************
66 !elseif hpday = 1 and hpmonth = 3 and hpdate >= 8 and hpdate <= 14 then
67 ! SETCLOCK TIMEZONE = W6:00
68 ! ECHO SETVAR TZ "MST7MDT" > TZ.CMD.XSI
69 ! TELLOP *********************************************
70 ! TELLOP Changing the system clock to DAYLIGHT TIME.
71 ! TELLOP The clock jumped ahead one hour.
72 ! TELLOP *********************************************
73 !endif
HP once hosted the new TZTAB file on the Jazz Web server. That means it's now available at the Speedware host for these HP files, as well as the Client Systems Jazz host. You will need to click through HP's standard, 40-page end user license agreement to get to the download page.
Posted by Ron Seybold at 03:15 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
March 09, 2010
Of safe names, and safer 3000 documents
I've read about that Florida site where the system manager passed away without much notice. It sounds like documentation is pretty important in that kind of crisis. What do you recommend as a minimum?
Paul Edwards of Paul Edwards & Associates replies:
There are a couple of papers in PDF format that can be downloaded that deal with documentation that
every HP 3000 site should have on hand for these kinds of situations. The contents of a System Manager Notebook include hardware and software information that is vital to recovering your system in any type of disaster. The rest of the company’s busines operating procedures has to be combined with the IS plan to form a comprehensive corporate disaster recovery contingency plan.
The Notebook contains hardware model and serial numbers; license agreements for all software and hardware; a copy of all current maintenance agreements, equipment warranty information, complete applications documentation of program logic; data file layouts and system interaction, along with system operator run books and any other appropriate documentation. There is a wealth of information contained in each HP 3000 that can be printed and stored offsite that is critical to a recovery effort.
I'm trying to figure out what characters are really safe to use in file names in the HFS namespace. I was recently surprised to learn that the percent character has problems in MPE. If I STORE and RESTORE a file with a percent sign in its name, it seems that the percent sign and all following characters are dropped from the name. To be completely safe, do I need to restrict myself to uppercase and lowercase letters, digits, and underscores?
Cathlene McCrae of HP Support replies:
The help file for the build command in the HP 3000 reports incorrectly that file names can begin with or contain any of the following characters: a-z, A-Z, 0-9, _, ., ~, `, $, %, ^, *, {, },+,|,:
THE HP 3000 manuals and the online file command’s help have the correct character set, which is:
a-z, A-Z, 0-9, underscore, dash and period.
This a-z, A-Z, 0-9, underscore, dash and period is the character set that I would recommend, since it is compatible with most of the other operating systems -- including Windows.Posted by Ron Seybold at 01:27 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
February 11, 2010
Back up the directory, plus the data
Yesterday our Homesteading Editor Gilles Schipper gave sound advice on the use of buldacct and store while backing up -- to ensure that a restore puts files in the correct places on a 3000. He also advised we wait to hear what 3000 pro and Allegro Consultants support expert Donna Hofmeister has to say about doing an INSTALL, which Shipper concluded yesterday was a better option.
Hofmeister ran 3000 IT operations for years at Long's Drug. She says, "As long as you are somehow and routinely backing up your system's directory, you're doing the right thing." She's got a document that details steps on how to do a weekly full backup, with buldjob files. She's shared that with us (a Word document).
The advice has been polished and improved by Hofmeister, former OpenMPE director Paul Edwards and Shipper. It started its life as an HP document. And so the third party independent community again improves on what HP has created and documented. That might provide solace for anyone who worries about the decline of HP's 3000 interests.
Posted by Ron Seybold at 09:15 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
February 10, 2010
Directions on Using Store vs. Buldacct
Editor's. Note: 3000 experts have been asking what would our Homesteading Editor Gilles Schipper do while using the 3000's store directory option, rather than invoking the buldacct program to make clean backups. He weighs in with some sound advice.
By Gilles Schipper
Homesteading Editor
The confusion surrounding the use of the ;directory store option versus the buldacct directory creation program is common. I believe it stems from the fact that in order to benefit from the store ;directory option, one has to utilize the option almost perfectly in both the store and the restore following a system INSTALL.
Consequently, it becomes much easier to fall back on the buldjob options to re-create the directory -- although that option is inferior.
In order to be able to effectively utilize the directory option, the first thing that must be done properly is to ensure that the appropriate ;onvs= option is also used in the case where user volumesets are utilized. Otherwise, the non-system volumeset directories do not get restored after the INSTALL since they are not on the tape.
But even if the store part is done correctly, the other opportunity to go wrong presents itself during the reload process.
The proper procedure during reload is as follows:
1. perform INSTALL
2. restore ;directory from tape
3. re-create disk and volumeset environment via VOLUTIL
Then -- and this where many go wrong,
4. Again restore ;directory from tape (this re-creates the volumset directory environment on the master volumes for all user volumesets for those utilizing it)
and then
5. restore files
6. reboot with start norecovery (to enable network functionality)
Of course, for those that do not utilize user volumesets, the directory option becomes much less error-prone. And, for those that utilize third-party backup utilities, the ;directory option -- as utilized in the MPE store command -- is generally replaced with a similar option in the various backup utilities.
However, the bottom line is that for those that utilize the MPE store command to perform their backups, the properly-used ;DIRECTORY (and, if appropriate) corresponding ;ONVS= options) -- together with correct restore procedures as indicated above -- will get the desired result 100 percent of the time.
Notwithstanding, of course, any tape issues occuring, which would be problematic no matter which directory re-creation option is used.
The bottom line is that the proper way to perform a full backup if using the MPE backup facility:
:file t;dev=tape
:store /;*t;partdb;directory;onvs=mpexl_system_volume_set,big;
maxtapebuf[;progress=5;show;online[=xxxx]]
Of course, upon further reflection, and better than the store command: use sysgen to create a backup tape that not only contains all files, but also the SLT -- so that this one tape alone can be used to INSTALL and RELOAD your system. The use of sysgen for such purpose will require use of an indirect file.
Posted by Ron Seybold at 08:51 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
February 02, 2010
3000 tips for autoload, net stats and more
I have a Certance DAT72 autoloader, configured on my HP3000 and have no problems reading from and writing to the unit. How can I configure it so I can issue a command to load the next tape in the 6-slot magazine?
Denys Beauchemin replies,
To use an autoloader on the HP 3000 as an autoloader, you must set the device to be out of random mode and then enable autoeject with DEVCTRL. Certance was a spin off from Seagate in 2003 and was acquired by Quantum in 2004. Here’s the Web page on the Quantum site for the manual on this device. I would try the settings for HP-UX first, then Windows next.
I thought stopping and starting the network automatically reset the network statistics, similar to
linkcontrol @;status=reset
However, when I look, the statistics don't change. Why is that?
Gilles Schipper replies,
I think your command is correct - but your timing's a bit off.
If you re-issue the command, you will see all the numbers were actually reset, but the numbers you saw the first time were those just prior to the command taking effect.
"uname -i" will return the HPSUSAN on an HP-UX machine, just as "showvar hpsusan" would on an HP 3000. Calling HPCIGETVAR for the value "HPSUSAN" from within a program would allow me access to that value during a run. What is the equivalent on an HP-UX box?
Ken Hirsch replies,
If you're programming in Perl, you could say:
my $susan = `uname -i`;
chomp($susan); # remove line feed from end
print "susan = '$susan'\n";
In C, it would be easier to call the uname() function:
#include <sys/utsname.h>
#include <stdio.h>
main()
{
struct utsname u;
if (uname(&u) < 0) {
perror("uname");
exit(1);
} else {
printf("id = %s\n", u.idnumber);
}
exit(0);
}
#include <sys/utsname.h>
#include <stdio.h>
main()
{
struct utsname u;
if (uname(&u) < 0) {
perror("uname");
exit(1);
} else {
printf("id = %s\n", u.idnumber);
}
exit(0);
}
In the “how would I know that?” category, if you look at the bottom of the “uname” man page, it says SEE ALSO: getconf(1), hostname(1), model(1), setuname(1M), gethostname(2), sethostname(2), uname(2), hostname(5).
Section 2 of the manual has system calls and Section 3 library functions, so that’s what you want for programmatic access. Just type “man 2 uname” at the shell prompt.
Posted by Ron Seybold at 12:52 PM in Homesteading, Migration, MPE's Hidden Value | Permalink | Comments (0)
January 11, 2010
Emulating 3000 Bugs, As Well as Features
Creating an emulator is detailed work, development which can be tested in the market for years after release. That lengthy timespan of test was illustrated over the past week, when a discussion surfaced on the Internet about how the MPE Command Interpreter (CI) product behaves for HP 3000 emulation.
The discussion over the past 24 hours has opened a window on how the 3000 works at a essential tech level. JCL, which relies on the CI, can be used for programming on the 3000. But the chat also illustrates an issue of using an emulator for any 3000 system, whether it's hardware emulator like the coming Stromasys product, or a environment emulator like Speedware's AMXW. Customers need to rely upon complete emulation, even of features that work differently than they should.
Unlike the long-awaited product to mimic HP's 3000 hardware, AMXW works to re-create the 3000's operating environment on Unix or Windows. The software sold and updated by Speedware has been essential in getting a massive 3000 site onto Unix, when Expeditors International moved a network of more than 150 3000s using AMXW. This weekend a developer asked the 3000 community for help with an apparent expression evaluation bug in the MPE/iX CI. AMXW drifted into the 24-hour chat near the finish.
The CI in MPE/iX behaves differently than expected by several 3000 experts among the 10 who examined this bug. Some of them called it a bug, conjuring up the redoubtable phrase, "That's not a bug, it's a feature." In this instance, the CI's unique evaluation methods should be mirrored in any emulator environment. Please replicate bugs, said one expert with emulator development experience.
When Walter Murray, Keven Miller, Denys Beauchemin, Roy Brown, Neil Armstrong, Olav Kappert, John Pitman, Ken Robertson and Steve Cooper start talking about MPE/iX behavior, you can be sure you're getting a complete lesson. All of these men have developed commercially for the 3000, many of them for more than three decades.
Murray, who developed in HP's 3000 COBOL labs before he left the company, asked if he'd found a bug in the CI. He's running the latest release of MPE/iX; his employer is making a long-term migration away from the HP 3000.
Am I missing something really obvious, or is this a bug in the MPE/iX Command Interpreter's expression evaluation? Enter the following commands from the CI prompt (or execute them from a command file or in a job stream):
SETVAR A1 1
SETVAR A2 2
SETVAR A3 3
IF A1=999 AND A2=2 OR A3=3
ECHO TEST PASSED
ELSE
ECHO *** TEST FAILED ***
ENDIF
I am running MPE/iX 7.5 PP 3. Interestingly, [Vesoft's] MPEX gets this right. Is this a well-known problem that we just now stumbled upon?
A detailed debate ensued over how IF statements should evaluate expressions. AMXW played its small part when one of the experts on the CI mentioned the formidable emulator. Ken Robertson, who wrote a dandy article on the CI in the NewsWire during 2003, reported on the emulator's binding in IF statements. He even worked in a programmer's joke into his report.
For what it's worth for anyone running AMXW in their shops, it uses left-to-right binding for IF statements. Under AMXW running under HP-UX:
::SETVAR A1 1
::SETVAR A2 2
::SETVAR A3 3
::IF A1=999 AND A2=2 OR A3=3
*** EXPRESSION TRUE
::ECHO TEST PASSED
TEST PASSED
::ELSE
*** COMMANDS IGNORED UNTIL MATCHING ENDIF
::ECHO *** TEST FAILED ***
::ENDIF
*** RESUME EXECUTION OF COMMANDS
::
The original example logic runs as I believe it should, but is not compatible with MPE! Whether this is a good or bad thing, the opinion seems to be divided.I don't believe that we need parentheses to bind the order of our opinions correctly! Let our thoughts multiply or we can add our 0.02. Whoops... integers. That's zero that I'm adding. Hmm...
In addition to Beauchemin's quip about hurrying to submit this bug to HP (where 3000 bug fixes have ceased), Murray wondered if HP's docs describe accurately how the CI works. Parentheses look like a workaround to him. "It never occurred to me to use parentheses to cope with bugs in the expression evaluator," he writes. "I am not convinced that the CI is handling this expression as documented, but it's moot."
Not moot: How an emulator should handle such bugs. Replicate them, said Steve Cooper of Allegro Consultants, which sold an emulator to move the 3000's original SPL language to the new PA-RISC hardware. "If AMXW does not do what MPE does, that's a bug in AMXW, period," he writes. "Emulators have to be bug compatible, if they are to be good emulators. We certainly learned that with the SPLash! compiler, for instance."
Murray added advice for any site that's making a migration at this level, moving Job Control Language as well as program code to a new environment. Keep logic out of JCL. Since the JCL on many 3000s is being rewritten as Unix scripts, it's an option to consider.
This discovery reaffirms my uneasiness about putting too much logic in JCL. Where feasible, I tend to put more logic in executable programs, and less in JCL. I feel that the compilers are more reliable than the CI, and the programming language documentation is more precise than that of the CI.
Meanwhile, Cooper confirmed that HP's documentation does describe the CI behavior, so programmers of old systems may have written code that relies on the feature -- er, bug. "I don't like it either, but it is working as documented," he says. "We have exactly the case in that last paragraph of the documentation: a part evaluates to FALSE and is followed by an AND. Sorry, no bug here, just a weird design that I'm sure people are counting on at this point."
AND that's why a low-risk migration should follow the path of original design whenever possible. "We'd like our bugs migrated, please," ScreenJet's Alan Yeo relayed from a customer last year.
Posted by Ron Seybold at 02:36 PM in Migration, MPE's Hidden Value, Newsmakers, Users & Reports | Permalink | Comments (0)
December 24, 2009
Generous guidance still sits under HP tree
Even though much of the Hewlett-Packard expertise in the 3000 has moved on, users of the system can still find a few gifts of advice during this holiday. A show of goodwill and stewardship, admirable in its novelty, is on the Web and in e-mail readers this month.
The giver is Cathlene Mc Rae, an HP Senior Response Center Engineer who's been making a habit of teaching the community about nuances of the 3000. There is no template for how HP will work its experts during this time of decline of the vendor's 3000 services. Mc Rae is giving away instruction on the 3000-L mailing list, answering questions with the experience of a lab engineer. (She also attended this year's e3000 Community Meet, as shown in the video snap above.)
During the last 30 days Mc Rae has posted advice and procedures to resolve a dead LDEV2 drive, secure the 3000's FTP services, follow IMAGE jumbo dataset rules and practices, and fix a customer's problem with a LISTFILE command and a KSAMXL file.
A more personal notice shows the intention of this remarkable HP resource. Mc Rae has posted the first online animated Christmas holiday card from HP to the 3000 community. "It's warming to know that HP still has a soul," said Ray Shahan of 3000 site Republic Title of Texas. When you visit the Blue Mountain card, you can reply to keep the holiday spirit flowing. Staying in touch with each other will be important in the year to come, especially to celebrate a message of peace.
Mc Rae's efforts are being lauded by the subscribers to the 3000-L mailing list and newsgroup. Since the tech support is shared with the full 3000 community, rather than only HP support customers, you can receive it as a gift.
"The spirit of Christmas is not found under a tree," the card reads, complete with soulful soundtrack. Mc Rae's card is "wishing you peace and love at Christmas and always." These simple messages communicate the sentiment that remains in the hearts of HP's 3000 experts who never wished for an end to customer relationships.
The caliber of her advice shows the value of the gift, to the readers of the list. "Thank you for this info," said consultant Craig Lalley about the KSAM instruction. "It's nice to know I can still learn new stuff after 30 years of working with the HP3000."
"Cathlene does it again," said system manager Tom Lang. "The solution/answer is as much as 100 words. As I've said before, it's not just what she says, it's how she says it -- brief, succinct, clear and simple."
In the months to come, HP will empty its tree of official support resources. But homesteaders, and the migrators who remain on the server for now, might all gain comfort in the hope that this kind of goodwill will remain once HP ends its 3000 operations. Answers from the heart could well be gifts that don't have to appear on any financial report. Here's our thanks to the gift of shared 3000 experience that keeps on giving.
We'll be taking tomorrow off in celebration of Christmas here at the NewsWire, visiting with our new grandson Noah and his parents Elisha and Nick, practicing our tradition of seeing a movie on Christmas Day (Sherlock Holmes), and enjoying our big tree lit by our publisher Abby's hand -- just as she lit the candle of the NewsWire more than 14 years ago. We'll be back on Monday with a look back at an important year to the 3000's future, plus a look ahead at an active year to come for your community. Happy Holidays!
Ron Seybold, Editor
Abby Lentz, Publisher
Posted by Ron Seybold at 12:35 PM in Homesteading, MPE's Hidden Value, News Outta HP, Newsmakers, Web Resources | Permalink | Comments (0)
December 11, 2009
A Quick Cheat Sheet for Reloads
When a 3000 drive goes dead, especially after a power outage, it often has to be reloaded. Dave Powell of MM Fab had his Logical Device 2 (ldev2) fail on him in such an instance. He asked for a cheat sheet on reloading a volume, something that our Homesteading Editor Gilles Schipper was quick to provide to Powell.
By Gilles Schipper
Assuming your backup includes the ;directory option (you’ve already said it includes 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
I would suggest setting permanent and transient space each equal to 100 percent on ldev 2. The 75 percent default on ldev 1 is fine as long as you don’t need the space. And if you did, your solution shouldn’t really be trying to squeeze the little extra you’d get by increasing the default maximum limits.
The reason for limiting ldev1 to 75 percent is to minimize the otherwise already heavy traffic on ldev 1, since the system directory must reside there, as well as many other high traffic “system” files.
You won't want to omit the ;CREATE and ;PARTDB options from the restore command. Doing so will certainly get the job done -- but perhaps not to your satisfaction. If any file that exists on your backup was created by a user that no longer exists, that file (or files) will NOT be restored.
Similarly, if you omit the ;PARTDB option, any file that comprises a TurboIMAGE database whose corresponding root file does not exist, will also not be restored.
I suppose it may be a matter of personal preference, but I would rather have all files that existed on my disks prior to disk crash also exist after the post disk-crash RELOAD. I could then easily choose to re-delete the users that created those files -- as well as the files themselves.
Another reason why the ;SHOW=OFFLINE option is suggested is so that one can quickly see the users that were re-created as the result of the ;CREATE option. Purging the “orphan” datasets would be slightly more difficult, since they don’t so easily stand out on the stdlist.
Finally, it’s critical that a second START NORECOVERY be performed. Otherwise, you cannot successfully start up your network.
Posted by Ron Seybold at 03:22 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
December 04, 2009
Securing 3000 FTP: Clients yes, servers no
When long-time 3000 customer Eveready Insurance asked if Secure FTP (SFTP) is available for the server, the short answer was yes. And no.
A client version of the software to secure file transfers has been available for the 3000 for some time. What the 3000 lacks for now is a secure FTP server module. This means that the HP 3000 must initiate each secure file transfer process.
HP's response center engineer Cathlene McRae has pointed customers to a 2008 HP white paper on the subject of securing 3000 file transfers, a document which is honest about how far MPE goes to support the FTP industry standard. McRae admitted that MPE/iX doesn't provide a version of SFTP in addition to the 3000's regular FTP/iX. Once the invent3k public access development server accounts are restored for the community -- a project OpenMPE has been working on since September -- a true SFTP server module might proceed toward a release. A volunteer for that project would have to step up, too.
HP's white paper reports that it created a script called crypt that can secure 3000 transfers. The good news is that even though HP has closed down its Jazz server, crypt is still available to the community. Speedware is hosting crypt (a tarball that can be downloaded) as part of its collection of Jazz programs.
HP's paper says in part:
HP has designed a script which will allow FTP/iX users to transfer files securely from MPE/iX to remote systems running HP-UX, Linux, MPE/iX etc. The script provides an option to encrypt files prior to the transfer. Depending on this “encrypt” option and a few other considerations, the file will be encrypted using the POSIX CRYPT utility, before it is transferred via FTP/iX.
Brian Edminster of Applied Technologies has explained the differences between full SFTP support and the state of secure transfers using MPE/iX 7.5. In a report from earlier this year, Edminster said "while files can be put to or retrived from other systems, since only the SFTP client is available, the 3000 must originate the transaction. This can make for some process redesigns if your existing applications are used to your 3000 being the ‘server’."
That SFTP server module -- the element that prevents 3000 managers from saying the system supports SFTP -- is in a double limbo this month. A first pass at creating a port of OpenSSH for MPE/iX is included in the invent3k files of Ken Hirsch. But invent3k, like the Contributed Software Library and the Jazz programs, is still being set up by OpenMPE. Speedware and Client Systems haven't signed up to host invent3k. OpenMPE's mission remains keeping the 3000 up to date, once these porting projects become available to the community once again.
Posted by Ron Seybold at 04:20 PM in Homesteading, MPE's Hidden Value, News Outta HP, Web Resources | Permalink | Comments (0)
November 17, 2009
HP's 3000 legacy includes A, N-Class details
In our recent report on the seventh anniversary of HP's 3000 exit notice, we referred to a shining moment for the community. We captured the first-ever introduction of A-Class and N-Class HP 3000s on February 7, 2001. Although HP introduced its final generation of 3000s over and over for the next six months, that spring morning showed off the new design in extensive detail.
Product Manager Dave Snow is introduced by General Manager Winston Prather at the e3000 Solutions Symposium in our video, waltzing down the meeting room's aisle with an A-Class server under his arm. He's borrowed one of the few that were testing-ready that day from HP's MPE/iX labs. In a separate movie of 5 minutes, Snow leads a tour of the advantages the new design still offers over the 9x9 and 99x 3000s. HP pulled the covers and cabinet doors off to show internal hardware design.
HP hasn't manufactured these N- and A-Class models for more than six years, but they remain popular among community members who need to upgrade 3000s. They were built to a standard of reliability and durability that gives the computers a longer lifespan than many business servers. It's not easy to find this video's level of configuration detail here in 2009, even while the servers continue to be bought and sold
Snow discusses the length of that 3000 lifespan as he starts his advantages tour. The term of useful service of an HP 3000 gave customers an advantage in the short term -- but some say that that same service level contributed to HP's departure from your community.
Snow points to a missing future to start his tour. During his introduction he notes that "we do have a future beyond today's A- and N-Class server, in large part because we have a lot to talk about today." At least at the moment of the computer's introduction, HP seems to be intent on driving forward its 3000 business with technology advances. It was about to start reaping the years of technical work sowed to bring a 28-year-old server into the most current business server design.
3000s didn't wear out or fall so far behind computing needs as soon as other HP solutions. Useful life could easily be 10 years, a rate of churn that didn't fit with HP's new business model during 2001.
Many of the improvements in this ultimate HP 3000 came at the MFIO and processor board level. The servers used networking and peripheral support that provided speed and value that the server never had before 2001. The advantage tour video was shown to a room of 100 developers, 3000 partners and customers. HP hadn't changed the 3000 this much since its PA-RISC rollouts of the late 1980s.
There were to be even more striking changes to a 3000 customer's solutions and future about nine months away from that 2001 morning. By some estimates, judging from the first customer ship dates, these servers had only six months to contribute to division revenues before HP pulled its 3000 plug. No one can be certain how they might have succeeded for a customer base running 3000s 8-10 years old, systems hungry for power and cooling and falling short of CPU needs.
But those same distinctions matter today, even after more than eight years, to community members who need an upgrade before they finish using their 3000s. HP will finish its 3000 business before commerce ends around the A- and N-Class. Waiting for all these years to acquire one delivers a massive discount by now, in addition to the technical advantages.
Posted by Ron Seybold at 12:33 PM in Homesteading, MPE's Hidden Value, News Outta HP, Podcasts, Your System's History | Permalink | Comments (0)
November 13, 2009
Command the 3000's Service General
It's a powerful part of your HP 3000 that runs whenever the server is plugged in. The General Service Processor (GSP) is the maintenance control console that commands the server to "reboot, do memory dumps and even fully power down the HP 3000," reports consultant and outsource support expert Craig Lalley of EchoTech.
Lalley has been on the hunt for a method to make the 3000's GSP as useful as the unit in an HP-UX server. "On HP-UX it is possible to reset from the host OS," he said. "I have not found a way from MPE."
Lalley explains that on HP-UX it is possible to issue the command
stty +resetGSP < /dev/GSPdiag1
to reset the GSP. From time to time a reset may be required for diagnostics services. If your 3000 gets loving care from outside your computer room, you may need a paper clip to keep service at HP-UX levels.
The gap between 3000 and HP 9000/Integrity GSPs is a common shortfall of HP designs. Even though the 3000's MPE/iX includes a Posix interface, HP didn't engineer enough Unix into the 3000 to enable some administration that HP-UX users enjoy. (That can be a good thing when a security breach opens up in the Unix world, however.)
But when a 3000 needs a GSP reset, pressing a magic recessed button on the 3000's back will do the trick if a Telnet command doesn't work. Matt Perdue of Hill Country Technologies and the OpenMPE board explains.
"I telnet to the IP address of the GSP, log in and do the reset that way," he says. "But you can get someone, to press the physical reset button at the back of the machine. If memory serves, it's recessed into the cabinet so you may need a 'magic paper clip' bent just so."
Lalley calls the GSP, which HP introduced with its final generation of 3000s, one of the most useful things in the A-Class and N-Class boxes.
The GSP is a small computer that is always powered on when the plug has power. With it, it is possible to telnet to and BE the console. While multiple admins can telnet in and watch, only one has the keyboard.
It is possible to reboot, memory dumps and even fully power down the HP 3000 from the GSP. Use the command PC OFF.
It is probably the best feature of the N-Class and A-class boxes. The problem is sometimes it needs to be reset, usually with a paper clip. Since the GSP is a different CPU, it can be done during business hours.
All of which begs the question of to secure these resets. He says the MPE/iX user/account structure provides the security.
As for security, users and passwords are defined, and there are two or three classes of users.
1) Administrator
2) Operator
3) Perhaps even User
I only use Operator, i.e. I usually am the only one who accesses it. I do have one customer that allows operators. They can reply and watch messages, but not reboot and so on.
Posted by Ron Seybold at 09:01 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
October 29, 2009
Links to 3000 via Unix, Linux stay free
Companies which continue to rely on the HP 3000 connect to the system using other servers. In this case, other means non-3000 computers, especially running Linux and various flavors of Unix. A free program was once available to install on the Unix or Linux host, but freevt3k has been found recently and rehosted for public use. It works with block mode well enough to drive the NMMGR tool shown above.
Mark West of Car Hop, an auto sales and finance firm, needed to perform this kind of link, but discovered that the known links to freevt3k through telemon.com have gone dead. West dug up the source code for the utility, rehosted it in a forge on SourceForge.net, then told the community about its lost-then-found resource.
I've been trying to find a suitable terminal to access the HP3000 servers we use at work. I made a couple of small corrections and set up a sourceforge project to store the freevt3k code on. While I’m sure this isn’t the most recent copy, at least it’s been saved from the lost and found. I’ll be happy to accept any patches sent to me.
Freevt3k made its debut in the late 1990s. HP discontinued its NS VT3K product, which allowed HP 9000s to log into the HP 3000. HP-UX 11.0 and later versions no longer support a pathway from outside systems into HP 3000s. But freevt3k a means to let users onto the systems if you don't want to use telnet. (Some companies have restrictions on telnet services into HP 3000s, but no limits on proprietary, internal access.) A freeware project created this shareware version of VT3K.
The version of the software that West has provided has Linux binaries and a Unix source tarball for download. Notes in the README file deliver instructions on how to use it.
Posted by Ron Seybold at 09:56 AM in Homesteading, MPE's Hidden Value, Users & Reports, Web Resources | Permalink | Comments (0)
October 28, 2009
Sites turn 3000 clocks back, and back on
This is the week in the world when the loss of an hour must be weathered in IT, as Daylight Savings time ends. (The UK lost its hour last weekend; the US does so Saturday night.) The HP 3000 does time shifting of its system clock automatically, thanks to patches HP built during 2007. But what about the internal clock of a computer that might be 15 years old? Components fail after awhile.
The 3000's internal time is preserved using a small battery, according to the experts out on the 3000 newsgroup. This came to light in a discussion about fixing a clock gone slow. A few MPE/iX commands and a trip to Radio Shack maintains a 3000's sense of time.
"I thought the internal clock could not be altered," said Paul English. "Our server was powered off for many months, and maybe the CMOS battery went flat." The result was that English's 3000 showed Greenwich Mean Time as being four years off reality. CTIME reported for his server:
* Greenwich Mean Time : THU, JUN 17, 2004, 11:30 AM *
* GMT/MPE offset : +-19670:30:00 *
* MPE System Time : THU, SEP 10, 2009, 2:00 PM *
Yup, that's a bad battery, said Pro 3k consultant Mark Ranft. "It is cheap at a specialty battery store," he said, "and can be replaced easily, if you have some hardware skills and a grounding strap." Radio Shack offers the battery.
But you can also alter the 3000's clock which tracks GMT, he added.
"The internal clock can be set or reset at bootup (the method varies depending on the hardware), or by using the MPE SETCLOCK date=xx/xx/xx;time;NOW command, in conjuction with SETCLOCK ;CANCEL. Follow these by the SHOWCLKS command. It usually takes me a couple of attempts to get it, but you should be able to straighten this out without even having to reboot."
A few customers warned that utility software will sometimes fail to start up if a bad battery has pulled the internal clock too far off the system clock. Tracy Johnson of OpenMPE explained:
Collateral damage may include some third party software going non-operational. I have at least one software package whose license goes bad when the offset gets too large (think years). When I fix the offset to a reasonable number (within a day or two), then the software works again.
Posted by Ron Seybold at 07:29 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
October 23, 2009
HP 3000 Becomes a Copy Cat
Sometimes, the HP 3000 can surprise you with its capabilities. Not long ago, the system revealed another life, this one as a minicomputer which controls a copier.
Both of those technologies, mini and copier, are considered old-school. Everybody understands what a copier does, but few people under 50 know what the term mini represents. For anybody reading who's only just arrived in IT during this decade, computers were known as mainframes, microcomputers, and minicomputers. People who know what mini means helped connect a Ricoh copier to a 3000. Over a network, no less.
Of course this Ricoh CP M4000 is not a copier of the '80s, not any more than the HP 3000 is a minicomputer of that era. The Ricoh prints for PCs (microcomputers) at Victor S. Barnes Company. It also stacks and staples, a feature set that IT manager Tom Hula wanted to extend to its 3000. The system became a copy cat by telling the copier to stop looking for some of its configuration information. A third party tool helped provide another way to claim this new life for the 3000.
Routing application output to print and copy devices often becomes the task of a print server. The 3000 has a good heritage of working with such a PC print clearinghouse. There's also the NBSPOOL software from Quest Software. The latter is still for sale, still supported. Quest is one of those suppliers who's going to be supporting 3000 sites a long time after HP leaves the field.
Another fine 3000 product, NetPrint from Minisoft, specializes in connecting HP 3000s with output devices HP doesn't support under MPE/iX. Hula found a workaround on his own, once he talked to the Ricoh support. The answer he discovered within 24 hours was to disable the NPCONFIG information on the output job
The problem had to do with restrictions that were set on printing color. On each workstation, I had had to specify black and white printing as the preference so that people could print to the copier. Using color then required an authorization code if the user had one assigned.
As far as I know, the HP 3000 has no way of communicating printing preferences to this copier. As soon as I removed the restriction from the copier, printing using the NPCONFIG entry I originally used worked.
One of the community's networking gurus added some more information to suggest another workaround. Jeff Kell, who manages the 3000 newsgroup where this catty advice appeared, said the 3000's tool set might include enough connection to talk to Ricoh's software drivers.
We have an “outsourced” copy center that uses Ricoh printers. Their printers normally require an authorization code to print anything. The only way to print to them from the 3000 was to have them disable the authorization check on the particular printer. Once that is done, it does accept a normal PCL-stream on tcp/9100 (with SNMP disabled).
Ricoh has drivers for Windows, and there are Unix “cups” configurations for them including authorization codes. But of course there is no MPE variant, unless you can front-end one with some esoteric “lpr” type options, using one of the 3000's external network printing packages (ESPUL?).
ESPUL was created by RAC Software's Rich Corn. The product is resold by Minisoft as NetPrint. The advice gives 3000 customers more than one way to skin this cat. Nothing that gruesome is needed to extend a 3000's reach today. You need only ask those who remember that the word mini can represent a large array of solutions.
Posted by Ron Seybold at 04:25 PM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (0)
September 18, 2009
3000s can track time, even update with Unix
Even while network testing 3000s in HP's Cupertino lab were being powered down last month, customers are working to employ network services on their own servers. NTP, the network time protocol, was ported and patched for MPE/iX years ago. A developer wanted the latest patched NTP version recently, software that consultant Craig Lalley sent him across the net in a 4 MB attachment.
Tony Summers of Smith Williamson, which migrated last year, said implementing NTP on the company's 3000 was disappointing, but suspected the install wasn't done properly. NTP itself is popular among all environment managers. "Our systems team are wanting to implement NTP on our Unix systems," he reported, "but I’m asking them (for technical reasons related to our own internal applications) that they only invoke NTP synchronization on a system reboot, rather than having it run constantly."
There are some reports that NTP can help manage 3000 operations, but not hosted on a 3000. Mark Ranft of Pro 3K says a corporate NTP server is assisting HP 3000s he manages, triggering an MPE/iX client.
"The NTP client executable that I have is called NTPDATE," he said. "I use it in a command file to compare the system date and time to the server. If it is more than 30 seconds off, I automatically use the same program with a different parameter to adjust the time. If it is more than 45 seconds off, I send a message/page, as something is up (like a time test or a reboot and someone forgot to set the hardware clock.) I have my proactive HP 3000 monitor doing this on all my systems every 10-20 minutes."Before a patch," he added, "I had seen heavily loaded systems experience time drift. This routine was a life-saver."
These NTP executables are scheduled to be part of HP shareware offerings on the Speedware Web site, as well as on the OpenMPE server. There's also a way to synchonize a 3000's clock with routines written into MPE/iX, as opposed to the open source add-on of NTP. Jeff Kell, whose expertise in networking included a stint as a Networks Special Interest Group chairman, offered this advice:
NTP may have issues as a server/daemon. If you just want to keep your 3000's clock periodically synchronized, try something like this:
> !job timesync,mgr.xntp;pri=cs
> !ntpdate "a.b.c.d w.x.y.z"
> !stream timesync.pub.xntp;in=0,12,0
Substitute your favorite time servers addresses for a.b.c.d and w.x.y.z. This is an "on-demand" synchronization every 12 hours (adjust to taste).
Posted by Ron Seybold at 09:20 AM in Homesteading, MPE's Hidden Value, Users & Reports | Permalink | Comments (0)
August 10, 2009
Use a Web console on a 959
Our Series 959 has a DB25 remote console socket, rather than the 9-pin of the N-Class servers. Can I still connect and use a Web console on this system?
Mark Ranft replies:
With the correct cable the Web console should definitely work on the 959. I had it working on a 989. I am not sure why you would compare the 959 to the N-Class. Anyone using Web console on the N-Class should switch to using their GSP console. For a better, more reliable, faster, more fully featured console on pre-GSP systems, I have set up remote console via DTC, using back-to-back DTC switching. It is very nice.
Craig Lalley adds:
Just use the 25-pin connector that is currently connected to the system console.
Jack Connor adds with a wink:
If you need both, you can use an A/B switch, if moving the cable is too strenuous.
Posted by Ron Seybold at 10:52 PM in MPE's Hidden Value | Permalink | Comments (0)
August 03, 2009
Use and understand byte stream 3000 files
Although HP's labs for the 3000 closed at the end of last year, some HP engineers continue to help the community. The HP help was offered most recently on the community's newsgroup, where system architect and former community liaison Craig Fairchild explained byte stream files on the 3000.
These fundamental files are a lot like those used in Windows and Linux and Unix, Fairchild explained. HP 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-like namespace.
It's a rare gift to see a primer on 3000 file types emerge from HP today. Understanding the 3000 at this level is important to the customer who wants 3000 third party companies to take on the tasks HP is dropping next year. Fairchild explained the basics of this basic file type:
Fairchild detailed how HP has given bytestream files the knowledge of "organization of data" for applications.
The underlying properties of a byte stream file is that each byte is considered its own record. In MPE file system terms, a record is the smallest unit of IO that can be performed on a file. (You can write a partial record fixed length record, but the file system will pad it to a full record.) Since the smallest unit of I/O that can be performed on a byte stream file is a single byte, that becomes its MPE record size. In the MPE file system, the EOF tracks the number of records that are in a file. Since the record size of a byte stream file is one byte, the EOF of a byte stream file is also equal to the number of bytes in the file. This is why one 4-byte variable sized record is equal to 5 byte stream records (4 bytes of data + 1 \n character).
It's also worth noting that any file can be in any directory location and will behave the same way. (Well, almost. CM KSAM files are restricted to the MPE namespace. And of course the special files (that you don't normally see) that make up the file system root, accounts and groups are also restricted... one root, accounts as children of the root, groups as children of accounts. And lockwords aren't allowed outside the MPE namespace. But other than that the first sentence is true.)
The general model that we had in architecting the whole Posix addition was that behavior of a file does change regardless of where it is located. This was summed up in the saying, "A file is a file." So there are no such things as "MPE files" and "POSIX files". There's just files.
What does change is the way you name that file. Files in the MPE namespace can be named either through the MPE syntax (FILE.GROUP.ACCOUNT), or through the HFS syntax (/ACCOUNT/GROUP/FILE). You can also use symbolic links to create alternate names to the same file. This was summed up as a corrallary to the first saying, "But a name is not a name."
Posted by Ron Seybold at 06:59 PM in Homesteading, MPE's Hidden Value, News Outta HP | Permalink | Comments (0)
July 09, 2009
Command file tests dates for holidays
Community contributor Dave Powell has improved upon a command file created by Tracy Pierce to deliver a streamlined way to tell an HP 3000 about upcoming holidays. Datetest tells whether a day is a holiday. "I finally needed something like that," Powell says, "but I wanted the following main changes:
1: Boolean function syntax, so I could say :if holiday() then instead of
:xeq datetest
:if WhichVariableName = DontRememberWhatValue then
and also because I just think user-functions are cool."
"2. Much easier to add or disable specific holidays according to site-specific policies or even other countries’ rules. (Then disable Veterans Day, Presidents Day and MLK Day, because my company doesn’t take them.)
"3. Make it easy to add special one-off holidays like the day before/after Christmas at the last minute when the company announces them.
"Along the way, I also added midnight-protection and partial input date-checking, and made it more readable, at least to me."
Powell, who's contributed plenty of command files to the community through the HP 3000 newsgroup, says that most of the fun came in the day-of-week calculation.
I didn’t understand that part of Tracy’s script, or trust myself to adapt it without messing up, so I found a second method and used both, with a warning if the results didn’t agree. Surprise, surprise, they disagree about 12/25/2100, although they agree on dates I tested within the expected lifespan of MPE. So I shoveled in a third formula and found a day-of-week calculator spreadsheet, both of which agree with the second method. So anyone who uses Tracy’s original command file and plans to still run it in 2100 might need to make a change.
He offered what he called a preliminary version of the new datetest, which has been checked by Allegro's Steve Cooper.
option nolist
parm CCYYMMDD = ""
if bound (HOL_ERRORS) or bound (HOL_DAY)
deletevar HOL_@
endif
setvar HOL_ERRORS 0
if "!CCYYMMDD" = ""
setvar HOL_CYMD HPYYYYMMDD
setvar HOL_DAY !HPDAY
if HOL_CYMD <> HPYYYYMMDD
# if the date has changed, we just hit midnite and the
# day-of-week we just set might be the new day; in this
# case set the date & day-of-week again, and we should
# be ok (unless the following 2 commands take 24 hours :)
setvar HOL_CYMD HPYYYYMMDD
setvar HOL_DAY !HPDAY
endif
else
setvar HOL_CYMD "!CCYYMMDD"
if not numeric (HOL_CYMD)
echo **date parm, if entered, must be numeric**
setvar HOL_ERRORS HOL_ERRORS + 1
endif
if len (HOL_CYMD) <> 8
echo **date parm must be exactly 8 digits, unless omitted**
setvar HOL_ERRORS HOL_ERRORS + 1
elseif numeric (HOL_CYMD)
if rht (HOL_CYMD, 2) > "31"
echo **last 2 digits of date parm can't be more than 31**
setvar HOL_ERRORS HOL_ERRORS + 1
elseif rht (HOL_CYMD, 2) = "00"
echo **last 2 digits of date parm can't be "00"**
setvar HOL_ERRORS HOL_ERRORS + 1
endif
if str (HOL_CYMD, 5, 2) > "12"
echo **bytes 5 & 6 of date parm can't be more than 12**
setvar HOL_ERRORS HOL_ERRORS + 1
elseif str (HOL_CYMD, 5, 2) = "00"
echo **characters 5 & 6 of date parm can't be "00"**
setvar HOL_ERRORS HOL_ERRORS + 1
endif
endif
if HOL_ERRORS > 0
echo **exiting because the date-parm was not a valid**
echo **8-digit date in yyyymmdd format **
return FALSE
endif
endif
# -------------------------------------------------------
# do not casually modify above here
#
# Take any special / unofficial holidays here
# OK to replace any dates that are past with the date of a
# holiday the company just announced (Jewish new year,
# days before / after Christmas & New Years, etc, etc)
if HOL_CYMD="20080929" or HOL_CYMD="20081008" &
or HOL_CYMD="20081226" or HOL_CYMD="20090102"
echo It's a special company holiday :)
return TRUE
endif
# do not casually modify below here
# -------------------------------------------------------
setvar HOL_YYYY str (HOL_CYMD, 1, 4)
setvar HOL_MM str (HOL_CYMD, 5, 2)
setvar HOL_DD str (HOL_CYMD, 7, 2)
#
# Set day of week, unless already set because processing "today"
#
if not bound (HOL_DAY)
# 1st, the method in the original "datetest" command file
setvar HOL_DAY str("000031059090120151181212243273304334", &
!HOL_MM * 3 - 2, 3)
setvar HOL_DAY !HOL_DAY + !HOL_DD
IF !HOL_MM > 2 and ( !HOL_YYYY / 4 * 4 = !HOL_YYYY )
setvar HOL_DAY HOL_DAY + 1
ENDIF
setvar HOL_YWK !HOL_YYYY - 1
setvar HOL_DAY !HOL_DAY + ( !HOL_YWK / 400 ) * 146097
setvar HOL_YWK !HOL_YWK mod 400
setvar HOL_DAY !HOL_DAY - ( !HOL_YWK / 100 ) * 36524
setvar HOL_YWK !HOL_YWK mod 100
setvar HOL_DAY !HOL_DAY + ( !HOL_YWK / 4 ) * 1461
setvar HOL_YWK !HOL_YWK mod 4
setvar HOL_DAY !HOL_DAY + ( !HOL_YWK * 365 )
setvar HOL_DAY ( HOL_DAY mod 7 ) + 1
deletevar HOL_YWK
# Next, the method posted to the 3000-l by Mike Hornsby 06/04/2004
# except, add 1 at the end because his was 0-6 and we need
# 1-7.
setvar HOL_XYR !HOL_YYYY-((12-!HOL_MM)/10)
setvar HOL_XMONTH !HOL_MM+(((12-!HOL_MM)/10)*12)
setvar HOL_XDAY !HOL_DD+(!HOL_XMONTH*2)+(((!HOL_XMONTH+1)*6)/10)
setvar HOL_XLEAP_YR (HOL_XYR/4) - (HOL_XYR/100) + (HOL_XYR/400)
setvar HOL_XDAY (HOL_XDAY+HOL_XYR+HOL_XLEAP_YR+1) mod 7 + 1
# Next, day-of-week with my adaption of a "Zeller" formula
# off the internet.
if HOL_MM < "03"
setvar HOL_ZMONTH !HOL_MM + 12
setvar HOL_ZYEAR !HOL_YYYY - 1
else
setvar HOL_ZMONTH !HOL_MM
setvar HOL_ZYEAR !HOL_YYYY
endif
setvar HOL_ZDAY ( &
((13 * HOL_ZMONTH + 3) / 5) + !HOL_DD + HOL_ZYEAR &
+ (HOL_ZYEAR/4) - (HOL_ZYEAR/100) + (HOL_ZYEAR/400) &
+ 1 ) mod 7 + 1
# Now, see if the day-of-week calcs agree
if HOL_DAY <> HOL_XDAY &
or HOL_DAY <> HOL_ZDAY &
or HOL_ZDAY <> HOL_XDAY
setvar HOL_ERRORS HOL_ERRORS + 1
echo **day-of-week error**
echo HOL_DAY = !HOL_DAY
echo HOL_XDAY = !HOL_XDAY
echo HOL_ZDAY = !HOL_ZDAY
endif
setvar HOL_DAY HOL_ZDAY
deletevar HOL_X@, HOL_Z@
ENDIF
#
# Now check for specific regular holidays, month-by-month.
if HOL_MM = "01"
if HOL_DD = "01"
echo It's New Years Day
return TRUE
endif
if ( !HOL_DAY=2 and !HOL_DD>=15 and !HOL_DD<=21 )
echo (It's Martin Luther King day - but do we get it?)
# return TRUE
endif
return FALSE
elseif HOL_MM = "02"
if (!HOL_DAY=2 and !HOL_DD>=15 and !HOL_DD<=21)
echo (It's President's Day - but do we get it?)
# return TRUE
endif
return FALSE
elseif HOL_MM = "05"
if (!HOL_DAY=2 and !HOL_DD>=25 and !HOL_DD<=31)
echo It's Memorial Day
return TRUE
endif
return FALSE
elseif HOL_MM = "07"
if HOL_DD = "04"
echo It's July 4th
return TRUE
endif
return FALSE
elseif HOL_MM = "09"
if ( !HOL_DAY=2 and !HOL_DD>=1 and !HOL_DD<=7 )
echo It's Labor Day
return TRUE
endif
return FALSE
elseif HOL_MM = "11"
if HOL_DD = "11"
echo (it's Veterans Day - but do we get it ?)
# return TRUE
endif
if ( !HOL_DAY=5 and !HOL_DD>=22 and !HOL_DD<=28 )
echo It's Thanksgiving
return TRUE
endif
if ( !HOL_DAY=6 and !HOL_DD>=23 and !HOL_DD<=29 )
echo It's the day after Thanksgiving
return TRUE
endif
return FALSE
elseif HOL_MM = "12"
if HOL_DD = "25"
echo It's Christmas
return TRUE
endif
return FALSE
endif
# showvar HOL_@
return FALSE
# Function "holiday" to return 'TRUE' on company holidays
# Dave Powell, MMfab, Inc 05/12/2009
#
# Syntax if holiday () then <checks today>
# calc holiday (20090511)
# if holiday ("20090511") then
# calc holiday (SomeDateVariable)
# etc
# or, for a company that sometimes has a few people in
# Saturday morning, but its not like a real workday
# setvar OFFDAY HOLIDAY() or HPDAY=1
# setvar WORKDAY HPDAY<7 and not OFFDAY
# setvar MAYBEDAY not ( OFFDAY or WORKDAY )
# etc
#
# Logic adapted from the "datetest" command file
# posted by Tracy Pierce on the HP-3000L on 09/26/2002
#
# Variable-naming convention:
# - 'DD', "MM", "YYYY" etc mean string variables with the
# length you might guess from the name.
# - 'DAY', "YEAR", "MONTH" mean integer-type variables.
#
# Changes / "improvements" in this file over original "datetest"
# - Function syntax, so you can say
# if holiday() then
# instead of
# xeq datetest
# if IForgetTheVariableName = WhatWasThatValue then
# - Separate "if"s for each holiday, to make it easier to
# turn them on or off depending on your site's policies.
# - Then turns off some holidays I don't I think I can
# count on MMfab always taking.
# - It echoes the name of whatever holiday it thinks it is,
# do make debugging easier.
# - Has a spot to put in extra / unofficial days off when
# the company announces them (like the day before / after
# Christmas).
# - Returns true if the holiday falls on a Saturday or Sunday,
# except Easter Sunday, which is ugly.
# - Midnite protection.
# - Checks that the date is numeric, with plausible month & day
# (does not check that the day is too high for that month)
# - More readable ?
# - Calculates day-of-week three ways and compares them, as an
# extra double-check since I don't understand any of
# these calculations :(
# Downgrades:
# - Won't try to guess the century -- cannot handle 6-digit
# input.
#
#
# Any errors return "FALSE" on the assumption that the programmer,
# at least, can't take a holiday until he fixes the bug :)
#
#
# Day-of-Week note:
# The 3 methods mostly agree, but 12-25-2100 is a Sunday
# according to method 1, but a Saturday according to methods
# 2 & 3. Babwani's modified 2007 date-calc spreadsheet also
# says Saturday.
Posted by Ron Seybold at 02:33 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)
May 11, 2009
Secure transfers come out of open shell
The Secure Copy Protocol (SCP) is a suite of transfer solutions that's in a transition position for the HP 3000. Enough work has been completed to bring this software into use under MPE/iX.
Donna Hofmeister, an OpenMPE director, has reported that
When Jeff Vance was at HP, he wrote a FTP script that used the Posix program ‘crypt’ to encrypt/decrypt files leaving an MPE system. If the destination system was also MPE, the file would be automatically decrypted upon delivery.
An expert in open source solutions that run on the 3000 says that SCP clients already have logged work on HP 3000s. Server-side SCP components are still in the future, though, for MPE/iX.
Hofmeister added, "I wrote a very simple decryption shell script for Unix/Linux. If someone had a lot of time on their hands and had intimate knowledge of Unix/Linux porting, there’s a remote possibility, I think, of moving this to the 3000. If all that you're looking for is 'push' (from MPE/iX) functionality, sftpput should work for you."
Brian Edminster of Applied Technologies explained the biggest challenge at the moment is finding OpenSSH download sources, since HP pulled the plug on the Invent3k Web server.
SCP (and sftp) clients are available for MPE/iX and work fine on version 7.5. You can contact me if you’d like to discuss how to get a copy of your own. I’ve had extensive experience with the sftp client, and some with the scp client. Both work remarkably well, although there are some ‘quirks’ it helps to be aware of. I’d be happy to discuss those too.
The limitation here is that while files can be put to or retrived from other systems, since only the client is available, the 3000 must originate the transaction. This can make for some process redesigns if your existing applications are used to your 3000 being the ‘server’. And no, jinetd doesn’t need to be running for SCP or sftp to work.
There is a port (although technically not complete) of what is by now a fairly old but still workable version of OpenSSH to MPE/iX. It was done by Ken Hirsh, which he had gratiously made available to the 3000 community via his Invent3k account. Unfortunately, the ‘Invent3k’ community development server that HP had made available some years ago is, like Jazz, no longer online. [OpenMPE has plans to rehost the Invent3k programs.]
I don’t recall what version of MPE was used, but I’ve used the ported software successfully on 7.0 and 7.5. I suspect it’ll work on 6.0 or later, but as yet haven’t tested it myself. His port included the ‘ssh’ command line client, but it had very limited functionality due to technical issues.
It also included the client components sftp and scp, as well as an ‘entropy’ (random number) generator written in Perl. This last piece is necessary because the ‘random’ number functions under MPE/iX aren’t very random. At least, not as far as serious cryptography is concerned. This Perl script (modified by Ken to run on MPE) was originally written by others to get around not having a kernel-based entropy source for their systems either. Poor quality random number generation is not just a MPE/iX issue.
The ‘server’ components (sshd, sftpd, and scpd) were never ported for reasons that Ken could possibly explain. It might have been something as simple as he didn’t need them. From my perspective I’m thankful that Ken did the port in the first place.
I have installed his OpenSSH port many times, and even tightly integrated it with legacy applications. Sftp is still in use many times a day with those applications, and since first installed several years go has safely and securely transferred terabytes of data, with no clear end-date for this application’s life.
I did a presentation on this at the 2008 GHRUG conference. Look at the bottom of the ‘Links & Other Resources’ page at my Web site.
I’m currently in the process of adding even more use of sftp and scp to replace standard FTP in this client’s applications, at the insistence of their PCI auditors -- and so will have more stories to share.
Posted by Ron Seybold at 07:23 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (1)
May 04, 2009
Paper clip enables resets for disks
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 recently to a A-Class HP 3000.
Central 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 when Larry Simonsen asked
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 will reset the GSP and enable access, says EchoTech's Craig Lalley.
Lalley added that a GSP reset is an annual maintenance step for him.
I find it is necessary to reset the GSP about once a year. It seems to correlate to when you really need to get access, and you can't get physical access to the box. Good old Murphy's law.
Resource 3000's Stan Sieler (one of the Allegro Consultants) has a fine white paper online about MPE/iX system failure and hang recovery that includes GSP tips.
HP's documentation on resetting the GSP for the 900 Series 3000s, remotely through commands, is still online at the HP Web site.
Posted by Ron Seybold at 01:18 PM in Homesteading, MPE's Hidden Value, Web Resources | Permalink | Comments (0)
April 23, 2009
How to Peer Into TurboIMAGE databases
I am looking for a way to permit ordinary users (programmers and support staff) to see who is using a TurboIMAGE database, and what locks are in effect and are pending -- the information you would see with DBUTIL using SHOW ... USERS and SHOW ... LOCKS or SHOW ... ALL.
I have to work within these constraints: (1) Can’t let them log on with SM capability. (2) Can’t let them log on as the database creator. (3) Can’t reveal the password on the MPEX GOD program. (4) Can’t reveal the password on DBUTIL. Is there a utility to do this?
Eric Sand replies
To keep things simple, I would just create a “RELEASED” job that can execute DBUTIL with the proper passwords to the DB that you want to examine and direct the output to a file that anyone can read.
The job that wants the locking info would stream this DBUTIL job using the “COMMAND” intrinsic and then parse the output file. This could be done by the “CALLING” program repeatedly if needed and report its findings. Each file could be created unique by composing its name based on a sequential numbering scheme from the results of a LISTF.
Posted by Ron Seybold at 12:22 PM in Homesteading, MPE's Hidden Value | Permalink | Comments (1)
April 21, 2009
Community needs HP support users to test final FTP patch
A new patch to repair a broken command in FTP/iX needs testing now, but the 3000 community must now rely on HP support customers to test HP's lab work. The FTPHDK7A patch repairs the MGET command in the 3000's FTP file transfer program, the industry standard to move files between servers. But like a significant number of HP's 2007-08 lab projects, this patch is trapped in beta-test limbo.
HP's release policy remains unchanged about the patches it's created. Each one must be tested by 3000 owners before the vendor will release the patch to all 3000 sites, even the customers who don't use HP support. The beta-test limbo has seen a lot of patches check in, and far fewer checked out for public release. HP was supposed to be considering reducing the test requirements. But the vendor closed its lab without altering the policy.
OpenMPE has a list of unresolved 3000 issues like this one that HP left behind. MGET isn't critical unless a customer needs bulk transfer of many files in a directory. The bug also existed in last year's HP-UX version of FTP, according to Allegro's Donna Hofmeister. But the HP-UX version of this patch received the tests needed for a full HP release.
Even though HP now has only support division level engineers working on 3000 issues until 2011, nothing is different for the vendor. HP wants to avoid giving any supported customer an under-tested patch. But only HP's support customers can free up this beta-test software. HP won't let the full 3000 community do any beta testing — even after OpenMPE asked to set up a non-customer beta test team.
What's more, HP's engineering load was so heavy last year, the 3000 labs only had enough manpower to create MPE/iX 7.5 patches. FTPHDK7A is only crafted for this latest MPE/iX. At least half the 3000s today are running an earlier release. But even this 7.5-only software needs HP support customers to help the homesteaders.
"If you still have an HP software support contract and are willing to apply the patch -- for the good of the community, frankly -- please call the Response Center," said Hofmeister. Her husband James, who's in the HP's networking support center, discovered the bug last year. "In order for the patch to be General Released, more people need to request and install the patch. Be a good sport and place a call," Donna added.
Until the patch is sprung from beta jail, the GET command, one file at a time, will have to be workaround for FTP. HP had better reasons for its exacting test process when the community of 3000 users was bigger and patches still rolled out of the lab. In 2009, the policy is a relic, outdated procedure designed to protect HP's liability rather than assist the full 3000 community.
Posted by Ron Seybold at 12:21 PM in Homesteading, MPE's Hidden Value, News Outta HP | Permalink | Comments (0)
April 10, 2009
HP helps network 3000s with classless IP
HP is still offering free technical advice for the HP 3000 through its IT Response Center experts Web site. Just this week, an Hewlett-Packard support specialist who moderates the board answered a question about configuring a 3000 for a private network.
You can browse that HP Forum for answers to questions at the MPE/iX Web page. HP's advice might not be any better or worse than a third party support expert's, but at least the vendor is still answering questions from the 3000 community. For example, here's a recent Q&A between a user and an HP Canada networking expert.
Mask: 255.255.255.0
Gateway: 10.140.6.254
HP moderator Emile Kwan Fong said
This is done using the NMMGR program. To configure the IP and Subnet mask, go to the path NETXPORT.NI.<NIname>.PROTOCOL.IP.
Kwan Fong, who's been answering questions for the past eight years on the site, added
To configure the gateway, go to the path NETXPORT.NI.<NIname>.INTERNET. You can leave the the default @ for the "reachable networks" fields. Make sure you validate NETXPORT.
You may want to stop/restart the network or hard boot (start norecovery) the 3000 for the changes to take effect.
Posted by Ron Seybold at 01:14 AM in Homesteading, MPE's Hidden Value | Permalink | Comments (0)