USB serial console

Why might you want to connect to a goTenna via USB?
I’m trying to debug pairing problems, but you might just be curious. I have no idea what you can accomplish via the serial console.

How do you do it?
These instructions are for a Mac. From the terminal, you can either use screen or cu. I couldn’t get the screen to align properly with either of them. Each line started farther to the right than the one above it.

  1. Use the USB cable to plug the goTenna into your Mac
  2. use ls to find your goTenna device “ls /dev/cu*”
    3a) Connect via screen “screen -L /dev/cu.usbmodem621 -L”
    3b) Connect via cu “sudo cu -l /dev/cu.usbmodem621”
  3. type “log” or you won’t see any output. If this works, you will see “Logs enabled”
  4. type “?” to get a list of commands
    6a) Use Ctrl + A and then Ctrl + K to exit screen
    6b) Use ~. to exit cu

It may help to restart your goTenna immediately prior to step 3.

Of course screen and cu both have man pages which might have solutions for #2 below. I should read them. Instead I read:

screen https://software.intel.com/en-us/setting-up-serial-terminal-on-system-with-mac-os-x
cu https://apple.stackexchange.com/questions/32834/is-there-an-os-x-terminal-program-that-can-access-serial-ports

Open questions:

  1. What goTenna hardware/software versions support connecting via serial console?
  2. How do you align the text output?
  3. What is the equivalent for other platforms (Windows, Linux, etc…)
  4. What can you do with this?
  5. Is there a better way to do this? (Kermit?)
  6. Is there good documentation for this anywhere?
5 Likes

Very cool, nice find. Did you just find this randomly while dicking around?

I know it’s probably FCC bullshit preventing this from being a thing, but for Arduino-based development I really wish we could have a straight serial console to work with for sending and receiving messages.

Have you tried sniffing serial while using the USB SDK and seeing if anything interest pops up? Maybe we can reverse engineer the serial messages?

I’d love to try this but I still haven’t gotten my SDK token yet.

1 Like

“Did you just find this randomly while dicking around?”
I bought some goTenna Mesh units that I was briefly able to communicate with prior to the iOS app “upgrading” them. That led me to the “Exit from DFU mode” thread.

It has all the most important information from my post above. I’m just trying to make more and better information available on the forums, so that the next person is more likely to be able to solve their problems. Either goTenna doesn’t realize how many people would benefit from better documentation or they lack the resources to produce it. It’s probably some of each.

Reading the SDK documentation gave me as many new questions as answers.
https://github.com/gotenna/PublicSDK