Raid Backup Battery Replacement

So I have been tinkering today with the simulated VMS set up on the server and also started making a stab at bringing up a VAX 11/780 simulator configured to run BSD Unix.

The DL380 has a backup battery attached to the internal HP Smart Array P400 controller. In this server there were two intelligent batteries – there are slots for two, presumably for if you have two controller installed (which may be a reality now that I have bought an external MSA50 drive enclosure). This system came with two batteries but alas the second battery was dead as a parrot.

There is a guide on line I’ve just found to replace the cells with an external AA four cell pack, but I went the whole hog and ordered the actual cells.

The battery compartment has a thin plastic bottom that can be sliced off revealing the four Vartar V500HT. These are available from CPC for £3.44 each. Each cell is 1.2 volt giving a total of 4.8 volts although when I measured the four new cells I got exactly 5 volts – presumably because there was no load. Anyway, the replacement process involves prizing off the crimped on connectors and repackaging the new batteries in the same order. I soldered each sandwich of batteries together at one edge. Once reinstalled I had to be careful to ensure the battery terminals were oriented correctly so the PCB pressed down on the terminals correctly.

Lunar Lander on the Kim Uno

So I finally braved the Kim Uno and typed in Lunar Lander – thanks Dale for encouraging me to do this – weird how you get so lazy with such good technology surrounding you these day. Sometimes it’s as much about the journey as the end goal.

I played a couple of games and of course turned it off without thinking. Like tears in the rain and all that. Anyway, here are a couple of photos:

Lunar Lander on the Kim Uno!

Lunar Lander on the Kim Uno!

Lunar Lander on the Kim Uno!

Had to print this out in a large font and spaced out!

Lunar Lander on the Kim Uno!

In the descent, picking up speed…

He's dead Jim!

He’s dead Jim!

Anyway, this has rekindled my interest in writing something on a (now simulated VAX) in 6502 assembler and getting it onto the Uno.

ORAC lives again!

Firstly, apologies for not taking more of an active part in the competition as an organiser. I know I’ve done half-time round ups and such in the past, but I’ve been in the unique position this month to have the time to be able to indulge myself in my own retro-tinkering, so I expect leniency from my peers! I promise to do an uber-roundup at the end. Honest.

ORAC is the first VAXstation 4000/90, and indeed the first VAX of any description, that I’ve ever owned. The name is derived from a computer appearing in the cult BBC television series Blakes 7 broadcast in the UK between 1978 and 1981. I pinched the name from a node in a VAX cluster I worked with whilst in my first job at Cyberscience Corporation around 1991.

The Perspex wonder that is ORAC

The Perspex wonder that is ORAC

I had a VMS saveset of the system disk (created in November) under Ubuntu on the HP microserver. In order to get a disk image created from it I had to load it into SIMVAX via ftp – SIMVAX is a SIMH instance running on the microserver so I was basically pulling the file from Linux into a VMS file system. This took a long time! I attached a new disk image to BUBBLE and extracted the image across DECNET. Then I stopped BUBBLE, detached the image, attached it to a new VAX MP instance (single processor only) and booted into ORAC.

Of all the VAXEN I’ve owned ORAC has had the most software thrown at it. Of note is that it runs ALLIN1 – and in fact I’ve used this to generate previous Retrochallenge entries. Besides a bit of reconfiguration still to do it looks like it’s hanging together.

I bought a quad ethernet PCI-E card off eBay to go in the DL380G5 for a very, very reasonable £7.99 which turned up yesterday. On closer inspection it looked like the connector had been hacked – part had been cut off and a notch created:

PCI-E connector - hacked!

PCI-E connector – hacked!

Now the card was sold as seen – and I hadn’t picked up on this – and indeed would never have thought to look. I contacted the seller, in a non-confrontational manner, and got a reply detailed the fact that he had used the card, it worked, and that he had bought it in this condition and sold it on at a discount price. Fair enough I guess. So I put it in the DL380, and you know what – two of the ports work, and two of them don’t. How weird is that!

So BUBBLE and ORAC are now configured on these Ethernet ports. Here are a couple of screenshots of ORAC running under VAX MP:

