| This is the ALPHA version of the ltpc driver. | |
| In order to use it, you will need at least version 1.3.3 of the | |
| netatalk package, and the Apple or Farallon LocalTalk PC card. | |
| There are a number of different LocalTalk cards for the PC; this | |
| driver applies only to the one with the 65c02 processor chip on it. | |
| To include it in the kernel, select the CONFIG_LTPC switch in the | |
| configuration dialog. You can also compile it as a module. | |
| While the driver will attempt to autoprobe the I/O port address, IRQ | |
| line, and DMA channel of the card, this does not always work. For | |
| this reason, you should be prepared to supply these parameters | |
| yourself. (see "Card Configuration" below for how to determine or | |
| change the settings on your card) | |
| When the driver is compiled into the kernel, you can add a line such | |
| as the following to your /etc/lilo.conf: | |
| append="ltpc=0x240,9,1" | |
| where the parameters (in order) are the port address, IRQ, and DMA | |
| channel. The second and third values can be omitted, in which case | |
| the driver will try to determine them itself. | |
| If you load the driver as a module, you can pass the parameters "io=", | |
| "irq=", and "dma=" on the command line with insmod or modprobe, or add | |
| them as options in a configuration file in /etc/modprobe.d/ directory: | |
| alias lt0 ltpc # autoload the module when the interface is configured | |
| options ltpc io=0x240 irq=9 dma=1 | |
| Before starting up the netatalk demons (perhaps in rc.local), you | |
| need to add a line such as: | |
| /sbin/ifconfig lt0 127.0.0.42 | |
| The address is unimportant - however, the card needs to be configured | |
| with ifconfig so that Netatalk can find it. | |
| The appropriate netatalk configuration depends on whether you are | |
| attached to a network that includes AppleTalk routers or not. If, | |
| like me, you are simply connecting to your home Macintoshes and | |
| printers, you need to set up netatalk to "seed". The way I do this | |
| is to have the lines | |
| dummy -seed -phase 2 -net 2000 -addr 2000.26 -zone "1033" | |
| lt0 -seed -phase 1 -net 1033 -addr 1033.27 -zone "1033" | |
| in my atalkd.conf. What is going on here is that I need to fool | |
| netatalk into thinking that there are two AppleTalk interfaces | |
| present; otherwise, it refuses to seed. This is a hack, and a more | |
| permanent solution would be to alter the netatalk code. Also, make | |
| sure you have the correct name for the dummy interface - If it's | |
| compiled as a module, you will need to refer to it as "dummy0" or some | |
| such. | |
| If you are attached to an extended AppleTalk network, with routers on | |
| it, then you don't need to fool around with this -- the appropriate | |
| line in atalkd.conf is | |
| lt0 -phase 1 | |
| -------------------------------------- | |
| Card Configuration: | |
| The interrupts and so forth are configured via the dipswitch on the | |
| board. Set the switches so as not to conflict with other hardware. | |
| Interrupts -- set at most one. If none are set, the driver uses | |
| polled mode. Because the card was developed in the XT era, the | |
| original documentation refers to IRQ2. Since you'll be running | |
| this on an AT (or later) class machine, that really means IRQ9. | |
| SW1 IRQ 4 | |
| SW2 IRQ 3 | |
| SW3 IRQ 9 (2 in original card documentation only applies to XT) | |
| DMA -- choose DMA 1 or 3, and set both corresponding switches. | |
| SW4 DMA 3 | |
| SW5 DMA 1 | |
| SW6 DMA 3 | |
| SW7 DMA 1 | |
| I/O address -- choose one. | |
| SW8 220 / 240 | |
| -------------------------------------- | |
| IP: | |
| Yes, it is possible to do IP over LocalTalk. However, you can't just | |
| treat the LocalTalk device like an ordinary Ethernet device, even if | |
| that's what it looks like to Netatalk. | |
| Instead, you follow the same procedure as for doing IP in EtherTalk. | |
| See Documentation/networking/ipddp.txt for more information about the | |
| kernel driver and userspace tools needed. | |
| -------------------------------------- | |
| BUGS: | |
| IRQ autoprobing often doesn't work on a cold boot. To get around | |
| this, either compile the driver as a module, or pass the parameters | |
| for the card to the kernel as described above. | |
| Also, as usual, autoprobing is not recommended when you use the driver | |
| as a module. (though it usually works at boot time, at least) | |
| Polled mode is *really* slow sometimes, but this seems to depend on | |
| the configuration of the network. | |
| It may theoretically be possible to use two LTPC cards in the same | |
| machine, but this is unsupported, so if you really want to do this, | |
| you'll probably have to hack the initialization code a bit. | |
| ______________________________________ | |
| THANKS: | |
| Thanks to Alan Cox for helpful discussions early on in this | |
| work, and to Denis Hainsworth for doing the bleeding-edge testing. | |
| -- Bradford Johnson <bradford@math.umn.edu> | |
| -- Updated 11/09/1998 by David Huggins-Daines <dhd@debian.org> |