linux/Documentation/blockdev/paride.txt
<<
="+search" method="post" onsubmit="return do_search(this);">Search ="ajax+*" method="post" onsubmit="return false;">
o o1p/a><o o2p/a> Linux and parallel port IDE devices<o o3p/a><o o4p/a>PARIDE v1.03o o(c) 1997-8 Grant Guenther <grant@torque.net><o o5p/a><o o6p/a>1. Introducon> <o o7p/a><o o8p/a>Owing to the simplicity and near universality of the parallel port interface<o o9p/a>to personal computers, many external devices such as portable hard-disk,<o CD-ROM, LS-120 and tape drives use the parallel port to connect to their<o 11p/a>host computer. While some devices (notably scanners) use ad-hoc methods<o 12p/a>to pass commands and data through the parallel port interface, most <o 13p/a>external devices are acoually identical to a internal model, but with<o 14p/a>a parallel-port adapter chip added in. Some of the original parallel port<o 15p/a>adapters were little more tha mecha isms for multiplexing a SCSI bus.<o 16p/a>(The Iomega PPA-3 adapter used in the ZIP drives is an example of this<o 17p/a>approach). Most current designs, however, take a different approach.<o 18p/a>The adapter chip reproduces a small ISA or IDE bus in the external device<o 19p/a>and the communicaon> protocol provides operaon> s for reading and writing<o 2/opa>device registers, as well as data block transfer funcon> s. Sometimes,<o 21p/a>the device being addressed via the parallel cable is a standard SCSI<o 22p/a>controller like an NCR 5380. The "ditto" family of external tape<o 23p/a>drives use the ISA replicaoor to interface a floppy disk controller,<o 24p/a>which is then connected to a floppy-tape mecha ism. The vast majority<o 25p/a>of external parallel port devices, however, are now based > standard<o 26p/a>IDE typ" devices, which require no intermediate controller. If > e<o 27p/a>were to open up a parallel port CD-ROM drive, for instance, > e would<o 28p/a>find a standard ATAPI CD-ROM drive, a power supply, and a single adapter<o 29p/a>that interconnected a standard PC parallel port cable and a standard<o 30p/a>IDE cable. It is usually possible to excha ge the CD-ROM device with<o 31p/a>any other device using the IDE interface. <o 32p/a><o 33p/a>The document describes the support in Linux for parallel port IDE<o 34opa>devices. It does not cover parallel port SCSI devices, "ditto" tape<o 35p/a>drives or scanners. Many different devices are supported by the <o 36p/a>parallel port IDE subsystem, including:<o 37p/a><o 38p/a> MicroSoluon> s backpack CD-ROM<o 39p/a> MicroSoluon> s backpack PD/CD<o 40p/a> MicroSoluon> s backpack hard-drives<o 41p/a> MicroSoluon> s backpack 8000t tape drive<o 42p/a> SyQuest EZ-135, EZ-230 & SparQ drives<o 43p/a> Avatar Shark<o 44p/a> Imaon> Superdisk LS-120<o 45p/a> Maxell Superdisk LS-120<o 46p/a> FreeCom Power CD <o 47p/a> Hewlett-Packard 5GB and 8GB tape drives<o 48p/a> Hewlett-Packard 7100 and 7200 CD-RW drives<o 49p/a><o 50p/a>as well as most of the cl> e and no-nam" products > the market.<o 51p/a><o 52p/a>To support such a wide ra ge of devices, PARIDE, the parallel port IDE<o 53p/a>subsystem, is acoually structured in three parts. There is a base<o 54p/a>paride module which provides a registry and some common methods for<o 55p/a>accessing the parallel ports. The second comp> ent is a set of <o 56p/a>high-level drivers for each of the different typ"s of supported devices: <o 57p/a><o 58p/a> pd IDE disk<o 59p/a> pcd ATAPI CD-ROM<o 60p/a> pf ATAPI disk<o 61p/a> pt ATAPI tape<o 62p/a> pg ATAPI generic<o 63p/a><o 64p/a>(Currently, the pg driver is only used with CD-R drives).<o 65p/a><o 66p/a>The high-level drivers funcon> according to the relevant standards.<o 67p/a>The third comp> ent of PARIDE is a set of low-level protocol drivers<o 68p/a>for each of the parallel port IDE adapter chips. Thanks to the interest<o 69p/a>and encouragement of Linux users from many parts of the world, <o 70p/a>support is available for almost all known adapter protocols:<o 71p/a><o 72p/a> aten ATEN EH-100 (HK)<o 73p/a> bpck Microsoluon> s backpack (US)<o 74p/a> comm DataSoor (old-typ") "commuter" adapter (TW)<o 75p/a> dstr DataSoor EP-2000 (TW)<o 76p/a> epat Shuttle EPAT (UK)<o 77p/a> epia Shuttle EPIA (UK)<o 78p/a> fit2 FIT TD-2000 (US)<o 79p/a> fit3 FIT TD-3000 (US)<o 80p/a> friq Freecom IQ cable (DE)<o 81p/a> frpw Freecom Power (DE)<o 82p/a> kbic KingByte KBIC-951A and KBIC-971A (TW)<o 83p/a> ktti KT Technology PHd adapter (SG)<o 84p/a> on20 OnSpec 90c20 (US)<o 85p/a> on26 OnSpec 90c26 (US)<o 86p/a><o 87p/a><o 88p/a>2. Using the PARIDE subsystem<o 89p/a><o 90p/a>While configuring the Linux kernel, you may choose either to build<o 91p/a>the PARIDE drivers into your kernel, or to build them as modules.<o 92p/a><o 93p/a>In either case, you will need to select "Parallel port IDE device support"<o 94p/a>as well as at least > e of the high-level drivers and at least > e<o 95p/a>of the parallel port communicaon> protocols. If you do not know<o 96p/a>what kind of parallel port adapter is used in your drive, you could<o 97p/a>begin by checking the file nam"s and any text files > your DOS <o 98p/a>installaon> floppy. Alternatively, you can look at the markings > <o 99p/a>the adapter chip itself. That's usually sufficient to identify the<o100p/a>correct device. <o101p/a><o102p/a>You can acoually select all the protocol modules, and allow the PARIDE<o103p/a>subsystem to try them all for you.<o104p/a><o105p/a>For the "brand-nam"" products listed above, here are the protocol<o106p/a>and high-level drivers that you would use:<o107p/a><o108p/a> Manufacturer Model Driver Protocol<o109p/a> <o110p/a> MicroSoluon> s CD-ROM pcd bpck<o111p/a> MicroSoluon> s PD drive pf bpck<o112p/a> MicroSoluon> s hard-drive pd bpck<o113p/a> MicroSoluon> s 8000t tape pt bpck<o114p/a> SyQuest EZ, SparQ pd epat<o115p/a> Imaon> Superdisk pf epat<o116p/a> Maxell Superdisk pf friq<o117p/a> Avatar Shark pd epat<o118p/a> FreeCom CD-ROM pcd frpw<o119p/a> Hewlett-Packard 5GB Tape pt epat<o120p/a> Hewlett-Packard 7200e (CD) pcd epat<o121p/a> Hewlett-Packard 7200e (CD-R) pg epat<o122p/a><o124" cl2.1 Ca1option> <67p/a>The third comp> ent of PARIDE is a set of0s >txt#L68" idv3L68" class="line" nam"v3L68">o 68p/a>fo1ich is th1en connected to a floppy1-tape12t#L105" idv3L105" class="line" nam"v3L105">o105p/a> external1 parallel port devices, 1howev1r, areWockd hree s foev/parigeev/pa#L96cumehref="> /blocwo /bref="mehro5" idv3L105" class="line" nam"v3L105">o105p/a> Mavices, which require no 1inter1ediatether to eev/parideloienbletaon> /blobef.<pttaon> /col ef="a5" idv3L105" class="line" nam"v3L105">o105p/a> Avn up a parallel port CD-1ROM d1ive, focumenkdev/pref="> /blocet of0s 04" idv3L104" class="line" nam"v3L104">o104p/a>nd a stan1dard ATAPI CD-ROM drive,1 a po1er sup4" idv3L104" class="line" nam"v3L104">o104p/a>n Heonnected a standard PC p1arall1l portdev/paret ofarideofde.txtv/paride. protodiparihrefa href="Document" idv3L13" class="line" nam"v3L13">o 13p/a>exte He It is usually possible 1to ex1ha ge ref=/parhackdjuntao/paride. interest<o 97p/a>be1y other d1evice using the IDE inte1rface1 <o 97p/a>be1yo 29p/a>th13ernal deviices are acoually identicd comux for(eg: LILO),="mehroride cableoceeyo s for scope.txt#L17rallel po04" idv3L104" class="line" nam"v3L104">o104p/a>vices. I1t does not cover paralle1l por13t#L105" idv3L105" class="line" nam"v3L105">o105p/a>ives or s1canners. Many different1 devi1es aree relevant standards.<< entptao/numbridtxtdev/ref= /bl intme Sometl09" idv3L109" class="line" nam"v3L109">o109p/a>rallel po1rt IDE subsystem, includ1ing:<1a hreftxtds forv/paallel poref="Documsf="cekdev/pa="Dlhref/dards.o19" idv3L109" class="line" nam"v3L109">o109p/a>r Avocumentaon> /blockdev/pa1ride.1xt#L38Byhe.fault,Thanks"Documeice soutoepatc the ntaonl > standard<o122p/a> Mic1roSoluon> s backpack CD-1ROM<<1 href=nd aply,lockdev/p="Documenton> /b cablhackdbeen ok at te,lountilcitaply,8" idv3L68" class="line" nam"v3L68">o 68p/a>fo1 Mic1roSoluon> s backpack PD/1CD<o 97p/a>be1 Mic1roSoluon> s backpack har1d-dri1es<o 68p/a>fo1 Mic1roSoluon> s backpack 80010t ta14y scannwv/paride.txt#L10ockdev17rhref="Ds spectxts a set o href=SI<o100p/a> SyQ1uest EZ-135, EZ-230 &1; Spa1Q driv"Documentride.tx"Documennumbriday,lo.txtods<o100p/a> ernal devtar Shark<o100p/a> arallel-poort adapter chip added in por1"Documbloplayparidefor rensoROM dLof exa hlel pm<o100p/a> ves or s1ell Superdisk LS-120< <o100p/a> allel po1eCom Power CD <o107p/a> Hew1lett-Packard 5GB and 8GB1 tape14t#L108" idv3L108" class="line" nam"v3L108">o108p/a> Hew1lett-Packard 7100 and 72100 CD1RW drives<o: (US) s. Sntaos="Document6" idv3L46" class="line" nam"v3L46">o 46p/a> 1a href="D1ocumentaon> /blockdev/pa1ride.149 drives<o: (UK) s. Sntaos="Document1" idv3L46" class="line" nam"v3L46">o 46p/a> 1 well as 1most of the cl> e and no1-nam"1produc" idv3L46" class="line" nam"v3L46">o 46p/a> 1 Mic1ocumentaon> /blockdev/pa1ride.1xt#L52e renumbriblice salwayoceeDocumsn> /untilc/paret oridenew ocumenkdev/" idv3L46" class="line" nam"v3L46">o 46p/a> 1 SyQ1such a wide ra ge of dev1ices,1PARIDE"Documenta"DocumentPARIDEiv/paris, ash#L97e.txeDocusrenumbriblos=/pa" idv3L46" class="line" nam"v3L46">o 46p/a> 1 ernal devis acoually structured i1n thr1e partice supporthn> /blride.txt#L10o109p/a>ride modu1le which provides a regi1stry 15t#L105" idv3L105" class="line" nam"v3L105">o105p/a>cessing t1he parallel ports. The 1secon1 comp>dev/parhapce, /bln> /blocaef="Documentaon> /blockdee.txt#,E device 5" idv3L105" class="line" nam"v3L105">o105p/a>callel po1drivers for each of the 1diffe1ent tyalsosupport&q#L96cL10o105p/a>c Hew1ocumentaon> /blockdev/pa1ride.1xt#L58L10o105p/a>c Hew1 IDE disk<o109p/a>r href="D1 ATAPI CD-ROM<o 90p/a>Wh1 pf 1 ATAPI disk<t#L40xt#L42" idv3L42" class="line" nam"v3L42">o 42p/a> 1 pt 1 ATAPI tape<o 42p/a> 1 SyQ1 ATAPI generic< " idv3L42" class="line" nam"v3L42">o 42p/a> 1 ernal devocumentaon> /blockdev/pa1ride.1xt#L64/blockdev/paride.t majority<o 42p/a> 1 ide modu1 the pg driver is only u1sed w1th CD-o107p/a>a href="D1ocumentaon> /blockdev/pa1ride.1xt#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th16e Iomega PPPA-3 adapter used in theiffe16 pf pd.t#L420=0x378,1 pf.t#L420=0x278,1 pf.t#L421=0x378,0,36" idv3L66" class="line" nam"v3L66">o 66p/a>Th16 Hew1omp> ent of PARIDE is a 1set o16t#L108" idv3L108" class="line" nam"v3L108">o108p/a>r each of1 the parallel port IDE a1dapte1 chipsIdefor ltxt#o108p/a>r href="D1gement of Linux users fr1om ma1y partThe va do not know<o108p/a>pport is 1available for almost all1 know1 adaptnumbriday,d36tThe va cha="DID.8" idv3L108" class="line" nam"v3L108">o108p/a>p pt 1ocumentaon> /blockdev/pa1ride.1xt#L72" idv3L72" class="line" nam"v3L72">o 72p/a> 1 ate1n ATEN EH-100 1 1 Pe.txee.txe: tds lthem as mice swo /bbov/pdev/pide.tev/>okupe36" idv3L36" class="line" nam"v3L36">o 36p/a>pa1 bpc1k Microsoluon> s back1pack 1 em PORT do not know< /cableocde.txtde.txt#L3" idv3L36" class="line" nam"v3L36">o 36p/a>pa1 ide modu1m DataSoor (old-typ")1 &quo1;commu href="Documentaon> aride.txt#L94#o 97p/a>be1 dst1r DataSoor EP-2000 1 1 iev/parwadev/pask ccha="sref="Documeaidefor sn> /do not know<<.8" idv3L108" class="line" nam"v3L108">o108p/a>pe Iomega t Shuttle EPAT 1 17t#L87" idv3L87" class="line" nam"v3L87">o 87p/a><<17roach). MMost current designs, howet o1 2.2 Loev/paride.ther to builem as mide.txt#L9" idv3L87" class="line" nam"v3L87">o 87p/a><<17 each of12 FIT TD-2000 1 17r sup4" idv3L104" class="line" nam"v3L104">o104p/a> fit13 FIT TD-3000 1 1 evice mel pfa. Son> /b poride.txgeev/paundribt> s for em as modules.4" idv3L104" class="line" nam"v3L104">o104p/a> fri1q Freecom IQ cable 1 18s<o110p/a> frp1w Freecom Power 1 18t#L72" idv3L72" class="line" nam"v3L72">o 72p/a> 1 kbi1c KingByte KBIC-951A 1and K1IC-971NtxeD1: t /blockdesf="> /blocwev/pe, het#L94ocumendkdev/parutoepatcon metholoev/pa" idv3L72" class="line" nam"v3L72">o 72p/a> 1 bpc1i KT Technology PHd a1dapte1 ntaon> eoc.txtkd hree sde.. Tiles n Somet s eoc.txtallel porefockdL101" idv3L101" class="line" nam"v3L101">o101p/a> on210 OnSpec 90c20 1 18t#L105" idv3L105" class="line" nam"v3L105">o105p/a> on216 OnSpec 90c26 1 1 NtxeD2: tifc/paret oriem PORT e. protot leeloienbletaon> /ntaon> / munt5" idv3L105" class="line" nam"v3L105">o105p/a> e Iomega ocumentaon> /blockdev/pa1ride.18nt tyalsosbecet ofardeloienbletaon> /blot s em PORT muntabecloie2dobef.<o 36p/a>pa1a href="D1ocumentaon> /blockdev/pa1ride.1xt#L88aon> / mtxt#L92" idv3L92" class="line" nam"v3L92">o 92p/a><<1 Using th1e PARIDE subsystem<o104p/a>a href="D1ocumentaon> /blockdev/pa1ride.1xt#L90Tpask caon> /bltaon>untabees > y4" idv3L104" class="line" nam"v3L104">o104p/a>ile confi1guring the Linux kernel,1 you 19roduc" idv3L46" class="line" nam"v3L46">o 46p/a> 1e PARIDE 1drivers into your kernel1, or 19R) pg ="smtxh108">o" idv3L46" class="line" nam"v3L46">o 46p/a> 1e kbi1ocumentaon> /blockdev/pa1ride.1xt#L93" idv3L93" class="line" nam"v3L93">o 93p/a>In1 either c1ase, you will need to se1lect 1quot;P#L17rloie.txt#L54on methods for<o 97p/a>be1 well as 1at least > e of the high1-leve1 drivermo a "Documtask92" idv3L92" class="line" nam"v3L92">o 92p/a><<1 the para1llel port communicaon> 1proto19t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th1at kind o1f parallel port adapter 1is us19to the r<, loiemide.ref="fhref="Documentaon> /blos=/paupetnkltaon>classuppo2" idv3L92" class="line" nam"v3L92">o 92p/a><<1 href="D1ecking the file nam"s an1d any1text fAs=/pauloiemhanksaon> /ntitmice sn> s. Sve, htaon> /bl /cable> aride.tl," idv3L97" class="line" nam"v3L97">o 97p/a>be1 Using th1 floppy. Alternatively1, you1can loaon> butleelogvm<o 97p/a>be1 the commuunicaon> protocol providide.1lly su/paride07" idv3L107" class="line" nam"v3L107">o107p/a2correct d2vice. <o 46p/a> 2< /blockdev/p2ride.20R) pg # ="smtxh#L122" idv3L122" class="line" nam"v3L122">o122p/a2You can a2oually select all the pr2tocol20umentaon> /blo08">o: (UK) s. Sntaos="Document6" idv3L46" class="line" nam"v3L46">o 46p/a> 2subsystem2to try them all for you.2o 46p/a> 2sch is theDocumentaon> /blockdev/p2ride.204mentaon> /blo08">o: k951 s. Sntaos="Document1" idv3L46" class="line" nam"v3L46">o 46p/a> 2For the &2uot;brand-nam"" pro2ucts 205mentaon> /blo08">o: k971 s. Sntaos="Document2" idv3L46" class="line" nam"v3L46">o 46p/a> 2F typ" devevel drivers that you wo2ld us20t#L87" idv3L87" class="line" nam"v3L87">o 87p/a><<2< /blockdev/p2ride.2xt#L10Fdev/cumentaon> /blaf="Documentaon> /bloc. Thanksrive, yockdev/p/cab" idv3L87" class="line" nam"v3L87">o 87p/a><<2o 87p/a><<2o 11p/a>ho2 M2croSoluon> s CD2ROM 2 iveivbdutable-mentaat/blivast/pauloiemref=txt#L62" idv3L92" class="line" nam"v3L92">o 92p/a><<2 M2croSoluon> s PD2drive21t#L2" idv3L2" class="line" nam"v3L2">o o2p/a> M2croSoluon> s ha2d-dri2e abov/paride, iev/parhad#tworntaon> /ter<o o2p/a> ubsystem2croSoluon> s 8020t ta2e href="Documentaon> /Documeide.txmentw< s for "Docummen0x3b)" idv3L46" class="line" nam"v3L46">o 46p/a> 2 S2Quest EZ2 Spar2 y, at#L97qgockdo107p/a2 I2aon> Su2erdis21t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th2 M2xell Su2erdis2 pf # ="smtxhridet#L420=0x378,1 t#L421=0x3bc,1" idv3L46" class="line" nam"v3L46">o 46p/a> 2 A2atar Sh2rk 21t#L108" idv3L108" class="line" nam"v3L108">o108p/a2 F2eeCom CD2ROM 2 abovmentaoltiplex,ygivbloca o href=SI< Documentnumbridisn> /blockde1" idv3L21" class="line" nam"v3L21">o 21p/a>the t intercowlett-Packard 5G2 Tape2 .txtour DDocumsf="cekdev/pa="Dlhref/dards.oaon> /.<o 21p/a>thevice regissters, as well as data bl0e (C22 ivpto109p/a2e device bbeing addressed via the p0e (C22t#L2" idv3L2" class="line" nam"v3L2">o o2p/a> ntroller liike an NCR 5380. The &qu-dri2xt#L12Ackde"Docum/paride, ockdef="Docwcablhapce,blivastem PORT eocde at te,loaon idv3L2" class="line" nam"v3L2">o o2p/a> nubsystem2the ISA replicaoor to intrd co2p> entaref="Documentaoocolsttankty<o107p/a2ich is theen connected to a floppy--tape22t#L105" idv3L105" class="line" nam"v3L105">o105p/a2 external parallel port devices, hhowev225 pf # ="smtxhr08">o" idv3L46" class="line" nam"v3L46">o 46p/a> 2E typ" devvices, which require no iinter226mentaon> /blo08">o: ds.o 46p/a> 2E A2n up a parallel port CD-RROM d227) pg # ="smtxh#L122" idv3L122" class="line" nam"v3L122">o122p/a2nd a standdard ATAPI CD-ROM drive, a po22W drives<o: (UK) s. Sntaos="Document6" idv3L46" class="line" nam"v3L46">o 46p/a> 2at intercoonnected a standard PC paarall229 pf # ="smtxhr," idv3L46" class="line" nam"v3L46">o 46p/a> 2e H2 It is usually possible 2to ex23ntaon> /blockdd:aridds.o 46p/a> 2y other d2evice using the IDE inte2rface23ntaon> /blockdda:aon> bloc">oow<<1aev/0x378" idv3L46" class="line" nam"v3L46">o 46p/a> 2ytroller locumentaon> /blockdev/pa2ride.232taon> /blockdda:a(UK)<1.0,ehref="Documenidentc3aev/0x378,a/par 5 (EPP-32),="Dlay 1" idv3L46" class="line" nam"v3L46">o 46p/a> 23ernal de2iices are acoually ident2cd co233taon> /blockdda:aof="DocumetaoA, 262 4"Docums [128M], (512/16/32),=removnbleta> /b" idv3L46" class="line" nam"v3L46">o 46p/a> 23ch is thet does not cover paralle2l por234mentaon> /blkdda:adda1" idv3L46" class="line" nam"v3L46">o 46p/a> 23external canners. Many different2 devi23t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th2rallel po2rt IDE subsystem, includ2ing:<2a hrefNtxeDocdev/parltxt# /bl The va outptxttaon> va txt#L63ockdeiockdev/par" idv3L66" class="line" nam"v3L66">o 66p/a>Th2r A2ocumentaon> /blockdev/pa2ride.2xt#L38 by the -f="DocThert Ile> red< haoc. uarideide.twev/pobl ineiockd19" idv3L109" class="line" nam"v3L109">o109p/a2 Mic2roSoluon> s backpack CD-2ROM<<23r sup4" idv3L104" class="line" nam"v3L104">o104p/a2 Mic2roSoluon> s backpack PD/2CD< /bloa em as mot#L19" idv3L19" class="line" nam"v3L19">o 19p/a>an2 Mic2roSoluon> s backpack har2d-dri24roduc" idv3L46" class="line" nam"v3L46">o 46p/a> 2 Mic2roSoluon> s backpack 80020t ta24y scahrcecref="> /blochackdbeen loie2dmentaon> / ent i em as mot#L19/blockde" idv3L46" class="line" nam"v3L46">o 46p/a> 2 troller luest EZ-135, EZ-230 &2; Spa2Q drivsn> /way asckde11entadiockdtableutxt#pblockdeYdevice s.txbmentaupport&" idv3L46" class="line" nam"v3L46">o 46p/a> 2 ernal de2tar Shark<o 46p/a> 2 ch is thenn connected to a floppy-t por2"Documcut<o107p/a2 ves or s2ell Superdisk LS-120<o 66p/a>Th2 allel po2eCom Power CD <o 46p/a> 2 Hew2lett-Packard 5GB and 8GB2 tape24t#L10#" idv3L46" class="line" nam"v3L46">o 46p/a> 2 Mic2lett-Packard 7100 and 72200 CD2RW dri# mkd --txtbDEo 89p/a><<2a href="D2ocumentaon> /blockdev/pa2ride.249 dri#" idv3L46" class="line" nam"v3L46">o 46p/a> 2 well as 2most of the cl> e and no2-nam"2produca href="Dmv3L4 {" idv3L46" class="line" nam"v3L46">o 46p/a> 2 Mic2ocumentaon> /blockdev/pa2ride.25ntaon> mkntxh$1 $2 $3 $4 ;nidmtxh0660h$1 ;nidlockroot:ide.t$1" idv3L46" class="line" nam"v3L46">o 46p/a> 2 SyQ2such a wide ra ge of dev2ices,2PARIDE}" idv3L46" class="line" nam"v3L46">o 46p/a> 2 ernal de2is acoually structured i2n thr2e part#" idv3L46" class="line" nam"v3L46">o 46p/a> 2 ch is thele which provides a regi2stry 25t#L10a href="Drid{" idv3L46" class="line" nam"v3L46">o 46p/a> 2 ves or s2he parallel ports. The 2secon255 pD=$(> butf \\$(> butf et#L94x%03xkdev/pa$[h$1 + 97 ] ) 6" idv3L86" class="line" nam"v3L86">o 86p/a><<2callel po2drivers for each of the 2diffe256taon> mk3L4 pd$D b 45a$[h$1 * 16 ]" idv3L86" class="line" nam"v3L86">o 86p/a><<2c Hew2ocumentaon> /blockdev/pa2ride.257) pfbovPbloc1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" idv3L86" class="line" nam"v3L86">o 86p/a><<2c Mic2 IDE disk<o 86p/a><<2c href="D2 ATAPI CD-ROM<o 27p/a>wer pf 2 ATAPI disk<o 46p/a> 2 pt 2 ATAPI tape<o 46p/a> 2 SyQ2 ATAPI generic<o 46p/a> 2 ernal de2ocumentaon> /blockdev/pa2ride.26 part#" idv3L46" class="line" nam"v3L46">o 46p/a> 2 ide modu2 the pg driver is only u2sed w2th CD-fbovubloc0c1 2 3 ;bdo rid$u ;bdo27" idv3L27" class="line" nam"v3L27">o 27p/a>wer ves or s2ocumentaon> /blockdev/pa2ride.2xt#L66fbovubloc0c1 2 3 ;bdo mk3L4 pcd$u b 46d$u ;bdo27a" idv3L21" class="line" nam"v3L21">o 21p/a>the6e Iomega2PPPA-3 adapter used in t2eiffe26 fbovubloc0c1 2 3 ;bdo mk3L4 pf$u b 47d$u ;bdo27a" idv3L21" class="line" nam"v3L21">o 21p/a>the6 Hew2omp> ent of PARIDE is a 2set o26t#L10fbovubloc0c1 2 3 ;bdo mk3L4 pt$u c 96d$u ;bdo27a" idv3L21" class="line" nam"v3L21">o 21p/a>the6 Mic2 the parallel port IDE a2dapte2 chips. Tubloc0c1 2 3 ;bdo mk3L4 npt$u c 96d$[d$u +o1er ] ;bdo27a" idv3L21" class="line" nam"v3L21">o 21p/a>the6 href="D2gement of Linux users fr2om ma2y partfbovubloc0c1 2 3 ;bdo mk3L4 pg$u c 97d$u ;bdo27a" idv3L21" class="line" nam"v3L21">o 21p/a>thepport is 2available for almost all2 know2 adapt#" idv3L46" class="line" nam"v3L46">o 46p/a> 2p pt 2ocumentaon> /blockdev/pa2ride.2xt#L72# eve, yomk3" idv3L46" class="line" nam"v3L46">o 46p/a> 2p SyQ2n ATEN EH-100 2 27t#L93" idv3L93" class="line" nam"v3L93">o 93p/a>In2 bpc2k Microsoluon> s back2pack 2 Wev/pref=" hrefhdev/poref=odules.< / ent i em as mot#L19/" idv3L93" class="line" nam"v3L93">o 93p/a>In2 ide modu2m DataSoor (old-typ")2 &quo2;commulof exef="DocumLhref=d.txt#L10 abov/paride, fo meutxtxtter<o107p/a2 dst2r DataSoor EP-2000 2 27t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th2pe Iomega2t Shuttle EPAT 2 2 meutxt/"v3L1cd0 /cdro9" idv3L89" class="line" nam"v3L89">o 89p/a><<27roach). 2MMost current designs, h2wet o27t#L108" idv3L108" class="line" nam"v3L108">o108p/a27 each of22 FIT TD-2000 2 27r supdev/parhackdhreresharide.txt#L44vn>rt8">ge, > s for t#L42oisadda,=/pa" idv3L46" class="line" nam"v3L46">o 46p/a> 2 fit23 FIT TD-3000 2 2 >classdo blocpetngy of 07" idv3L107" class="line" nam"v3L107">o107p/a2 fri2q Freecom IQ cable 2 28roduc" idv3L46" class="line" nam"v3L46">o 46p/a> 2 frp2w Freecom Power 2 2 (ide.t/"v3L1daaon> /blk --tmaf exenew ckdeiockdev/parkdev/" idv3L46" class="line" nam"v3L46">o 46p/a> 2 kbi2c KingByte KBIC-951A 2and K2IC-971A ckdeiockde1="fhrype 83" idv3L46" class="line" nam"v3L46">o 46p/a> 2 bpc2i KT Technology PHd a2dapte28t#L64" idv3L64" class="line" nam"v3L64">o 64p/a>(C2 on220 OnSpec 90c20 2 2 mke2fst/"v3L1da1n> /blk --t /blockdev/preef="xt#L89" idv3L89" class="line" nam"v3L89">o 89p/a><<2 on226 OnSpec 90c26 2 28t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th2 e Iomega2ocumentaon> /blockdev/pa2ride.28 mkdir /sn> /blockdev/pa --tmaf exeplat# fo meutxtref="D61" idv3L61" class="line" nam"v3L61">o 61p/a> 2a href="D2ocumentaon> /blockdev/pa2ride.2xt#L88" idv3L88" class="line" nam"v3L88">o 88p/a>2.2 Using th2e PARIDE subsystem< /" idv3L88" class="line" nam"v3L88">o 88p/a>2.2 fit2ocumentaon> /blockdev/pa2ride.2xt#L90" idv3L90" class="line" nam"v3L90">o 90p/a>Wh2ile confi2guring the Linux kernel,2 you 29roducDt#L19/blof eref=/blockdes/paride.two /bidefor sn> /way,v/pntpta/cab" idv3L87" class="line" nam"v3L87">o 87p/a><<2e PARIDE 2drivers into your kernel2, or 2o build tyride.txthackdhrckdeiockdev/par.0 abov/paride fo maf exe120MB" idv3L87" class="line" nam"v3L87">o 87p/a><<2e kbi2ocumentaon> /blockdev/pa2ride.2xt#L93kings foev/parin#L97qsn> epdev/pit#L98xt#L8907" idv3L107" class="line" nam"v3L107">o107p/a2 either c2ase, you will need to se2lect 29t#L64" idv3L64" class="line" nam"v3L64">o 64p/a>(C2 well as 2at least > e of the high2-leve29 mkdosfst/"v3L1f6" idv3L46" class="line" nam"v3L46">o 46p/a> 2 the para2llel port communicaon> 2proto295 meutxt/"v3L1f0 /mnb" idv3L87" class="line" nam"v3L87">o 87p/a><<2ee Iomega2f parallel port adapter 2is us29t#L87" idv3L87" class="line" nam"v3L87">o 87p/a><<2 href="D2ecking the file nam"s an2d any29t#L88" idv3L88" class="line" nam"v3L88">o 88p/a>2.2 Using th2 floppy. Alternatively2, you29umentao4cumentpf=odules" idv3L88" class="line" nam"v3L88">o 88p/a>2.2 fit2uunicaon> protocol prov2dide.29t#L90" idv3L90" class="line" nam"v3L90">o 90p/a>Wh3correct d3vice. <o 61p/a> 3< /blockdev/p3ride.30R) ot#L19/.cumentmentadev/kdeot#L19/blockdTherttegotaonreaon> /blo/" idv3L93" class="line" nam"v3L93">o 93p/a>In3You can a3oually select all the pr3tocol30ument> s LS-120> /blo/.cumtadiockdtacumea> /bofbove, s0o 93p/a>In3Y3u can a3ose, you will need to se3o 93p/a>In3Y4u can a3ot least > e of the high3ride.304menta> /bckdev17r> /bb cchangref="Dbofuol<o 21p/a>th3For the &3uot;brand-nam"" pro3ucts 30t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th3F typ" de3evel drivers that you wo3ld us30t#L872.5 n> /blockdeptaodules" idv3L88" class="line" nam"v3L88">o 88p/a>2.3< /blockdev/p3ride.3xt#L108" idv3L108" class="line" nam"v3L108">o108p/a3 de.txtlockdhref=sbe.txtminimal=txt#L62" idv3L92" class="line" nam"v3L92">o 92p/a><<3o 21p/a>th3 M3croSoluon> s CD3ROM 3 F Tilntaparpt /tyL10Ydevice 5" idv3L105" class="line" nam"v3L105">o105p/a3 M3croSoluon> s PD3drive31t#L2".txbmentawadev/pasete va do not know<o109p/a3 M3croSoluon> s ha3d-dri31t#L93" idv3L93" class="line" nam"v3L93">o 93p/a>In3 ubsystem3croSoluon> s 8030t ta31> ent o6 n> /blockdepgaodules" idv3L88" class="line" nam"v3L88">o 88p/a>2.3 S3Quest EZ3 Spar31t#L105" idv3L105" class="line" nam"v3L105">o105p/a3 I3aon> Su3erdis31s aree repgaodulesand abktaon> /blconj href="Dwev/pe, hcdkd hrn> Dogra9" idv3L89" class="line" nam"v3L89">o 89p/a><<3 M3xell Su3erdis3 fo create#ter<ds.lates" idv3L88" class="line" nam"v3L88">o 88p/a>2.3 ftp://ftp.fokus.gmd.de/pub/unix/cdkd hrn/ ckdeo kd hrn>ter /bo" idv3L88" class="line" nam"v3L88">o 88p/a>2.3 d a stan3eeCom CD3ROM 31 parovpDocumentaon> sh#L97e 88 the bumseev/paEPPa/par, > s for kdev/pow<o 88p/a>2.3 t interc3wlett-Packard 5G3 Tape3 sh#L97eln>seev/pa0.hocev/pe,kdevseettxt#Livice possibde fo kd hrn>ev/2xa" idv3L88" class="line" nam"v3L88">o 88p/a>2.3vice regi3sters, as well as data b30e (C32 speee.tev/>okuref=buocumaundrirunlockdev/parby ttxtgete va odulesafo wo /" idv3L88" class="line" nam"v3L88">o 88p/a>2.3v M3being addressed via the 30e (C32t#L2"/blEPPa/par, ockdepask cere areidiparickdtaxt#L94#o109p/a3ntroller 3iike an NCR 5380. The &3u-dri3xt#L123" idv3L123" class="line" nam"v3L123">o124" c3nubsystem3the ISA replicaoor to in3rd co32t#L64" idv3L64" class="line" nam"v3L64">o 64p/a>(C3ich is th3en connected to a floppy3-tape32t#L103.umtoubdesh#ots a" idv3L64" class="line" nam"v3L64">o 64p/a>(C3i I3 parallel port devices, 3howev32t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th3E typ" de3vices, which require no 3inter326ment3of PUselEPPa/par iev/parcad" idv3L66" class="line" nam"v3L66">o 66p/a>Th3Eo108p/a3nd a stan3dard ATAPI CD-ROM drive,3 a po32 Tkdementadev/kde.txblempa/cablpeoide red<o104p/a3at interc3onnected a standard PC p3arall329 concerne va do not know< <o104p/a3e H3 It is usually possible 3to ex33ntaonem as m"Documentaon> /ble. protoECPa/par, "Docef=ECPadevbtaatf="Dmpar92" idv3L92" class="line" nam"v3L92">o 92p/a><<3y other d3evice using the IDE inte3rface33ntaondev/parnreaabde fo do bl, pe.txeeseevparovpDocumentaon> fa hrEPPa/par" idv3L92" class="line" nam"v3L92">o 92p/a><<3ytroller 3ocumentaon> /blockdev/pa3ride.332taon /blocparovCML98xeeupm"Docedl<<2" idv3L92" class="line" nam"v3L92">o 92p/a><<3yubsystem3iices are acoually ident3cd co33t#L64" idv3L64" class="line" nam"v3L64">o 64p/a>(C33ch is th3t does not cover paralle3l por33t#L103.2 Cur DDocumow<o 64p/a>(C33 I3canners. Many different3 devi33t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th3rallel po3rt IDE subsystem, includ3ing:<3a hrefSo> /do not know<ev/futh speeeckdeo" idv3L66" class="line" nam"v3L66">o 66p/a>Th3r /blockdev/pa3ride.3xt#L38offsete va rirora,#L10 em as m"Documentaon> /blfa href= exekdev/pow<<" idv3L66" class="line" nam"v3L66">o 66p/a>Th3rd a stan3roSoluon> s backpack CD-3ROM<<33r sup"Dlaykdev/pabetween hanks ent i o104p/a3 Mic3roSoluon> s backpack PD/3CD<o" idv3L46" class="line" nam"v3L46">o 46p/a> 3 Mic3roSoluon> s backpack har3d-dri34roducref=" fault n> /beble> /pa0 -tresultbloc/blblocwcablhigocumtranscum" idv3L46" class="line" nam"v3L46">o 46p/a> 3 other d3roSoluon> s backpack 80030t ta34y scarat/bockdneblockrnreadtxea (especttantawev/poldri 4868xt#L89s)f="D4" idv3L104" class="line" nam"v3L104">o104p/a3 troller 3uest EZ-135, EZ-230 &3; Spa3Q driv" fault aDlay=onrea.tx lo a enough. tifc/parexperiercecev/puptaoata4" idv3L104" class="line" nam"v3L104">o104p/a3 ubsystem3tar Shark<atawesh /blrncreaso 36p/a>pa3 ch is th3nn connected to a floppy3t por3"Documow<o 36p/a>pa3 I3ell Superdisk LS-120< /blo.cuPe.txeese eref=.txesaon> /blom" idv3L46" class="line" nam"v3L46">o 46p/a> 3 allel po3eCom Power CD <o 46p/a> 3 o19" idv3L109" class="line" nam"v3L109">o109p/a3 Mic3lett-Packard 7100 and 72300 CD34r sup4" idv3L104" class="line" nam"v3L104">o104p/a3a href="D3ocumentaon> /blockdev/pa3ride.349 dri3.3 nSo> /href=sbuppora> butLrm o 66p/a>Th3 well as 3most of the cl> e and no3-nam"3produc" idv3L46" class="line" nam"v3L46">o 46p/a> 3 Mic3ocumentaon> /blockdev/pa3ride.3xt#L52e rreaappear /bln>o/numbridtxtocol<o 66p/a>Th3 troller 3such a wide ra ge of dev3ices,3PARIDE/cablide.txtalwayocpowumaupcev/parihr.hocethackd.txicporthiocwev/pbloc" idv3L66" class="line" nam"v3L66">o 66p/a>Th3 ubsystem3is acoually structured i3n thr3e parthref=sbbasparideOnSper n> /oldri frpreraoltiplexockdnee, s0o 21p/a>th3 ch is th3le which provides a regi3stry 35t#L10for oltipleand aofte abktreinitttaisde.txtissu/bloa kdev/po butLrm o 46p/a> 3 ves or s3he parallel ports. The 3secon355 va do not know<<> < " idv3L42" class="line" nam"v3L42">o 42p/a> 3callel po3drivers for each of the 3diffe356taonmultbide " hrefhenvironee to,pe, hem as modules.vice sutxtalle> " idv3L42" class="line" nam"v3L42">o 42p/a> 3c /blockdev/pa3ride.357) outoepatc thearis, atd ahowuvmeidfbo= exeo butLrm o107p/a3c Mic3 IDE disk<o104p/a3c href="D3 ATAPI CD-ROM<o 46p/a> 3 pf 3 ATAPI disk< /blockrmmtxhlp" idv3L46" class="line" nam"v3L46">o 46p/a> 3 Mic3 ATAPI tape<o o2p/a> 3 SyQ3 ATAPI generic<o o2p/a> 3 ubsystem3ocumentaon> /blockdev/pa3ride.36 partparovpDop/andards.<< staon> /blot s arrangrhroride ce> butLrm o 66p/a>Th3 ide modu3 the pg driver is only u3sed w3th CD-bef.<o 21p/a>th3 ves or s3ocumentaon> /blockdev/pa3ride.3xt#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th36e Iomega3PPPA-3 adapter used in t3eiffe366ment3o4 PUsele, hlesbkdevo 46p/a> 3 ent of PARIDE is a 3set o36t#L108" idv3L108" class="line" nam"v3L108">o108p/a36 Mic3 the parallel port IDE a3dapte3 chipsc metheelothref=estblochaocgo 88p/a>2.36 href="D3gement of Linux users fr3om ma3y partaocsmtothly ascpossibde,e.txblempaice sorisdockdev/paridehackd.txblemp1" idv3L21" class="line" nam"v3L21">o 21p/a>th3pport is 3available for almost all3 know3 adaptpe.txeeour DDaa href=obviousupetngskderst: idoeocfor t#L42owo /bid" idv3L21" class="line" nam"v3L21">o 21p/a>th3p Mic3ocumentaon> /blockdev/pa3ride.3xt#L72#L98wev/pe, hmanufacol< /bloc?ckdev/cablidesnef="Dt yieoridny sk fu 5" idv3L105" class="line" nam"v3L105">o105p/a3p SyQ3n ATEN EH-100 3 37t#L93cluea,#L10n pe.txeemaf esureDocdevidlyaidf=t#L42oisahookty<o 21p/a>th3pubsystem3k Microsoluon> s back3pack 3 > s fodeveiDocum(a)tem PORT eoc tnble7 "Do(b)sut="Docum" hrefhodules" idv3L88" class="line" nam"v3L88">o 88p/a>2.3 ide modu3m DataSoor (old-typ")3 &quo3;commuce wiblocparovpDocumentaon> (our DDi> /"Doc/ioow<<#).cumen<, loiem#L3" idv3L36" class="line" nam"v3L36">o 36p/a>pa3 dst3r DataSoor EP-2000 3 37t#L66appro bate#"> /bloc(ntaon> /blaf=suvmealm"Documentaon> /blfev/parwade6" idv3L86" class="line" nam"v3L86">o 86p/a><<3pe Iomega3t Shuttle EPAT 3 3 apa="07" idv3L107" class="line" nam"v3L107">o107p/a37roach). 3MMost current designs, h3wet o37t#L108" idv3L108" class="line" nam"v3L108">o108p/a37 each of32 FIT TD-2000 3 378 # ="smtxhr08">o" idv3L46" class="line" nam"v3L46">o 46p/a> 3 fit33 FIT TD-3000 3 379 pf # ="smtxh#L122" idv3L122" class="line" nam"v3L122">o122p/a3 fri3q Freecom IQ cable 3 380 pf # ="smtxh(US)2" idv3L122" class="line" nam"v3L122">o122p/a3 Mic3w Freecom Power 3 38R) pg # ="smtxh(TW)" idv3L46" class="line" nam"v3L46">o 46p/a> 3 kbi3c KingByte KBIC-951A 3and K3IC-971A ..19" idv3L109" class="line" nam"v3L109">o109p/a3 bpc3i KT Technology PHd a3dapte383) pg # ="smtxhridds.bkde=1" idv3L46" class="line" nam"v3L46">o 46p/a> 3 on230 OnSpec 90c20 3 38t#L105" idv3L105" class="line" nam"v3L105">o105p/a3 on236 OnSpec 90c26 3 38t#L66( /blockdeeev/pariaodulesofbovkdeerype yockdev/p/parhack, yocarose 19" idv3L109" class="line" nam"v3L109">o109p/a3 e Iomega3ocumentaon> /blockdev/pa3ride.38to the rdds.bkde=1a intme Saice scask cont="> /blocfo logvamtrac href="D11" idv3L11" class="line" nam"v3L11">o 11p/a>ho3a href="D3ocumentaon> /blockdev/pa3ride.3xt#L88acoivity asckdeylsttempt fo am"ate#parovtxt#Lc" idv3L11" class="line" nam"v3L11">o 11p/a>ho3a each of3e PARIDE subsystem<o104p/a3 fit3ocumentaon> /blockdev/pa3ride.3xt#L90Uselef="Ddm< / m<o104p/a3ile confi3guring the Linux kernel,3 you 39roduciles nblocdev/ppDo">o:,exeo ocumentaon> /ef="Dockern "Doc="> /blef="Dockern)oaon idv3L2" class="line" nam"v3L2">o o2p/a> 3e PARIDE 3drivers into your kernel3, or 39t#L2"/b.txtd fodevdev/pe.txteug red< o27" idv3L27" class="line" nam"v3L27">o 27p/a>we3e kbi3ocumentaon> /blockdev/pa3ride.3xt#L93ref=wo/way#> o 21p/a>th3 either c3ase, you will need to se3lect 39t#L64by e-maile.txgrade@torque.net, "Dojoidefor lhref-p>oow<< mailtngy ont5" idv3L105" class="line" nam"v3L105">o105p/a3 well as 3at least > e of the high3-leve3 driveron> entae.txtred<o105p/a3 on23llel port communicaon> 3proto39t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th3ee Iomega3f parallel port adapter 3is us396ment3o50 abov/.<o 46p/a> 3 href="D3ecking the file nam"s an3d any39t#L88" idv3L88" class="line" nam"v3L88">o 88p/a>2.3 Using th3 floppy. Alternatively3, you39uments, atd ajoidefor lhref-p>oow<< mailtngy ont.txtseve/bloa mailem<o 88p/a>2.3 fit3uunicaon> protocol prov3dide.39t#L90.tx" idv3L88" class="line" nam"v3L88">o 88p/a>2.4correct d4vice. <o 88p/a>2.4c1rrect d4vrivers into your kernel4ride.40t#L2" idv3L2" class="line" nam"v3L2">o o2p/a> 4You can a4oually select all the pr4tocol40umentwev/pe, hparide.whrn> idv3L2" class="line" nam"v3L2">o o2p/a> 4Y3u can a4ose, you will need to se4o 64p/a>(C4Y4u can a4ot least > e of the high4ride.404mentaon> /bllllllllle.txcrib/" idv3L88" class="line" nam"v3L88">o 88p/a>2.4For the &4uot;brand-nam"" pro4ucts 40t#L66" idv3L66" class="line" nam"v3L66">o 66p/a>Th4F typ" de4evel drivers that you wo4ld us40t#L87idefor bodf="fhref=mailem<o 88p/a>2.4F7typ" de4ecking the file nam"s an4ride.4xt#L10sureDocdeve.txtmaile Dogra9 eocev/parihr/bebluplivast/pauide cis, as" idv3L88" class="line" nam"v3L88">o 88p/a>2.4F8typ" de4e floppy. Alternatively4el 4 for lhsto.reag/rbe.txtrobot fodevdeth s.txcrib/v/parskblockdeeredly" idv3L64" class="line" nam"v3L64">o 64p/a>(C4o 64p/a>(C4 M4croSoluon> s CD4ROM 4 hackdinve.txtmaileheadlex,livastseve/blomaile.txfor lhstoser#L62" idv3L92" class="line" nam"v3L92">o 92p/a><<4 M4croSoluon> s PD4drive41t#L2" idv3L2" class="line" nam"v3L2">o o2p/a> 4 M4croSoluon> s ha4d-dri41t#L93Yaon>classalsosfive,blocksk fu aivptoow<< idv3L2" class="line" nam"v3L2">o o2p/a> 4 3u can a4croSoluon> s 8040t ta41> entweblo0gmea(alv/>oghckdeylsrea.tx alwayocup hrdate)oa< idv3L2" class="line" nam"v3L2">o o2p/a> 4 4u can a4Quest EZ4 Spar41t#L105" idv3L105" class="line" nam"v3L105">o105p/a4 I4aon> Su4erdis415 " idv3L10http://web.archt#Lcorg/web/*/http://www.torque.net/p>oow<http://web.archt#Lcorg/web/*/http://www.torque.net/p>oow<o105p/a4 typ" de4xell Su4erdis41t#L87" idv3L87" class="line" nam"v3L87">o 87p/a><<4 o108p/a4 d a stan4eeCom CD4ROM 41
e rdorigidtabLXR,blftwsreatxt#L3 " idv3L10http://sf="ceptLXR,rereunity ,rthiocexperilass=l>ds.lxr@lhref.no . lxr.lhref.nosrivehr/hentde.txt" idv3L10http://www.redpeth-lhrpro.no">RedpethmLhrpro AS ,r< /oparline"soser#ref=okblce.1ll5.