1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
4 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
5 <TITLE>The DXSpider Installation Manual v1.50: Setting up the AX25 Utilities</TITLE>
6 <LINK HREF="installation-4.html" REL=next>
7 <LINK HREF="installation-2.html" REL=previous>
8 <LINK HREF="installation.html#toc3" REL=contents>
9 <link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
12 <A HREF="installation-4.html">Next</A>
13 <A HREF="installation-2.html">Previous</A>
14 <A HREF="installation.html#toc3">Contents</A>
16 <H2><A NAME="s3">3. Setting up the AX25 Utilities</A></H2>
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.
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
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
34 <A HREF="http://1409.org/projects/index.html">ax25-config</A> which
35 may help you to configure things.
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!
42 <H2><A NAME="ss3.1">3.1 Getting Started</A>
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.
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.
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.
59 <P>For 2.4 kernels you need these files...
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>
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>
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>
71 <H2><A NAME="ss3.2">3.2 The kernel</A>
74 <P>First you need to add Amateur Radio Support to your kernel. This is
75 a main menu item and should be easily found. Within this header you
76 will find lots of options. For our purposes you need to enable
77 Amateur Radio AX.25 Level 2 Protocol, NET/ROM and the Serial Port
78 KISS Driver. For the purposes of this document I will work under the
79 assumption that you include them in the kernel fully, ie not as modules.
80 If you need to look at compiling your kernel for ax25 more fully, I would
81 refer to the excellent
82 <A HREF="http://www.fokus.gmd.de/linux/HOWTO/html_single/AX25-HOWTO.html#AEN151">AX25-HOWTO</A><P>
83 <P>I should say at this stage that NET/ROM is not mandatory. If you do not use it
84 simply ignore any instruction concerning it.
86 <P>Now recompile your kernel in the normal way and reboot your system.
88 <H2><A NAME="ss3.3">3.3 Installing the RPM's</A>
91 <P>Now install the RPM's you downloaded, libax25 first, then ax25-tools,
96 rpm -ivh libax25-0.0.7-7.i386.rpm
97 rpm -ivh ax25-tool-0.0.6-13.i386.rpm
98 rpm -ivh ax25-apps-0.0.4-9.i386.rpm
102 <H2><A NAME="ss3.4">3.4 Configuration</A>
105 <P>You will find the configuration files in /etc/ax25. These consist of
116 <P>These are the main files. You will find other files but they do not
117 have any use unless you are wanting to use that particular protocol,
118 Rose or axip for example.
120 <P>NOTE:- before we start it is important to realise that every interface
121 requires a different SSID. You should be able to follow this in the
124 <H2><A NAME="ss3.5">3.5 axports</A>
127 <P>This file sets up the ax25 ports you want to use. An example is below
128 for a standard TNC2 ...
132 #portname callsign baudrate paclen window description
133 2m gb7mbc-2 19200 256 2 2m port on 144.900MHz
134 4m gb7mbc-4 19200 256 2 4m port on 70.325MHz
138 <P>Note that the portnames have to be unique.
140 <P>The file headings are as follows ...
143 portname - The name you will refer to the port by
144 callsign - The ax25 callsign you want to assign to the port
145 baudrate - The speed you communicate between TNC and computer
146 paclen - The maximum packet length for ax25 connections
147 window - The ax25 window parameter. This is like 'maxframe'
148 description - A textual description of the port
151 <H2><A NAME="ss3.6">3.6 nrports</A>
154 <P>This file sets up the netrom ports you want to use. An example is below
155 and includes a port for both cluster and node. You will see why we need
160 #portname callsign alias paclen description
161 netrom gb7mbc-8 BARE 236 Node Netrom Port
162 netrom2 gb7mbc-9 MBCDX 236 Cluster Netrom Port
166 <P>Note that the portnames have to be unique.
168 <P>The file headings are as follows ...
171 portname - The name you will refer to the port by
172 callsign - This is the callsign that NET/ROM traffic from this
174 alias - The NET/ROM alias this port will be assigned
175 paclen - The maximum size of NET/ROM frames transmitted
176 description - A textual description of the port
179 <H2><A NAME="ss3.7">3.7 nrbroadcast</A>
182 <P>This file sets up the netrom broadcast qualities. An example is below ...
186 #axport min_obs def_qual worst_qual verbose
191 <P>The file headings are as follows ...
194 axport - The port name in axports that you wish to broadcast
196 min_obs - The minimum obsolescence value for the port
197 def_qual - The default quality for the port
198 worst_qual - The worst quality for the port. Any routes under
199 this quality will be ignored
200 verbose - This flag determines whether you will only broadcast
201 your own node (0) or all known nodes (1)
204 <H2><A NAME="ss3.8">3.8 ax25d.conf</A>
207 <P>This file controls any incoming ax25 and NET/ROM connections and steers
208 them to the relevant program. There are lots of configuration options
209 you can set here, however they are well covered in the AX25-HOWTO. For
210 our purposes I will show a typical set of parameters. An example is
216 parameters 2 1 6 900 * 15 0
218 default * * * * * * - sysop /spider/src/client client %u ax25
221 parameters 2 1 6 900 * 15 0
223 default * * * * * * 0 root /usr/sbin/node node
226 parameters 2 1 6 900 * 15 0
228 default * * * * * * - sysop /spider/src/client client %u ax25
231 parameters 2 1 6 900 * 15 0
233 default * * * * * * 0 root /usr/sbin/node node
236 parameters 1 10 * * * 3 *
238 default * * * * * * - sysop /spider/src/client client %u ax25
241 parameters 1 10 * * * 3 *
243 default * * * * * * 0 root /usr/sbin/node node
247 <P>There are a few things to take note of here. Firstly, all ax25
248 sections are wrapped in [ ] and all NET/ROM sections are wrapped in
249 < >. Secondly you should be able to see that anyone who forgets to
250 set their callsign in a TNC and tries to connect with the standard
251 NOCALL set into their TNC will not connect, the 'L' means 'lockout'.
252 Lastly and importantly, notice the order of the sections. They are
253 all done in interface order.
255 <P>You should be able to see that the normal line for access to the
256 cluster is like this ..
260 default * * * * * * - sysop /spider/src/client client %u ax25
264 <P>however, if you wish your users to be able to use SSID's on their callsigns ..
268 default * * * * * * - sysop /spider/src/client client %s ax25
272 <P>For most purposes this is not desirable. The only time you probably will
273 need this is when you need to allow other cluster nodes that are using SSID's
274 in. In this case it would probably be better to use the first example and
275 then add a specific line for that node like this:
279 GB7DJK-2 * * * * * * - sysop /spider/src/client client gb7djk-2 ax25
280 default * * * * * * - sysop /spider/src/client client %u ax25
284 <H2><A NAME="ss3.9">3.9 node.conf</A>
287 <P>For those of you that wish to run the node, you need to set up the
288 node.conf file. There are a couple of additional files, node.perms is
289 very similar to the way ftp permissions are set up in NOS systems and
290 node.motd is the message anyone logging into the node will get.
291 The node.conf file sets all the parameters of the node as you would
292 expect. An example is below ...
296 # /etc/ax25/node.conf - LinuxNode configuration file
300 # Idle timeout (seconds).
304 # Timeout when gatewaying (seconds).
308 # Visible hostname. Will be shown at telnet login.
310 HostName gb7mbc.ampr.org
318 #LocalNet 44.139.8.48/32
320 # Command aliases. See node.conf(5) for the meaning of the uppercase
321 # letters in the name of the alias.
323 ##Alias CAllbook 'telnet %{2:44.17.0.53} 1235 %1 s'
324 #Alias CONVers 'telnet %{2:oh2ti} 3600 "/n %u %{1:139}\n/w *"'
325 #Alias CLuster 'c hkiclh'
326 Alias CONV "telnet lurpac 3600"
327 Alias BBS "c 70cm gb7crv"
328 Alias DXC "telnet localhost 9000"
329 Alias MUD "telnet homer 4000"
330 ##Alias TEMP "finger temp@mary.g6phf"
331 ##Alias TNOS "c ip1 gb7mbc-5"
332 ##Alias TUtor "telnet gb7mbc 3599"
338 # External commands. See node.conf(5) for the meaning of the uppercase
339 # letters in the name of the extcmd.
341 # Flags: 1 Run command through pipe
344 #ExtCmd TPM 3 nobody /usr/bin/finger finger tpm
345 #ExtCmd ECho 1 nobody /bin/echo echo \%U \%u \%S \%s \%P \%p \%R \%r \%T \%t \%\% \%0 \%{1:foobar} \%{2} \%3 \%4 \%5
349 NodeId "\nBARE:GB7MBC-1"
350 #NodeId \033[01;31m***\033[0m
352 # Netrom port name. This port is used for outgoing netrom connects.
360 # The escape character (CTRL-T)
364 # Resolve ip numbers to addresses?
371 #NodePrompt "%s@%h \%i> "
372 NodePrompt "\nBARE:GB7MBC-1 \%i > "
373 #NodePrompt "\a\033[36m%U\033[0m de \033[01;32m#LNODE\033[0m:\033[01;33mOH2BNS-10\033[0m> "
377 <P>This should be fairly obvious I hope.
379 <H2><A NAME="ss3.10">3.10 Getting it all running</A>
382 <P>Ok, now we have all the relevant files configured, the next step is to get
385 <P>The first thing to do is attach the TNC's. Your TNC's should be in KISS mode
386 and connected to the serial ports involved.
388 <P>You now use the 'kissattach' command to connect the TNC's to the system like this ...
392 kissattach /dev/ttyS0 2m 44.131.96.199
393 kissattach /dev/ttyS1 4m 44.131.96.199
397 <P>Assuming that 44.131.96.199 is your IP address. The devices ttyS0 and ttyS1 are com1 and
398 com2 respectively. Now we can set some parameters ...
402 kissparms -p 2m -t 150 -l 150 -s 50 -r 50
403 kissparms -p 4m -t 150 -l 150 -s 50 -r 50
407 <P>The command 'man kissparms' will give you the explanation of the switches.
409 <P>Now we need to attach the NET/ROM ports in the same way ...
418 <P>All of the above can be put in a file and called from /etc/rc.d/rc.local. Put all
419 the above commands in a file called rc.ax25 and put a line in rc.local to call it.
421 <P>Now you can start the daemons that set everything in motion ...
430 <P>All should now be running. All that remains is to get the node working for telnet
431 connections. If nothing else, this will allow you to connect to the node yourself
432 to check on connection status etc. There are 2 files that need to be edited.
434 <P>First edit /etc/services and add
438 node 3000/tcp #OH2BNS's Node Software
442 <P>Assuming you want it to run on port 3000
444 <P>Now cd /etc/xinetd.d and edit a new file called node. It should look like this ...
449 # unencrypted username/password pairs for authentication.
455 server = /usr/sbin/node
456 log_on_failure += USERID
462 <P>You now need to restart the xinetd daemon. First find out what the PID is
471 <P>You will get a reply something like this ...
475 root 592 0.0 0.1 2256 620 ? S Feb07 0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
479 <P>The PID or Process ID is 592 in this case so now we can issue the command ...
487 <P>All should now be operational and you should be able to log into the node by
488 using a telnet session to the relevant port, like so ...
492 telnet localhost 3000
496 <P>If that works, you are just about there. you should (assuming you have radios connected
497 to the TNC's) be able to connect out to other stations and receive incoming ax25 and
501 <A HREF="installation-4.html">Next</A>
502 <A HREF="installation-2.html">Previous</A>
503 <A HREF="installation.html#toc3">Contents</A>