Hold tight – Operating an old Imacon SCSI Flextight Precision II scanner on Windows 10-x64

The Imacon Flextight scanners are a well-regarded series of scanners. They are being used even today, despite the geriatric age of some of the models. The Flextight II sitting here apparently retailed for around $17k back when in was introduced in the previous century. But a lot has changed in the world of computers since 1999. How feasible is it to run one of these scanners on a somewhat modern PC?

Let me preface by admitting I’m (as usual…) reporting nothing really new in this blog. I’m just piecing some stuff together that other people worked out before me. The only thing I’ll add is a little reflection on some of the specific hoops that I had to jump through in my particular situation. I hope that may be of use to someone, as perhaps the combined overview of the solution I arrived at.

If you want to cut to the chase and just see the list of steps to take that should get you there (assuming you’re in the exact same position as I was), just click here to go to the end of this blog where I’ve included just that for your convenience.

The story began with a thread on Photrio about a color anomaly on one of these Hasselblad/Imacon scanners. Danish Imacon merged with Swedish Hasselblad back in 2004, apparently as a means for the latter to bridge the gap between their film-based product range and a full digital solution. The Flextight II scanner I’ll be working with predates this merger, so it’s an Imacon-branded product. Later scanners were marketed under the Hasselblad name, but they all share the same pedigree.

Anyway, the color problem on the forum piqued my interest, and I emailed my friend Gary, whom I know owned a Flextight scanner (I wasn’t sure which, but I figured that any Flex would be Tight enough). Did he happen to have any interior photos of the scanner to complement what I could piece together from the service manual, perhaps? His response was “if you want that scanner to sit on your desk for a while, be my guest.” His interest is in scanning has been…let’s say…waning a little, as of late. I responded that I wasn’t sure whether my willingness to help a random guy on the internet would extend as far as making an in-depth study of one of these scanners, so we kind of left it at that.

Then, next time when I visited Gary, sure enough, he had dug up the Flextight II (which it turned out to be) and installed it on the living room table. With the little old Windows-XP Panasonic Toughbook laptop that ran the FlexColor scanning software and had a nice little Adaptec PCMCIA (remember those!?) SCSI (nostalgia!!) card installed in it. After our usual congenial chat and watching some prints (in my book he’s one of the best landscape a photographers you’ll never get to see any work of), he offered to help me carry the scanner to my car – because surely, I should have a go at it.

Imacon Flextight Precision II side by side with the Epson 4990

A Panasonic Toughbook is in itself a marvel of early 21th century computer technology – given the fact it still works fine, today (ignoring the impact rubber bottom plate that had turn into sticky goo). It even had a rather fancy (for its day) IPS TFT LCD. But boy…was it small. And boy, did I not look forward to sticking that little gooey WinXP machine into my chronically crowded desk.

So the scanner ideally had to develop some kind of productive working relationship with my daily driver Windows 10 x64 desktop computer. That machine is a no-thrills second hand HP EliteDesk that I once picked up from some kind of corporate sale and that I stuck a big SSD, a double-head graphics card and some additional RAM into, but otherwise left mostly as-is. It has a precious few PCI-express expansion slots, one of which (an X16-sized slot) happened to still be free.

Now, the big issue with this old Flextight Precision II scanner that I passingly mentioned is that it’s a SCSI device. Later Flextight scanners were FireWire/IEEE1394, but the Precision II dates from the times when SCSI was still totally acceptable if you had to push a lot of data from a peripheral to a computer or vice versa. Unfortunately, the seemingly simple term ‘SCSI’ hides a massive jungle of different form factors, connectors, cables and functional oddities. Having worked a lot with PC’s in the 1990s and early 2000s, that was about as much as I remembered. Four simple letters. Lots of pitfalls.

One of the main pitfalls from a modern perspective is that SCSI, at least in the sense we knew it back in the 1990s, really isn’t being used anymore today. There’s a modern rendition that’s a bit like SATA, but modern serial SCSI has about as much in common with this old Flextight II scanner as direct fuel injection has with a horse-drawn carriage. So the first challenge was to find something that would physically connect my somewhat contemporary HP desktop with the bees knees of 20th century film scanning technology.

After some Googling, I found this brilliant blog entry with a couple of candidates. Specifically, I hit upon a potential solution in the form of a card made by LSI Logic (now Broadcom), specifically the LSI20320ILE. The boon of this one is that it has a PCI-express interface, which is rare to begin with in SCSI land. It’s easy to find a PCI SCSI card, but PCIe is a different matter (you can’t plug a PCI card into a PCIe slot). Moreover, the ‘L’ in ‘ILE’ stands for ‘low profile’, which means it comes with a reduced-length metal back bracket – since my EliteDesk desktop is technically a ‘low profile’ machine, so full-height cards won’t fit.