Mosaic Web Browser rendering the Yahoo home page!

Mosaic Web Browser rendering the Yahoo search page!

Screenshot from 2015-01-26 23:39:07


Screenshot from 2015-01-26 23:40:20

Screenshot from 2015-01-26 23:40:33

Screenshot from 2015-01-26 23:40:52


Screenshot from 2015-01-26 23:41:50


Screenshot from 2015-01-26 23:42:16


Screenshot from 2015-01-26 23:42:47


Screenshot from 2015-01-26 23:44:51


Screenshot from 2015-01-26 23:45:00


Screenshot from 2015-01-26 23:45:29


Screenshot from 2015-01-26 23:45:47


Screenshot from 2015-01-26 23:46:22


Screenshot from 2015-01-26 23:46:54


Screenshot from 2015-01-26 23:47:15


Screenshot from 2015-01-26 23:47:40

That’s all for now!

A quick update…

So, so, so.

Got a little distracted.

To say the least.

Watched Elysium tonight which was very enjoyable. Some serious compute cycles went in to that film. Last night I was attempting, still, to get DCPS to work. Someone has now kindly provided me with Version 2.7 and it’s still not working. Might need to sack that one in.

Other things I’ve been up to:

  • accidentally creating a RAID 1+0 array by adding another drive to the boot array – in an attempt to give me a bit more breathing room. So after that completed I migrated the array to RAID 5. All this after copious backups of course.
  • My hecnet bridge link to Sweden has been notorious unreliable, some weird configuration issues, so I asked Steve Davidson to try and get the long lost link between BUBBLE (the VAX MP SIMH instance) and his machine on the Eastern Seaboard of the USA. So far I’m getting a lot of ‘Circuit TCP-0-19, Adjacent node address out of range’ messages.
  • I hooked up a VT520 to a DECserver 90M to see if the simulators BUBBLE and SLAVE serve connections up via LAT – they do.
  • The developer of AlphaVM sorted out why the SLAVE instance was crashing on boot – I had used the same VMS cluster password for both SLAVE and BUBBLE. That might be a good thing long term – but at the moment they are both designed to have their own clusters.
  • Browsing eBay for server bits. I bought a 4-port GB network card for less than a tenner – still a firm believer in one emulator <-> one port.
  • Trying to work out a back up strategy for the server that doesn’t cost an arm and a leg. Considered an external MSA50 or MSA60 Storageworks array, USB3 is a non-starter (no way to provide additional power to the card), eSATA is looking unlikely, GB networking to the HP Microserver seems to be the best way to go.
  • Looking at 24 port gigabit managed switches – will need a new one in the basement at the start of my plan to reduce daisy-chaining of switches and improve network performance. Plan is to trunk 2 x 1 gigabit lines between basement and attic.
  • Wired up the PP404 line printer to see if that was still talking, but previously I used a franken-connector using at least two adapters, and that has long since disintegrated into pieces and scattered to the four corners of the attic. The cable I tried didn’t work, so that’s still one to try.

That’s about it.

Oh, and I found MGBOOK – a DEC Bookreader application written in Bliss-32 for displaying Bookreader documentation in the terminal (the standard bookreader app is strictly X11 based). It looks rather hansome with it’s SMG rendered windows:

MGBOOK Bookreader Application

MGBOOK Bookreader Application

MGBOOK Bookreader Application

MGBOOK Bookreader Application

and now the pub calls…


Clustering an AlphaVM node

Just a quick update before I hit the sack. I’ve been busy this evening on a number of Retrocomputing activities:

Fibre Broadband Arrived!

This morning a very nice engineer enabled and installed fibre broadband. A quick test revealed a download speed of around 80 Mbit/sec and an upload speed of around 20 Mbit/sec. Cushty. Unfortunately my somewhat esoteric network set up took a bit of licking into shape. I typically use the supplied ADSL modem as just a modem – in bridged mode – to a Mikrotik RouterBoard 2011UiAS-2HnD-IN:

MikroTik RouterBoard 2011UiAS-2HnD-IN

MikroTik RouterBoard 2011UiAS-2HnD-IN

