More and more, the parallel port is used to connect other devices than printers. To support this parallel port drivers are written for the devicesto work. This appendix presents devices for which parallel port support is written.
Chipset driver software for PCI Express Root Port device 9d14 With apologies if I'm in the wrong place for this question; a more obvious forum did not appear. After multiple searches I ran across some chipset driver software in a zip file ChipsetIntel10.1.zip. (Oddly, it came from a.ru site but was tested to be clean.) I.
To be clear: printers are not presented in this appendix as they are not supported by parallel port support projects.
Also, check the Linux Parallel Port support pages for more information here. Here you can find
paride subsystem for parallel port IDE devices ( here)
support for parallel port SCSI devices ( here)
Accton EtherPocket adapter
AT-Lan-Tec/RealTek parallel port ethernet adapter
D-Link DE600/DE620 parallel port ethernet adapter
- Calman Device Drivers Calman Display Calibration Software directly controls many hardware devices, including light meters, pattern sources, LUT processors, and display devices. The control interface to these devices may be USB, RS-232 serial, or wired or wireless network IP connections.
- Once you know the manufacturer and model of the serial port, you should be able to find the driver for it. If at all possible, avoid third-party driver download sites. Look for the website of the device manufacturer.
- Virtual COM Port Driver Installation Manual Installing the virtual COM port driver software on a computer makes possible CAT communication via a USB cable to the SCU-17 or an compatible transceivers. This will allow computer control of TX (PTT, KEY, FSK), and the audio In/Out interface (except the FT-891).
H45 Quick HD
KingByte IDE/ATAPI disks
KT Technologies PHd portable hard disk
MicroSolutions backpack hard-drives
SyQuest EZ-135
SyQuest EZ-230
SyQuest SparQ
ValueStor external hard-drive
Hewlett-Packard Colorado Tracker 250 tape drive (all except the T1000e)
Hewlett-Packard HP Colorado 5GB tape drive
Iomega Ditto tape drive
MicroSolutions backpack 8000t, 8000td tape drives
Drivers Autoland Port Devices Lucie
29.4. CD-ROM drivesDrivers Autoland Port Devices Terminal
Freecom Power CD
Freecom Traveller CD-ROM
H45 Quick CD
Hewlett-Packard HP 7100e/7200e CD-R
KingByte IDE/ATAPI CD-ROMs
MicroSolutions backpack CD-ROM. Models 163550 and later are supported by the paride driver. For models 160550 and 162550 seperate drivers are availavble.
MicroSolutions backpack PD/CD drive
SyQuest SyJet
Avatar Shark 250
Imation Superdisk
Iomega ZIP, ZIP Plus drives
Arista ParaDrive products
DataStor Commuter disks
Fidelity International Technologies TransDisk products
Freecom IQ Cable Parallel
Shuttle Technology EPAT/EPEZ parallel port IDE adapter
Shuttle Technology EPIA parallel port IDE adapter

