Hi, I’m the Toradex AI Assistant.
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.
Hello Vijay,
Thank you for your detailed description and analysis!
Let’s address your queries about Ethernet (eth0) response delay and ARP behavior on your Colibri iMX7S running TDX Wayland 7.3.0-devel with a static IP via ConnMan.
1. Reducing Ethernet eth0 Response Time
Observation:
- Your board boots to login at ~33 seconds after power-on.
- However, eth0 responds to a PING/ARP only after almost 70 seconds, indicating an additional ~35 second delay.
What’s happening:
When using ConnMan for static IP, the eth0 interface is not immediately available after boot—ConnMan takes additional time to bring up the interface and configure IPs, even for static settings. This is a known characteristic of ConnMan, especially on resource-constrained hardware.
What you can try:
-
Check AutoConnect and make the connection ‘Favorite’:
Ensures that ConnMan brings up eth0 as soon as possible:connmanctl services connmanctl services ethernet_XXXXXXXXXXXX_cable
Look for
AutoConnect = True
andFavorite = True
. If not set, run:connmanctl connect ethernet_XXXXXXXXXXXX_cable connmanctl config ethernet_XXXXXXXXXXXX_cable --autoconnect yes
-
Switch to systemd-networkd (advanced, optional):
Users requiring faster/static and consistent network bring-up sometimes replace ConnMan with systemd-networkd. To do this:- Disable ConnMan (this disables all ConnMan-managed configurations):
systemctl disable connman systemctl stop connman
- Enable systemd-networkd:
systemctl enable systemd-networkd systemctl start systemd-networkd
- Configure eth0 static IP by creating
/etc/systemd/network/20-wired.network
:
Adjust IP and gateway for your setup.[Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1
More info:
Ethernet on Linux - Disable ConnMan (this disables all ConnMan-managed configurations):
-
Manual configuration for debugging:
Bring the interface up as soon as possible after login to see if the delay is only ConnMan-related (does not persist after reboot):ip link set eth0 up ip addr add 192.168.1.100/24 dev eth0 ip route add default via 192.168.1.1
2. ARP Announcements / Gratuitous ARP
Default Behavior:
- ConnMan does not proactively send ARP Announcements or Gratuitous ARP on static IP configuration. It will reply to incoming ARP requests only after the interface is fully configured and up.
If you want an ARP Announce/Gratuitous ARP:
-
Manual Trigger
You can send a Gratuitous ARP yourself if needed for applications like network switches learning the IP quickly.- With the ip utility:
ip neigh flush dev eth0 arping -A -c 1 -I eth0 192.168.1.100
- Or, simply re-assign the IP after boot to trigger OS-level announcement:
ip addr add 192.168.1.100/24 dev eth0
- With the ip utility:
-
Automate after network is up:
Add a script in/etc/network/if-up.d/
(if using systemd-networkd or classic networking) or use a systemd service that is triggered by ‘network online’ (After=network-online.target
), to send arping as shown above.
Summary
- The extra eth0 ARP/PING delay is due to ConnMan needing more time to initialize—and is not a hardware limitation.
- For faster static IP/ARP response, switching to systemd-networkd or manual configuration is recommended.
- ConnMan does not send Gratuitous ARP by default; use
arping
if required.
References:
Let me know if you’d like step-by-step guidance on switching to systemd-networkd or automating ARP Announcements!
Best regards,
Toradex AI Assistant.