1.. SPDX-License-Identifier: GPL-2.0 2 3=========== 4LTPC Driver 5=========== 6 7This is the ALPHA version of the ltpc driver. 8 9In order to use it, you will need at least version 1.3.3 of the 10netatalk package, and the Apple or Farallon LocalTalk PC card. 11There are a number of different LocalTalk cards for the PC; this 12driver applies only to the one with the 65c02 processor chip on it. 13 14To include it in the kernel, select the CONFIG_LTPC switch in the 15configuration dialog. You can also compile it as a module. 16 17While the driver will attempt to autoprobe the I/O port address, IRQ 18line, and DMA channel of the card, this does not always work. For 19this reason, you should be prepared to supply these parameters 20yourself. (see "Card Configuration" below for how to determine or 21change the settings on your card) 22 23When the driver is compiled into the kernel, you can add a line such 24as the following to your /etc/lilo.conf:: 25 26 append="ltpc=0x240,9,1" 27 28where the parameters (in order) are the port address, IRQ, and DMA 29channel. The second and third values can be omitted, in which case 30the driver will try to determine them itself. 31 32If you load the driver as a module, you can pass the parameters "io=", 33"irq=", and "dma=" on the command line with insmod or modprobe, or add 34them as options in a configuration file in /etc/modprobe.d/ directory:: 35 36 alias lt0 ltpc # autoload the module when the interface is configured 37 options ltpc io=0x240 irq=9 dma=1 38 39Before starting up the netatalk demons (perhaps in rc.local), you 40need to add a line such as:: 41 42 /sbin/ifconfig lt0 127.0.0.42 43 44The address is unimportant - however, the card needs to be configured 45with ifconfig so that Netatalk can find it. 46 47The appropriate netatalk configuration depends on whether you are 48attached to a network that includes AppleTalk routers or not. If, 49like me, you are simply connecting to your home Macintoshes and 50printers, you need to set up netatalk to "seed". The way I do this 51is to have the lines:: 52 53 dummy -seed -phase 2 -net 2000 -addr 2000.26 -zone "1033" 54 lt0 -seed -phase 1 -net 1033 -addr 1033.27 -zone "1033" 55 56in my atalkd.conf. What is going on here is that I need to fool 57netatalk into thinking that there are two AppleTalk interfaces 58present; otherwise, it refuses to seed. This is a hack, and a more 59permanent solution would be to alter the netatalk code. Also, make 60sure you have the correct name for the dummy interface - If it's 61compiled as a module, you will need to refer to it as "dummy0" or some 62such. 63 64If you are attached to an extended AppleTalk network, with routers on 65it, then you don't need to fool around with this -- the appropriate 66line in atalkd.conf is:: 67 68 lt0 -phase 1 69 70 71Card Configuration 72================== 73 74The interrupts and so forth are configured via the dipswitch on the 75board. Set the switches so as not to conflict with other hardware. 76 77 Interrupts -- set at most one. If none are set, the driver uses 78 polled mode. Because the card was developed in the XT era, the 79 original documentation refers to IRQ2. Since you'll be running 80 this on an AT (or later) class machine, that really means IRQ9. 81 82 === =========================================================== 83 SW1 IRQ 4 84 SW2 IRQ 3 85 SW3 IRQ 9 (2 in original card documentation only applies to XT) 86 === =========================================================== 87 88 89 DMA -- choose DMA 1 or 3, and set both corresponding switches. 90 91 === ===== 92 SW4 DMA 3 93 SW5 DMA 1 94 SW6 DMA 3 95 SW7 DMA 1 96 === ===== 97 98 99 I/O address -- choose one. 100 101 === ========= 102 SW8 220 / 240 103 === ========= 104 105 106IP 107== 108 109Yes, it is possible to do IP over LocalTalk. However, you can't just 110treat the LocalTalk device like an ordinary Ethernet device, even if 111that's what it looks like to Netatalk. 112 113Instead, you follow the same procedure as for doing IP in EtherTalk. 114See Documentation/networking/ipddp.rst for more information about the 115kernel driver and userspace tools needed. 116 117 118Bugs 119==== 120 121IRQ autoprobing often doesn't work on a cold boot. To get around 122this, either compile the driver as a module, or pass the parameters 123for the card to the kernel as described above. 124 125Also, as usual, autoprobing is not recommended when you use the driver 126as a module. (though it usually works at boot time, at least) 127 128Polled mode is *really* slow sometimes, but this seems to depend on 129the configuration of the network. 130 131It may theoretically be possible to use two LTPC cards in the same 132machine, but this is unsupported, so if you really want to do this, 133you'll probably have to hack the initialization code a bit. 134 135 136Thanks 137====== 138 139Thanks to Alan Cox for helpful discussions early on in this 140work, and to Denis Hainsworth for doing the bleeding-edge testing. 141 142Bradford Johnson <bradford@math.umn.edu> 143 144Updated 11/09/1998 by David Huggins-Daines <dhd@debian.org> 145