
You are here: HardwareHacks 2000 > PC Modding > LaserJet Scan Server
HP LaserJet 1100a Scanner ServerHosted scanning without the expensive hardwareAs the owner of a 64-bit system with no parallel port, using the built-in scanner on my circa-1998 HP LaserJet 1100a seemed out-of-the-question. The last scanner drivers released by Hewlett-Packard officially supported up to Windows 2000, and would run on the 32-bit version of Windows XP. Following my transition to the x64 platform, I began using an HP JetDirect EX Plus 3 standalone print server to print over TCP/IP, and while the scanner's host software runs on the 64-bit version of Windows XP, it only supports networked scanning using a select few scan-capable print servers. Rather than buy one of these scan servers or buying appropriate conversion cables and virtualizing a 32-bit operating system, I decided to build my own scan server to save time and money. I was able to construct the scanner server for free with parts I had available:
Installing HP's Document Assistant is a relatively painless procedure. As I wanted Document Assistant's output files to save directly to my x64 laptop, I first created a network share on the x64 machine and named it "Scanner". Because the scanner host software is quite old, I mapped the folder to a drive letter (in my case, Drive E:). There is an option in Document Assistant's setup wizard to save to an alternate location - this was set to the mapped drive letter that I had just created. Step one is a success: hitting the scan button on the LaserJet dumps an HP Desktop document into the Scanner folder on the x64 laptop. Obviously, I didn't want to have to install the scanner host software onto the x64 laptop if I didn't need to. Opening the output files didn't merit installing special software, so thankfully the scanner can be configured to save to a variety of formats. However, I needed a way to configure the scanner remotely, as I wished to leave the server under my desk. I discovered that the scanner's settings are stored in an INI file called "hppdesk.ini", located in the %SystemRoot% folder. Editing the file in Notepad over the network each time I wanted to change the settings wasn't what I had in mind, so I set up Internet Information Services on the server. From there, I wrote a small Web application in VBScript and HTML that would automatically change the contents of the file as I needed.
Using a simple HTML form, VBScript, and regular expressions, I was able to control the scanner's settings remotely by visiting the Web site I had configured. I strongly recommend that authentication of some sort is used on such a page: I personally used NTLM authentication since my primary browser is NTLM-enabled; if you require wider support, basic authentication will do as well. Leaving your scanner settings open on your network, especially if your network is wireless, is asking for trouble. As you can see, the scanner has four different dot-pitch settings and two bit-depth settings. It has a multitude of other file formats available, such as GIF, Targa, and PostScript, though I found that TIFF, PCX, JPEG, and raw bitmaps were enough for most uses. The TIFF output selection apparently uses a color index and some form of zlib, while PCX uses run-length encoding to reduce file size. The RLE-encoded PCX format generally works best for 1-bit mostly-text images of any dot-pitch. TIFF is useful for 8-bit images at 150dpi and 200dpi, but generates huge files when used with 300dpi and 600dpi, where JPEG begins to offer a better quality-to-size ratio. I use the LaserJet as a printer as well, so I couldn't neglect setting up a networked printer over SMB when I was finished with the scanner settings. The server is connected via 10mbps Ethernet to a Magnum ST80 Ethernet hub. Printing speed remains unaffected from direct parallel. Scans range anywhere from a few seconds for a 150dpi 1-bit scan in PCX format to over five minutes for a 600dpi 8-bit scan using TIFF. While the printing bottleneck occurs over parallel, the majority of the time spent by the scanner is bottlenecked by the NEC Ready 220T's 233MHz CPU rather than the network. While a 600dpi scan might have taken a bit over a minute to scan and process on my previous 32-bit machine (a 1.4GHz Athlon XP), the same scan takes over five times as long at 233MHz. Resources
Last updated 1/18/2008 00:39:23 |