Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
howto:ax25 [2014/01/07 12:06] – [Requirements] deuce | howto:ax25 [2015/08/20 10:04] (current) – I'll add a new article when/if AX25.Session is fixed. ecbbs | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Set up Synchronet as an AX.25 Packet Radio BBS ====== | ||
- | Sysops who are also amateur radio operators may wish to offer access to their Synchronet BBS via AX.25 packet radio. | ||
- | |||
- | =====Overview===== | ||
- | |||
- | AX.25 packet radio is a digital mode of communication often used by amateur radio operators. | ||
- | |||
- | The traffic of other protocols, including TCP/IP, can be encapsulated in AX.25 frames, however what this page will focus on the more basic usage of AX.25, namely using the protocol as a means of passing arbitrary data between systems. | ||
- | |||
- | Several packet radio-based bulletin board systems already exist, and in fact most TNCs include a basic BBS in their firmware. | ||
- | |||
- | ===== Requirements ===== | ||
- | |||
- | Obviously you'll need a radio transceiver connected to an antenna system of some kind. You'll also need a TNC supporting the KISS protocol (more on that in a moment) and an up-to-date installation of Synchronet. | ||
- | |||
- | Before proceeding, consult your TNC's documentation and familiarize yourself with the procedures for placing it into (and getting it out of) KISS mode. Make note of the speed of communication between the TNC and the host computer, and understand the difference between this and the rate of over-the-air communications. | ||
- | |||
- | Confirm that the following files are present relative to the root directory of your Synchronet BBS installation: | ||
- | |||
- | * [[dir: | ||
- | * [[dir: | ||
- | * [[dir: | ||
- | * [[dir: | ||
- | * [[dir: | ||
- | * [[dir: | ||
- | |||
- | If any of the above files are missing, grab the latest copies from the [[http:// | ||
- | |||
- | =====KISS Mode, AX.25 and Synchronet===== | ||
- | |||
- | AX.25 is the protocol spoken between packet radio stations. | ||
- | |||
- | Most TNCs offer a terminal mode of operation, meaning that you the operator can access your TNC via a serial port, issue textual commands to it and view human-readable menus and responses. | ||
- | |||
- | KISS is a protocol that defines a standard for communication between software running on a host computer and a connected TNC. When software control and monitoring of a TNC is required, KISS is the most reliable and universal option. | ||
- | |||
- | While a TNC in Host or BBS mode will often only support one connection at a time, KISS-mode TNCs operate on a connectionless basis, passing all AX.25 frames that they receive from the channel along to the host computer. | ||
- | |||
- | KISS mode offers a lot of flexibility, | ||
- | |||
- | =====Configuring and Enabling Packet Radio Support for Synchronet===== | ||
- | |||
- | ====Edit ctrl/ | ||
- | |||
- | This is where you configure your TNC(s). | ||
- | |||
- | [TNC-Name] | ||
- | callsign = < | ||
- | ssid = <Numeric SSID from 0 to 15> | ||
- | serialPort = <Device name (Windows) or path (*nix)> | ||
- | baudRate = <Numeric baud rate, eg. 9600> | ||
- | ; Optional values | ||
- | ;port = <0 - 15, the radio port number on a multiport TNC> | ||
- | ;timeout = <Time to wait while reading a packet from the TNC, in milliseconds> | ||
- | ;txDelay = <Time between transmitter keydown and packet transmit, in milliseconds> | ||
- | ; | ||
- | ;slotTime = <CSMA slot time, in milliseconds> | ||
- | ;txTail = < | ||
- | ;fullDuplex = <1 or 0> | ||
- | ; | ||
- | |||
- | The TNC name isn't terribly important, but you'll need to remember which names you chose for your TNCs once we get a bit farther along. | ||
- | |||
- | In most cases, the SSID can be set to 0 unless you intend to operate multiple TNCs on the same frequency using the same callsign. | ||
- | |||
- | Example 1: | ||
- | |||
- | [KPC3] | ||
- | callsign = WD1CKS | ||
- | ssid = 0 | ||
- | serialPort = COM4 | ||
- | baudRate = 9600 | ||
- | |||
- | Example 2: | ||
- | |||
- | [AEA-PK232] | ||
- | callsign = VE3XEC | ||
- | ssid = 2 | ||
- | serialPort = / | ||
- | baudRate = 9600 | ||
- | |||
- | |||
- | ====Create/ | ||
- | |||
- | Since we're not allowed to use offensive language over the air, everything sent out to AX.25 clients by ax25tunnel.js passes through a censorship filter. | ||
- | |||
- | If your [[dir: | ||
- | |||
- | ====Prepare the AX.25 Command Shell==== | ||
- | |||
- | The AX.25 command shell ([[dir: | ||
- | |||
- | To have your BBS launch this command shell when an AX.25 client connects, make a copy of [[dir: | ||
- | |||
- | if(console.terminal == " | ||
- | bbs.exec("? | ||
- | bbs.hangup(); | ||
- | exit(); | ||
- | } | ||
- | |||
- | By launching the shell in this manner, you can bypass any modules in your login sequence that are not appropriate for AX.25 clients (lightbar menus, etc.), and also avoid setting an alternate command shell for those users who also connect over the internet via telnet, SSH or rlogin. | ||
- | |||
- | ====Launch the AX.25 Tunnel==== | ||
- | |||
- | Now that you're ready to go, open a command prompt and navigate to your [[dir: | ||
- | |||
- | jsexec -l ax25tunnel.js | ||
- | |||
- | The AX.25 tunnel script ([[dir: | ||
- | |||
- | ====Mapping User Accounts to Callsigns==== | ||
- | |||
- | [[dir: | ||
- | |||
- | If no match for the callsign and SSID can be found in the system when a client connects, an account will be created for them (populated with data from various online callsign databases if possible) and they will be logged in automatically. | ||
- | |||
- | ====Libraries==== | ||
- | |||
- | Most of the support for the KISS and AX.25 protocols in Synchronet are provided by the following two files: | ||
- | |||
- | * [[dir: | ||
- | |||
- | * [[dir: | ||
- | |||
- | The latter is heavily commented, so if you wish to develop your own scripts to make use of Synchronet' | ||
- | |||
- | =====Compatibility===== | ||
- | |||
- | KISS-mode being what it is, most any KISS TNC should at the very least work on the server-side. | ||
- | |||
- | Synchronet' | ||
- | |||
- | =====Support===== | ||
- | |||
- | You can blame me (echicken) for Synchronet' | ||
- | |||
- | * DOVE-Net: Send a message to echicken in the Synchronet Discussion or Ham Radio sub-boards | ||
- | * IRC: Look for echicken in #synchronet or #hamradio on irc.synchro.net | ||
- | * BBS: Contact echicken on bbs.electronicchicken.com | ||
- | |||
- | ===== See Also ===== | ||
- | * [[: | ||
- | |||
- | {{tag>}} |