18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci========================================
48c2ecf20Sopenharmony_ciThe COPS LocalTalk Linux driver (cops.c)
58c2ecf20Sopenharmony_ci========================================
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciBy Jay Schulist <jschlst@samba.org>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThis driver has two modes and they are: Dayna mode and Tangent mode.
108c2ecf20Sopenharmony_ciEach mode corresponds with the type of card. It has been found
118c2ecf20Sopenharmony_cithat there are 2 main types of cards and all other cards are
128c2ecf20Sopenharmony_cithe same and just have different names or only have minor differences
138c2ecf20Sopenharmony_cisuch as more IO ports. As this driver is tested it will
148c2ecf20Sopenharmony_cibecome more clear exactly what cards are supported.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciRight now these cards are known to work with the COPS driver. The
178c2ecf20Sopenharmony_ciLT-200 cards work in a somewhat more limited capacity than the
188c2ecf20Sopenharmony_ciDL200 cards, which work very well and are in use by many people.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciTANGENT driver mode:
218c2ecf20Sopenharmony_ci	- Tangent ATB-II, Novell NL-1000, Daystar Digital LT-200
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciDAYNA driver mode:
248c2ecf20Sopenharmony_ci	- Dayna DL2000/DaynaTalk PC (Half Length), COPS LT-95,
258c2ecf20Sopenharmony_ci	- Farallon PhoneNET PC III, Farallon PhoneNET PC II
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciOther cards possibly supported mode unknown though:
288c2ecf20Sopenharmony_ci	- Dayna DL2000 (Full length)
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciThe COPS driver defaults to using Dayna mode. To change the driver's
318c2ecf20Sopenharmony_cimode if you built a driver with dual support use board_type=1 or
328c2ecf20Sopenharmony_ciboard_type=2 for Dayna or Tangent with insmod.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciOperation/loading of the driver
358c2ecf20Sopenharmony_ci===============================
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciUse modprobe like this:	/sbin/modprobe cops.o (IO #) (IRQ #)
388c2ecf20Sopenharmony_ciIf you do not specify any options the driver will try and use the IO = 0x240,
398c2ecf20Sopenharmony_ciIRQ = 5. As of right now I would only use IRQ 5 for the card, if autoprobing.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciTo load multiple COPS driver Localtalk cards you can do one of the following::
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	insmod cops io=0x240 irq=5
448c2ecf20Sopenharmony_ci	insmod -o cops2 cops io=0x260 irq=3
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciOr in lilo.conf put something like this::
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	append="ether=5,0x240,lt0 ether=3,0x260,lt1"
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciThen bring up the interface with ifconfig. It will look something like this::
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci  lt0       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-F7-00-00-00-00-00-00-00-00
538c2ecf20Sopenharmony_ci	    inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
548c2ecf20Sopenharmony_ci	    UP BROADCAST RUNNING NOARP MULTICAST  MTU:600  Metric:1
558c2ecf20Sopenharmony_ci	    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
568c2ecf20Sopenharmony_ci	    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 coll:0
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciNetatalk Configuration
598c2ecf20Sopenharmony_ci======================
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciYou will need to configure atalkd with something like the following to make
628c2ecf20Sopenharmony_ciit work with the cops.c driver.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci* For single LTalk card use::
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci    dummy -seed -phase 2 -net 2000 -addr 2000.10 -zone "1033"
678c2ecf20Sopenharmony_ci    lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci* For multiple cards, Ethernet and LocalTalk::
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci    eth0 -seed -phase 2 -net 3000 -addr 3000.20 -zone "1033"
728c2ecf20Sopenharmony_ci    lt0 -seed -phase 1 -net 1000 -addr 1000.50 -zone "1033"
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci* For multiple LocalTalk cards, and an Ethernet card.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci* Order seems to matter here, Ethernet last::
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci    lt0 -seed -phase 1 -net 1000 -addr 1000.10 -zone "LocalTalk1"
798c2ecf20Sopenharmony_ci    lt1 -seed -phase 1 -net 2000 -addr 2000.20 -zone "LocalTalk2"
808c2ecf20Sopenharmony_ci    eth0 -seed -phase 2 -net 3000 -addr 3000.30 -zone "EtherTalk"
81