Sunday, April 19, 2020

Inogeni VGA2USB3: screenshots of the unscreenshotable, part II

This is part of a series — you can read prior entries

In our previous entry on screenshots, after the untimely and rapid death of the Video Ghost it was time for another device to try grabbing the "unscreenshotable." After some research, I settled on purchasing an Inogeni VGA2USB3.

The VGA2USB3 is a small, solidly built but fairly pricey unit (mine was about US$260) but has a distinct advantage over the Video Ghost: it's live. In fact, it actually appears to the system as a USB Video Class (UVC) camera, so a huge number of apps on just about every operating system that can run a webcam can view the stream. This was a huge selling point to me personally as my home operating system is ppc64le Linux and I wouldn't need any proprietary drivers. It also has analogue audio and composite (CVBS) inputs, making it potentially a complete system for capturing video instead of just grabs, but it's strictly USB 3.0 due to the bandwidth required (up to 1920x1200 resolution at 60Hz).

Initially, however, the device was horribly flaky with my Raptor Talos II workstation. This turned out to be a power problem because the VGA2USB3 apparently draws a lot (and, being built out of sturdy metal, gets rather warm in use). A USB 3.1 hub with a sidecar power supply enabled it to come up stably and be viewable in VLC, GNOME Cheese and guvcview, which is perfect because you can then just record video or take grabs at any point you want. For this test, I decided to use a couple of my SunRay2 laptops because these hardware clients have no means of taking a picture of the screen to local storage. That's exactly the use case I'm aiming for, so let's try the Accutech Gobi 8 first:

This is the Gobi's startup screen and system menu at its full native resolution through its onboard VGA output (actually, the resulting image from VLC on my Talos II is 1920x1200, but pillarboxed with the right aspect ratio). Again, this is not something you would be able to capture from the Gobi itself. On the VGA2USB3, a red LED on the USB 3.0 side glows when connected to power; another LED on the VGA/CVBS side glows when there is a detected signal.

This is the Gobi showing the SunRay "On-Screen Display" as it connects to my local kOpenRay instance on the same Talos II.

And finally playing remote network Tetpnc as provided by kOpenRay. The mouse cursor (the hourglass) is also captured.

This also works for the more recent Tadpole M1400 SunRay, which I attempted to use with the VideoGhost. The M1400 has a different display aspect ratio than the Gobi, hence the visual differences in the kOpenRay Tetpnc session.

The M1400 has its own unique menu interface, shown here.

It also has a very familiar looking built-in web browser. In fact, this is the only SunRay or SunRay2 device I've ever seen that features one.

I also tested it with macOS (ordinarily I would use my G5 or iBook G4, but the USB 3.0 requirement limits it to my MacBook Air) and connected it to my Apple Network Server 500, to date the physically largest computers Apple ever made and the only ones that ran IBM AIX. Probably because of differences in how VLC accesses the capture device on a Mac, the images came out in 1920x1080 despite being 4:3 1024x768 resolution. They were also somewhat shifted to the right, though this might have been something about the video signal. For these images I cropped to the middle 1440x1080.

Booting AIX 4.1, the Apple Network Server's standard OS, in the graphical (CDE) startup configuration. There's a bit of tearing where the boot log (top right) was updating.

CDE login for AIX 4.1. I miss this old AIX logo.

The shift of the signal to the right is more obvious here (the "Starting up" screen just before getting to the CDE desktop). The right border ended up entirely cut off. Testing this on my Talos II to compare the difference isn't feasible because these systems are in different rooms.

Nevertheless, the device clearly demonstrates basic functionality and appears to work for the purpose advertised. So, with this encouraging first effort in the can, I then decided to try where the VideoGhost had failed and connected it to my SAIC Galaxy 1100 (as previously mentioned, the MIL-SPEC luggable version of the HP PA-RISC "Gecko" 9000/712 workstation). As before: nothing appeared. The VGA2USB3 didn't make the distinct odour one gets when the magic smoke is escaping, but VLC remained as in the dark as a politician during COVID-19. It turns out that there are several other issues going on here and they didn't have anything to do with the Sync-on-Green output. But first I need one more piece of equipment ... to be continued.

Tuesday, April 7, 2020

Video Ghost review: screenshots of the unscreenshotable?

