add CTY-3304
[spider.git] / html / installation_en-3.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3 <HEAD>
4  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
5  <TITLE>The DXSpider Installation Manual v1.50: Setting up the AX25 Utilities</TITLE>
6  <LINK HREF="installation_en-4.html" REL=next>
7  <LINK HREF="installation_en-2.html" REL=previous>
8  <LINK HREF="installation_en.html#toc3" REL=contents>
9 <link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
10 </HEAD>
11 <BODY>
12 <A HREF="installation_en-4.html">Next</A>
13 <A HREF="installation_en-2.html">Previous</A>
14 <A HREF="installation_en.html#toc3">Contents</A>
15 <HR>
16 <H2><A NAME="s3">3.</A> <A HREF="installation_en.html#toc3">Setting up the AX25 Utilities</A></H2>
17
18 <P>The aim of this section is not to fully cover the installation
19 and configuration of all the possible ax25 modules.  I will
20 attempt to cover a simple installation and configure 2 serial
21 ports as if they had TNC's on them.  I will also show what
22 additional configuration the DXSpider program requires.</P>
23
24 <P>Please bear in mind that I am basing this section on a RedHat
25 7.1 distribution, if you are using SuSe or any other distibution
26 then your mileage may vary.  I will be happy to make any changes
27 and additions if you email me any errors or distribution specific
28 requirements.</P>
29
30 <P>You would probably benefit from reading the 
31 <A HREF="http://www.fokus.gmd.de/linux/HOWTO/html_single/AX25-HOWTO.html#AEN151">AX25-HOWTO</A> which is much more
32 comprehensive and an interesting configuration program is also available
33 called 
34 <A HREF="http://1409.org/projects/index.html">ax25-config</A> which
35 may help you to configure things.</P>
36
37 <P>The following files are extracts from the working files at GB7MBC and
38 are in daily use.  However, there are many ways that you can configure the
39 ax25 utils, this is just the one I use, it does not mean it is necessarily
40 the best or for that matter, the right way!</P>
41
42 <H2><A NAME="ss3.1">3.1</A> <A HREF="installation_en.html#toc3.1">Getting Started</A>
43 </H2>
44
45 <P>There are 2 things you need to do initially.  You need to get the
46 3 files required for the ax25 installation and you need to make
47 some changes to the kernel configuration.</P>
48
49 <P>The first thing is to get the versions of the ax25 utils that match
50 your kernel.  You may also wish to get a node package of some kind.
51 There are 2 main node packages in use of which I shall keep to the
52 original by Tomi Manninen, OH2BNS as this is included in the ax25
53 rpms as standard.  The other is 
54 <A HREF="ftp://ftp.funet.fi/pub/ham/packet/linux/awznode/">AWZNode</A> by IZ5AWZ.</P>
55
56 <P>NB: The AX25 stuff in 2.4 kernels appears to have been broken until 2.4.18.  I
57 strongly suggest you get at least this kernel.</P>
58
59 <P>For 2.4 kernels you need these files...</P>
60
61 <P>
62 <UL>
63 <LI> 
64 <A HREF="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/libax25-0.0.7-7.i386.rpm">libax25-0.0.7-7.i386.rpm</A></LI>
65 <LI> 
66 <A HREF="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/ax25-tools-0.0.6-13.i386.rpm">ax25-tools-0.0.6-13.i386.rpm</A></LI>
67 <LI> 
68 <A HREF="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/ax25-apps-0.0.4-9.i386.rpm">ax25-apps-0.0.4-9.i386.rpm</A></LI>
69 </UL>
70 </P>
71
72 <H2><A NAME="ss3.2">3.2</A> <A HREF="installation_en.html#toc3.2">The kernel</A>
73 </H2>
74
75 <P>First you need to add Amateur Radio Support to your kernel.  This is
76 a main menu item and should be easily found.  Within this header you
77 will find lots of options.  For our purposes you need to enable
78 Amateur Radio AX.25 Level 2 Protocol, NET/ROM and the Serial Port 
79 KISS Driver.  For the purposes of this document I will work under the
80 assumption that you include them in the kernel fully, ie not as modules.
81 If you need to look at compiling your kernel for ax25 more fully, I would
82 refer to the excellent 
83 <A HREF="http://www.fokus.gmd.de/linux/HOWTO/html_single/AX25-HOWTO.html#AEN151">AX25-HOWTO</A></P>
84
85 <P>I should say at this stage that NET/ROM is not mandatory.  If you do not use it
86 simply ignore any instruction concerning it.</P>
87
88 <P>Now recompile your kernel in the normal way and reboot your system.</P>
89
90 <H2><A NAME="ss3.3">3.3</A> <A HREF="installation_en.html#toc3.3">Installing the RPM's</A>
91 </H2>
92
93 <P>Now install the RPM's you downloaded, libax25 first, then ax25-tools,
94 then ax25-apps.</P>
95 <P>
96 <BLOCKQUOTE><CODE>
97 <PRE>
98 rpm -ivh libax25-0.0.7-7.i386.rpm
99 rpm -ivh ax25-tool-0.0.6-13.i386.rpm
100 rpm -ivh ax25-apps-0.0.4-9.i386.rpm
101 </PRE>
102 </CODE></BLOCKQUOTE>
103 </P>
104
105 <H2><A NAME="ss3.4">3.4</A> <A HREF="installation_en.html#toc3.4">Configuration</A>
106 </H2>
107
108 <P>You will find the configuration files in /etc/ax25.  These consist of
109 several files ...</P>
110 <P>
111 <UL>
112 <LI>axports</LI>
113 <LI>nrports</LI>
114 <LI>nrbroadcast</LI>
115 <LI>ax25d.conf</LI>
116 <LI>node.conf</LI>
117 </UL>
118 </P>
119
120 <P>These are the main files. You will find other files but they do not
121 have any use unless you are wanting to use that particular protocol,
122 Rose or axip for example.</P>
123
124 <P>NOTE:- before we start it is important to realise that every interface
125 requires a different SSID.  You should be able to follow this in the
126 following examples.</P>
127
128 <H2><A NAME="ss3.5">3.5</A> <A HREF="installation_en.html#toc3.5">axports</A>
129 </H2>
130
131 <P>This file sets up the ax25 ports you want to use.  An example is below
132 for a standard TNC2 ...</P>
133 <P>
134 <BLOCKQUOTE><CODE>
135 <PRE>
136 #portname   callsign   baudrate   paclen   window   description
137  2m         gb7mbc-2   19200      256      2        2m port on 144.900MHz
138  4m         gb7mbc-4   19200      256      2        4m port on 70.325MHz
139 </PRE>
140 </CODE></BLOCKQUOTE>
141 </P>
142
143 <P>Note that the portnames have to be unique.</P>
144
145 <P>The file headings are as follows ...</P>
146 <P>
147 <PRE>
148 portname        -       The name you will refer to the port by
149 callsign        -       The ax25 callsign you want to assign to the port
150 baudrate        -       The speed you communicate between TNC and computer
151 paclen          -       The maximum packet length for ax25 connections
152 window          -       The ax25 window parameter.  This is like 'maxframe'
153 description     -       A textual description of the port
154 </PRE>
155 </P>
156
157 <H2><A NAME="ss3.6">3.6</A> <A HREF="installation_en.html#toc3.6">nrports</A>
158 </H2>
159
160 <P>This file sets up the netrom ports you want to use.  An example is below
161 and includes a port for both cluster and node.  You will see why we need
162 2 ports later ...</P>
163 <P>
164 <BLOCKQUOTE><CODE>
165 <PRE>
166 #portname   callsign   alias   paclen   description
167  netrom     gb7mbc-8   BARE    236      Node Netrom Port
168  netrom2    gb7mbc-9   MBCDX   236      Cluster Netrom Port
169 </PRE>
170 </CODE></BLOCKQUOTE>
171 </P>
172
173 <P>Note that the portnames have to be unique.</P>
174
175 <P>The file headings are as follows ...</P>
176 <P>
177 <PRE>
178 portname        -       The name you will refer to the port by
179 callsign        -       This is the callsign that NET/ROM traffic from this
180                         port will use
181 alias           -       The NET/ROM alias this port will be assigned
182 paclen          -       The maximum size of NET/ROM frames transmitted
183 description     -       A textual description of the port
184 </PRE>
185 </P>
186
187 <H2><A NAME="ss3.7">3.7</A> <A HREF="installation_en.html#toc3.7">nrbroadcast</A>
188 </H2>
189
190 <P>This file sets up the netrom broadcast qualities.  An example is below ...</P>
191 <P>
192 <BLOCKQUOTE><CODE>
193 <PRE>
194 #axport   min_obs   def_qual   worst_qual   verbose
195  4m       5         10         100          1
196 </PRE>
197 </CODE></BLOCKQUOTE>
198 </P>
199
200 <P>The file headings are as follows ...</P>
201 <P>
202 <PRE>
203 axport          -       The port name in axports that you wish to broadcast
204                         NET/ROM on.
205 min_obs         -       The minimum obsolescence value for the port
206 def_qual        -       The default quality for the port
207 worst_qual      -       The worst quality for the port.  Any routes under
208                         this quality will be ignored
209 verbose         -       This flag determines whether you will only broadcast
210                         your own node (0) or all known nodes (1)
211 </PRE>
212 </P>
213
214 <H2><A NAME="ss3.8">3.8</A> <A HREF="installation_en.html#toc3.8">ax25d.conf</A>
215 </H2>
216
217 <P>This file controls any incoming ax25 and NET/ROM connections and steers
218 them to the relevant program.  There are lots of configuration options
219 you can set here, however they are well covered in the AX25-HOWTO.  For
220 our purposes I will show a typical set of parameters.  An example is 
221 below ...</P>
222 <P>
223 <BLOCKQUOTE><CODE>
224 <PRE>
225 [gb7mbc-0 via 2m]
226 parameters    2 1   6  900 *  15  0
227 NOCALL *  *  *  *  *  *  L
228 default  * * * * * *  - sysop /spider/src/client client %u ax25
229
230 [gb7mbc-1 via 2m]
231 parameters    2 1   6  900 *  15  0
232 NOCALL *  *  *  *  *  *  L
233 default *  *  *  *  *  *  0  root  /usr/sbin/node  node
234
235 [gb7mbc-0 via 4m]
236 parameters    2 1   6  900 *  15  0
237 NOCALL *  *  *  *  *  *  L
238 default  * * * * * *  - sysop /spider/src/client client %u ax25
239
240 [gb7mbc-1 via 4m]
241 parameters    2 1   6  900 *  15  0
242 NOCALL *  *  *  *  *  *  L
243 default *  *  *  *  *  *  0  root /usr/sbin/node  node
244
245 &lt;netrom2>
246 parameters 1    10 * * * 3 *
247 NOCALL *  *  *  *  *  *  L
248 default  * * * * * *  - sysop /spider/src/client client %u ax25
249
250 &lt;netrom>
251 parameters 1    10 * * * 3 *
252 NOCALL *  *  *  *  *  *  L
253 default *  *  *  *  *  *  0  root  /usr/sbin/node  node
254 </PRE>
255 </CODE></BLOCKQUOTE>
256 </P>
257
258 <P>There are a few things to take note of here.  Firstly, all ax25
259 sections are wrapped in [ ] and all NET/ROM sections are wrapped in
260 &lt; &gt;.  Secondly you should be able to see that anyone who forgets to
261 set their callsign in a TNC and tries to connect with the standard
262 NOCALL set into their TNC will not connect, the 'L' means 'lockout'.
263 Lastly and importantly, notice the order of the sections.  They are
264 all done in interface order.</P>
265
266 <P>You should be able to see that the normal line for access to the
267 cluster is like this ..</P>
268 <P>
269 <BLOCKQUOTE><CODE>
270 <PRE>
271 default  * * * * * *  - sysop /spider/src/client client %u ax25
272 </PRE>
273 </CODE></BLOCKQUOTE>
274 </P>
275
276 <P>however, if you wish your users to be able to use SSID's on their callsigns ..</P>
277 <P>
278 <BLOCKQUOTE><CODE>
279 <PRE>
280 default  * * * * * *  - sysop /spider/src/client client %s ax25
281 </PRE>
282 </CODE></BLOCKQUOTE>
283 </P>
284
285 <P>For most purposes this is not desirable. The only time you probably will
286 need this is when you need to allow other cluster nodes that are using SSID's
287 in. In this case it would probably be better to use the first example and
288 then add a specific line for that node like this:</P>
289 <P>
290 <BLOCKQUOTE><CODE>
291 <PRE>
292 GB7DJK-2  * * * * * *  - sysop /spider/src/client client gb7djk-2 ax25
293 default  * * * * * *  - sysop /spider/src/client client %u ax25
294 </PRE>
295 </CODE></BLOCKQUOTE>
296 </P>
297
298 <H2><A NAME="ss3.9">3.9</A> <A HREF="installation_en.html#toc3.9">node.conf</A>
299 </H2>
300
301 <P>For those of you that wish to run the node, you need to set up the
302 node.conf file.  There are a couple of additional files, node.perms is
303 very similar to the way ftp permissions are set up in NOS systems and 
304 node.motd is the message anyone logging into the node will get.
305 The node.conf file sets all the parameters of the node as you would
306 expect.  An example is below ...</P>
307 <P>
308 <BLOCKQUOTE><CODE>
309 <PRE>
310 # /etc/ax25/node.conf - LinuxNode configuration file
311 #
312 # see node.conf(5)
313
314 # Idle timeout (seconds).
315 #
316 IdleTimeout     1800
317
318 # Timeout when gatewaying (seconds).
319 #
320 ConnTimeout     40000
321
322 # Visible hostname. Will be shown at telnet login.
323 #
324 HostName        gb7mbc.ampr.org
325
326 # ReConnect flag.
327
328 ReConnect       off
329
330 # "Local" network.
331 #
332 #LocalNet       44.139.8.48/32
333
334 # Command aliases. See node.conf(5) for the meaning of the uppercase
335 # letters in the name of the alias.
336 #
337 ##Alias         CAllbook 'telnet %{2:44.17.0.53} 1235 %1 s'
338 #Alias          CONVers  'telnet %{2:oh2ti} 3600 "/n %u %{1:139}\n/w *"'
339 #Alias          CLuster  'c hkiclh'
340 Alias           CONV    "telnet lurpac 3600"
341 Alias           BBS     "c 70cm gb7crv"
342 Alias           DXC     "telnet localhost 9000"
343 Alias           MUD     "telnet homer 4000"
344 ##Alias           TEMP    "finger temp@mary.g6phf"
345 ##Alias           TNOS    "c ip1 gb7mbc-5"
346 ##Alias           TUtor   "telnet gb7mbc 3599"
347                                           
348 # Hidden ports.
349 #
350 #HiddenPorts    2
351
352 # External commands. See node.conf(5) for the meaning of the uppercase
353 # letters in the name of the extcmd.
354 #
355 # Flags:        1       Run command through pipe
356 #               2       Reconnected flag
357 #
358 #ExtCmd         TPM     3       nobody  /usr/bin/finger finger tpm
359 #ExtCmd         ECho    1       nobody  /bin/echo echo \%U \%u \%S \%s \%P \%p \%R \%r \%T \%t \%\% \%0 \%{1:foobar} \%{2} \%3 \%4 \%5
360
361 # Node ID.
362 #
363 NodeId          "\nBARE:GB7MBC-1"
364 #NodeId         \033[01;31m***\033[0m
365
366 # Netrom port name. This port is used for outgoing netrom connects.
367 #
368 NrPort          netrom
369
370 # Logging level
371 #
372 LogLevel        3
373
374 # The escape character (CTRL-T)
375 #
376 EscapeChar      ^T
377
378 # Resolve ip numbers to addresses?
379 #
380 ResolveAddrs    off
381
382 # Node prompt.
383 #
384 #NodePrompt     "\n"
385 #NodePrompt     "%s@%h \%i> "
386 NodePrompt      "\nBARE:GB7MBC-1 \%i > "
387 #NodePrompt     "\a\033[36m%U\033[0m de \033[01;32m#LNODE\033[0m:\033[01;33mOH2BNS-10\033[0m> "
388 </PRE>
389 </CODE></BLOCKQUOTE>
390 </P>
391
392 <P>This should be fairly obvious I hope.</P>
393
394 <H2><A NAME="ss3.10">3.10</A> <A HREF="installation_en.html#toc3.10">Getting it all running</A>
395 </H2>
396
397 <P>Ok, now we have all the relevant files configured, the next step is to get
398 it all running.</P>
399
400 <P>The first thing to do is attach the TNC's.  Your TNC's should be in KISS mode
401 and connected to the serial ports involved.</P>
402
403 <P>You now use the 'kissattach' command to connect the TNC's to the system like this ...</P>
404 <P>
405 <BLOCKQUOTE><CODE>
406 <PRE>
407 kissattach /dev/ttyS0 2m 44.131.96.199
408 kissattach /dev/ttyS1 4m 44.131.96.199
409 </PRE>
410 </CODE></BLOCKQUOTE>
411 </P>
412
413 <P>Assuming that 44.131.96.199 is your IP address.  The devices ttyS0 and ttyS1 are com1 and
414 com2 respectively.  Now we can set some parameters ...</P>
415 <P>
416 <BLOCKQUOTE><CODE>
417 <PRE>
418 kissparms -p 2m -t 150 -l 150 -s 50 -r 50
419 kissparms -p 4m -t 150 -l 150 -s 50 -r 50
420 </PRE>
421 </CODE></BLOCKQUOTE>
422 </P>
423
424 <P>The command 'man kissparms' will give you the explanation of the switches.</P>
425
426 <P>Now we need to attach the NET/ROM ports in the same way ...</P>
427 <P>
428 <BLOCKQUOTE><CODE>
429 <PRE>
430 nrattach netrom
431 nrattach netrom2
432 </PRE>
433 </CODE></BLOCKQUOTE>
434 </P>
435
436 <P>All of the above can be put in a file and called from /etc/rc.d/rc.local.  Put all
437 the above commands in a file called rc.ax25 and put a line in rc.local to call it.</P>
438
439 <P>Now you can start the daemons that set everything in motion ...</P>
440 <P>
441 <BLOCKQUOTE><CODE>
442 <PRE>
443 ax25d
444 netromd -i
445 </PRE>
446 </CODE></BLOCKQUOTE>
447 </P>
448
449 <P>All should now be running.  All that remains is to get the node working for telnet
450 connections.  If nothing else, this will allow you to connect to the node yourself
451 to check on connection status etc.  There are 2 files that need to be edited.</P>
452
453 <P>First edit /etc/services and add</P>
454 <P>
455 <BLOCKQUOTE><CODE>
456 <PRE>
457 node    3000/tcp     #OH2BNS's Node Software
458 </PRE>
459 </CODE></BLOCKQUOTE>
460 </P>
461
462 <P>Assuming you want it to run on port 3000</P>
463
464 <P>Now cd /etc/xinetd.d and edit a new file called node.  It should look like this ...</P>
465 <P>
466 <BLOCKQUOTE><CODE>
467 <PRE>
468 # default: on
469 #       unencrypted username/password pairs for authentication.
470 service node
471 {
472         socket_type     = stream        
473         wait            = no
474         user            = root
475         server          = /usr/sbin/node
476         log_on_failure  += USERID
477         disable         = no
478 }
479 </PRE>
480 </CODE></BLOCKQUOTE>
481 </P>
482
483 <P>You now need to restart the xinetd daemon.  First find out what the PID is
484 like so ..</P>
485 <P>
486 <BLOCKQUOTE><CODE>
487 <PRE>
488 ps auxw |grep xinetd
489 </PRE>
490 </CODE></BLOCKQUOTE>
491 </P>
492
493 <P>You will get a reply something like this ...</P>
494 <P>
495 <BLOCKQUOTE><CODE>
496 <PRE>
497 root       592  0.0  0.1  2256  620 ?        S    Feb07   0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
498 </PRE>
499 </CODE></BLOCKQUOTE>
500 </P>
501
502 <P>The PID or Process ID is 592 in this case so now we can issue the command ...</P>
503 <P>
504 <BLOCKQUOTE><CODE>
505 <PRE>
506 kill -HUP 592
507 </PRE>
508 </CODE></BLOCKQUOTE>
509 </P>
510
511 <P>All should now be operational and you should be able to log into the node by
512 using a telnet session to the relevant port, like so ...</P>
513 <P>
514 <BLOCKQUOTE><CODE>
515 <PRE>
516 telnet localhost 3000
517 </PRE>
518 </CODE></BLOCKQUOTE>
519 </P>
520
521 <P>If that works, you are just about there.  you should (assuming you have radios connected
522 to the TNC's) be able to connect out to other stations and receive incoming ax25 and
523 netrom connections.</P>
524
525 <HR>
526 <A HREF="installation_en-4.html">Next</A>
527 <A HREF="installation_en-2.html">Previous</A>
528 <A HREF="installation_en.html#toc3">Contents</A>
529 </BODY>
530 </HTML>