I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?
Hello! The Ivy carrier board has two Gigabit Ethernet ports, but the second Ethernet port typically requires a device tree overlay to enable it, especially on some System on Modules (SoMs).
Here’s how you can enable the second Ethernet (ethernet1) on Torizon OS:
Obtain the correct device tree overlay (.dtbo file) for your specific Verdin SoM. If you’re not sure which overlay to use, please provide your SoM model, and I can help you identify the right one.
Copy the .dtbo overlay file to the board’s /boot/overlays/ directory.
Edit the /boot/overlays.txt file and add the name of your overlay on a new line.
Run sync to ensure the changes are written to disk.
Reboot the board.
After rebooting, you should see both Ethernet interfaces available. You can confirm by running:
nmcli device
This should display all detected network interfaces.
You need to set the device tree for the Ivy carrier board. By default the software uses the device tree for the Verdin development carrier board. This works to provide common functionality and booting capability no matter what Verdin carrier board you’re actually using.
However, if you want to make use of a hardware feature/capability that is specific to a certain carrier board, it’s best to use that carrier board’s device tree.
To quickly test/validate another device tree you can set the fdtfile variable in U-Boot to the desired device tree. In this case it would be imx8mp-verdin-wifi-ivy.dtb, or imx8mp-verdin-nonwifi-ivy.dtb if you have the non-wifi variant of the module.
For production purposes you’ll want to use TorizonCore Builder to set the Ivy device tree. This will create a production ready Torizon OS image where the Ivy device tree is the selected default.
I have changed the Uboot environment variable as you have said. I get a number of troubling errors about “MDIO device not found” and “Failed to start Network Manager” but eventually the device does come up with Ethernet1 enabled. When compiling the device tree from source, and including it in my tcbuild.yml, I do not see the error about Network Manager failing to start, which was the most concerning one. I think this resolves the issue for me, although I’m still curious about the errors. Thank you for your help.
Verdin iMX8MP #
Verdin iMX8MP # setenv fdtfile imx8mp-verdin-wifi-ivy.dtb
Verdin iMX8MP # boot
MMC: no card present
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
Found U-Boot script /boot.scr
969 bytes read in 1 ms (946.3 KiB/s)
## Executing script at 50280000
7674 bytes read in 2 ms (3.7 MiB/s)
91932 bytes read in 2 ms (43.8 MiB/s)
39 bytes read in 2 ms (18.6 KiB/s)
Working FDT set to 50200000
Applying Overlay: custom-kargs_overlay.dtbo
212 bytes read in 3 ms (68.4 KiB/s)
11471795 bytes read in 37 ms (295.7 MiB/s)
13130749 bytes read in 42 ms (298.2 MiB/s)
Uncompressing Kernel Image to 0
## Flattened Device Tree blob at 50200000
Booting using the fdt blob at 0x50200000
Working FDT set to 50200000
Loading Device Tree to 00000000fea67000, end 00000000feaa0fff ... OK
Working FDT set to fea67000
Starting kernel ...
[ 0.987953] imx-drm display-subsystem: no available port
[ 1.100423] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock
[ 1.125410] mdio_bus 30be0000.ethernet-1: MDIO device at address 7 is missing.
Starting systemd-udevd version 255.18^
sysroot.readonly configuration value: 0 (fs writable: 1)
Using legacy ostree bind mount for /
[ 7.434581] imx-bus-devfreq 32700000.interconnect: failed to fetch clk: -2
[ 9.848634] tpm tpm0: A TPM error (256) occurred attempting the self test
[FAILED] Failed to start Network Manager Wait Online.
Torizon OS 7.3.0-devel-202506+build.9 verdin-imx8mp-15140174 ttymxc2