home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 3
/
Meeting_Pearls_III.iso
/
Pearls
/
tcp
/
Networking
/
Sana-II
/
ax25device.lzh
/
ax25device
/
ax25.doc
Wrap
Text File
|
1995-04-16
|
8KB
|
180 lines
VERSION 1.0Beta-19950416
(Note: this readme now includes information about getting AmiTCP ARP
to publish your "hardware" address. It should have been here before, and
my explanation could probably use work, but it should be sufficient for
you to get this driver working with AmiTCP, or other packages that use
an ARP type facility).
This is currently a BETA product. There are no known enforcer hits during
intended operation.
The driver currently assumes that once started, it will never be stopped
(except by a reboot). It does not currently shut down gracefully if
told to, or if it fails to start (due to problems with either the config file
or the underlying serial port.)
This is a SANA2 device driver that encapsulates a higher-level protocol
(such as TCP/IP) in AX25 UI (unnumbered-information) frames.
AX25 is an amateur (HAM) radio protocol that allows digital communications
via radiowaves.
This driver does not currently support direct AX25 activity.
This driver has been successfully tested with amitcp-2.2 (special modifications
were made to the 2.2 source to support AX25, this support should be
directly available in the 3.0 AMITCP.) and has interacted successfully with
various versions of the KA9Q NOS. With some versions of NOS, telnet does
not properly negotiate linemode-with-local-echo. I do not yet know if this
is a fault of NOS, or telnet (or both). I have found one version, so far,
of NOS that operates properly in linemode with the amitcp telnet.
A note about the TNC: Your TNC should already be in kiss mode
and properly configured before starting this driver, the driver will
not attempt to configure the TNC in any way. You must set your
TXDelay and other parameters before hand, and place your TNC in KISS
mode. Also the TNC needs to be in hardware flowcontrol mode, and NOT using
XON/XOFF for flow control. Most modern TNCs will remember their configuration
between power ups/downs, including being in KISS mode. (I hope, I haven't
actually verified this, but in this day and age non-volatile
configuration memory should be very common.)
(I personally am currently using the Kantronics dataengine, it remembers
its configuration, and remains in kiss mode through power cycles.)
(Also note: It is not sufficient to only tell your TNC what your callsign
is, you must also tell this driver, see below.)
INSTALLATION:
copy the devs/networks/ax25.device to devs:networks/ax25.device
copy the envarc/sana2/ax25.config to envarc:sana2/ax25.config
edit envarc:sana2/ax25.config to suit your needs, instructions are included
in that file.
NOTE: IT IS *VERY* IMPORTANT that you change the callsign in the config
file to a callsign you are authorized to use.
edit whatever network software you're using to use this driver.
::: AmiTCP 3.0beta example:
::: ifconfig axdm1 inet aa0aaa.ampr.org netmask 255.255.255.0
^^^^^^ your callsign here
(This assumes you have defined your nodename in AmiTCP:db/hosts,
you can substitute your IP address directly instead if you want.)
depending on local conventions, you may need to change the netmask.
::: arp -s aa0aaa.ampr.org 82:82:60:82:82:82:60 pub
The arp line needs some more explaining: Your network software
may need to be told to publish your "Hardware" address, which is your callsign
for this driver. If you don't do this you may not be able to talk to
anyone, and they probably won't be able to talk to you.
This information is specific to amitcp, but probably applies
to other network software which uses arp as well. Your "hardware" address
is specified as 6 hexadecimal numbers, colon separated. Due to the nature
of AX25 and AmiTCP's ARP, it is necessary to left-shift each byte (the values
between the colons) left one BIT. In addition, the last byte contains
an SSID, or Secondary Identifier. Your TNC manual should explain the SSID,
or find a book on amateur packet radio. It is a value from 0 to 7, if you don't
know what the SSID is, then just use 0.
Example: Your callsign is AB2IJ and you decide to use 3 as your SSID
AB2IJ is 41:42:32:49:4a in hexadecimal. Use uppercase letters for your callsign.
To convert this into the proper string for arp, we must shift each value 1 bit
left.
The value for 41 in binary is 01000001. Shift it left one: 10000010, convert
it back to hex: 82. After doing this for each character:
41:42:32:49:4a becomes 82:84:64:92:94 (note: instead of shifting left one,
you can multiply by 2, either multiply by two before converting to hex in the
first place, or convert to hex and multiply by 2, but use HEX math.)
Now, it must be padded out to six characters, as all ax25 hardware addresses
are six characters in the callsign part. So, add spaces on the end (space is
hex 20, but becomes 40 after shifting left (doubling).)
(***NOTE: I have included a table below so you won't actually need to
calculate this; don't forget to space pad though if your callsign
is less than 6 characters, SSID must be the last byte.
***)
82:84:64:92:94:40
Now convert your SSID (3 in this example) to HEX ascii: 33
Shift left one: 66
And append: 82:84:64:92:94:40:66
If you don't know what SSID to use, just use 0, which
will be :60, 82:84:64:92:94:40:60
So, the arp command for AmiTCP and a Callsign of ab2ij-3 (the -3 is the SSID)
is:
arp -s AB2IJ.AMPR.ORG 82:84:64:92:94:40:60 pub
This will work if you have specified your IP address for AB2IJ.AMPR.ORG in
your AmiTCP:db/hosts file, or you can just put your IP address directly:
arp -s 44.x.y.z 82:84:64:92:94:40:60 pub
Where 44.x.y.z is whatever your IP address is.
Here is a reference table to simplify this process, so you won't have to
calculate it:
SPACE:40
A:82 B:84 C:86 D:88 E:8A F:8C G:8E H:90
I:92 J:94 K:96 L:98 M:9A N:9C O:9E P:A0
Q:A2 R:A4 S:A6 T:A8 U:AA: V:AC W:AE X:B0
Y:B2 Z:B4
0:60 1:62 2:64 3:66 4:68 5:6A 6:6C 7:6E
8:70 9:72
Donations of money or other items are accepted and appreciated, but are
not required. Please make sure monetary donations are in U.S. funds, or can
be converted to such without costing more than the value of the donation.
(exception, if you want to send me actual money of some form, I collect it,
but apparently money tends to disappear in various postal systems.)
I will attempt to place updated versions on AmiNET sites and/or with the
AmiTCP distribution and possibly via other routes as well (such as Fred Fish).
At least please send me a note (mail or EMAIL) with your comments and
suggestions about this driver, or at least let me know your using it.
***
You should let me know especially if you are having a problem, as I can't
fix what I don't know about.
***
martind@hillwpos.hill.af.mil
dave@cs.weber.edu
Dave Martin
843 Clover Circle
Ogden, Utah 84404
USA
This driver is Copyright 1994,1995 by David E Martin KB7VBD, it may be distributed
without profit. Organizations such as magazines or shareware collections
or other people that are involved commercially should contact me first.
Permission for appearance in the Fred Fish collection (disk or CDROM) is
hereby granted. Permission for appearance in the aminet CDROM is hereby
granted. Permission for other CDROM collections is granted if they are
comparably priced to other shareware type CDROMs from other manufacturers.
The Author reserves the right to change these terms in future
versions of this driver. I would appreciate at least one edition of a
cdrom of a given collection that contains this package.
HISTORY:
V1.0Beta-19940320 First external release.
V1.0Beta-1994???? Minor memory problem fix.
V1.0Beta-19940704 Documentation fixes and some debugging kprintfs removed.
Documentation revised on 19940714
V1.0Beta-19941224 Occasional lockup bug hopefully exterminated.
Documentation revisions and CDROM distribution rights
updated.
V1.0Beta-19950416 Major memory overwrite problem fixed.
---------------------------------------------------------------------------
See ax25.config for additional info