Each AX.25 and NetRom port on your system must have a callsign/ssid allocated to it. These are configured in the configuration files that will be described in detail later on.
Some AX.25 implementations such as NOS and BPQ will allow you to configure the same callsign/ssid on each AX.25 and NetRom port. For somewhat complicated technical reasons Linux does not allow this. This isn't as big a problem in practise as it might seem.
This means that there are things you should be aware of and take into consideration when doing your configurations.
Not every AX.25 implementation is a TNC2. Linux uses nomenclature that differs in some respects from that you will be used to if your sole experience with packet is a TNC. The following table should help you interpret what each of the configurable items are, so that when you come across them later in this text you'll understand what they mean.
-------------------------------------------------------------------
Linux | TAPR TNC | Description
-------------------------------------------------------------------
T1 | FRACK | How long to wait before retransmitting an
| | unacknowledged frame.
-------------------------------------------------------------------
T2 | RESPTIME | The minimum amount of time to wait for another
| | frame to be received before transmitting
| | an acknowledgement.
-------------------------------------------------------------------
T3 | CHECK | The period of time we wait between sending
| | a check that the link is still active.
-------------------------------------------------------------------
N2 | RETRY | How many times to retransmit a frame before
| | assuming the connection has failed.
-------------------------------------------------------------------
Idle | | The period of time a connection can be idle
| | before we close it down.
-------------------------------------------------------------------
Window | MAXFRAME | The maximum number of unacknowledged
| | transmitted frames.
-------------------------------------------------------------------
The 2.1.*
and 2.0.* +moduleXX
kernels have a new feature that allows
you to change many previously unchangable parameters at run time. If you take a
careful look at the /proc/sys/net/
directory structure you will see
many files with useful names that describe various parameters for the network
configuration. The files in the /proc/sys/net/ax25/
directory each
represents one configured AX.25 port. The name of the file relates to the
name of the port.
The structure of the files in /proc/sys/net/ax25/<portname>/
is as follows:
FileName Meaning Values Default ip_default_mode IP Default Mode 0=DG 1=VC 0 ax25_default_mode AX.25 Default Mode 0=Normal 1=Extended 0 backoff_type Backoff 0=Linear 1=Exponential 1 connect_mode Connected Mode 0=No 1=Yes 1 standard_window_size Standard Window 1 <= N <= 7 2 extended_window_size Extended Window 1 <= N <= 63 32 t1_timeout T1 Timeout 1s <= N <= 30s 10s t2_timeout T2 Timeout 1s <= N <= 20s 3s t3_timeout T3 Timeout 0s <= N <= 3600s 300s idle_timeout Idle Timeout 0m <= N 20m maximum_retry_count N2 1 <= N <= 31 10 maximum_packet_length AX.25 Frame Length 1 <= N <= 512 256In the table T1, T2 and T3 are given in seconds, and the Idle Timeout is given in minutes. But please note that the values used in the sysctl interface are given in internal units where the time in seconds is multiplied by 10, this allows resolution down to 1/10 of a second. With timers that are allowed to be zero, eg T3 and Idle, a zero value indicates that the timer is disabled.
The structure of the files in /proc/sys/net/netrom/
is as follows:
FileName Values Default default_path_quality 10 link_fails_count 2 network_ttl_initialiser 16 obsolescence_count_initialiser 6 routing_control 1 transport_acknowledge_delay 50 transport_busy_delay 1800 transport_maximum_tries 3 transport_requested_window_size 4 transport_timeout 1200
The structure of the files in /proc/sys/net/rose/
is as follows:
FileName Values Default acknowledge_hold_back_timeout 50 call_request_timeout 2000 clear_request_timeout 1800 link_fail_timeout 1200 maximum_virtual_circuits 50 reset_request_timeout 1800 restart_request_timeout 1800 routing_control 1 window_size 3
To set a parameter all you need to do is write the desired value to the file itself, for example to check and set the Rose window size you'd use something like:
# cat /proc/sys/net/rose/window_size
3
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size
4