WoAD with Teensy ARDOP TNC

387 views
Skip to first unread message

Jens Andersson

unread,
Nov 14, 2022, 4:12:44 AM11/14/22
to WoAD Support
According to  WoAD - Version (sumusltd.com) version 1.4.63 should support 
Teensy ARDOP TNC. 
"Add support for USB connection to ARDOPC server"

What is Teensy ARDOP TNC? 
It's a TNC based on Teensy 3.6 microcomputer, mounted onto a circuit board with the same outer dimensions as the raspberry pi. It is also called TNC-Pi9k.
It can be used as a sound card, for packet radio and for ARDOP 1 and 2, depending on the firmware. 
It was developed by John Wiseman, G8BPQ.  It was also sold by Coastal Chipworks. 
Introduction: 
Pictures:

Why? 
- to not just make a portable, but a pocket portable winlink HF station. 

Progress and problems so far:
My Teensy ardop tnc is working with winlink on a windows PC over USB when configured as a Pactor modem. 
With Android and USB Serial terminal app, I can communicate with it. When I send text strings to it, the TNC reponds. 
After connecting with USB Serial terminal and givin WoAD all permissions in the settings, (And of course terminating Serial terminal), WoAD can recognize the serial port. 
After setting up a session (ARDOP.1, Outgoing, TNC Type USB, USB Port /dev/.., Use device settings) and starting it, my Samsung A7 Lite with Android 12 gives an error message "Cannot open serial port".. and on my Samsung xcover 4s, Android 11, WoAD just crashes immediately.  

Has anyone else tried using Teensy ARDOP TNC with WoAD, and did you succeed? 
 
73


Andrew Walker

unread,
Nov 18, 2022, 8:14:52 PM11/18/22
to Jens Andersson, WoAD Support
Hi Jens,

I've tested WoAD communicating with the ARDOPC code, running on a Windows machine, via a TCP/IP connection and all worked well. As I understand it the protocols should be the same. Unfortunately it currently seems impossible to order a Teensy 3.6 board from anywhere due to chip shortages.

That said, I have noticed reports of crashes in WoAD caused by a call to the serial driver's purgeHwBuffers(...) which resulted in an uncaught exception. This should be fixed in the next release, and it would be much appreciated if you could let me know what you find after that.

All the best,

Andrew
VA7YAA

--
You received this message because you are subscribed to the Google Groups "WoAD Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to woad-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/woad-support/d1319794-129c-43fb-879d-5be1cafbd577n%40googlegroups.com.

Jens Andersson

unread,
Nov 21, 2022, 7:07:56 AM11/21/22
to WoAD Support
>> That said, I have noticed reports of crashes in WoAD caused by a call to the serial driver's purgeHwBuffers(...) which resulted in an uncaught exception. This should be fixed in the next release, and it would be much appreciated if you could let me know what you find after that.

Yes, I will try the next release and let you know. 
BR, 
jens

Jens Andersson

unread,
Nov 26, 2022, 3:47:24 AM11/26/22
to WoAD Support
New version V1.4.71
Now I get almost consistent results on both Xcover 4s and on  Samsung Tab A7 Lite:
- on Tab A7 Lite I have to select the serial port every time, as the identifier increases  (Teensyduino: USB /dev/bus/usb/001/005), and it has problems opening the serial port from time to time "Failed to open selected USB device (262503473)"
- no longer crashes when running a session
- teensy ardop tnc does nothing, no LEDs flash, LCD screen does not change
- session stays in RUNNING mode until I stop it
- log file says:
* Session 'Session (1)' started
* -> ARDOP
* -> OK cmd   (only first time starting a session)
* -> JHOST4
* -> INITIALIZE
* Session 'Session(1) was terminated by user

BR,
jens

Jens Andersson

unread,
Nov 27, 2022, 2:29:18 AM11/27/22
to WoAD Support
Screenshot_20221127-091455_WoAD.jpg
Woad has difficulties opening the USB serial port. It help to shut down all programs, reconnect and "prime" the connection with Serial USB terminal first.
First time it goes all the way to setting mycall and gridsquare. Then it does nothing on an outgoing call. It just sits there until user intervenes.
On the second start of a session, it does not set mycall and grid anymore since they are already set, and then it just sits there.