Even nicer, for this LS20320ILE there are actually x64 Windows drivers in existence, that can still be downloaded from the Broadcom website (go to this page, expand the ‘drivers’ section and scroll down to the Windows 2009 1.28.03 version; the ZIP file contains also an x64 driver). Hurray!

A minor issue is that the Windows 2008 x64 driver for this SCSI card is unsigned. Microsoft’s present policy is for Windows to downright refuse to install drivers that haven’t gone through their official signing process. Fortunately, there’s a workaround by running Windows 10 in ‘Test mode’, which will allow you to bypass driver signing. I had been doing this anyway in order to be able to use the original driver for my Minolta Scan Dual IV scanner.

Moreover – these cards are fairly easy to source (at the time of writing) at very reasonable cost from e.g. eBay and even AliExpress. They’re likely second-hand cards scavenged from machines in the field. What gives – as long as you can get one. 3x Hurray!

When the card arrived, I noticed it actually has a PCIe x4 interface and the free slot in my machine was a PCIe x16, but the nice thing about PCIe is that it has some degree of compatibility. This involves an x4 card working fine in an x16 slot. Sure enough, after installing the card and firing up Windows (with driver signing disabled), I could install the driver without any issues:

Awesome!

The next hoop to jump through was the cable issue. As I mentioned before, the wonderful world of SCSI is populated by cables with a seemingly endless combination of connectors. In my case, the challenge was to get from the relatively modern 68-pin, tiny form factor LVDS connector on the back of my LSI SCSI card to the stone-age Centronics 50-pin connector on the back of the Precision II scanner. It’s a bit like trying to hook up your just-built home to an ancient Roman-built sewer system – and every bit as fun, too.

The solution I ended up with was a cable with Centronics 50 on one end and a high-density 68 pin SCSI3 connector on the other end, followed by an adapter that goes from HD-68 SCSI3 to the tiny-pitch LVDS 68-pin connector. As it turns out, I can also just plug in the HD-68 end of the cable directly onto the internal connector on the SCSI card, but that way I need to keep the computer case open whenever the scanner is connected to the PC, which, well, sucks. In case you wondered: yes, there’s also a cable that goes directly from Centronics 50 to LVDS tiny pitch 68, but it cost about as same as the SCSI card, the cable I got and the adapter together, and even without shipping and taxes. Part of the wonderful world of SCSI is trying to get from A to B without draining your bank account by selecting arcane cables that someone has held on to for 20 years in the hope of making bank when some corporate IT minion really, really needs it.

SCSI is a bus, and it needs to be terminated in order to prevent signal reflections disturbing data transfer on the bus. The bus on the end of the SCSI card will be terminated automatically by the LSI card. On the side of the scanner, it needs to be terminated with an active terminator. The scanner I have here already had one plugged into it, so I didn’t worry about this (well, I did, for a minute, but the installed terminator turned out to be an active one that works fine for the modern card just as well.)

And guess what – connecting the 1999 scanner to the 2005 (?) SCSI card inside a 2015 (?) PC actually worked! When firing up the PC, the SCSI BIOS comes on during the POST sequence and sure enough, it detected the scanner just fine. Pure magic!

Up to this point was really the easy part. The next part was where the gnashing of teeth and pulling of hair came in. The SCSI card detected the scanner just fine. But Windows didn’t acknowledge its existence, yet. Neither did Imacon/Hasselblad’s scanning software FlexColor. Which, coincidentally, you can still download just fine, for free (!) from the Hasselblad website. Spoiler: you need version 4.0.3 (click for direct download link) for this particular scanner.

So here I was, with a seemingly functioning SCSI card and scanner, but the software not giving any hint whatsoever on why it refused to start making use of them. I went back into full-blown 1990s trial-and-error problem-attack mode and started exploring several avenues. The process is really too erratic to reconstruct, so I’ll just try to list the things I did/tried that made sense, in hindsight, and as far as I can tell.

I mentioned the FlexColor scanning software version. The SCSI-equipped scanners work with versions up to 4.0.3, but no later, since at that point, Hasselblad dropped support for the SCSI scanners. Fortunately, 4.0.3 installs and runs just fine on Windows 10 x64 without any modification. Nice! I also tried version 3.6.6 (which propelled me into a bout of Windows 3.1 nostalgia), but this failed to launch on my machine as it gets stuck on a scsiscan.sys error message. I tried replacing Win10’s 64-bit scsiscan.sys driver with the old one that came with FlexColor 3.6.6, but this didn’t make a difference. Well, forget about it; version 4.0.3 works fine and doesn’t require anything other than just installing it.

