| 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> |