Fortunately – and this could easily have taken all evening – a simple change in the TalkTalk supplied modem/router enabled bridged mode and I was able to set the connection via the Mikrotik RouterOS configuration page:

Mikrotik Bridging Configuration

Mikrotik Bridging Configuration

More problematic was the configuration of firewall filter and NAT rules. Whilst the Mikrotik is comprehensive it’s not always that intuitive. With power comes great responsibility. So I spent a couple of hours this evening sorting these out – I had a half arsed approach working previously which allowed routing through of an external port to an internal machine as long as the port numbers were the same. I also found that the external machine I was using to test the external connection back into my network wasn’t working with non-standard port numbers! I ended up resorting to a fellow-hecnetters VMS box to check SSH and TELNET connectivity.

Although the rules can be configured through a web-interface on the Mikrotik:

Web based NAT configuration

Web based NAT configuration

It is much easier to cut and paste scripts into the SSH command line interface, this way you can save off the configuration to a file and easily tweak, backup or recreate it.

Mikrotik SSH Access

Mikrotik SSH Access

Here’s a listing of the current NAT rules:

Mikrotik cmdline NAT configuration

Mikrotik cmdline NAT configuration

DCPS – DEC’s answer to Ghostscript

Attempting to get DCPS working on BUBBLE. DCPS was DEC’s answer to ghostscript bundled in a VMS queue symbiont format – basically it allowed you to print Postscript, ANSI encoded and TXT files (amongst others) to a postscript printer. This was working once-upon-a-time with the original BUBBLE hardware setup when configured to talk to a Kyocera FS-800 printer, but it broke at some point and I didn’t get it working again.

Now I have this fancy Brother MFC-9970CDW I was keen to get this working, but to no avail. I upgrade from Version 2.3 to Version 2.5 but I can’t persuade it to print more than the burst page. If I capture the output and copy to Linux and attempt to convert using ps2pdf ghostscript throws an error.

DCPS Burst Page

DCPS Burst Page

The postscript file does contain the text of the file that I’m attempting to print. I’ve put the feelers out for version 2.6 or the last version for the VAX 2.7 – hopefully I can persuade one of those versions to work.

AlphaVM Instance – SLAVE

I’ve previously tried to persuade AlphaVM to boot a snapshot of the important drives in my AlphaServer 1000A instance SLAVE.

SLAVE - an AlphaServer 1000A

SLAVE – an AlphaServer 1000A

Initially I tried this on the HP Microserver using AlphaVM 1.4-ish. This crashed on boot. I found the same issue with the latest test version of AlphaVM compiled for Windows.

So as an alternative I found an Alpha OpenVMS 7.3-2 installation CDROM image and created a new AlphaVM instance with a single DEC RZ59 8.5GB drive. This worked much better and I was able to configure this new instance VICTOR to cluster with BUBBLE the VAX MP instance:

Victor Clustering Request/Response

Victor Clustering Request/Response

Victor, AlphaVM 7.3-2 Boot

Victor, AlphaVM 7.3-2 Boot

With the resulting cluster, as seen from BUBBLE:

New VMS Cluster!

New VMS Cluster!

That’s enough for this evening!

Configuring BUBBLE

First task in the reconfiguration effort is to reassign drive letters to the SIMH VAX 3900 simulator drive mappings.

According to best practice drives should be mounted in the SYLOGICALS.COM configuration file.

The hardware-based BUBBLE configuration is as follows:

Note that DSA0: is commented out – this is documentation. The shadowing of the system disk is configured in the MODPARAMS.DAT configuration file and is applied to the system disk directly so no drive remapping is required.

So these need changing to use the DUA drive designations now in-force using the simulator:

One of the good habits that Steve Davidson persuaded me to adopt was to add a changelog to each of the configuration files. Here is the SYLOGICALS.COM changelog with an updated entry:

Following a reboot the drive mappings all look a lot nicer!

Next is licenses. Typically where networking isn’t available this is done by registering the VAX-VMS license and either a DECNET license or TCPIP license, then copying the whole license file across the network.

