Cannot connect to Apalis iMX8 Ixora board over serial connection with VSCode Torizon extension

Hello,
I can see my Apalis IMX8 SOM on Ixora board connected to the debug port on COM3 from device manager.
When I try to connect to the board using the Toradex Torizon extension in VSCode v1.71.0 on serial, I get an error as follows.

[08-06 11:02:48.204] Serial port error.

[08-06 11:02:48.205] Error (536) - Serial port error: [Errno 2] could not open port COM3: [Errno 2] No such file or directory: ‘COM3’

I have also tried COM3: and COM 3 , but get the same error.

1 Like

Hi @SJ_BHD, how are you?

Thanks for reporting this behaviour. We’ve been able to reproduce it and we’ll come back to you once we have a proper solution.

Best regards,

Hello @gclaudino.tx -any updates on the serial connection?

If a docker container can be made on the host machine (PC/laptop) with the Torizon extension in VSCode, where is this container located?
Then maybe one option could be to scp this container to the board using a tool like Putty instead if trying to connect to board in VSCode with extension.

Hi @SJ_BHD,

This has not been corrected yet but the ticket is open and the team will be working on it. Would you be able to connect to your module on the extension using SSH?

Just to confirm, do you want to run the extension inside a Container and then connect through the board using this specific container? To see the containers running on your machine you can use docker ps.

Edit: To see the container images on your PC even those that are not running you can use docker images. The images will be stored in the local registry and you can use the extension to push the images to the board through ssh.

Best regards,

Hi @SJ_BHD !

Do you have news on this topic?

Best regards,

@henrique.tx @gclaudino.tx

I believe the issue with this is the dependency of the Torizon VSCode extension on WSL2.

If you check the following link for WSL1 and WSL2 comparisons :roll_eyes:

In this page within the section for Exceptions for using WSL1 versus WSL2, it states

  • WSL 2 does not include support for accessing serial ports.

So the next question would be if the Torizon extensions in VSCode can work with WSL1??

Kind regards,
Shantanu Jadhav

Hi @SJ_BHD !

According to our documentation, it is meant for WSL2 only:

Best regards,

Can the extension be updated to work with WSL1?

Hello @SJ_BHD ,

Can the extension be updated to work with WSL1?

Most probably not. In the meantime you can try connecting to your board via SSH using the Ethernet connection.
Can you explain your use case? Is the serial connection mandatory for you?

Best regards,
Josep

In the office environment, we have a corporate VPN that blocks the Toradex extensions and also the libraries from debian.
So wanted to download these on a separate machine and then install them via serial.

Hi @SJ_BHD !

Doing this way, you will most probably stumble on some other issue related to the lack of access to the online feeds in the future.

Can’t your VPN allow the specific URLs needed for development?

Best regards,

Hi @SJ_BHD !

Do you have any updates regarding this topic?

Best regards,

How can a torizon container image be deployed to the board via serial connection?
This needs to be done outside vscode as the torizon vscode extension does not support serial connection.

So on a regular command terminal in windows, how can the docker image be located (this is the one created by torizon in vscode) and SSHed to the board via the debug UART?

I tried locating the docker images but they seem to be in a ext4.vhdx format at the following location on windows
C:\Users<username>\AppData\Local\Docker\wsl\data

I can definetely connect to the board on serial via Putty. But how can this image be accessed for sending via SSH to the board?

I have used the following instructions to get the Verdin board on Dahlia detected in WSL over the debug USB connection to the laptop USB via USB-A (laptop) to USB-C (Dahlia debug port X18) connection.

I can see the device is detected in WSL2. However, I cannot see any mass storage devices in here. If I had seen a detected mass storage device, I could have copied across the docker image file on the serial USB debug link.

:/mnt/c/windows/system32$ lsusb --tree
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=vhci_hcd/8p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=vhci_hcd/8p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 480M
|__ Port 1: Dev 3, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 480M
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=ftdi_sio, 480M
|__ Port 1: Dev 3, If 3, Class=Vendor Specific Class, Driver=ftdi_sio, 480M
:/mnt/c/windows/system32$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

How can the USB mass storage device on the Verdin Dahlia board be seen? Is it by connecting to a different USB port X3 or X4?

I’m confused are you trying to transfer the docker images via network/ssh or via serial UART? You mention both, but these are very different things.

Generally speaking you can use docker save/load as described here: Deploying Container Images to TorizonCore | Toradex Developer Center

This turns your docker image into a tar file that can then be moved around as you would any other file.

Best Regards,
Jeremias

Hello @jeremias.tx ,

Thanks for your support but I dont think my query is resolved.

I am trying to send the docker container image to the verdin dahlia board completely on serial debug UART. No Ethernet or IP connection involved.

  1. Save docker container image to windows directory - thanks for your instruction above, I can do that.

  2. Send to board only on serial debug UART - How can this be done??

Hi @SJ_BHD !

VS Code extension for Torizon uses only network connection (SSH) to send/receive files and exchange information with the module during development.

Using UART for this is not supported and would have a huge impact on communication speed and reliability.

Could you elaborate on why you need to only use Debug UART to send files to the module during development? Nowadays having a network connection with the module at least for development is a basic requirement.

But, anyway, as @jeremias.tx wrote above, you can do something like this to send/receive a file over serial connection:

Best regards,

Sorry but both these solutions do not work.

The Torizon VSCode extensions claims to connect via serial. My only desire is to see this serial option working.

Hi @SJ_BHD !

The serial connection is used only at the beginning of the process to get information from the module and then switch to the network connection. After the initial serial connection, all the subsequent communication is carried out via the network (SSH).

Sorry if this is not clear. I will bring up this confusion internally so we can review how we can better explain the serial connection feature.

Best regards,