Then there’s the driver for the actual scanner. The Precision II evidently predates contemporary architecture x64 Windows versions, but Hasselblad at some point did build a driver for these machines that is at least compatible. Paradoxically, this driver shipped with later versions of FlexColor (even though the actual scanning software didn’t work with SCSI scanners – Hasselblad, you lost me there!) The scanning community is eternally indebted to Pat Hartl for providing instructions and a convenient driver package extracted and modified from the FlexColor software that you can download and use for pretty much any type of Flextight scanner. I installed the appropriate driver by adding a legacy device through the Windows device manager, using the ‘Have disk’ option and then browsing to the ‘Inf’ folder (not the ‘WinXPx64’ folder!). This installs a scanner that then shows up as non-working (with a yellow exclamation mark in the device manager tree). Remove that device (but do not check the ‘remove driver’ option!); this will keep the driver in place so Windows can link it to the scanner later on once it actually connects.

Maybe this did the trick, or maybe it didn’t. I can’t really say, as before I installed the Flextight drivers mentioned above, I also experimented “a little” with the SCSI settings in the BIOS of the SCSI card. To that end, I first upgraded the BIOS to the latest LSI Logic Fusion MPT BIOS. Apparently, the firmware on the LSI card I got consists of two parts: a BIOS part, and the controller-specific firmware. I didn’t get the latter to upgrade, but that’s OK, since just upgrading the MPT BIOS unlocked a whole slew of detailed SCSI settings that weren’t available originally. To get the firmware, go to the Broadcom downloads page for the LSI20320, then open the ‘Firmware’ section and select the 1.03.34 firmware package (dated 2006; direct link here). You need to unzip that to a bootable DOS USB stick (use Rufus to make one) and then run the flash tool as explained in the instructions that come with the firmware (refer to the several .txt files in the ZIP package).

As said, the MPT BIOS allows the modification of several SCSI system parameters. I found the following set to work for me (some of these parameters may not be relevant, but I didn’t test all combinations):

  • In the Adapter settings screen, I selected ‘Boot only’ for ‘Removable device’. I don’t think this matters, btw.
  • In the device-specific settings, I use the following parameters:
    • Max 20MT/40MB transfer rate
    • 16 bit data width
    • Don’t scan LUNs > 0 (doesn’t really matter, but may help prevent the scanner from showing up 8 times in the Windows device manager – which in itself doesn’t hurt either, so…)
    • Disable queueing
    • Disable power-off
    • SCSI Time out set to 0 seconds (= infinite timeout)

Again, I’m not sure if the settings above are really necessary. I have a feeling that the timeout (default is 10 seconds) may have made a difference. Or maybe the maximum transfer rate did (the Precision II is natively a SCSI2 device according to its specifications, which is limited to 40MB/s).

Very importantly, keep in mind that most SCSI (and certainly not this stuff) is NOT hot-swappable/pluggable as modern USB (and FireWire) is. This means that first, the scanner needs to be powered on before the PC can be turned on. Doing it the other way around will result in the PC not being aware of the existence of the scanner. Interestingly, as long as the scanner was detected properly while the computer started up, it will then remain accessible even if you turn the scanner off for a while, and then turn it back on, as long as you don’t power off the computer in the meantime as well. SCSI is pretty dumb, in a way (or robust, if you will), and it seems that the SCSI controller just assumes that connected devices will remain available, regardless. Stupid is sometimes pretty nice.

Having done all this, I ended up with the scanner actually showing up OK in the Windows device manager tree as an Imaging device:

Note it shows up 8 times. This is normal for SCSI devices. Don’t worry about it. As said earlier, the ‘Don’t scan LUNs > 0’ option in the MPT BIOS can reduce this to a single device, but it doesn’t matter for the correction functioning of the scanner.

I’ve come across a single mention of someone reporting that their FlexColor works fine with their SCSI scanner despite the scanner not being present in the device manager tree. Frankly, I’m not buying that and I suspect he simply overlooked the scanner in the Device Manager. As far as I can tell, it really needs to be there and be correctly detected, identified and linked to an x64-compatible driver by Windows 10 for the FlexColor software to be able to access the scanner.

And having jumped through all the burning hoops and did the magic handshake routines with yesteryear’s technology, hey presto…it works!

Is it any good? You’re joking, right? The common opinion is that these Flextight scanners are only surpassed in quality by actual drum scanners. I only have a lowly (but convenient) Epson 4990 flatbed and a 35mm Minolta Scan Dual IV to compare it with, but the ancient Flextight that predates both of my other scanners blows the newer ones out of the water by an embarrassing margin.

4×5″ color negative, from my Aerocolor IV test
100% crop of full resolution 1619dpi; scanned as positive, manually color balanced, no sharpening or noise reduction
Similar crop from a 2400dpi Epson 4990 scan, resampled down to 1619dpi, no sharpening or noise reduction