The next thing to sort out (and this is where is starts getting a bit tricky for me!) is networking. I’ve contacted PROCESS who supply the MULTINET VMS networking package that BUBBLE uses. However, I thought that the networking device available to the SIMH simulator in the VAX 3900 configuration would be different to the one in the VAXstation 4000/90. The startup log file for decnet confirms this:

What I might do now is take a backup of the system disk and the re-run the network configuration script. The potential problem with this is that the script resets cluster passwords – I learnt this the hard way and it’s now a well documented issue.

So I decided to pick a standard password, do as recommended and take a copy of the generated configuration file, hand edit all the passwords and then run that version. After a reboot we see DECnet coming up successfully!

Connectivity is confirmed by listing the files in the default DECnet directory on SIMVAX, logging in to SIMVAX via DECnet and then listing the files on BUBBLE::


VAX MP – BUBBLE lives again!

Yesterday and today the plan has been to ressurect BUBBLE. This is a configuration that my was first foray into production configured VAX/VMS. Thanks to the stellar efforts of Steve Davidson (a fellow hecnet‘er) this machine went from an initially very poorly configured amateur hour effort of mine to a mutiuser and clustered setup with properly defined everything. BUBBLE consists of a VAXstation 4000/90 with a BA356 disk pack attached. This has room for eight hard drives 3.5″ hard drives in blue canisters. Of these eight three were critical to the setup of the machine – these are the three that I needed to get onto the DL380 server as files so that I could attach them to the VAX MP simulator.

The disk configuration of BUBBLE is as follows:

The three critical drives are DKA0:, DKA100: and DKA200:. These are the system disk, internal users disk and external users disk respectively. They are mapped to DSA0:, DSA1: and DSA2: as shadowsets (RAID configuration) but only as single drives. This is primarily used in this case to effectively provide an alias to the drives which helps enormously in keeping the configuration fairly portable.

In order to create virtual drives for VAX MP to use I utilised the ever useful dd command to create a large empty file with the same number of 512 byte blocks as the DEC RZ1CF-CF 4.3GB SBB drives:


Subsequent to this I did find that if you configure SIMH with a drive that doesn’t exist as a file on the file system it will do this job for you and create an empty drive file, which is kind of neat.

I did take backups of the hardware based BUBBLE system – and a while ago I restored those backups (stored on DAT-72 tapes) as VMS savesets and transferred them via FTP to a Unix system. So in order to get disks recreated from the backups I had to do a bit of disk shuffling in the emulator – using the skeleton VULCAN configuration I was able to ftp the savesets into DUA1 and mount DUA2 as the destination disk for the restore process.

The backups were made using the VMS BACKUP image option so restoring the saveset using the /IMAGE switch recreates the content of the drive (with the added bonus of being defragmented):

At the end of the restoration process, the vax_mp.ini SIMH configuration file was updated to reflect the BUBBLE disk configuration:

Then it was a case of watching BUBBLE boot again for the first time in an simulated environment! At this stage there are still a number of issues:

  • licenses will have expired
  • the mount commands will be wrong as drive designations have changed (DKA0: -> DUA0: for example)
  • the VAX MP multiprocessor driver no longer exists on the boot disk
  • a whole host of other tweaks will be required

There is always a certain amount of trepidation when you’ve spent a good fews hours on something and then need to ‘flip the switch’ and see if  you’re awesome or a dog barking up the wrong tree. In this case however, so far, awesome is where we’re at:




Kim Uno built…

So, this evening, we went from this:

Kim Unit Kit in Bits!

to this:

Kim Uno Working!

and this:

Back side!

The build went swimmingly! I even managed not to reverse the polarity of the power – a Wickens speciality. It really is a wonderous little thing. The glow of seven segment displays only bettered by two things: vacuum fluorescent displays and green screen cathode CRTs.

I haven’t tried the serial port – that’s next. Then it will be a little play with the build in software, and then I think a little lunar lander port is in order.

VAX MP up and running and connected to HECnet

Some good success tonight – the VAX MP (MultiProcessor) emulator is now up and running on the DL380 G5 following the fix graciously provided by the developer Sergey Oboguev. I called it VULCAN – the RX2660 Itanium based server is TSR2 – VULCAN seemed like a fitting companion.

