| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- ===================================
- Linux and parallel port IDE devices
- ===================================
- PARIDE v1.03 (c) 1997-8 Grant Guenther <grant@torque.net>
- PATA_PARPORT (c) 2023 Ondrej Zary
- 1. Introduction
- ===============
- Owing to the simplicity and near universality of the parallel port interface
- to personal computers, many external devices such as portable hard-disk,
- CD-ROM, LS-120 and tape drives use the parallel port to connect to their
- host computer. While some devices (notably scanners) use ad-hoc methods
- to pass commands and data through the parallel port interface, most
- external devices are actually identical to an internal model, but with
- a parallel-port adapter chip added in. Some of the original parallel port
- adapters were little more than mechanisms for multiplexing a SCSI bus.
- (The Iomega PPA-3 adapter used in the ZIP drives is an example of this
- approach). Most current designs, however, take a different approach.
- The adapter chip reproduces a small ISA or IDE bus in the external device
- and the communication protocol provides operations for reading and writing
- device registers, as well as data block transfer functions. Sometimes,
- the device being addressed via the parallel cable is a standard SCSI
- controller like an NCR 5380. The "ditto" family of external tape
- drives use the ISA replicator to interface a floppy disk controller,
- which is then connected to a floppy-tape mechanism. The vast majority
- of external parallel port devices, however, are now based on standard
- IDE type devices, which require no intermediate controller. If one
- were to open up a parallel port CD-ROM drive, for instance, one would
- find a standard ATAPI CD-ROM drive, a power supply, and a single adapter
- that interconnected a standard PC parallel port cable and a standard
- IDE cable. It is usually possible to exchange the CD-ROM device with
- any other device using the IDE interface.
- The document describes the support in Linux for parallel port IDE
- devices. It does not cover parallel port SCSI devices, "ditto" tape
- drives or scanners. Many different devices are supported by the
- parallel port IDE subsystem, including:
- - MicroSolutions backpack CD-ROM
- - MicroSolutions backpack PD/CD
- - MicroSolutions backpack hard-drives
- - MicroSolutions backpack 8000t tape drive
- - SyQuest EZ-135, EZ-230 & SparQ drives
- - Avatar Shark
- - Imation Superdisk LS-120
- - Maxell Superdisk LS-120
- - FreeCom Power CD
- - Hewlett-Packard 5GB and 8GB tape drives
- - Hewlett-Packard 7100 and 7200 CD-RW drives
- as well as most of the clone and no-name products on the market.
- To support such a wide range of devices, pata_parport is actually structured
- in two parts. There is a base pata_parport module which provides an interface
- to kernel libata subsystem, registry and some common methods for accessing
- the parallel ports.
- The second component is a set of low-level protocol drivers for each of the
- parallel port IDE adapter chips. Thanks to the interest and encouragement of
- Linux users from many parts of the world, support is available for almost all
- known adapter protocols:
- ==== ====================================== ====
- aten ATEN EH-100 (HK)
- bpck Microsolutions backpack (US)
- comm DataStor (old-type) "commuter" adapter (TW)
- dstr DataStor EP-2000 (TW)
- epat Shuttle EPAT (UK)
- epia Shuttle EPIA (UK)
- fit2 FIT TD-2000 (US)
- fit3 FIT TD-3000 (US)
- friq Freecom IQ cable (DE)
- frpw Freecom Power (DE)
- kbic KingByte KBIC-951A and KBIC-971A (TW)
- ktti KT Technology PHd adapter (SG)
- on20 OnSpec 90c20 (US)
- on26 OnSpec 90c26 (US)
- ==== ====================================== ====
- 2. Using pata_parport subsystem
- ===============================
- While configuring the Linux kernel, you may choose either to build
- the pata_parport drivers into your kernel, or to build them as modules.
- In either case, you will need to select "Parallel port IDE device support"
- and at least one of the parallel port communication protocols.
- If you do not know what kind of parallel port adapter is used in your drive,
- you could begin by checking the file names and any text files on your DOS
- installation floppy. Alternatively, you can look at the markings on
- the adapter chip itself. That's usually sufficient to identify the
- correct device.
- You can actually select all the protocol modules, and allow the pata_parport
- subsystem to try them all for you.
- For the "brand-name" products listed above, here are the protocol
- and high-level drivers that you would use:
- ================ ============ ========
- Manufacturer Model Protocol
- ================ ============ ========
- MicroSolutions CD-ROM bpck
- MicroSolutions PD drive bpck
- MicroSolutions hard-drive bpck
- MicroSolutions 8000t tape bpck
- SyQuest EZ, SparQ epat
- Imation Superdisk epat
- Maxell Superdisk friq
- Avatar Shark epat
- FreeCom CD-ROM frpw
- Hewlett-Packard 5GB Tape epat
- Hewlett-Packard 7200e (CD) epat
- Hewlett-Packard 7200e (CD-R) epat
- ================ ============ ========
- All parports and all protocol drivers are probed automatically unless probe=0
- parameter is used. So just "modprobe epat" is enough for an Imation SuperDisk
- drive to work.
- Manual device creation::
- # echo "port protocol mode unit delay" >/sys/bus/pata_parport/new_device
- where:
- ======== ================================================
- port parport name (or "auto" for all parports)
- protocol protocol name (or "auto" for all protocols)
- mode mode number (protocol-specific) or -1 for probe
- unit unit number (for backpack only, see below)
- delay I/O delay (see troubleshooting section below)
- ======== ================================================
- If you happen to be using a MicroSolutions backpack device, you will
- also need to know the unit ID number for each drive. This is usually
- the last two digits of the drive's serial number (but read MicroSolutions'
- documentation about this).
- If you omit the parameters from the end, defaults will be used, e.g.:
- Probe all parports with all protocols::
- # echo auto >/sys/bus/pata_parport/new_device
- Probe parport0 using protocol epat and mode 4 (EPP-16)::
- # echo "parport0 epat 4" >/sys/bus/pata_parport/new_device
- Probe parport0 using all protocols::
- # echo "parport0 auto" >/sys/bus/pata_parport/new_device
- Probe all parports using protoocol epat::
- # echo "auto epat" >/sys/bus/pata_parport/new_device
- Deleting devices::
- # echo pata_parport.0 >/sys/bus/pata_parport/delete_device
- 3. Troubleshooting
- ==================
- 3.1 Use EPP mode if you can
- ----------------------------
- The most common problems that people report with the pata_parport drivers
- concern the parallel port CMOS settings. At this time, none of the
- protocol modules support ECP mode, or any ECP combination modes.
- If you are able to do so, please set your parallel port into EPP mode
- using your CMOS setup procedure.
- 3.2 Check the port delay
- -------------------------
- Some parallel ports cannot reliably transfer data at full speed. To
- offset the errors, the protocol modules introduce a "port
- delay" between each access to the i/o ports. Each protocol sets
- a default value for this delay. In most cases, the user can override
- the default and set it to 0 - resulting in somewhat higher transfer
- rates. In some rare cases (especially with older 486 systems) the
- default delays are not long enough. if you experience corrupt data
- transfers, or unexpected failures, you may wish to increase the
- port delay.
- 3.3 Some drives need a printer reset
- -------------------------------------
- There appear to be a number of "noname" external drives on the market
- that do not always power up correctly. We have noticed this with some
- drives based on OnSpec and older Freecom adapters. In these rare cases,
- the adapter can often be reinitialised by issuing a "printer reset" on
- the parallel port. As the reset operation is potentially disruptive in
- multiple device environments, the pata_parport drivers will not do it
- automatically. You can however, force a printer reset by doing::
- insmod lp reset=1
- rmmod lp
- If you have one of these marginal cases, you should probably build
- your pata_parport drivers as modules, and arrange to do the printer reset
- before loading the pata_parport drivers.
|