Stephen Hoffman · @HoffmanLabs
100 followers · 294 posts · Server infosec.exchange

@cvwise , Q-Bus, and ilk were parallel, so less than fun to extend. Serial buses, of course, are somewhat easier.

Not that UNIBUS enclosures didn’t get daisy-chained more than they were probably spec’d for.

Had an graphics adaptor that would consume the whole of the VAX-11/750 UNIBUS for several minutes, which meant I kept having to politely prevent field service from swapping out what they thought was a failing DSA disk controller. The UDA50 was fine, it just lost access to the host for way too long, and the firmware triggered an error report and its recovery processing.

That Adage had other issues, too. The vendor driver had a subtle bug in it. The device driver setup routine didn’t initialize a VAX hardware register before setting some bits in the register (whoopsies) and loading it into the device control register on the Ikonas board.

On / V3.x, the low bit in the hardware register was accidentally always clear, due to some upstream code. On V4.x, the upstream code changed and was more variable, and the register was more often odd. Odd (low bit set) was the “go” bit in the device hardware register.

When the “go” bit was set, the board would then do a (effectively harmless) DMA write from VAX host memory out into the board, or a DMA read into host memory. A read which was less than harmless, depending on what part of host memory got clobbered by the read. Some part of DCL or the exec or who-knows-what-else would get clobbered. If it was free host memory or unused memory overwritten, nothing (visible) would happen. If not, well, *something* would tip over. Right away. Or eventually.

Found and fixed the driver bug after some rummaging, and more than a little colorful rich and language.

Now for the fun part: some years later, half a continent away, at a trade show, while now working at a completely different job fir a different employer, somebody showed up in the booth complaining to DEC about the Adage Ikonas board. Crashing.

It was their lucky day.

I explained to them the nature of the bug, exactly what the driver bug was located, and how to find and fix it.

They were… not expecting to get a hardware register-level answer to their third-party vendor complaint from an unrelated vendor.

Sometimes things work out.

#unibus #adage #ikonas #dec #uda50 #vax #vms

Last updated 2 years ago