|
|||||||
|
|
| ||||||
Each of the AX.25 applications read a particular configuration file to obtainthe parameters for the various AX.25 ports configured on your Linux machine.For AX.25 ports the file that is read is the
The network device is what is listed when you use the `ifconfig'command. This is the object that the Linux kernel sends and receives networkdata from. Nearly always the network device has a physical port associatedwith it, but there are occasions where this isn't necessary. The networkdevice does relate directly to a device driver.
In the Linux AX.25 code there are a number of device drivers. The most commonis probably the KISS driver, but others are the SCC driver(s), the Baycomdriver and the Soundmodem driver.
Each of these device drivers will create a network device when it is started.
Kernel Compile Options:
Probably the most common configuration will be for a KISS TNC on aserial port. You will need to have the TNC preconfigured andconnected to your serial port. You can use a communications programlike minicom or seyon toconfigure the TNC into kiss mode.
To create a KISS device you use the kissattachprogram. In it simplest form you can use thekissattach program as follows:
The kissattach command will create a KISS networkdevice. These devices are called `
The kissparms command allows you to set variousKISS parameters on a KISS device.
Specifically the example presented would create a KISS network deviceusing the serial device `
Please refer to the man pages for more information.
The mkiss utility included in the ax25-utilsdistribution allows you to make use of both modems on a dual portTNC. Configuration is fairly simple. It works by taking a singleserial device connected to a single multiport TNC and making it looklike a number of devices each connected to a single port TNC. You dothis before you do any of the AX.25configuration. The devices that you then do the AX.25 configuration onare pseudo-TTY interfaces, (
Example: if you have a dual port TNC and it is connected to your
would create two pseudo-tty devices that each look like a normalsingle port TNC. You would then treat
The mkiss command has a number of optionalarguments that you may wish to use. They are summarized as follows:
enables the addition of a one byte checksum to each KISS frame.This is not supported by most KISS implementations, it is supported by theG8BPG KISS ROM.
sets the speed of the serial port.
enables hardware handshaking on the serial port, it is off bydefault. Most KISS implementation do not support this, but some do.
enables logging of information to the syslog log file.
Kernel Compile Options:
6PACK is a protocol that is supported by some TNCs as an alternativeto KISS. It is used in a similar fashion to the KISS driver, using the
A mini HOWTO on the 6PACK driver is included in the kernel source codeas the file
Kernel Compile Options:
Your first step should be to determine the i/o and addresses of theserial or parallel port(s) you have Baycom modem(s) connected to.When you have these you must configure the Baycom driver with them.
The Baycom driver creates network devices called:
The sethdlc utility allows you to configure thedriver with these parameters, or, if you have only one Baycom modeminstalled you may specify the parameters on theinsmod command line when you load the Baycommodule.
For example, a simple configuration.Disable the serial driver for COM1: then configure the Baycom driver for aSer12 serial port modem on COM1: with the software DCD option enabled:
Par96 parallel port type modem on LPT1: using hardware DCD detection:
This is not really the preferred way to do it. The sethdlc utilityworks just as easily with one device as with many.
The sethdlc man page has thefull details, but a couple of examples will illustrate the mostimportant aspects of this configuration. The following examples assumeyou have already loaded the Baycom module using:
or that you compiled the kernel with the driver inbuilt.
Configure the
Configure the
The AX.25 channel access parameters are the equivalent of the KISS ppersist,txdelay and slottime type parameters. Again you use the sethdlc utilityfor this.
Again the sethdlc man page is the source of the most complete informationbut another example of two won't hurt:
Configure the
Note that the timing values are in milliseconds.
The Baycom driver creates standard network devices that the AX.25Kernel code can use. Configuration is much the same as that for a PIor PacketTwin card.
The first step is to configure the device with an AX.25 callsign. Theifconfig utility may be used to perform this.
will assign the Baycom device
The next step is to create an entry in the
You may then treat the new AX.25 device as you would any other. You canconfigure it for TCP/IP, add it to ax25d and run NET/ROM or ROSE over itas you please.
Kernel Compile Options:
Thomas Sailer has built a driver for the kernel that allows you touse your soundcard as a modem. Connect your radio directly to yoursoundcard to play packet! Thomas recommends at least a 486DX2/66 if youwant to use this software as all of the digital signal processing is doneby the main CPU.
The driver currently emulates 1200 bps AFSK, 4800 HAPN and 9600 FSK (G3RUHcompatible) modem types. The only sound cards currently supported areSoundBlaster and Windows Sound System Compatible models. If you have a soundcard of another type, you can try the user-mode soundmodem described laterin this document.
The sound cards require some circuitry to help them drive thePush-To-Talk circuitry, and information on this is available from
The Soundmodem driver creates network devices called:
The Soundmodem driver competes for the same resources as the Linuxsound driver, so if you wish to use the Soundmodem driver you mustensure that the Linux sound driver is not installed. You can, ofcourse, compile them both as modules and insert and remove them as youwish.
The Soundmodem driver does not initialize the sound card. The ax25-utilspackage includes a utility to do this called `setcrystal' that maybe used for sound cards based on the Crystal chip set. If you have some othercard then you will have to use some other software to initialize it.Its syntax is fairly straightforward:
So, for example, if you wished to configure a SoundBlaster card at i/obase address 0x388, irq 10 and DMA 1 you would use:
To configure a Window Sound System card at i/o base address 0x534, irq 5, DMA 3you would use:
The
When you have configured the soundcard you need to configure the drivertelling it where the sound card is located and what sort of modem you wishit to emulate.
The sethdlc utility allows you to configure the driver with theseparameters, or, if you have only one soundcard installed you may specifythe parameters on the insmod command line when you load theSoundmodem module.
For example, a simple configuration, with one SoundBlaster soundcardconfigured as described above emulating a 1200 bps modem:
This is not really the preferred way to do it. The sethdlc utilityworks just as easily with one device as with many.
The sethdlc man page has the full details, but a couple of exampleswill illustrate the most important aspects of this configuration. Thefollowing examples assume you have already loaded the Soundmodem modulesusing:
or that you compiled the kernel with the driver inbuilt.
Configure the driver to support the Windows Sound System card we configuredabove to emulate a G3RUH 9600 compatible modem as device
Configure the driver to support the SoundBlaster card we configured aboveto emulate a 4800 bps HAPN modem as device
Configure the driver to support the SoundBlaster card we configured aboveto emulate a 1200 bps AFSK modem as device
The AX.25 channel access parameters are the equivalent of the KISS ppersist,txdelay and slottime type parameters. You use the sethdlc utility forthis as well.
Again the sethdlc man page is the source of the most complete informationbut another example of two won't hurt:
Configure the
Note that the timing values are in milliseconds.
It is very important that the audio levels be set correctly for any radiobased modem to work. This is equally true of the Soundmodem.Thomas has developed some utility programs that make this task easier.They are called smdiag and smmixer.
provides two types of display, either an oscilloscopetype display or an eye pattern type display.
allows you to actually adjust the transmit andreceive audio levels.
To start the smmixer utility for the Soundmodemdevice
The Soundmodem driver creates standard network devices that the AX.25Kernel code can use. Configuration is much the same as that for a PIor PacketTwin card.
The first step is to configure the device with an AX.25 callsign.The ifconfig utility may be used to perform this.
will assign the Soundmodem device
The next step is to create an entry in the
You may then treat the new AX.25 device as you would any other. You canconfigure it for TCP/IP, add it to ax25d and run NET/ROM or ROSE over itas you please.
Kernel Compile Options: not applicable
Thomas Sailer has written a sound modem driver that runs in user-modeusing the kernel sound drivers, so it should work with any sound cardsupported under Linux.
The driver is implemented as the user-mode program
The software and documentation can be downloaded from
Kernel Compile Options:
YAM is Yet Another Modem, a 9600 baud modem designed by Nico Palermo.Information on the Linux driver can be found at
Kernel Compile Options:
The PI card device driver creates devices named`
This command would configure the first port on the first PI carddetected with the callsign
The PI card driver was written by
Kernel Compile Options:
The PacketTwin card device driver creates devices named`
This command would configure the first port on the first PacketTwincard detected with the callsign
The PacketTwin card driver was written by
Kernel Compile Options:
While the kernel driver is included in the standard kernel distribution,Joerg distributes more recent versions of his driver with the suite ofconfiguration tools that you will need to obtain as well.
You can obtain the configuration tools package from:
You will find multiple versions, choose the one that best suits thekernel you intend to use:
The following commands were what I used to compile and install the packagefor kernel version 2.0.30:
After the above is complete you should have three new programsinstalled in your
You will also have a group of new special device files created in your
If you chose to 'make for_kernel' then you will need to recompile yourkernel. To ensure that you include support for the z8530 driver you must besure to answer `
If you chose to 'make module' then the new
The z8530 SCC driver has been designed to be as flexible as possible so asto support as many different types of cards as possible. With this flexibilityhas come some cost in configuration.
There is more comprehensive documentation in the package and you shouldread this if you have any problems. You should particularly look at
The main configuration file is read by the sccinit program and iscalled
into the
The first section is broken into stanzas, each stanza representing an 8530chip. Each stanza is a list of keywords with arguments. You may specify upto four SCC chips in this file by default. The
The allowable keywords and arguments are:
the
this keyword is used to specify the address of the dataport for the z8530 channel `A'. The argument is a hexadecimal numbere.g. 0x300
this keyword is used to specify the address of the controlport for the z8530 channel `A'. The arguments is a hexadecimal numbere.g. 0x304
this keyword is used to specify the address of the dataport for the z8530 channel `B'. The argument is a hexadecimal numbere.g. 0x301
this keyword is used to specify the address of the controlport for the z8530 channel `B'. The arguments is a hexadecimal numbere.g. 0x305
this keyword is used to specify the IRQ used by the 8530 SCCdescribed in this stanza. The argument is an integer e.g. 5
this keyword is used to specify the frequency of the clockat the PCLK pin of the 8530. The argument is an integer frequency in Hz whichdefaults to 4915200 if the keyword is not supplied.
the type of board supporting this 8530 SCC. The argument isa character string. The allowed values are:
the PA0HZP SCC Card
the Eagle card
the DRSI PC100 SCC card
the PRIMUS-PC (DG9BL) card
BayCom (U)SCC card
this keyword is optional and is used to enable support for theExtended SCC chips (ESCC) such as the 8580, 85180, or the 85280. The argumentis a character string with allowed values of `yes' or `no'. The default is`no'.
this keyword is optional and specifies the address of thevector latch (also known as "intack port") for PA0HZP cards. There can be onlyone vector latch for all chips. The default is 0.
this keyword is optional and specifies the address of thespecial function register on several cards. The default is 0.
this keyword is optional and defaults to 0.
Some example configurations for the more popular cards are as follows:
If you already have a working configuration for your card under NOS, thenyou can use the gencfg command to convert the PE1CHL NOS drivercommands into a form suitable for use in the z8530 driver configurationfile.
To use gencfg you simply invoke it with the same parameters as youused for the PE1CHL driver in NET/NOS. For example:
will generate a skeleton configuration for the OptoSCC card.
The Channel Configuration section is where you specify all of the otherparameters associated with the port you are configuring. Again thissection is broken into stanzas. One stanza represents one logical port, andtherefore there would be two of these for each one of the hardware parametersstanzas as each 8530 SCC supports two ports.
These keywords and arguments are also written to the
Sequence is very important in this section, but if you stick with the suggestedsequence it should work okay. The keywords and arguments are:
this keyword must be the first line of a port definition andspecifies the name of the special device file that the rest of theconfiguration applies to. e.g.
this keyword specifies the speed in bits per second of theinterface. The argument is an integer: e.g.
this keyword specifies where the clock for the data willbe sourced. Allowable values are:
normal halfduplex operation
MODEM supplies its own Rx/Tx clock
use fullduplex divider if installed.
this keyword specifies the data coding to be used. Allowablearguments are:
this keyword specifies the number of receive buffers toallocate memory for. The argument is an integer, e.g. 8.
this keyword specifies the number of transmit buffers toallocate memory for. The argument is an integer, e.g. 8.
this keyword specifies the size of the receive and transmitbuffers. The arguments is in bytes and represents the total length of theframe, so it must also take into account the AX.25 headers and not just thelength of the data field. This keyword is optional and default to
the KISS transmit delay value, the argument is an integer in mS.
the KISS persist value, the argument is an integer.
the KISS slot time value, the argument is an integer in mS.
the KISS transmit tail value, the argument is an integer in mS.
the KISS full duplex flag, the argument is an integer.
the KISS wait value, the argument is an integer in mS.
the KISS min value, the argument is an integer in S.
the KISS maximum keyup time, the argument is an integer in S.
the KISS idle timer value, the argument is an integer in S.
the KISS maxdef value, the argument is an integer.
the KISS group value, the argument is an integer.
the KISS txoff value, the argument is an integer in mS.
the KISS softdcd value, the argument is an integer.
the KISS slip flag, the argument is an integer.
To use the driver you simply treat the
You can also use NOS to attach to it in precisely the same way. From JNOSfor example you would use something like:
To assist in the diagnosis of problems you can use the sccstatprogram to display the current configuration of an SCC device. To use ittry:
you will displayed a very large amount of information relating to theconfiguration and health of the
The sccparam command allows you to change or modify a configurationafter you have booted. Its syntax is very similar to the NOS
Kernel Compile Options:
Linux supports BPQ Ethernet compatibility. This enables you to run the AX.25protocol over your Ethernet LAN and to interwork your linux machine withother BPQ machines on the LAN.
The BPQ network devices are named `
Configuration is quite straightforward. You firstly must have configureda standard Ethernet device. This means you will have compiled your kernelto support your Ethernet card and tested that this works. Refer to the Ethernet-HOWTOfor more information on how to do this.
To configure the BPQ support you need to configure the Ethernet device withan AX.25 callsign. The following command will do this for you:
Again, remember that the callsign you specify should match the entry in the
BPQ Ethernet normally uses a multicast address. The Linux implementation doesnot, and instead it uses the normal Ethernet broadcast address. The NET.CFGfile for the BPQ ODI driver should therefore be modified to look similar tothis:
The
where:
is a text name that you will refer to the port by.
is the AX.25 callsign you want to assign to the port.
is the speed at which you wish the port to communicate withyour TNC.
is the maximum packet length you want to configure the portto use for AX.25 connected mode connections.
is the AX.25 window (K) parameter. This is the same as the
is a textual description of the port.
In my case, mine looks like:
Remember, you must assign unique callsign/ssid to each AX.25 port you create.Create one entry for each AX.25 device you want to use, this includes KISS,Baycom, SCC, PI, PT and Soundmodem ports. Each entry here will describe exactlyone AX.25 network device. The entries in this file are associated with thenetwork devices by the callsign/ssid. This is at least one good reason forrequiring unique callsign/ssid.
You may wish to configure default digipeaters paths for specifichosts. This is useful for both normal AX.25 connections and also IPbased connections. The axparms command enablesyou to do this. Again, the man page offers acomplete description, but a simple example might be:
This command would set a digipeater entry for
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linux Amateur Radio AX.25 HOWTO". See Index Page for more info about Authorship and Copyright. 1999-2009 Linuxinfor.com. No rights reserved. |