ETHRAX25 - Ethernet to AX.25 Packet Driver Revision: 940530 30 May 1994 ETHRAX25 is a modified version of the ETHERSL packet driver from the Crynwr collection. It provides an Ethernet (Class 1) interface to the application, and produces AX.25 UI frames, encapsulated in KISS on a serial port. Outgoing Ethernet frames are converted into AX.25 Unnumbered Information (UI) frames. The application sees pseudo-Ethernet addresses which are an encoded representation of the AX.25 address. The AX.25 frame is then encapsulated in KISS framing and sent on the specified serial port to a KISS-mode TNC. The reverse is done for incoming KISS frames, which are converted to pseudo-Ethernet frames for the application. If the frame contains an ARP packet, the driver translates the hardware addresses between AX.25 address and pseudo-Ethernet addresses as needed. Thus ARP works transparently. The Ethernet broadcast address ff-ff-ff-ff-ff-ff is converted to the AX.25 broadcast address QST-0 and vice versa. Usage: The driver is loaded in the same fashion as other packet drivers. The parameters are: ETHRAX25 [-h] [hardware_irq] [io_addr] [baud_rate] [send_buf_size] [recv_buf_size] -h enables hardware handshaking on the serial port. Since the application believes it is talking to an Ethernet, there are some AX.25 and TNC parameters which must be set before the application is started. These are set using the AX25CONF utility: AX25CONF [-stat] [-mycall ] [-txdelay n] [-persist n] [-slottime n] [-txtail n] Where: -- the interrupt number for the packet driver -stat -- reports driver statistics -mycall ax25addr -- sets the AX.25 address (callsign with optional SSID) -txdelay n -- sets the TNC's txdelay (10 msec units) -persist n -- sets the TNC's p-persistence -slottime n -- sets the TNC's slottime (10 msec units) -txtail n -- sets the TNC's txtail (10 msec units) If the driver is being used with a MS Windows application, remember to load the WINPKT driver after loading ETHRAX25. Caveats: The current version of the driver has been tested with a small set of DOS and Windows applications. Under DOS, the driver has been tested with WATTCP (7/16/93 vintage) and Kermit 3.13 at 9600 baud. However, since both of these IP stacks are tuned for Ethernet or fast serial links, they are not useable over 1200 baud radio links. The driver was tested by connecting the serial line to a system running KA9Q NOS, which was configured as if connected to a KISS TNC. Ping, telnet, ftp, and DNS seem to work. Under Windows, the driver has been tested with the Trumpet Winsock TCP stack, Version 1.0 A. The overhead introduced by Windows causes packets to be dropped when running the serial line at 9600 baud. This can probably be fixed by using a serial port with a 16550 UART. The line works reliably at 2400 baud. The driver was tested running the Trumpet newsreader, the ping, hopcheck, telnet, and ftp utilities that come with Trumpet Winsock, and WS_FTP. All of these "worked" over a 1200 baud radio link. I put "worked" in quotes because, while there don't appear any driver-related problems, Trumpet Winsock TCP stack appears to have some quirks which surface when running over something that slow. The WS_PING utility (931003) always gets a fatal error, but that sometimes happens when running over Ethernet as well. Other protocols which pass hardware addresses (like BOOTP) probably won't work without explicit support in the driver. The assembler code was assembled with Borland TASM 2.0. The C code was compiled with Borland C++ V2.0.