attach <hw_type> <label> <mtu>
Configure a hardware interface and open it for use by the system. Detailed instructions for each driver are in the Attach Commands chapter of [tbd]. An on-line interactive way to obtain a summary of the parameters required for a given device is to issue a partial attach command (e.g., attach asy) to produces a message giving the complete command format. The above is the common form of the command. The common fields are:
<hw_type> is the kind of I/O device being attached to the system. The valid device types are:
asy an asynchronous I/O port.
axip a RFC1226 compatible AX.25 frame encapsulator for transmission of AX.25 frames over the IP.
bpq allows JNOS to attach interfaces directly to bpqcode without having to use the packet driver interface and the nodedrv4.com TSR. JNOS will talk to bpqcode using the bpq_host interrupt code in version 4.00 and up of bpqcode.
kiss another kiss interface on a previously attached serial port. This command allows the use of multiport TNCs. The first port must be attached by a prior "attach asy ..." command with <mode> set to ax25 or pkiss. Use mode pkiss if G8BPQ polled kiss mode is desired.
netrom This makes available a pseudo interface to enable NET/ROM operations.
packet Driver for use with separate software "packet drivers" which conform to the FTP Software, Inc., Software Packet Driver specification. See the Crynwr (TM) packet driver collection at ftp.crynwr.com, if your hardware (e.g. ethernet card) came without a packet driver.
scc & escc G8FSL/PE1CHL driver for generic Z8530 cards, including DRSI cards.
tun This is a pseudo device driver to interconnect the jnos tcp/ip stack to the host network tcp/ip stack. It is called a tunnel, and supersedes the same function in the earlier slip interface.
3c500, pc100, dsri, eagle, hapn, 0, hs, pi, tsync, >deprecated ?< are all coded in jnos as hw_devices but are untested and are perhaps unsupported.
<label> defines the name by which the interface will be known to the sysop and site user and it is referenced in various commands, such as connect, route, trace, etc. In general label may be any name, it is common practice to choose names that are significant to the site. In a couple circumstances label names are restricted to differentiate between hw_devices, for example in attaching the SCS PTC Pro TNC.
<mtu> is the Maximum Transmission Unit size in bytes. See the section 'Of PACLEN, MTU, MSS, and More' for a discussion of the effect of MTU on system performance.
The following sections expand on the command in detail because the remaining parameters vary for <hw_type> and Operating System platform.
attach asy <io_addr> <vector> <mode> <label> <bufsize> <mtu> [<speed>] [<flags>] Configure and attach a standard RS-232 or USB asynchronous serial device. For unix platforms the device is managed by the operating system and for DOS platforms using the National 8250, 16450, or 16550(A) chip or equivalent may be used. Additional driver information is provided:
The generalized version (valid on DOS platform) is as follows:
<io_addr> is the base address of the control registers for the device driver, or the directory entry for the device. Both the address and the vector must be in hexadecimal. You may put "0x" in front of the numbers, but they will be interpreted in hex even without the prefix.
<vector> is the comm port IRQ value. If it is suffixed by "_C" then the interrupt service routine for this port is chained to the server list for this IRQ. e.g. com1 = 0x3f8
<mode> controls how IP datagrams are to be encapsulated in the device's link level protocol. JNOS does not initialize device mode, thus the physical device must be preset prior to starting jnos. Choices include:
ax25 An AX.25 header and a KISS mode TNC control header are added to the front of the datagram before SLIP encoding. Either UI (connectionless) or I (connection-oriented) AX.25 frames can be used.
hfdd specific to SCS and DXP TNCs support pactor protocol. This jnos mode supervises operation of the TNC operating in HOST mode in addition to passing data. This mode appeared first in jnos2.0e[tbd].
pkiss Similar to ax25, except that packets are checksummed and the interfaced devices are queried (polled) regularly for data. Used by G8BPQ polled-kiss software.
nrs Similar to ax25, except that packets are transmitted only when permitted by flow-control signals. Typical of Netrom node stacks using Netrom serial protocol.
ppp Similar to slip, except the protocol is different and typically is capable of compression.
ptc Has similarities to both ax25 and ppp and is specific to the propriatary SCS PTC Pro TNC and pactor (I, II, & III) protocol.
slip Encapsulates IP datagrams directly in SLIP frames without a link header. This is for operating point-to-point lines and is compatible with 4.2BSD UNIX SLIP.
<label> Only in mode hfdd are restrictions to the choice of label applied. The label signifies the specific TNC hardware attached to the asy port. For each port the label is constructed by: the first three characters must be as shown below and must be followed by 1 to 3 user selected characters.
- SCS PTC-Pro II = "ptc" / Halcom DXP38 = "dxp" / Kantronics KAM = "kam"
- See also the configuration pages.
<bufsize> sets buffer size.
For ASYNCHRONOUS PORTS, specifies the size of the ring buffer in bytes to be statically allocated to the receiver, incoming bursts larger than <bufsize> may cause data to be lost.
>deprecated jnos2.0: For ETHERNET, specifies how many PACKETS may be queued in the receive queue at one time. Excess packets will be discarded as they are received. This is useful to prevent the system from running out of memory should another node suddenly develop a case of diarrhea.<
<speed> sets the Baud rate to match the device setting. AUTOBAUD is not supported. Default is [tbd].
<flags> a string of characters specifying options:
c - do BPQ checksumming of ax.25 kiss packets
v - do Van Jacobson TCP header compression on slip intfc
f - force use of 16550a uart features (eg UM16C550 chip)
fN - set 16550a trigger level to N (1,4,8, or 14. Default=4)
n - use NRS-CTS protocol on nrs interface
- It is well to validate that the #define flags needed to support the option has been compiled into config.h .
- c ax25 AX25 and POLLEDKISS
- v slip SLIP and VJCOMPRESS
- n nrs NRS
- f (any) ASY
The UNIX version of "attach asy" is slightly different from the DOS version, such that:
<io_addr> is the Unix device name of a tty type device from the device directory, "/dev/" is prepended to complete the full path. e.g., cua0 or ttyS2.
<vector> is built into the device, enter "-" as a place holder.
<flags> Flag "f" is not required in a jnos2.0+ Linux environment. <superseded: The fifo trigger level flag, "fN", is reinterpreted as providing a packet size. The value can range from 0 to 255; if it is 0, the original input mechanism is used, otherwise blocking reads are used with termios VMIN set to the specified value. At the moment there is no error checking; if you set the buffer size smaller than VMIN you could lose incoming data. Under some unix versions, setting it to anything other than a multiple of VMIN could cause problems. The tradeoff here is that when the VMIN mechanism is used, input could be delayed by up to 1/5 second on a mostly quiet channel, but on an active channel JNOS will use *much* less CPU time and generally will be much more efficient.>
attach axip <label> <mtu> <address> [<callsign>] This RFC1226 compatible pseudo device is used to establish a point-to-point tunnel between two systems over IP. This feature permits the AX.25 network to jump over Internet in a manner similar to digipeating. Suitable software configured on the other end include jnos, [tbd]. This interface requires a compile option of #define AXIP and answers port 93 in the jnos stack.
<label> is the name of the local interface
<address> is the network address of the system on the other side of the tunnel. As of jnos2.0c5[tbd] this address may be IP address in dotted notation or domain name. When domain name is specified, jnos will check on a regular schedule, say 1/2hr[tbd] to determine if the ip address remains valid and make the change if it is available.
<callsign> is the optional AX.25 callsign this station is listening on for frames to digipeat. Note a required condition: each attached axip interface should listen for a different callsign. These should also be different from other callsigns used on this station.
An example:
attach axip axip1 256 44.26.1.19 WG7J-15
attach bpq init <vec> <stream> OR attach bpq <port> <label> [<mtu> [<callsign>]] The JNOS BPQ driver reduces memory and processing time used by nodedrv4.com to send packets between JNOS and bpqcode.
The "attach bpq init" sub-command attaches the bpq_host TSR driver, which is accessed via software interrupt <vec> (in hex) for BPQ stream <stream> (in decimal). "attach bpq init" may only be called once.
The second form of the "attach bpq" sub-command is called once per <port>. It associates a BPQ <port> number with an interface name <label>. <mtu> may not exceed 256, and defaults to the ax.25 paclen value. <callsign> defaults to the ax25 mycall value, and establishes the callsign used by this BPQ port.
attach kiss <asy_iface_label> <port> <label> [mtu] This device establishes a second feature over an already established "asy" device. An example might look like first an 'attach asy 03f8 4 ax25 port1 512 256 9600' followed by an 'attach kiss port1 1 port2'. Again - the TNC must be initialized prior to attaching it.
<asy_iface_label> is the name of the serial port interface previously defined.
<port> is the port number (1-15) to use, and probably should be 1. (the original asy port is automatically port 0 !) It is up to the tnc's firmware to select which port is at what baud. For example, the KPC9612 uses the MYDROP command for this purpose.
<label> is the name for this second kiss port, and does not duplicate the first name.
<mtu> is an optional mtu, if different from the mtu on the first kiss port.
attach netrom This command must preceed the 'start netrom' command if it is used. >deprecated jnos2.0: This command is automatically executed when the netrom server is started with the 'start netrom' command.<
attach packet <softintr#> <label> <maxqueue> <mtu> [ipaddress] This is [tbd] [ipaddress] NOTE that the packet driver is often loaded as a TSR in config.sys or autoexec.bat. It is the driver that must be supplied with information such as hardware IRQ, i/o address, and software IRQ. Example: 'attach packet 0x7e eth0 5 1500'
<softintr#> JNOS only needs to know the software IRQ value to interact with this driver. You must pick a software IRQ that is otherwise unused. Values between 0x78 and 0x7f are often suitable.
<maxqueue> [tbd]
<ipaddress> is an optional ip address for the interface. If not set, the system 'ip address' will be used.
attach [ssc | escc]... Use escc if the Z85230 chip is installed, otherwise use scc. Specify only one 'easy' or one 'init' command, followed by as many 'mode' commands as required to completely define the card.
attach escc <board label> baycom|drsi|opto <base address> <interrupt number> [t<timing channel>] Is the "easy" form of the command (obviously).
<board label>
<base address>
<interupt number>
<timing channel>
attach escc <board label> <#chips> init <base address> <spacing between SCC chip base addresses> <offset to channel A control register> <offset to channel B control register> <offset from each channels control register to data register> <address of INTACK/Read Vector port. (0 to read from RR3A/RR2B)> <CPU interrupt vector number> <clock frequency (PCLK/RTxC) prefix with "p" for PCLK> <optional hardware type> <optional parameter for special hardware> <optional t<tick chan> specification to use a channel to improve timing> is the "init" form of the command.
<all> for the moment you and your specification sheet for the board are on your own... [tbd]
attach escc <board label> <SCC channel number to attach, 0/1 for first chip A/B><mode> <label> <maximum transmission unit, bytes> <interface speed, e.g, "1200". prefix with "d" when an external divider is available to generate the TX clock.> <buffer size> <optional callsign used on radio channel> <optional s flag to specify software-derived DCD detection> is the "mode" form of the command.
<mode> may be one of: "ax25", "kiss", "nrs", or "slip"
<all> as above...
Example follows: (see sccg8fsl.txt and scc.c, in JNOS src zipfile, for more info)
attach scc scc0 drsi 300 7 attach scc scc0 1 init 300 16 2 0 1 0 7 p4915200 8 attach scc scc0 0 ax25 vhfa 235 d1200 512 k5arh-3 s attach scc scc0 1 ax25 vhfb 235 d1200 512 k5arh-2 s
attach tun <label> <mtu> <devid> This device supports TCP/IP traffic to the host by interconnecting stacks on unix type platforms. Beyond the host lies the Internet thru a bridge in the configuration adopted for this wiki as a standard. To reach the LAN and Internet the host stack must forward packets - see LAN configuration in HostConfiguration.
<devid> in examples is "0" for the first instantiation.
