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.
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:
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."
| Hewlett-Packard * 415-857-1501 |