| 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 /etc/modprobe.conf: | 
 |  | 
 |  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> |