Debian tries to connect to the internet on EtherCAT network device?

More
24 Aug 2025 09:00 - 24 Aug 2025 09:03 #333840 by thomaseg
Hi,

I use a "Odroid H4" as master and it has two network interfaces. Perfect for LinuxCNC with EtherCAT and cabled networking. However, I'm having the issue that both network interfaces shows up as if they both can connect to the internet: 


Two things annoy me:
1. Is there a way to rename these devices? The naming is kinda useless as it is and it bothers my OCD, preferably i'd call one Internet and the other EtherCAT or something like that, but i've seem to have tried everything google suggests me to rename them, without any luck...apparently not the correct one yet, ideas?
2. The top network card is the one connected to the internet...but every time the machine starts, it attempts to connect to "Internet connection" via the bottom one. These attempts causes the EtherCAT bus to reset every minute or so...to solve this i have to press "Disconnect" at the lower card and press "Internet connection" at the upper card...at every start of the system :-( Can i somehow mark the EtherCAT card as "hands off!" for internet-stuff? And the internet is automagically connected via the upper one? First i thought "easy fix", i'll just swap cables and use it the other way around....BUT lo and behold, the problem was the exact same, but now the interfaces was just switched around...ideas?

I know this isn't "LinuxCNC and ethercat specifics", but i assume others here have had the same issues, so i hope it is ok...

/Thomas
Attachments:
Last edit: 24 Aug 2025 09:03 by thomaseg.

Please Log in or Create an account to join the conversation.

More
24 Aug 2025 09:50 - 24 Aug 2025 09:51 #333843 by rodw
not sure but you could try adding this to /etc/network/interfacesauto eno1
iface eno1 inet dhcp
    hardware-irq-coalesce-rx-usecs 0
replace eno1 with the NIC name reported by ip a for ethercat
Restart the network

Also add this to your boot parameters using grub-customizer to disable energy efficient internet igb.EEE=0
Last edit: 24 Aug 2025 09:51 by rodw.

Please Log in or Create an account to join the conversation.

More
24 Aug 2025 11:32 #333846 by thomaseg

iface eno1 inet dhcp
    hardware-irq-coalesce-rx-usecs 0

Ehm.... it worked! Thanks! The networkinterface for EtherCAT is no longer in the list of networks and now the internet connection defaults to the proper interface, and EtherCAT works like a charm now...but....why did that work? :-D I don't understand since nothing in that configuration seems indicate "oh, by the way, this will hide the interface from UI and prevent InternetConnection from trying to use it"...i've looked up the hardware-irq-coalesce-rx-usecs parameter and that only seems to be some sort of tuning, not something that should do what it just did....

Sorry, i'm just trying to understand it... the worst part is when something works, and i don't understand why it works ;-)

PS: I also disabled the power-stuff in GRUB as you suggested. Thanks!

/Thomas

Please Log in or Create an account to join the conversation.

More
24 Aug 2025 11:51 #333847 by Hakan
That can't be right? Maybe it works, but you normally don't want nor need an IP-address on the ethercat interface.
Here is my config for I226-V in /etc/network/interfaces.
auto enp2s0
iface enp2s0 inet manual
        hardware-irq-coalesce-rx-usecs 0
        pre-up /sbin/ifconfig $IFACE up
        post-down /sbin/ifconfig $IFACE down
The i226 uses the Intel igc driver, the energy-efficient mode is off by default, so the igb.EEE=0 is not needed and also is for the igb driver, not the igc.
You can rename the nic with a .link file, google it the best tip there.

 

Please Log in or Create an account to join the conversation.

More
24 Aug 2025 20:35 #333872 by rodw
Great!
Thanks for elaborating Hakan.
I did wonder about using DHCP when I saved these settings. Whether you use dhcp or manual it does not matter because you will not have a DHCP server on your ethercat segment so either way, you won't get an IP address. manual is probably a better choice.

However, in my testing, having an IP address is not an issue for ethercat (eg if your NIC is set up for a Mesa Card on 10.10.10.1)

ifconfig has been deprecated for a while (from Debian Bullseye from memory) so I would not recommend its use in a config file as its bound to bite down the track. In fact, I would be surprised if the command is installed in Trixie by default.  It wasn't in previous Debian versions.

Different operating systems may take a different approach to EEE so explicitly disabling it is a more defensive strategy than accepting the default. Be sure to check which driver you use.

The latency eliminating coalescing setting for Intel cards is mentioned in the Mesa hm2_eth documentation. type man hm2_eth to review. Ethercat is a more efficient protocol then hm2_eth so it may not be required but we do want a robust machine!

 

Please Log in or Create an account to join the conversation.

More
25 Aug 2025 07:29 #333887 by Hakan
Debian themselves say to use ifconfig in their wiki wiki.debian.org/NetworkConfiguration#Bri...ithout_an_IP_address. It's available just install it with "apt install net-tools". 

There is no kernel variable to set/unset eee for the igc driver afaik. The only way is to use "ethtool --show-eee enps2s0" and "ethtool --set-eee enp2s0 eee off" or on. It was some five months since I played around with this so I might have forgotten things 
forum.linuxcnc.org/18-computer/55782-adding-a-m-2-ethernet-port 

Please Log in or Create an account to join the conversation.

More
25 Aug 2025 12:20 #333898 by rodw
Hmm, Debian's wiki is as out of date as Linuxcnc's.

Untested, but I think the the correct way to bring a interface up should be:
ip link set dev enp2s0 up

So I think the interfaces file should be
pre-up /sbin/ip link set dev $IFACE up
post-down /sbin/ip link set dev $IFACE down

I did find a igc kernel patch Intel was involved in so I think its OK to ignore:Subject: [PATCH] net/igc: disable EEE by default on I225/226
>
> I226-V devices can hang when EEE is enabled. Explicitly disable EEE during
> initialization of the device, as the Linux and FreeBSD kernel drivers do.Also, I think we should disable all power mangerment in grub:
pcie_aspm.policy=performance pcie_port_pm=off

So many gotchas!

Please Log in or Create an account to join the conversation.

More
03 Sep 2025 13:40 #334348 by Maho400P
Hello i am very new to linuxcnc but dicovered that when you start the ethercat slave before the PC is loaded you will loss connection to internet. The work around for me is first start the pc and then the slave.

Please Log in or Create an account to join the conversation.

More
03 Sep 2025 14:28 #334351 by Maho400P
Linuxcnc 2.9.4, dual ethernet network realtek rtl,
When first start pc wired connection 1 is connected and 2 is not seen. Connecting slave to connection 2 is not seen but working.
When first start slave wire connection 1 is not connected and 2 is not seen, slave is working. There is no internet.

Please Log in or Create an account to join the conversation.

Time to create page: 0.114 seconds
Powered by Kunena Forum