packet:ninotnc
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| packet:ninotnc [2024/03/14 21:18] – extra parameter to setup-gpis no longer required g5dsg | packet:ninotnc [2026/02/08 14:36] (current) – [Firmware] m0lte | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| [[https:// | [[https:// | ||
| - | ===== Group Buys ===== | ||
| - | OARC has run two successful UK/EI group buys, with around 250 kits distributed across two rounds. | + | [[packet: |
| - | There are no current plans for another group buy, however never say never. | ||
| - | Board + CPU sets are available in the UK, see below. | + | ===== EU Stock ===== |
| - | [[packet:ninotnc-ordering-howto|Here is information on ordering a set of components to build up a NinoTNC]]. It's fast and easy. | + | Tindie shop by Vic EI5IYB |
| - | ===== UK Stock ===== | + | ===== Operating modes ===== |
| - | By arrangement, | + | Current modes as of firmware release 3.40 / 4.40 / v40 (all refer to the same version) |
| - | ===== Operating modes ===== | + | ^# ^ Mode ^QtSM Mode ^ Baud ^ bps ^ Mod ^ Proto ^ Usage ^ BW ^ Typical use ^ |
| + | |1 | 0001 | ? |19200 | 19200 | 4FSK | IL2Pc | FM | 25k | High SNR links between dedicated data radios. v41 firmware required in practice. | ||
| + | |3 | 0011 | ? | 9600 | 9600 | 4FSK | IL2Pc | FM | 12.5k | High SNR links between dedicated data radios. Suitable for UK 2m band. | | ||
| + | |2 | 0010 | ? | 9600 | 9600 | GFSK | IL2Pc | FM | 25k | Current recommended mode for new 70cm (25kHz) links where both ends are compatible | ||
| + | |5 | 0101 | ? | 3600 | 3600 | QPSK | IL2Pc | FM | 12.5k | For situations where only a speaker/mic connection is available but > 1200 baud is desired | | ||
| + | |11| 1011 | QPSK v26a | 1200 | 2400 | QPSK | IL2Pc | SSB/FM | 2.4kHz | HF - quadrature version of 1200 BPSK, twice the throughput for +3dB SNR. | | ||
| + | |10| 1010 | ? | 1200 | 1200 | BPSK | IL2Pc | SSB/FM | 2.4kHz | HF - use for circuits where wider transmission is acceptable. | ||
| + | |9 | 1001 | ? | 300 | 600 | QPSK | IL2Pc | SSB | 500Hz | HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR | | ||
| + | |8 | 1000 | BPSK AX.25 300bd | 300 | 300 | BPSK | IL2Pc | SSB | 500Hz | HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25 | | ||
| + | |14| 1110 | AFSK AX.25 300bd | 300 | 300 | AFSK | IL2Pc | SSB | 500Hz | CRC improvement of IL2P 300 baud AX.25. Recommended if you can't do BPSK / QPSK on HF. | | ||
| + | |- | 1111 | ? | n/a | n/a | n/a | n/a | n/a | n/a | Allows the mode to be set by a SETHW KISS command (v41+). | ||
| - | Current modes as of firmware release 3.3.1: | + | IL2Pc is shorthand for IL2P plus CRC. |
| + | |||
| + | **QtSM NOTE: For IL2P and CRC modes, these need to be enabled per modem in the Settings/ | ||
| - | ^ Mode ^ Baud ^ bps ^ Mod ^ Protocol ^ Intended mode ^ BW ^ Typical use ^ | ||
| - | | 0010 | 9600 | 9600 | GFSK | IL2P+CRC | FM | 25k | Current recommended mode for new 70cm (25kHz) links where both ends are compatible | ||
| - | | 0100 | 4800 | 4800 | GFSK | IL2P+CRC | FM | 12.5k | Current recommended mode for new 2m (12.5kHz) links where both ends are compatible | ||
| - | | 0101 | 2400 | 2400 | DPSK | IL2P | FM | 12.5k | For situations where only a speaker/mic connection is available but > 1200 baud is desired | | ||
| - | | 1011 | 1200 | 2400 | QPSK | IL2P+CRC | SSB/ | ||
| - | | 1010 | 1200 | 1200 | BPSK | IL2P+CRC | SSB/ | ||
| - | | 1001 | 300 | 600 | QPSK | IL2P+CRC | SSB | 500Hz | HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR | | ||
| - | | 1000 | 300 | 300 | BPSK | IL2P+CRC | SSB | 500Hz | HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25 | | ||
| - | | 1110 | 300 | 300 | AFSK | IL2P+CRC | SSB | 500Hz | CRC improvement of IL2P 300 baud AX.25. Recommended if you can't do BPSK / QPSK on HF. | | ||
| Superseded (but still supported) modes: | Superseded (but still supported) modes: | ||
| - | ^ Mode ^ Baud ^ bps ^ Mod ^ Protocol ^ Superseded by ^ Intended mode ^ BW ^ Typical use ^ | + | ^# ^ Mode ^ Baud ^ bps ^ Mod ^ Protocol ^ Superseded by |
| - | | 0000 | 9600 | 9600 | GFSK | AX.25 | 9600 GFSK IL2P | + | |0 | 0000 | 9600 | 9600 | GFSK | AX.25 | 9600 GFSK IL2P | FM |
| - | | 0001 | 9600 | 9600 | GFSK | IL2P | 9600 GFSK IL2P+CRC | + | |4 | 0100 | 4800 | 4800 | GFSK | IL2Pc | 9600 4FSK IL2Pc | FM | 12.5k | Was the recommended |
| - | | 0011 | 4800 | 4800 | GFSK | IL2P | + | |7 | 0111 | 1200 | 1200 | AFSK | IL2P | 4800 GFSK IL2Pc | FM |
| - | | 1111 | 1200 | 1200 | BPSK | IL2P | 1200 BPSK IL2P+CRC | SSB/ | + | |6 | 0110 | 1200 | 1200 | AFSK | AX.25 | 1200 AFSK IL2P | FM |
| - | | 0111 | 1200 | 1200 | AFSK | IL2P | 4800 GFSK IL2P+CRC | + | |12| 1100 | 300 | 300 | AFSK | AX.25 | 300 AFSK IL2P |
| - | | 0110 | 1200 | 1200 | AFSK | AX.25 | 1200 AFSK IL2P | + | |13| 1101 | 300 | 300 | AFSK | IL2P | 300 AFSK IL2Pc | SSB | 500Hz | IL2P improvement of AFSK 300 baud AX.25. |
| - | | 1100 | 300 | 300 | AFSK | AX.25 | 300 AFSK IL2P | SSB | + | |
| - | | 1101 | 300 | 300 | AFSK | IL2P | 300 AFSK IL2P+CRC | + | |
| Prefer: | Prefer: | ||
| - | * QPSK > BPSK > DPSK > AFSK | + | * 4FSK > QPSK > BPSK > DPSK > AFSK |
| - | * IL2P+CRC > IL2P > IL2P > AX.25 | + | * IL2Pc > IL2P > AX.25 |
| * SSB > FM | * SSB > FM | ||
| Baud is symbols per second, bps is bits per second. Where baud=bps, that means each symbol carries 1 bit (i.e. a symbol can have two states, 0 or 1). Where baud is 2x bps, that means each symbol carries 2 bits (i.e. a symbol can have four states: 00, 01, 10, 11). | Baud is symbols per second, bps is bits per second. Where baud=bps, that means each symbol carries 1 bit (i.e. a symbol can have two states, 0 or 1). Where baud is 2x bps, that means each symbol carries 2 bits (i.e. a symbol can have four states: 00, 01, 10, 11). | ||
| + | |||
| + | ** Decoding Operating Modes from BrdSwchMod ** | ||
| + | |||
| + | When the test button is pressed on the TNC, along with the frame it emits to the radio, it will emit a different frame to the KISS client that is connected. | ||
| + | |||
| + | * the first two digits the board version (a decimal number, e.g. 04) | ||
| + | * the next two are the physical MODE switch setting (encoded as binary, for example 06 is 0110) | ||
| + | * the last four are the operating mode | ||
| + | |||
| + | For example, for a value of '' | ||
| + | |||
| + | * Board Revision 04 | ||
| + | * MODE switch setting 1111 (set by SETHW hardware command) | ||
| + | * Current Operating Mode 0x23 (MODE_300_AFSKPLL_IL2P_CRC) | ||
| + | |||
| + | The Operating Mode values are **internal** and **may change with firmware version**, so you can use the following table to map the operating mode values **for Version .44 of the Firmware** (current at time of writing): | ||
| + | |||
| + | ^ Switch Mode ^ BrdSwchMod Value ^ Mode Name ^ | ||
| + | | 0 (0000) | ||
| + | | 1 (0001) | ||
| + | | 2 (0010) | ||
| + | | 3 (0011) | ||
| + | | 4 (0100) | ||
| + | | 5 (0101) | ||
| + | | 6 (0110) | ||
| + | | 7 (0111) | ||
| + | | 8 (1000) | ||
| + | | 9 (1001) | ||
| + | | 10 (1010) | ||
| + | | 11 (1011) | ||
| + | | 12 (1100) | ||
| + | | 13 (1101) | ||
| + | | 14 (1110) | ||
| + | | 15 (1111) | ||
| ===== Signals settings ===== | ===== Signals settings ===== | ||
| + | |||
| + | |||
| + | ==== Cheat sheet ==== | ||
| + | |||
| + | * Switch 1 is TX audio range selection - on/up is high level for louder transmitted audio, off/down is for quieter transmitted audio | ||
| + | * Switch 2 is RX audio sensitivity - on/up is low sensitivity for loud radios, off/down is high sensitivity for quiet radios | ||
| + | * Switch 3 is AC/DC coupling - normally should be off/down apart from specific radios | ||
| + | * Switch 4 is external carrier detect - normally should be off/down unless you need it for a specific purpose | ||
| + | |||
| + | ^ Radio ^ Signals ^ Notes ^ | ||
| + | | Yaesu FT-450D | ||
| + | | Tait TM8100 / 8200 | 1100 | Requires high level TX audio, else the transmitted audio is too quiet in the range of the pot.\\ Requires low level RX audio, else CRC is always lit. \\ Requires AC coupling to block the DC which is present on the TX audio pin. \\ Works with 19k2!! | | ||
| + | | Tait T2010 I & II | 1100 | Tested up to Modes 0100 4800 GFSK IL2P+CRC | | ||
| + | | Yaesu FTM-300D | 1100 | Tested up to Modes 0100 4800 GFSK IL2P+CRC | | ||
| + | | Kenwood TK-90 | 0100 | TX audio is pretty sensitive, works better in mic range. | | ||
| + | | Quansheng UV-K5 | 1100 | Wiktor - SA0WII has these working with the now well known 9k6 hardware mod | | ||
| ==== Switch 1 - Transmit audio range selection - DATA/MIC ==== | ==== Switch 1 - Transmit audio range selection - DATA/MIC ==== | ||
| Line 94: | Line 143: | ||
| - | ===== Experimental new modes ===== | ||
| - | |||
| - | Packet radio on HF is typically 300 baud (and bits/sec), using the Bell 103 modem standard. This was released by AT&T Corporation in 1962. It is extremely susceptible to interference and performs poorly with weak signals common in amateur radio. | ||
| - | |||
| - | 61 years later, we have far more processing power at our disposal, which means it is possible to achieve much better performance using the same RF bandwidth. While there are some interesting projects around, e.g. FreeDV / Codec2, nothing so far has been found which is easily accessible for amateurs to deploy in a packet radio setting. | ||
| - | |||
| - | Until now. | ||
| - | |||
| - | Nino, KK4HEJ, has been developing a number of new modes which can be added to the NinoTNC with a simple firmware upgrade. Instead of frequency-shift keying (i.e. tone changing in pitch), the new modes are based on phase-shift keying (i.e. phase of a continuous sine wave changing). BPSK (binary phase shift keying) devices modulate input signals by 0° and 180° phase shifts. QPSK (quadrature phase shift keying) devices modulate input signals by 0°, 90°, 180°, and 270° phase shifts, thus in QPSK mode, each symbol can have one of four values, meaning it is possible to transmit two bits of data in each symbol as opposed to just one, doubling the effective throughput in the same bandwidth, at the expense of requiring a bit more signal-to-noise ratio. | ||
| - | |||
| - | The great news is that these modes are now present in the latest firmware. | ||
| - | |||
| - | These new modes are then selectable using the Signals DIP switch. The software node / client settings can be left as-is - the modulation is completely transparent to them, and this can be used for any kind of packet radio traffic. However, given these are new modes, which may perform quite differently (likely better!) than Bell 103, new values for other parameters such as maxframe, frack, paclen may need to be found, but the Network 105 recommendation of paclen=60, maxframe=1, frack=5000 are probably a good starting point until more is known about how these modes perform in the wild. | ||
| - | |||
| - | Until we know more, suitable BPQ port settings might be: | ||
| - | |||
| - | < | ||
| - | PORT | ||
| - | PORTNUM=1 | ||
| - | ID=HF | ||
| - | TYPE=ASYNC | ||
| - | PROTOCOL=KISS | ||
| - | KISSOPTIONS=ACKMODE | ||
| - | COMPORT=/ | ||
| - | SPEED=57600 | ||
| - | FRACK=7000 | ||
| - | PACLEN=80 | ||
| - | NODESPACLEN=60 | ||
| - | DIGIFLAG=0 | ||
| - | MAXFRAME=1 | ||
| - | RETRIES=10 | ||
| - | QUALITY=192 | ||
| - | MINQUAL=100 | ||
| - | TXDELAY=100 | ||
| - | TXTAIL=300 | ||
| - | RESPTIME=100 | ||
| - | T3=300 | ||
| - | ENDPORT | ||
| - | </ | ||
| - | |||
| - | Obviously, there is no cross- or backwards-compatibility with any old modes or indeed any other model of modem or software out there at this point. You switch exclusively to this on-air scheme using the Signals DIP switch on the NinoTNC. | ||
| - | |||
| - | Some notes from Nino: | ||
| - | |||
| - | > The speeds refer to gross bit rate, not including IL2P overhead. The baud rates are 300 for the narrow modes and 1200 for the wide modes. Net bit rate will obviously be slightly less. | ||
| - | > | ||
| - | > Precise tuning will always be an advantage on SSB, but these have more inherent frequency mismatch tolerance than AFSK. 300 can deal with up to about 50 Hz. 1200 should work up to about 100 Hz. The QPSK modes are slightly less, respectively. | ||
| - | > | ||
| - | > In addition, the wideband PSK modes should work better than AFSK over FM, e.g. on 2m. I also expect these to work through mic/speaker connections or direct modulator/ | ||
| - | > | ||
| - | > The old 2400 bps audio mode at 0100 and 0101 will go away. It wasn't based on any widely-used standard and 2400 QPSK is far superior. | ||
| - | |||
| - | Performing the firmware update is easy- follow the instructions [[https:// | ||
| - | |||
| - | Once you have updated, you can set your signals switch to one of the new modes as per the table above. | ||
| - | |||
| - | To switch back to the previous mode, just change your signals switch settings. You don't even need to restart your software - the change is immediate and totally transparent to the software running on the PC. | ||
| - | |||
| - | Given these are new modes, it is at the very least good manners that we ID regularly in a well-known mode. To that end, this firmware IDs every 9 minutes in BPSK/QPSK modes, modulated in 1600/1800 AFSK AX.25. | ||
| - | |||
| - | On transmit, like any data mode, it's important to make sure that your signal is linear, i.e. clean. My recommendation is to turn your rig power up fairly high, turn your TX DEV pot on the TNC down to zero, hold down the TX TEST button on the NinoTNC until it goes into transmit test mode where it repeatedly transmits frames, let go of the button, then turn up the TX DEV pot on the TNC until you are transmitting the desired power level. Press and hold the TX TEST button for a moment and the TNC will come out of TX test mode. | ||
| - | |||
| - | Usage and testing in any scenario is encouraged: | ||
| - | |||
| - | * between nodes | ||
| - | * accessing a node | ||
| - | * keyboard to keyboard, e.g. using QtTermTCP at both ends | ||
| - | * on QO-100 | ||
| - | * even HF APRS! (Maybe someone will put up a BPSK or QPSK iGate?!) | ||
| - | |||
| - | Don't use this on established FSK packet channels - this will be QRM to anyone else on frequency - pick a clear channel anywhere in All Modes / Data sections of bands. | ||
| - | |||
| - | Please be sure to feed back your experiences to Nino and others via OARC Discord. | ||
| - | |||
| - | Usage with QtSoundModem | ||
| - | |||
| - | The user must: | ||
| - | |||
| - | * choose "IL2P Mode" | ||
| - | * and ensure the center frequency in QTSM is set to 1500. | ||
| ===== Surface-mount versions ===== | ===== Surface-mount versions ===== | ||
| Line 201: | Line 170: | ||
| [[https:// | [[https:// | ||
| + | [[packet: | ||
| + | |||
| + | [[https:// | ||
| ===== SLOTTIME and PERSIST ===== | ===== SLOTTIME and PERSIST ===== | ||
| Line 254: | Line 226: | ||
| 0110, 0111: 1248 Hz tone for 3.0kHz deviation \\ | 0110, 0111: 1248 Hz tone for 3.0kHz deviation \\ | ||
| 0101: 2079 Hz tone for 5.0kHz deviation \\ | 0101: 2079 Hz tone for 5.0kHz deviation \\ | ||
| + | C4FSK 9600 - 1039Hz for 2.5kHz outer deviation \\ | ||
| + | C4FSK 19200 - 2079Hz for 5.0kHz outer deviation \\ | ||
| + | |||
| + | ==== Frequency misalignment ==== | ||
| + | |||
| + | TL;DR: +/- 4kHz is absolute maximum misalignment for narrow channel, that will still be decoded | ||
| + | |||
| + | Tested using a 25kHz Tait TM8105, programmed with a 12.5kHz channel, using a 4k8 GFSK signal with 1.2kHz deviation, and tested with a signal generator. The receive performance was fairly consistent with frequency misalignment up to +-4kHz. At that limit, the Tait's RSSI pin was indicating 3dB less signal strength than when the frequency was perfectly aligned. At +- 5kHz misalignment, | ||
| + | |||
| + | Narrowband Kenwood TK-760, nearly the same as the Tait. Also tried a FTM-3100 set to narrow. Similar, but less accurate and wider. It worked +4kHz to -6kHz, suggesting a couple kHz oscillator misalignment. | ||
| ===== Misc Linux Notes ===== | ===== Misc Linux Notes ===== | ||
| Line 264: | Line 246: | ||
| After creating said file, run '' | After creating said file, run '' | ||
| - | ==== Auto mode switch ==== | + | If you have more than 1 TNC connected to the same device, it can be tricky to distinguish between them. The MPC2221a chip in the NinoTNC can be configured to expose a unique serial number, and udev rules can be set to ensure these get allocated consistent /dev nodes between reboots/ |
| - | === GPIO === | + | Serial number enumeration is disabled on the MPC2221a chip by default, it can be enabled using the tool at https://github.com/ |
| - | With Raspberry Pi GPIO, put /usr/bin in the crontab path, and add the following to /etc/crontab: | + | |
| - | < | + | '' |
| - | # 1000 - BPSK300 | + | |
| - | 0 * * * * | + | |
| - | # 1001 - QPSK600 | + | '' |
| - | 30 * * * * | + | |
| - | </ | + | |
| - | dl = drive low, dh = drive high. | + | '' |
| - | Wire the numbered GPIO pins to the bottom of the MODE DIP switch, turn all the switches off, and it'll mode-switch automatically. I've gone for BPSK300 for the first half of each hour, and QPSK600 for the second half. | + | '' |
| - | I picked GPIOs 5, 6, 13 and 19 (consecutive physical pins) to map to the DIP switch pins from left to right as you look at the PCB. | + | The chips have unique serial numbers which If preferred, the same tool can be used to specify a serial number for the device. The serial can be up to 16 characters (including unicode!) |
| - | === MCP2221A === | + | '' |
| - | The MCP2221A USB chip has four GPIOs which can be used to control | + | You can then update the udev rules to use the serial number you've set (or obtained from the output |
| - | This is experimental | + | Example udev rules for 2 TNCs with serials 0123456789 |
| - | General steps: | + | <file shell / |
| + | # Create a handy symlink to make refering to NinoTNC' | ||
| + | SUBSYSTEM==" | ||
| + | SUBSYSTEM==" | ||
| + | </ | ||
| - | '' | + | (Thanks to Nathan, MM3NDH for the udev rule.) |
| - | Install python3. | + | ==== Remote mode switch ==== |
| - | then, once (persistent): | + | === KISS SETHW command === |
| - | '' | + | As of firmware v41, NinoTNC supports setting the mode remotely using a SETHW KISS command in combination with all four MODE DIP switches being set to 1. |
| - | then, when required (non-persistent): | + | From the release notes: |
| - | '' | + | Use KISS SETHW command (6) followed by mode number in range 0-14. Mode number is in the modes table above. |
| - | where 1111 is the state of the four switches, left to right. | + | The KISS MODE setting |
| - | Wiring | + | **BPQ** |
| + | |||
| + | BPQ supports this via the '' | ||
| + | |||
| + | < | ||
| + | kiss < | ||
| + | </ | ||
| + | |||
| + | * Remembering to add 16 to the value if you don't want the setting written to memory. | ||
| + | |||
| + | **BPQ Examples** | ||
| + | |||
| + | kiss n is the port number - port 3 in these examples | ||
| + | |||
| + | the 6 is always constant | ||
| + | |||
| + | ^ Set port n to mode ^ temporary | ||
| + | | FSK300 IL2Pc (40m slot 1) | '' | ||
| + | | BPSK300 IL2Pc (40m slot 3) | '' | ||
| + | | QPSK600 IL2Pc | '' | ||
| + | |||
| + | **Linux Kernel** | ||
| + | |||
| + | When configuring the linux kernel you can add the value required to the '' | ||
| + | < | ||
| + | kissparms -p < | ||
| + | </ | ||
| + | |||
| + | * Remembering to add 16 to the value if you don't want the setting written to memory. | ||
| + | |||
| + | **Linux Kernel Examples** | ||
| + | |||
| + | ^ Set port n to mode ^ temporary* | ||
| + | | FSK300 IL2Pc (40m slot 1) | '' | ||
| + | | BPSK300 IL2Pc (40m slot 3) | '' | ||
| + | | QPSK600 IL2Pc | '' | ||
| + | |||
| + | * Note - for a startup script you should always use the temporary value rather than writing to memory each time | ||
| - | {{: | ||
| ===== Pinout ===== | ===== Pinout ===== | ||
| - | Note: this is the BACK / SOLDER side of the PLUG. | + | Note: this is the BACK / SOLDER side of the PLUG. You are looking at the solder cups, NOT the pins. |
| {{: | {{: | ||
| + | ===== Firmware ===== | ||
| + | |||
| + | To check your firmware version, press the test (red) button on TNC and observe the decoded packet. | ||
| + | |||
| + | < | ||
| + | =FirmwareVr: | ||
| + | 00000000=IL2PRxUnCr: | ||
| + | </ | ||
| + | |||
| + | To upgrade the firmware, see https:// | ||
| + | |||
| + | TL;DR: | ||
| + | |||
| + | < | ||
| + | # save a headache | ||
| + | sudo systemctl disable linbpq | ||
| + | sudo reboot | ||
| + | |||
| + | # then... | ||
| + | sudo apt install -y python3 python3-pip python3-serial git | ||
| + | git clone https:// | ||
| + | cd flashtnc | ||
| + | python3 flashtnc.py N9600A-v3-35.hex / | ||
| + | |||
| + | # don't forget to... | ||
| + | sudo systemctl enable linbpq | ||
| + | sudo systemctl start linbpq | ||
| + | </ | ||
| + | |||
| + | Use v3 firmware if you have a 256kb chip, or the v4 firmware if you have a 512kb chip. They are functionally identical, just tailored for the memory map of the device. | ||
| + | |||
| + | If you get dire warnings about bricked TNCs, know is this highly unlikely. Unplug TNC, reboot system, plug TNC, try again. | ||
| + | |||
| + | ===== Schematic ===== | ||
| + | |||
| + | Available from [[https:// | ||
| + | |||
| + | ===== Flashing CRC ===== | ||
| + | |||
| + | If your CRC light is flashing, you are driving the modem' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== TXTAIL note ===== | ||
| + | |||
| + | Fun finding. Nino implemented TXTAIL support in April, to support a newer Icom with digital audio chain with latency. It seems that BPQ sends a TXTAIL KISS command with value 3 (30ms) by default. My 70cm 9k6 port has therefore had a 30ms tail since then. That's a ton of overhead at 9k6! TXTAIL=0 in the port config seems to result in BPQ still sending 3 (30ms) to the modem periodically. But TXTAIL=1 (ms) in the config seems to result in BPQ sending TAIL KISS command with value 0 (0ms) which is what we probably want. Therefore my recommendation is to put TXTAIL=1 into the PORT config for any NinoTNC port that isn't an Icom 9700. | ||
packet/ninotnc.1710451094.txt.gz · Last modified: by g5dsg