The SYS$STARTUP:SYSTARTUP_VMS.COM file now directly loads the VSMP$LOAD utility that provides the interconnect between virtual VAX CPUs and real Xeon cores. Issuing the command:

then starts all CPUs. It’s currently configured as a four CPU system.

As you can see the DECnet adjacency up messages indicate that the phase IV DECnet networking is working. I can connect through to other machines on the hecnet network.

I did a rudimentary test of single and multi-cpu performance by using the VUPS.COM script for a (very rough and ready) VAX Units of Performance rating (with the VAX 11/780 traditionally being 1 VUPS) and also a WHETSTONE benchmark I unearthed from somewhere a while ago.

Firstly the single CPU benchmarks using SIMVAX (SIMH instance hosted on an Ubuntu 14.10 HP Microserver with dual-core AMD Athlon II Processor Neo N36L (1.30 GHz, 15W, 2MB) for reference:

So for the HP Microserver  that’s 11 VUPS and 9.1 MIPS

Then the VAX MP instance VULCAN on the twin E5450 8-core DL380 G5:

So for the DL380 G5 VAX MP emulator that’s 31.2 VUPS and 25 MIPS.

Not a bad improvement, and that doesn’t take into account the multiple CPUs enabled in VULCAN.

Just for giggles I set the SYS$BATCH queue with a 4 job limit so that simultaneous jobs would exercise all the CPUs. I ran up multiple copies of the VUPS script:

You can see the four real CPU cores being spun up in the following performance meter capture:

Four Xeon Cores on full chat

Four Xeon Cores on full chat

So there we have it. Of course this is the first install in a very long process of configuration – the VAX/VMS setup needs some serious work to get it up to production standards. I’m also going to attempt to get an Alpha Emulator running and cluster the two together.


Continuous Stupid Idea

Today I have been installing VAX MP on the new toy, a rather noisy HP DL380 G5. I’d found an issue identifying non hyperthreaded processors that has been very graciously fixed, but as the server is currently sat on the dining room table I dare not start it up again in the middle of the night.

So I started thinking about this idea I had of printing the Unix timeline on the PP404 wide-carriage dot matrix printer that is far too under-utilised in my attic.

Unix Timeline Snippet

Unix Timeline Snippet

This post is more a brain dump of ideas. I did think that maybe an incarnation of Brøderbund’s The Print Shop (remarkably still available for purchase) would be my best bet, but I’ve come to the conclusion that given the amount of effort I’m prepared to put into this venture it’s going to end up being a Unix Free-Software solution or nothing. I’m dealing with far too much emulator fun and games at the moment to consider setting up another one for a task like this. In my search I did come across this entertaining (if rather vulgar) review of Kyocera Unison’s PrintMaster Plus 2.0.

So current thinking is to is Ghostscript to print the Unix Timeline PDF to a very long Epson ESC/P2 formatted file and print that.

The PP404 has a maximum resolution of 360×360 DPI in double pass mode. Looking on Wikipedia, as I couldn’t remember, the two common sizes for Continuous Stationary are:

  • 241mm x 279mm (9.5in x 11in)
  • 381mm x 279mm (15in x 11in)

So the maximum height of a timeline printout, given a 0.5 inch margin left and right would be 14 inches which equates to a vertical resolution for the Unix Timeline image of 5,040 pixels. Sounds reasonable. Okular, the Ubuntu PDF viewer has this to say about the timeline PDF:

Unix Timeline PDF Info

Unix Timeline PDF Info

Then I thought, I wonder what devices the version of ghostscript I have installed on my Ubuntu 14.10 based laptop supports? There was a time, back in the day, when I would compile up new versions of ghostscript from source and have to select the set of supported printers.Blimey, it’s been a while since I’ve done that. Now we have continuous integration servers to do this for us.  It would appear that pretty much the whole world is built in these days:

I have the PP404 set up by default to emulate an Epson LQ-2500 – there looks to be several possibilities – escp, epson? EPL2500 is apparently a laser printer driver.

First hurdle to overcome might be this however: