Possibilities to debug - Viola Carrier Board

Dear Community,

I’m looking for a way to debug the running programs on my colibri board. Since I use the UART interface of my Viola carrier board to run the programs, I’m not able to really see what happens in the background. So here is my question to you: Is there a way to be able to “paralell” access to the board from my host computer and see what might be happening in the background?

Thank you.

Kind regards.

And what exact hardware (module and carrier board) and software versions of things are you talking about?

Hi @marcel.tx,

I use the Colibri iMX8X with the latest release version of Linux (3.0.4 | 2020-04-21 | 101.84 MB) and as my carrier board I use the Viola Plus.

What I want to do, is to debug a TCPIP connection between a third party program (client) and my own program (server). The server autostarts after boot and I manually start the client program. Therfore I only see the client program and miss out on what it’s happening at the TCPIP connection.

That’s why I want to know if there is a way for me to parallel access the Colibri and debug the TCPIP connection over another interface.

So far the only way I see what happened on the TCPIP connection, is by using the comand systemctl status connection.service

HI @cae30989

Since I use the UART interface of my Viola carrier board to run the programs, I’m not able to really see what happens in the background.

I don’t understand this. Are you using UARTA for your application and you don’t have any console output or what exactly is the issue?

So here is my question to you: Is there a way to be able to “parallel” access to the board from my host computer and see what might be happening in the background?

You can access the board using UART Console or ssh on a different Ethernet interface than the one you are using for your application.

What I want to do, is to debug a TCPIP connection between a third party program (client) and my own program (server). The server autostarts after boot and I manually start the client program. Therefore I only see the client program and miss out on what it’s happening at the TCP/IP connection.

If the third party program (client) is running on your host, then you can run wireshark to analyse your network traffic.

So far the only way I see what happened on the TCPIP connection, is by using the comand systemctl status connection.service

What information did you get?

Best regards,
Jaski

Hi @jaski.tx

thank you for your answer.

The UARTA is working just fine, the thing is that I only see the output of the client (third party program) and I wish to see the debug lines, I built into the server (my own program). Both these programs are running on the Colibri board.

If the third party program (client) is running on your host, then you can run wireshark to analyse your network traffic.

Can I still use Wireshark to see what happens only inside of my Colibri? I don’t really know my way around this program.

What information did you get?

I’m getting packages with bytes. I have been writen them into a LogFile.

Kind regards

Hi @jaski.tx

I installed Wireshark on my Host computer and I tried the option ssh remote capture: sshdump. After reading a bit I found out that the Colibri doesn’t know the command tcpdump. I used the command opkg update and opkg install tcpdump and the answer to this was

Collected errors: * opkg_prepare_url_for_install: Couldn’t find anything to satisfy tcpdump

Is there a different command or way of getting this to work?

Thank you.

Hi @cae30989

If tcpdump is not included in the image, then you can build the package doing OpenEmbeddedBuild.

Best regards,
Jaski

Hi @alex.tx

to see what happens only inside of my Colibri"

I’m trying to debug a local connection, the loopback in my Colibri.

I will try the inline debugging you mention, thank you.

You are welcome. Let us know if you have any other questions.

Could you define “to see what happens only inside of my Colibri”? You can add debug print to system console to your app an you will see it on debug UART. Or you can use Eclipse to do inline debugging of your app using SSH -