I’m planning to do a side by side comparison between the three scanners mentioned in this blog, but the conclusion is kind of predictable. Does that mean the 25-year old Precision II is Heaven? Well, not quite. It’s a rather big and heavy machine, there’s that. In terms of productivity and easy of use: my 4990 scans 24 35mm frames on strips of 6 in a few minutes. Yes, on limited resolution, but for filing away and making selections of what to enlarge optically, it’s more than sufficient. The Precision II works on a frame by frame basis, and scanning at high resolution takes a looooooong time. The results are worth it, sure. But it’s a bit of an investment – both in getting it to work in the first place (in total, I spent a good day mucking about, and I’m reasonably good with these things), and in waiting for the scans to finish. Finally, I got it to work – for now, and this time. Windows 10 is on its way out – will it still be possible to get this thing to work its magic with the next (really, current) generation of PC’s as well? With this much history behind them already, the future of scanners like these is more than a little uncertain.

Recap / convenient how-to list

TLDR? Good for you, and no problem. Here’s what you can do if you want to get a Flextight Precision II to run on a PCI-express Windows 10 x64 machine.

Getting ready
  • Purchase an LSI20320 SCSI card. They come in various versions; for PCI-express, you want either the LSI20320IE for full-height machines, or the LSI20320ILE for low-profile machines. They’re the same card; only the slot bracket is different on these. Install it in an x4 or x16 PCIe slot on your machine.
  • Purchase the necessary cable(s) and optional adapter(s) to get from a “SCSI 1” Centronics 50 connector on the scanner to an LVDS VHDCI 68-pin tiny pitch connector on the SCSI card.
  • Ensure you have an active terminator (Centronics 50) on the spare SCSI connector on the scanner.
  • Connect the SCSI cable between the computer and the scanner, and the terminator on the free SCSI connector on the scanner. If your computer doesnt detect (later on) the scanner, try swapping the cable and the terminator on the scanner side. In principle it shouldn’t matter which way you have it installed, but hey, it’s SCSI, which must have been conceived by freemasons.
Configuring SCSI
  • Download the MPT BIOS update for the LSI20320 card, use a DOS-bootable USB stick and flash the MPT BIOS to the card. Don’t worry about the other part of the SCSI firmware; you just need the configuration options that the MPT BIOS gives you.
  • Set the SCSI ID on the scanner to 1, 2, 3, 4, 5 or 6. I use 1 for the scanner.
  • Restart your computer and use Ctrl-C in the first screen that shows up to enter the MPT BIOS. Set the SCSI ID of the adapter to either 0 or 7, whichever you prefer. I use 0 for the card.
  • Go to the device settings; this should initiate a scan and the Precision II should show up in the list of devices. Change the device settings for the scanner to 20MT/sec (40MB sec), 16 bit width, don’t scan LUNs > 0, disable queueing, disable power-off, timeout 0. Save and exit
Installing the software
  • Disable driver signing on Windows 10, a.k.a. run it in ‘test mode’.
  • Download the LSI20320 Windows Server 2008 driver. After installing the SCSI card, you should have a non-functioning SCSI adapter in your device manager tree. Install the x64 driver on this device, after which it should enumerate correctly as the LSI20320 card.
  • Install FlexColor 4.0.3 (download here).
  • Download the Hasselblad/Imacon driver package compiled by Pat Hartl. Install the Precision II scanner by adding a ‘legacy device’ from the Windows device manager using the ‘have disk’ option, from the ‘Inf’ folder in the driver package. Then remove the (non-functioning) scanner from the device manager tree, but don’t remove the driver while doing so.
Operating the scanner
  • SCSI is not hot-pluggable. The startup sequence is as follows: Turn off the computer and pull its power plug to ensure it’s really off. Turn off the scanner if it’s on. Now turn on the scanner, wait a few seconds, re-plug the computer and turn it back on. The scanner should now be visible in the device manager tree. If it doesn’t, do whatever magic handshaking and rain-dancing necessary to get it to show up.
  • Start the FlexColor software. Ensure in the File > Devices dialog that it is using the Flextight scanner (don’t confuse it with the simulated dummy device that’s present by default.)
  • Enjoy using your scanner. Refer to the user guide for details.
  • If you need to do calibrations or have trouble with dust etc, you can use the extended Maintenance menu options by typing ‘debg’ in the main FlexColor window. You’ll see additional options when you go back to the Maintenance menu after doing this. The ‘Monitor’ is very convenient as it shows a live view of the scanner sensor input.
Extended Maintenance menu you get after typing ‘debg’ in the main FlexColor window
Maintenance -> Monitor option showing live RGB sensor data; useful for troubleshooting image quality problems.

Leave a Reply

Your email address will not be published. Required fields are marked *