Adaptec APA-348 mini-SCSI plus adapter cable Driver available at here
Adaptec APA-358 mini-SCSI EPP adapter cable Driver available at here
Shuttle Technology EPSA-2 parallel port SCSI adapter Driver available at here
Shuttle Technology EPST parallel port SCSI adapter Driver available at here
Connectix QuickCam
The parport_cs driver requires kernel 2.2.x or later
Quatech SPP-100
IOtech DBK35, WBK20A
There are two completely different device drivers for the parallelport; which one you are using depends on your kernel version (whichyou can find out with the command
A few details are the same for both styles of driver. Mostnotably, many people have found that Linux will not detect theirparallel port unless they disable 'Plug and Play' in their PC BIOS. (This is no surprise; the track record for PnP of non-PCI deviceswith Windows and elsewhere has been something of a disaster).
4.1. The lp device (kernels <=2.1.32)The Linux kernel (<=2.1.32), assuming you have compiled in orloaded the lp device (the output of
A few users have reported that their bidirectional lp ports aren'tdetected if they use an older unidirectional printer cable. Checkthat you've got a decent cable.
One cannot run the plip and lp drivers at the same time on anygiven port (under 2.0, anyway). You can, however, have one or theother driver loaded at any given time either manually, or bykerneld with version 2.x (and later 1.3.x) kernels. By carefullysetting the interrupts and such, you can supposedly run plip onone port and lp on the other. One person did so by editing thedrivers; I eagerly await a success report of someone doing so withonly a clever command line.
There is a little utility called
When the lp driver is built into the kernel, the kernel willaccept an
Drivers Autoland Port Devices Inc
When loaded as a module, it is possible to specify io addressesand interrupt lines on the insmod command line (or in/etc/conf.modules so as to affect kerneld)using the usual module argument syntax. The parameters are

**For those of you who can never find the standard portnumbers when you need them, they are as in the second exampleabove. The other port (lp0) is at 0x3bc.I've no idea what interrupt it usually uses.
The source code for the Linux 2.0 parallel port driver is in /usr/src/linux/drivers/char/lp.c.
4.2. The parport device (kernels >= 2.1.33)Beginning with kernel 2.1.33 (and available as a patch for kernel2.0.30), the lp device is merely a client of the new parportdevice. The addition of the parport device corrects a number ofthe problems that plague the old lp device driver - it can sharethe port with other drivers, it dynamically assigns availableparallel ports to device numbers rather than enforcing a fixedcorrespondence between I/O addresses and port numbers, and soforth.
The advent of the parport device has enabled a whole flock of newparallel-port drivers for things like Zip drives, Backpack CD-ROMsand disks, and so forth. Some of these are also available inversions for 2.0 kernels; look around on the web.
The main difference that you will notice, so far as printing goes,is that parport-based kernels dynamically assign lp devices toparallel ports. So what was lp1 under Linux 2.0 may well be lp0under Linux 2.2. Be sure to check this if you upgrade from anlp-driver kernel to a parport-driver kernel.
The most popular problems with this device seems to stem frommisconfiguration:
Some GNU/Linux distributions don't ship with a properly setup /etc/modules.conf (or /etc/conf.modules), so the driver isn't loaded properly when you need it to be. With a recentmodutils, the proper magical lines from modules.conf seem to be:
Many PC BIOSes will make the parallel port into a Plug-and-Play device. This just adds needless complexity to aperfectly simple device that is nearly always present; turnoff the PnP setting for your parallel port ('LPT1' in manyBIOSes) if your parallel port isn't detected by the Linuxdriver. The correct setting is often called 'legacy', 'ISA',or '0x378', but probably not 'disabled'.
You can also read the parport documentation in your kernel sources, orlook at the parport website.
4.3. Serial devicesSerial devices are usually called something like/dev/ttyS1 under Linux. The utility
When using a slow serial printer with flow control, you may findthat some of your print jobs get truncated. This may be due tothe serial port, whose default behavior is to purge anyuntransmitted characters from its buffer 30 seconds after the portdevice is closed. The buffer can hold up to 4096 characters, andif your printer uses flow control and is slow enough that it can'taccept all the data from the buffer within 30 seconds afterprinting software has closed the serial port, the tail end of thebuffer's contents will be lost. If the command
The 30 second interval can be adjusted through the 'closing_wait' command-line option of setserial (version2.12 and later). A machine's serial ports are usually initializedby a call to setserial in the rc.serial boot file. The call forthe printing serial port can be modified to set theclosing_wait at the same time as it sets that port's otherparameters.
4.4. USB Devices4.4.1. USB 1.1Linux supports USB pretty well. USB should work with any late-model 2.2 kernel, and any 2.4 kernel or newer. Of course you need kernel support for USB, either linked in or through a module (recommended).
If you have a modular kernel, the following modules need to be loaded:
usb-core.o
usb-uhci.o or uhci.o or usb-ohci.o
printer.o
Drivers Autoland Port Devices Gigabit
To get high speed transfers out of a USB 2.0 capable device you must attach it to an USB 2.0 controller and use the EHCI driver (ehci-hcd.o). A recent 2.4 kernel or higher is recommended if you want to use USB 2.0.
4.4.3. HintsOne thing to remember is that USB devices are dynamically allocated. A USB printer gets assigned a device file (/dev/usb/lp*) when it is turned on or connected. This could mean that print jobs are sent to the wrong printer because you turned them on in a certain order. CUPS uses special Uri's containing manufacturer, model and printer serial number to keep sending the jobs to the correct physical printer.
Although most USB printers work fine on Linux, there are exceptions. For example the new MF devices from Epson (Stylus CX3200/CX5200) return garbage when one polls the IEEE-1284 ID string via IOCTL, for example with the code of the CUPS 'usb' backend. Whereas one can poll the ID string via an Epson-proprietary method.
Till Kamppeter has written some tools to retrieve the device ID string from USB printers. getusbprinterid.pl and usb_id_test.c are the same thing but respectively in Perl and C. As mentioned above, the new MF devices from Epson are an exception, but the 'Epson proprietary method' is implemented in the ttink tool of the MTink package.
More documentation about USB is available at the Linux USB Website.
