Torizoncore image download stuck at 0% when using local web server

Hi,

I am trying to set up a production setup with the web server and autoinstalled custom torizon images.
My setup:
Yavia board with Verdin AM62 with Tezi installed(in RAM as after the Recovery procedure)
Connected to laptop over ethernet
Laptop OS: Ubuntu 24.04 LTS

Tried both by hosting an http server in the directory (pythom -m http.server --directory
And by using torizoncore-builder images serve

When I connect to the Verdin module with the VNC server, it sees the images I host (meaning it downloads images.json successfully)
But when I press “Install” , the progress bar is stuck at "TorizonCore: Downloading and extracting file(s)

tezi.log from the board (this is the local web server attempt, so it gives errors when checks the previous zeroconf address, so those errors can be ignored):

qt.qpa.wayland: Failed to load client buffer integration: “wayland-egl”
qt.qpa.wayland: Available client buffer integrations: ()
USB Gadget: NCM enabled
Trying to read configblock from “mmcblk0boot0” at -512
Running Command: “/usr/bin/avahi-set-host-name” (“verdin-am62-15361815”)
Finished with exit code: 0
avahi-set-host-name:
“”
USB Gadget: NCM enabled
“AVAHI_CLIENT_S_REGISTERING”
Scanning media initially…
NCM up in 0.316 seconds
“AVAHI_CLIENT_S_RUNNING”
“AVAHI_BROWSER_CACHE_EXHAUSTED”
“AVAHI_BROWSER_ALL_FOR_NOW”
“New service ‘Custom Toradex Easy Installer Feed’ of type tezi.tcp in domain local on protocol IPv4."
Network up in 3.127 seconds
Tezi Server lookup successfully
Downloading image list from “http://tezi.toradex.com/image_list.json?PID8=00751101
Downloading image list from “http://tezi.toradex.com/image_list_3rdparty.json?PID8=00751101
"New service ‘Custom Toradex Easy Installer Feed’ of type tezi.tcp in domain local on protocol IPv4."
Adding zeroconf feed “Custom Toradex Easy Installer Feed”
Downloading image list from “http://stas-ubuntu.local:80/image_list.json
Removing zeroconf feed “Custom Toradex Easy Installer Feed”
“Service ‘Custom Toradex Easy Installer Feed’ removed from the network.”
“Service ‘Custom Toradex Easy Installer Feed’ removed from the network.”
"New service ‘Custom Toradex Easy Installer Feed’ of type tezi.tcp in domain local on protocol IPv4."
Adding zeroconf feed “Custom Toradex Easy Installer Feed”
Downloading image list from “http://stas-ubuntu.local:80/image_list.json
"New service ‘Custom Toradex Easy Installer Feed’ of type tezi.tcp in domain local on protocol IPv4."
Removing zeroconf feed “Custom Toradex Easy Installer Feed”
“Service ‘Custom Toradex Easy Installer Feed’ removed from the network.”
“Service ‘Custom Toradex Easy Installer Feed’ removed from the network.”
Downloading image list from “http://stas-ubuntu.local:80/image_list.json
Downloading image list from “http://stas-ubuntu.local:8000/image_list.json
Tezi Server lookup successfully
Downloading image list from “http://tezi.toradex.com/image_list.json?PID8=00751101
Downloading image list from “http://tezi.toradex.com/image_list_3rdparty.json?PID8=00751101
Error: “Error downloading image list: Connection refused\nURL: http://stas-ubuntu.local:80/image_list.json\nPlease try again.”
Downloading image list from “http://stas-ubuntu.local:80/image_list.json
Downloading image list from “http://stas-ubuntu.local:8000/image_list.json
Tezi Server lookup successfully
Downloading image list from “http://tezi.toradex.com/image_list.json?PID8=00751101
Downloading image list from “http://tezi.toradex.com/image_list_3rdparty.json?PID8=00751101
Error: “Error downloading image list: Connection refused\nURL: http://stas-ubuntu.local:80/image_list.json\nPlease try again.”
Downloading image list from “http://stas-ubuntu.local:80/image_list.json
Downloading image list from “http://stas-ubuntu.local:8000/image_list.json
Tezi Server lookup successfully
Downloading image list from “http://tezi.toradex.com/image_list.json?PID8=00751101
Downloading image list from “http://tezi.toradex.com/image_list_3rdparty.json?PID8=00751101
Error: “Error downloading image list: Connection refused\nURL: http://stas-ubuntu.local:80/image_list.json\nPlease try again.”
Downloading image list from “http://stas-ubuntu.local:8000/image_list.json
Tezi Server lookup successfully
Downloading image list from “http://tezi.toradex.com/image_list.json?PID8=00751101
Downloading image list from “http://tezi.toradex.com/image_list_3rdparty.json?PID8=00751101
Progress: “”
Available slides (“/var/volatile/marketing//slides_vga/A.png”, “/var/volatile/marketing//slides_vga/B.png”, “/var/volatile/marketing//slides_vga/C.png”)
Processing Image: “TorizonCore”
Executing: /bin/sh ("/var/volatile/custom-tcbuild-invendor-overlays-latest
/prepare.sh", “0075”, “V1.1B”, “15361815”, "/var/volatile/custom-tcbuild-invendor-overlays-latest
__”)
Env: (“PATH=/bin:/usr/bin:/sbin:/usr/sbin”)
Output: “”
Finished with exit code: 0
Processing blockdev: “mmcblk0”
Partition: 0 Type: “83”
New partition table:
“start=8192,size=14868480,type=83\n”
Running Command: “/usr/sbin/sfdisk” (“-uS”, “–label”, “dos”, “/dev/mmcblk0”)
Progress: “Writing partition table”
Finished with exit code: 0
sfdisk done, output: “Checking that no-one is using this disk right now … OK\n\nDisk /dev/mmcblk0: 7.09 GiB, 7616856064 bytes, 14876672 sectors\nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\nDisklabel type: dos\nDisk identifier: 0x3246fb13\n\nOld situation:\n\nDevice Boot Start End Sectors Size Id Type\n/dev/mmcblk0p1 8192 14876671 14868480 7.1G 83 Linux\n\n>>> Created a new DOS disklabel with disk identifier 0xec4c3e8d.\n/dev/mmcblk0p1: Created a new partition 1 of type ‘Linux’ and of size 7.1 GiB.\nPartition #1 contains a ext4 signature.\n/dev/mmcblk0p2: Done.\n\nNew situation:\nDisklabel type: dos\nDisk identifier: 0xec4c3e8d\n\nDevice Boot Start End Sectors Size Id Type\n/dev/mmcblk0p1 8192 14876671 14868480 7.1G 83 Linux\n\nThe partition table has been altered.\nCalling ioctl() to re-read partition table.\nSyncing disks.\n”
Running Command: “/sbin/udevadm” (“settle”)
Finished with exit code: 0
Progress: “Zero’ing start of each partition”
1+0 records in
1+0 records out
Running Command: “/sbin/mkfs.ext4” (“-L”, “otaroot”, “-O ^metadata_csum”, “-T default”, “-E”, “nodiscard”, “/dev/mmcblk0p1”)
Progress: “Creating filesystem (ext4)”
Finished with exit code: 0
Running Command: “mount” (“/dev/mmcblk0p1”, “/run/media/tmp”, “-o”, “acl”)
Progress: “Mounting file system”
Finished with exit code: 0
Uncompress file “torizon-core-docker-verdin-am62.ota.tar.zst”
Running Write Command: sh (“-o”, “pipefail”, “-c”, “curl --silent --show-error --connect-timeout 10 --continue-at - --speed-limit 1024 --speed-time 10 --retry 10 ‘http://stas-ubuntu.local:8000/custom-tcbuild-invendor-overlays-latest/torizon-core-docker-verdin-am62.ota.tar.zst’ | zstd -dc | pv -b -n 2>/var/volatile/pvpipe | tar -x --xattrs --xattrs-include=‘*’ --numeric-owner --acl --warning=no-timestamp --warning=no-unknown-keyword -C /run/media/tmp/”)
Progress: “TorizonCore: Downloading and extracting file(s)”

Any ideas would be appreciated,
Thanks

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Based on the context provided, the issue seems to be related to the local web server configuration or network connectivity, as indicated by the repeated “Connection refused” errors when trying to download the image list from the local server. Here are some steps you can take to troubleshoot and potentially resolve the issue:

  1. Verify Local Web Server Configuration: Ensure that the local web server is correctly set up to serve the required files. Double-check that the server is running and listening on the correct ports (80 and 8000) and that the files are in the correct directory.

  2. Check Network Settings: Make sure that there are no firewall or network settings on your laptop or network that could be blocking access to the server from the Verdin module. This includes checking any security software that might be interfering.

  3. Test Server Accessibility: Use another device on the same network to access the local server using the URLs http://stas-ubuntu.local:80/image_list.json and http://stas-ubuntu.local:8000/image_list.json to ensure they are reachable.

  4. Review Server Logs: Check the logs of the local web server for any errors or misconfigurations that could be causing the connection issues. This might provide more insight into why the connection is being refused.

  5. Confirm URL Validity: Ensure that the URLs being used for the image lists are correct and reachable from the Verdin module. You might want to try using the IP address of the laptop instead of the hostname to rule out any DNS resolution issues.

  6. Check for Zeroconf Issues: Since the logs mention zeroconf services, ensure that there are no conflicts or issues with the zeroconf setup that might be affecting the service discovery or connectivity.

By addressing these areas, you should be able to identify and resolve the issue causing the installation process to be stuck at the downloading stage.

Please, also check if these links can help you solve your problem:

Host does not exist - PuTTY.

Greetings @stasgil,

As a sanity check I tried using the torizoncore-builder images serve method. I loaded Easy Installer 6.5.0 on my Verdin AM62’s RAM. The image I was serving was Toradex’s 6.8.0 quarterly release that I downloaded.

I ran this on my Ubuntu 24.04 laptop. The Yavia board was connected to my home network via ethernet and my laptop connected to the same network via WiFi. The directory that I was targeting via images serve was structured like so:

serve
├── am62-6.8.0
│   ├── image.json
│   ├── marketing.tar
│   ├── prepare.sh
│   ├── tiboot3-am62x-gp-verdin.bin
│   ├── tiboot3-am62x-hs-fs-verdin.bin
│   ├── tispl.bin
│   ├── TI-TFL.txt
│   ├── toradexlinux.png
│   ├── torizon-core-docker-verdin-am62.ota.tar.zst
│   ├── u-boot.img
│   ├── u-boot-initial-env-sd
│   └── wrapup.sh
├── image_list.json

With this setup I could see the image served from my laptop in the Easy Installer GUI. When I go to install it, the installation completes without issues. Upon reboot the device boots into the installed image as expected.

With that test, it does work which is good there doesn’t seem to be any unknown bugs/issues with the method itself. Now we just need to determine why your setup doesn’t work.

Mt first impression would be to think some kind of network issue that is interrupting the process. Though I just noticed you said:

Connected to laptop over ethernet

So you have the module connected to your laptop that is running the Easy Installer web server directly via Ethernet? I assume you had some additional setup for that? Like a DHCP server to give the module an IP address or something similar.

I’m not sure if this could be a factor. In this setup can your Verdin AM62 access our default feeds and install images from that successfully? In your provided logs I can see the device accesses our default image feeds.

Best Regards,
Jeremias

Hi Jeremiah,

Sorry was not able to deal with this on Friday.

In my setup currently the Yavia board is directly connected to my laptop over the ethernet wire.
I have “Network sharing” enabled for my wired connections in ubuntu. I believe i have a dhcp server running as device gets an IP from my ethernet subnet.
In this setup I can indeed connect to default Torizon feeds and successfully download torizon images.
Also serving an image over the USB stick works fine, so must be a network configuration issue on my side.
This setup work for me out of the box a couple of months ago when I was doing the POC. I’m not sure what changed since then, maybe some ubuntu software update broke something.

This setup work for me out of the box a couple of months ago when I was doing the POC.

Interesting, if this did work for you in the past then that would suggest something has changed about your setup since then. It’s hard for me to say though with any certainty what could have changed for you.

Best Regards,
Jeremias