Apalis i.MX8 - "No Ethernet Found" during DHCP/TFTP boot

Setup Summary

Board: Apalis i.MX8 + Ixora carrier board
Host PC: Ubuntu 22.04
Goal: Boot Apalis i.MX8 using DHCP + TFTP + NFS (network boot)
Connection: Direct Ethernet cable from host PC to Ixora RJ45 port


Host Configuration

Network Interface

  • Connected interface: enxbe54cf79c3ea

  • Static IP: 192.168.10.1/24

DHCP Configuration (/etc/dhcp/dhcpd.conf)

subnet 192.168.10.0 netmask 255.255.255.0 {
    default-lease-time       86400;
    max-lease-time           86400;
    option broadcast-address 192.168.10.255;
    option domain-name       "colibri.net";
    option domain-name-servers ns1.example.org;
    option ip-forwarding     off;
    option routers           192.168.10.1;
    option subnet-mask       255.255.255.0;
    interface                enxbe54cf79c3ea;
    range                    192.168.10.32 192.168.10.254;
}

host apalis {
    hardware ethernet 00:14:2d:ed:2e:a5;      # Apalis MAC address
    fixed-address 192.168.10.2;
    next-server 192.168.10.1;                # Host TFTP/NFS server
    filename "boot.scr";
    option host-name "apalis";
    option root-path "192.168.10.1:/srv/nfs/rootfs,wsize=1024,rsize=1024,v3";
}

NFS Configuration (/etc/exports)

/srv/nfs/rootfs 192.168.10.2(no_root_squash,no_subtree_check,rw)

Apalis U-Boot Configuration

Default U-Boot network variables:

ipaddr=192.168.10.2
serverip=192.168.10.1
netmask=255.255.255.0

When running:

Apalis iMX8 # run bootcmd_dhcp

Output:

No ethernet found.

Linux (after boot) Output

ip link show

2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:14:2d:ed:2e:a5 brd ff:ff:ff:ff:ff:ff

dmesg | grep -i eth

fec 5b040000.ethernet: Adding to iommu group 0
mdio_bus 5b040000.ethernet-1: MDIO device at address 7 is missing.
fec 5b040000.ethernet eth0: registered PHC device 0
fec 5b040000.ethernet eth0: Unable to connect to phy

ping 192.168.10.1

ping: sendto: Network is unreachable

Problem Summary

  • The Ethernet PHY is not detected by the Apalis i.MX8.

  • The interface eth0 stays DOWN, even with a cable plugged in.

  • U-Boot also fails to detect any Ethernet device (No ethernet found).

  • The host side (Ubuntu) interface is UP, but never receives a DHCP request.


What I’ve Tried

  • Verified cable and host port (works fine with another device).

  • Ensured DHCP and NFS are properly configured and active.

  • Confirmed Apalis MAC address in DHCP matches the one from U-Boot.

  • Tried both straight and crossover cables.


Question

Has anyone faced “Unable to connect to PHY” or “No ethernet found” on Apalis i.MX8 before?
Could this be related to:

  • A missing device tree configuration for the PHY?

  • Power rail not enabled for the Ethernet transceiver?

  • U-Boot not probing the FEC interface correctly?

Any advice or hints on how to debug PHY detection on Apalis i.MX8 would be greatly appreciated.

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Troubleshooting Ethernet PHY Detection on Apalis iMX8 with Ixora

Your issue with “Unable to connect to PHY” and “No ethernet found” on the Apalis iMX8 with Ixora carrier board is likely related to several potential causes. Let me provide guidance based on the available documentation.

TFTP/NFS Boot Configuration

First, let’s verify your TFTP/NFS setup follows the documented procedure(1). Your DHCP configuration looks correct, but ensure you have the proper boot files in place:

sudo cp -Ppr /path to bootfs/* /srv/tftp/

(1)

The boot sequence should follow these steps(1):

  1. U-Boot obtains IP address and boot script name from DHCP server
  2. U-Boot executes the script, obtaining kernel image and device trees
  3. U-Boot sets kernel command line for NFS root filesystem mounting
  4. Linux uses DHCP again to get IP and root-path arguments

Known Ixora Carrier Board Issues

There’s a documented errata for the Ixora carrier board that could be relevant to your situation(2). The Ixora board features the Nexperia IP4791CZ12 HDMI ESD protection and level shifter, and there are known compatibility issues with certain modules(2).

Power Management and Regulators

Based on community discussions, the “deferred probe pending” error often indicates the driver is waiting for a resource like a regulator to become available(3). For custom implementations, you may need to configure an “always-on” regulator in your device tree(3):

The issue could be that the GPIO expander used to enable the power supply was not initialized(3). If your setup doesn’t have the same PCAL6416AHF GPIO expander as the standard Verdin Development Board, this initialization could be failing(3).

Debugging Steps

  1. Check U-Boot Network Variables: Verify your default network settings match the documented defaults(1):

    • ipaddr=192.168.10.2 (module IP)
    • serverip=192.168.10.1 (host IP)
  2. Verify TFTP Server Configuration: Ensure your TFTP server is serving /srv/tftp and contains the necessary boot files(1).

  3. Check Device Tree Configuration: The PHY detection issue might require device tree modifications specific to your hardware setup.

  4. Power Rail Investigation: Verify that the Ethernet PHY power rails are properly enabled and stable.

Service Restart Commands

After making configuration changes, restart the relevant services(1):

On Ubuntu:

sudo service isc-dhcp-server restart; service tftpd-hpa restart; service nfs-kernel-server restart

(1)

On Fedora:

systemctl restart dhcpd.service; systemctl restart nfs-server.service

(1)

Next Steps

Given the complexity of your setup and the specific hardware combination, I recommend:

  1. Checking if your Ixora board revision has any known errata that might affect Ethernet functionality
  2. Verifying the power management configuration for the Ethernet PHY
  3. Ensuring the correct device tree is loaded for your specific hardware combination
  4. Testing with a minimal configuration first before adding TFTP/NFS boot complexity

The fact that both U-Boot and Linux fail to detect the Ethernet suggests a hardware-level issue rather than just a software configuration problem.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @rania,

The Ethernet PHY should be detected and working in our default BSP/Torizon OS images.
Are you using a Toradex reference BSP or Torizon OS image when you see this issue? If not, could you please try to boot our reference image from eMMC and see if that works?
If this is your custom-built Yocto image, could you please first try to boot it from eMMC and see if the issue persists? If yes, indeed, the Ethernet PHY is not configured correctly in your device tree.