Getting a scanner to work with NT is easier when you follow these shortcuts
Scanners are important hardware items for many Windows NT sites, but
getting a scanner to work under NT can be a challenge. To do so, you need an
NT-compatible scanner, a SCSI host adapter, and the right drivers. After several
tries, I finally got my Hewlett-Packard (HP) ScanJet desktop scanner up and
running under Windows NT 3.51 and 4.0 (for more information about my hardware
setup, see "Author's System Configuration," page 137). Here, I explain
the procedure I used to install my scanner and provide tips you can apply to
running flatbed scanners (or other types of image scanners) in your NT shop.
Windows NT Compatibility
Flatbed scanners are scanners that have a flat glass surface on which you
place the object you want scanned. A reading head moves across the surface to
input information.
Currently, HP ScanJet scanners are the only flatbed scanners that Microsoft
officially supports (i.e., includes on the Hardware Compatibility List--HCL) for
Windows NT versions 3.51 and 4.0. However, several other flatbed scanners run
under NT 3.51 or 4.0, including Epson, Microtek, Xerox, and UMAX scanners.
According to users of these scanners, the manufacturers have developed the
appropriate drivers, making their installation under NT 3.51 and NT 4.0 fairly
straightforward.
SCSI Interface
To attach a scanner to an NT system, you first need a cable and a SCSI
interface, or host adapter. (You can't use a parallel port with NT. For
explanations of SCSI and other terms in this article, see "Glossary,"
page 134.) Although some motherboards include a built-in SCSI bus, most SCSI
interfaces take the form of a card that you insert into a spare expansion slot.
Microsoft has certified more than 100 SCSI adapters as compatible with NT 3.51
and 4.0, among them are products from Adaptec, BusLogic, and NCR. Again, check
the HCL for a complete list of supported SCSI adapters.
The Right Drivers
A driver is a program that controls a piece of hardware and lets it
exchange data with other hardware and software. A SCSI scanner usually needs two
drivers to work, or more likely, two sets of modular drivers and their
associated DLLs and system files. The host adapter driver is often called the
system-level driver; the scanner driver is usually called the source
driver. Make sure you have the latest versions of all required drivers.
Driver compatibility is a problem in the NT environment. For example, the
host adapter needs the correct driver to communicate with NT, the scanner needs
a driver to talk to the host adapter and to NT, and the drivers must work
together. In NT 3.51 and 4.0, Microsoft provides two HP ScanJet scanner drivers
similar to the original HP drivers. (Microsoft's developers customized the
original drivers for NT.) You'll want to use these Microsoft drivers, rather
than the original HP drivers, to ensure that your HP ScanJet scanner works hand
in hand with NT.
To further complicate matters, scanner application programs often have
modules to communicate with the scanner via the operating system and the host
adapter. Two main industry standards exist for image and scanner interfaces:
Image and Scanner Industry Standard (ISIS) and TWAIN. Many software developers
and scanner manufacturers have designed their application software, scanners,
and drivers to comply with one or both standards. TWAIN is more common than ISIS
for scanning products that work with NT. ISIS is more commonly used for
optical character recognition (OCR) packages. For example, Adobe's Photoshop and
Pictronics' IntelliScan (an image-scanning and editing package) are TWAIN
compliant. Pictronics claims its product supports all desktop scanners through
the TWAIN interface on NT. Be aware, however, that not all TWAIN software works
with NT; as mentioned earlier, you need the latest drivers. For example only
TWAIN 1.6-compliant programs, which include TWAIN_32 drivers (not the older
TWAIN32 modules), work with NT 3.51 and 4.0. Thus, Adobe Photoshop 3.0.5, which
uses the TWAIN_32 drivers, works with NT; however, version 3.0 doesn't work
because it uses the TWAIN32 drivers.
Connecting an HP ScanJet Scanner
Connecting an HP ScanJet scanner to an NT 3.51 or 4.0 workstation requires
two main steps: installing the SCSI adapter (and its drivers) in the workstation
and verifying that it communicates with NT, and loading the scanner application
software on the workstation. According to the HCL, you can run HP ScanJet II, 3,
and 4 series scanners with NT.
In theory, you can use either HP's simple 8-bit ISA SCSI card
(C2502-66500), which works only with HP scanners (although it can work with
other SCSI cards), or a third-party SCSI card. (For detailed instructions about
installing the HP SCSI adapter driver under NT, see "Configuring the HPSCSI Adapter.")
Once you've installed the SCSI card and loaded the drivers, NT and the SCSI
card can talk to each other. However, with the HP SCSI card, users often get an
error message when they reboot--as I did--stating that one or more of the
services did not launch correctly. The problem is simple: NT fails to see the HP
SCSI card.
The solution I found is equally simple: Buy a better SCSI card. (I used an
Adaptec 2920 card.) If your HP SCSI card doesn't work under NT or you have other
SCSI devices and want to use a single adapter for all your peripherals, replace
the HP card with a SCSI adapter from another vendor.
Once I installed the Adaptec card, I reloaded NT 3.51 and NT 4.0. Both
versions of the operating system detected the card.
NT 3.51 predated the new card. As a result, the installation routine
identified the card's chipsets and firmware but not the model.
In contrast, NT 4.0 identified the exact model and loaded the appropriate
Advanced SCSI Programming Interface (ASPI) drivers. (The latest version of the
HCL includes the Adaptec 2920 card.)
Adding HP DeskScan II 2.2
HP has two scanner programs: HP DeskScan II versions 2.2 and 2.3.
Microsoft's documentation states that Microsoft currently supports only HP
DeskScan II 2.2, a 16-bit Windows 3.1 program, under NT 3.51 and 4.0. HP
provides a patch with HP DeskScan II 2.3 that lets it work with NT. (I
successfully installed both HP DeskScan II versions; for installation
instructions, see "Installing HP DeskScan II 2.3.")
To run HP DeskScan II 2.2 under Windows NT, you must first verify that NT
has loaded the following two modules:
hpscan16.sys in c:\winnt\system32\ drivers
hpscan32.dll in c:\winnt\system32
Then, add the following line to the config.nt file:
DEVICE=%SYSTEMROOT%\SYSTEM32\DRIVERS\HPSCAN16.SYS
Next, edit the Registry by specifying the value 0 in the reg_dword data
field in hkey_local_machine\system\current controlset\services\scsiscan.
Finally, reboot your system and load HP DeskScan II.
The previous process configures NT to run HP DeskScan II. You need the
first step because HP DeskScan II is a 16-bit program. NT runs 16-bit packages
within a virtual DOS machine, and you can set up each program with its own
virtual equivalent of the DOS/Windows 3.x config.sys file. In NT, this
configuration file is called config.nt, and you can set up individual config.nt
files for each package. The DEVICE= line in the config.nt file tells NT to load
the driver hpscan16.sys whenever the user starts up HP DeskScan II.
In a DOS/Windows environment, HP DeskScan II performs commands through a
16-bit device driver (hpscan). However, a device driver cannot operate in this
way under NT because NT's 32-bit environment doesn't support this 16-bit driver.
To work around this problem, hpscan16.sys and hpscan32.dll create an alternative
driver that works in NT's 32-bit environment. However, HP DeskScan II still
thinks it's working with a 16-bit driver and operating system. Because HP
DeskScan II 2.3 is a 32-bit program, it works better with NT than HP DeskScan II
2.2, but it still needs a bit of tinkering to work with NT 3.51 and NT 4.0, as
you can see in "Installing HP DeskScan II 2.3."
As you've seen, HP ScanJet scanners can work with NT 3.51 and 4.0.
You can run other scanners under NT, too--for more information about scanner
products as well as SCSI adapters and users' experiences with the products,
check out the online sites listed in "Online Information Sources."
I appreciated Rick Gould’s December article, “Installing an HP ScanJet Under Windows NT.” I want a scanner, but I have been putting off buying one. After reading this article, I decided to buy the HP ScanJet 4c. I knew it would work under NT.
Gould recommended that unless I had IRQ 5 open, I needed to get another SCSI adapter. I bought a SCSI adapter and cable (Adaptec AHA-2940UW) with the scanner. I didn’t have all the correct pieces for my SCSI adapter, so I decided to yank my network card and use the HP adapter. As it turned out, HP has a driver for its adapter that will let me use any of the supported interrupts. After I configured the adapter to use IRQ 9, I put my network card back in and the whole system worked fine.
The HP driver was difficult to install according to HP’s directions. During installation, I was prompted for the driver floppy but the installation never recognized it. The driver was there, but the installation couldn’t find it. I found an oemsetup.inf file that worked with other adapters from the same manufacturer and modified it to use the HP driver. Once I had the driver installed, everything worked. I have submitted a complaint to HP, but I am very pleased with the scanner.
The software that came with the scanner was easy to install and did not require as much effort as I feared from reading the article. No playing with the Registry or ini files was required.
--Kevin Smart