FlexNet driver documentation
6PACK - Driver for TAPR TNC2 and compatibles


Description:

    Driver to control a TNC2 (or compatible) equipped with 6PACK firmware eprom. A KISS driver controlling a TNC2 has it's well-known timing problems. If you have been using KISS, this driver is the matter of choice as it controls TNC2 under PC/FlexNet with precise timing (other users on your channel will be happy for this). Before starting, don't forget to program the file 6PACK.BIN (delivered with this driver) into an eprom and install in your TNC2. 

    COM 1-4 can be adressed simply by the COM port number e.g. '6PACK 1' installs the 6PACK-driver with the default values of the serial port 1, other port adresses and IRQ numbers are optional; addresses and IRQ numbers can be given either decimal or prefixed by '0x' for hexadecimal notation. On PC side, the use of 16550-type UARTS with FIFO-buffer is supported and generally recommended.

    IMPORTANT: In order to work properly, the baudrate between computer and TNC2 must be at least TWICE the baudrate of the HF communication (e.g. a 9600bd FSK transmission needs at least a baudrate of 19200bd at the serial port). In order to have the right timing to FlexNet, the correct RF baudrate must be set with the 'FSET MODE' command. 

    Description of channel statistics (output of STAT.EXE): 
     
    terr:  TX-underrun in TNC. TNC may be too slow for HDLC-baudrate, much more likely the PC isn't fast enough to deliver data in time. Increase baudrate between PC and TNC if possible.
    rerr: RX-underrun in TNC. TNC is too slow for HDLC-baudrate. Should not happen unless you're trying HDLC data rates of 9600 baud and the like with less then 9.8 MHz of TNC clock speed.
    rberr:  Buffer-overflow in TNC. PC is too slow or overloaded with the current tasks .
    ioerr: RX-overrun or transmission error in PC. PC is overloaded; also incremented every 60 seconds if no TNC is active.

    Errors occuring occasionally are no problem but if they happen frequently, the PC should be tuned and/or the serial baudrate be increased, so avoiding a 'hanging' of the RF channel. Decreasing the serial baudrate is not recommended as it reduces the realtime-capabilities of the connected TNCs. Try enhancing the PC with a 16550 compatible UART instead.

    Controlling several TNCs: 
    6PACK is capable of controlling up to 8 TNCs. To use this feature, the serial lines must be connected in a ring. That means the TxD-line of the PC is connected to the RxD of the first TNC, TxD of the first TNC is connected to the RxD of the second TNC and so on... The TxD of the last TNC in the ring is then connected to the RxD of the PC. The channel assignment is done automatically; the lowest channel number is assigned to the first TNC in the ring. This alignment is hardware compatible to TNN token ring. However, in case of 6PACK a completely different protocol (without token) is used. Watchdog triggering via RTS-toggle is supported. 

    The number of channels assigned upon installation of the 6PACK driver should be equal the number of the TNCs in the ring. Nevertheless nothing will happen if these values differ. 

Command line parameters:
6pack <comnr> [/b=<asyncbaud>] [/c=<chnr>] [/p=<port>] [/i=<irq>]
FlexNet parameters:
'd': duplex mode