Another day, another blog. As many of us vintage enthusiasts are collectors and we want to proudly show off our restorations, with many of our old machines some of the most interesting pictures are the screenshots during bootup before any operating system services are available. (And, of course, on some machines no screenshot facility is available at all.) Similarly, there are many converters that will additionally take composite video and turn it into VGA, useful for 8-bit and 16-bit systems, if only you could just get a grab of the VGA. In my case, since I use Linux on ppc64le, I wanted a device that could grab VGA frames and make them available over USB without special drivers or OS support. The device I settled on to try first was a Keelog VideoGhost VGA Pro, which on each press of its button grabs a frame and stores it to its built-in flash. Theoretically, you can then simply connect the flash like any other USB mass storage unit and copy off the frames. Will it blend? Let's find out.

The VideoGhost comes in three main forms: the basic VideoGhost and the midrange Pro, here in the VGA version with a USB control connection, and the topspec Max that has the video connector, the USB connector and a separate hardware serial port (DE-9). Both the Pro and the Max can be controlled by a serial connection (either a "virtual" COM port over the USB connector or the Max's actual DE-9 serial port) and allow images on demand. Since I wanted images on demand but found the concept of having to have the serial connected to an additional system technically disgusting and not worth the price differential, I went with the Pro. It cost about US$160 shipped.

The "guts" are in the video port dongle. With the cover off we see an Atmel ARM microcontroller which is the brains of the operation. There isn't much space in the dongle, so the exposed leads from the HD-15 VGA are covered in Kapton tape. Flash memory is on the underside of the board.

Also visible on the underside of the mainboard is this lithium battery for the real-time clock. However, the manual says nothing about it being field-replaceable.

In normal operation the VideoGhost works as a passthrough, even if the USB is not plugged in (necessary to power the microcontroller). I won't talk about the potential for spying here because that's not my intended application, but it does make it easier to use with workstations where you just connect it in-line (and possibly with the USB to a regular USB charger if the machine in question doesn't have any available USB ports). However, the Video Ghost only works if a signal is actually being sent through it. This can sometimes be difficult to determine, and usually means you need a monitor hooked up on the other end which is a little inconvenient with laptops.

Configuration and access to the flash is done by putting the Ghost into USB Mass Storage Device mode; the button on the side of the video dongle is held in while the USB is connected. A text file on the flash memory can be edited to set system options or the clock, and the JPEG images on the flash may be read.

I tested this first with my Tadpole M1400 SunRay2 device, which usually emits a 1024x768 VGA image to its external output. For this first run I connected the Ghost to its VGA out and used the M1400's built-in USB for power. The Ghost captured what looked like a 1070x800-ish image with overscan apparently from the vertical blanking interval. It took it several seconds after pushing the button to register and encode the image even with minimal compression, but the image was generally sharp and appeared accurate. (However, there's a reason I'm not showing this image; hang tight.)

I then decided to see how it did with sync-on-green VGA connectors by hooking it up to my NeXTSTEP 3.3 SAIC Galaxy 1100, which is essentially a Hewlett-Packard PA-RISC "Gecko" 9000/712 in a MIL-SPEC portable chassis. I connected this with using a known-good Apple iPhone charger (no USB onboard, natch) and pressed the button. Nothing showed up on the flash, so I connected it again. After a minute or two, however, I started to smell that all-too-familiar odour of burning electronics and after some sniffing around realized with horror it was coming from the Video Ghost. I disconnected everything and plugged it into my workstation to see if it was dead. It was, taking the image from the M1400 along with it. Barely a couple hours of usage!

In fairness this is not what it was sold for, and I don't know if I had simply a defective device, but I will say that the slowness to acquire and the awkwardness of the setup pretty much erase any utility for this specific purpose. I'm sure it's much better in covert environments as befits its design, but as a generic frame grabber after this brief and sorrowful experience I'm forced to conclude that the Video Ghost doesn't cut the mustard and certainly not at its price.

To be continued with something else.

Welcome to your Old VCR

PAUSE a bit in your busy day stuck in FFWD. STOP, dust that old computer off, put in a cassette and press PLAY. If you'd rather REWIND for some of my old stuff, most of the "And Now For Something Completely Different" posts on the TenFourFox Development blog (of which this is a spin-off) should give you fun things to consider.

Wow, the sheer number of VCR puns in this post has got to be a new RECORD.