I tried fooling WoAD by connecting the phone to a computer and replying to the traffic with my keyboard.
This is what I got (no Teensy ardop tnc connected):
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2022.11.27 08:58:00 =~=~=~=~=~=~=~=~=~=~=~=
ARDOP
OK
JHOST4
OK
 @
INITIALIZE*~OK
 
MYCALL OH6ELN OK
MYCALL OH6ELN
 GRIDSQUARE KP03ue14
GRIDSQUARE KP03ue14
OK
OK

So there is something going on at least. If I connect Teensy Woad tnc to the computer terminal it becomes unresponsive after the command JHOST4, probably because that enables some checksum protocol.
This is what I got:
cmd: ARDOP


OK
cmd: INITIALIZE
INITIALIZE
cmd: JHOST1

cmd: MYCALL OH6ELN
FAULT CMD YCALL not recoginized
cmd: MYCALL OH6ELN

Mycall: >OH6ELN<
cmd: GRIDSQUARE KP03ue14
GRIDSQUARE now KP03UE14
cmd: ARQCALL OH2RBB 5
ARQCALL OH2RBB 5
cmd: ABORT
ABORT
cmd:
For some reason it drops a letter of the command following JHOST1. Every time.

Jens Andersson

unread,
Dec 2, 2022, 12:15:01 PM12/2/22
to WoAD Support
With the changes John did to the ARDOP1 code for Teensy, (and .hex file build on cantab site) it now seems to work.
Here is a log screenshot from WoAD:
Screenshot_20221202-190124_WoAD.jpg
And here is the debug output from Teensy Ardop TNC:
Input is on Port 1
SCS Command ARDOP
ARDOP Native Mode
SCS Command JHOST4
Entering Host Mode
Command to Host BUFFER 0
[Command Trace FROM host: INITIALIZE
Command to Host BUFFER 0
Sending CMD Reply INITIALIZE
[Command Trace FROM host: MYCALL OH6ELN
Sending CMD Reply MYCALL now OH6ELN
[Command Trace FROM host: GRIDSQUARE KP03UE14
Sending CMD Reply GRIDSQUARE now KP03UE14
[Command Trace FROM host: DRIVELEVEL 50
Sending CMD Reply DRIVELEVEL now 50
[Command Trace FROM host: SQUELCH 3
Sending CMD Reply SQUELCH now 3
[Command Trace FROM host: BUSYDET 5
Sending CMD Reply BUSYDET now 5
[Command Trace FROM host: TUNINGRANGE 100
Sending CMD Reply TUNINGRANGE now 100
[Command Trace FROM host: LEADER 500
Sending CMD Reply LEADER now 500
[Command Trace FROM host: TRAILER 100
Sending CMD Reply TRAILER now 100
[Command Trace FROM host: PROTOCOLMODE ARQ
Sending CMD Reply PROTOCOLMODE now ARQ
[Command Trace FROM host: ARQBW 500MAX
Sending CMD Reply ARQBW now 500MAX
[Command Trace FROM host: ARQTIMEOUT 45
Sending CMD Reply ARQTIMEOUT now 45
[Command Trace FROM host: AUTOBREAK TRUE
Sending CMD Reply AUTOBREAK now TRUE
[Command Trace FROM host: CWID FALSE
Sending CMD Reply CWID now FALSE
[Command Trace FROM host: CODEC TRUE
Sending CMD Reply CODEC now TRUE
[Command Trace FROM host: ARQCALL OH2RBB 5
Sending CMD Reply ARQCALL OH2RBB 5
Command to Host NEWSTATE ISS
[SendARQConnectRequest] strMycall=OH6ELN  strTargetCall=OH2RBB bytPendingSessionID=dc
Sending Frame Type ConReq500M
totSamples 24000
Input peaks 0 -368 average -353
Command to Host INPUTPEAKS -368 0
Repeating Last Frame
Sending Frame Type ConReq500M
totSamples 24000
Repeating Last Frame
Sending Frame Type ConReq500M
totSamples 24000
Input peaks 0 -367 average -354
Command to Host INPUTPEAKS -367 0
Repeating Last Frame
Sending Frame Type ConReq500M
totSamples 24000
Repeating Last Frame
Sending Frame Type ConReq500M
totSamples 24000
Command to Host BUFFER 0
Command to Host BUFFER 0
Command to Host NEWSTATE DISC
Command to Host STATUS CONNECT TO OH2RBB FAILED!


It was just a dry run without a radio, so no connection.
I did however succeed in connecting here earlier.

Thank you for the implementation and the support.
73,
Jens OH6ELN

Jens Andersson

unread,
Dec 30, 2022, 1:42:47 AM12/30/22
to WoAD Support
One small thing.. Suggestion for future vesions. 
Would it be possible to use the DRIVELEVEL setting to also give the corresponding TXLEVEL ? 
DRIVELEVEL is a number from 0 to 100, but unfortunately it does nothing on the Teensy ARDOP TNC with the current code. 
TXLEVEL is a number from 0 to 3000, and it sets the digital potentiometer. 

So for instance, if DRIVELEVEL is set to 50, WoAD could also give the command TXLEVEL 1500

Long story: 
As it is now, I have to provide external +5V supply to the TNC, connect the TNC to the android device and set TXLEVEL 150 with Serial USB Terminal. Then, while still on external power, terminate Serial USB Terminal app, disconnect USB cable, reconnect USB cable and start WoAD.  

A possibility to set CWID TRUE/FALSE would also be nice. 

BR, 
jens OH6ELN

Andrew Walker

unread,
Dec 31, 2022, 7:11:22 PM12/31/22
to Jens Andersson, WoAD Support
Hi Jens,

For the ARDOP session settings I've added a CWID enable/disable option as well as options to disable/enable sending a TXLEVEL and the level itself.  The DRIVELEVEL will continue to be set as it is now.
The new options will be available in the next release of WoAD (1.4.73). Please let me know whether or not everything works as expected.

All the best,

Andrew
VA7YAA

Jens Andersson

unread,
Jan 3, 2023, 11:24:54 AM1/3/23
to WoAD Support
I think I hit a small snag.
On radio I blamed poor conditions when messages were not being sent, so I decided to take radio out of the equation.
Setup is android v12+woad v1.4.71 p2p session(calling as OH6EL) -> teensy ardop tnc -> USB soundcard -> PC+WLE v1.7.3.0 running P2P session, listening as OH6ELN.
After establishing connection, snippet from the logfile:
Error,2023-01-03 15:35:49Z,"Failed to initialize session [Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference]","loc p2p"
Info,2023-01-03 15:35:49Z,"Session ‘loc p2p’ ended","loc p2p"

WoAD reports session as Stopped, while Teensy ardop tnc and WLE go ping-pong back and forth for a minute or so before closing.
BR,
jens

Andrew Walker

unread,
Jan 3, 2023, 4:43:37 PM1/3/23
to Jens Andersson, WoAD Support
Hi Jens,

Thanks for reporting the problem.

Could you provide a bit more context as to when the problem occurs? In particular how many messages are in your outbox, do any of them have attachments, templates, etc?
Does the problem still occur if there are no messages in the outbox? Is the problem consistent or did you just see it the one time?

Many thanks,

Andrew
VA7YAA

Jens Andersson

unread,
Jan 4, 2023, 12:48:08 AM1/4/23
to WoAD Support
On this setup the problem is consistent. It occurs both with and without messages (no attachment files tried yet). It occurs in both outgoing and incoming p2p sessions.
With a message the log file looks like this:
On Winlink side it says:
*** Connected to Peer: OH6EL @ 2023/01/04 05:25:29  USB Dial: 3697,500
;FW: OH6EL
[WoAD-1.4.71-B2FHM$]
OH6ELN DE OH6EL >
   ;FW: OH6ELN
   [RMS Express-1.7.3.0-B2FHM$]
   ; OH6EL DE OH6ELN (KP03UE)
   ;PM: OH6EL PG0BYYW47IVR 198 OH6ELN test message
   FC EM PG0BYYW47IVR 230 198 0
   F> 63
*** Disconnected from Peer: OH6EL @ 2023/01/04 05:26:51
*** Session: 1.3 min;  Avg Throughput: 0 Bytes/min;   1 Min Peak Throughput: 0 Bytes/min
Will do some more testing. Maybe somehow set up a winlink session without radio if it's possible.
BR,
jens

Jens Andersson

unread,
Jan 6, 2023, 4:25:13 AM1/6/23
to WoAD Support
I installed RMS Trimode and RMS Relay without access to internet, and as Radio-only station.
What I found out was that RMS Trimode does not accept a 8-character locator, or it gets lost somewhere.
2023-01-06 07:34:54 1.3.48.0 *** Invalid client grid square for OH6EL. No session record reported. Error: The grid square is missing
2023-01-06 07:37:39 1.3.48.0 *** Exit clicked
2023-01-06 07:37:39 1.3.48.0 *** RMS Trimode is shutting down due to UserClosing
When manually setting the grid square to 6 characters, the locator gets through.
2023-01-06 08:15:31 1.3.48.0 OH6EL has 97 daily minutes remaining with OH6ELN (KP03UE)
 Now the game changes:
2023-01-06 08:29:09 1.3.48.0 OH6ELN RMS Relay >
2023-01-06 08:29:37 1.3.48.0    ;FW: OH6EL
2023-01-06 08:29:37 1.3.48.0    [WoAD-1.4.71-B2FHM$]
2023-01-06 08:29:37 1.3.48.0    ;PR: 35139750
2023-01-06 08:29:37 1.3.48.0    ; WL2K DE OH6EL (KP03ue)
2023-01-06 08:29:37 1.3.48.0    FC EM X13M504YZLTW 8431 1496 0
2023-01-06 08:29:37 1.3.48.0    F> 18
2023-01-06 08:29:37 1.3.48.0 FS Y
2023-01-06 08:29:37 1.3.48.0    [Transferring binary data to RMS Relay]
2023-01-06 08:31:45 1.3.48.0 ARDOP Status=DISCONNECTED
2023-01-06 08:31:47 1.3.48.0 OnDisconnect via ARDOP NewState=DISCONNECTED
2023-01-06 08:31:47 1.3.48.0 *** Disconnecting from RMS Relay due to Server disconnect event reported Linkstate = Connected
2023-01-06 08:31:47 1.3.48.0 *** Disconnected from OH6EL at 2023-01-06 08:31:47 UTC, CMS link ended.
2023-01-06 08:31:47 1.3.48.0 -- Connection Summary for OH6EL -- 2023-01-06 08:31:47 Mode: ARDOP5   Bytes Confirmed Sent: 243   Bytes To CMS: 108
Messages do not go through, and I don't know if it's because the RMS Relay is rejecting them, or for some other reason (messages not radio only?).
Good news is that WoAD does not log the error message "Failed to initilize session.." when connecting to RMS Trimode - that only happens when running a p2p session connected to RMS Express.
Next step is to take the Teensy back to the radio room and once again try connecting to a real RMS connected to a CMS.
BR,
jens

Andrew Walker

unread,
Jan 6, 2023, 1:01:14 PM1/6/23
to Jens Andersson, WoAD Support
Hi Jens,

I'll add a configuration setting to allow the user to specify the number of characters they want generated for the grid square so that RMS Trimode will talk to WoAD successfully.

I've tried to reproduce the ARDOP P2P problem, but everything seems to be working when going through ARDOP_Win TNC, so the problem may be arising from a particular response from the Teensy ARDOP TNC.

Many thanks for continuing to investigate this.

All the best,

Andrew

Jens Andersson

unread,
Jan 18, 2023, 11:30:53 AM1/18/23
to WoAD Support
Version 1.4.72.
Sessions - edit - Settings - TNC Settings - Set TX Level [y], then when I tap the TX level (0-3000) the app crashes immediately, without even leaving a note in the log file. 
Same thing with both my devices, regardless if the Teensy Ardop TNC is connected or not.
If there is something I can try, just let me know.
BR,
jens

Andrew Walker

unread,
Feb 2, 2023, 6:25:55 PM2/2/23
to WoAD Support
Hi Jens,

This was fixed in 1.4.73. Let me know if you have any other problems.

All the best,

Andrew
VA7YAA

Reply all
Reply to author
Forward
0 new messages