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