Enabling WOL immediately stops link communication

Hi,
I attempt to enable wol feature on eno1 by ethtool -s wol g eno1 . If I do this while connected to this interface, the communication stops immediatly and the orin is no more reachable. Issuing an magic packet after reenables the interface. Thus, the feature itself seems to be working… But, how do I prevent the interface from stopping communicate after setting wol to “g” ?? My expectation is, that the eno1 link keeps up and running and only after standby the wol might be used to wake the machine. By the way: If I am connected via another interface (usb), the wake after sleep works like expected… but this is not right use case.
Any help appreciated
Nico

Hi,

If you are designing a custom base board, then it means some adaptation configurations are needed.
Otherwise, your board may not work fine.

For Orin AGX series, you could refer to below document
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=universal%20serial%20bus#jetson-agx-orin-platform-adaptation-and-bring-up
(please be aware that above link is for rel-36.3/jetpack6.0)

This document includes below configuration

  1. pinmux change & GPIO configuration
  2. EEPROM change as most custom boards do not have an EEPROM on it.
  3. Kernel porting
  4. PCIe configuration
  5. USB configuration
  6. MGBE configuration
  7. RGMII configuration

Thanks!

Hi,
thanks for the quick reply. To be onest, i use a stock AGX Orin Dev 64G . No modification planned so far. Its for demontration purpose only. I recently upgraded to jetpack 6.1 (but the issu did not change. Same under 6.0, only the interface name changed from eth to eno)
Any ideas to this without “bare metal” changes?

Are you suing a custom board or devkit? The answer "a stock AGX Orin Dev 64G " does not provide a direct answer to this question. Every user in this forum is using AGX Orin.

Sorry for beeing a little bit unprecise: Dev should be devkit, of course,

Hi,

Actually it is normal behavior that the network interface would be down for a while because any configuration to the network setting should go down the interface first and the doing the up again. Will it work if you manually enable the interface again?

Hi,
what do you mean by “manually enabling the interface” ? The problem is, that after setting the g flag, the connection is lost immediatly because the interface stops transfering data. There is no interaction with the system at this point. If i send the magic packet, the interface starts working again but the “g” flag is not set anymore.

orin>ethtool eno1
  PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d

orin>  ethtool -s eno1 wol g

----- system no more reachable on eno1 ----- 

root@other:/home/njo # wol_orin
PING 192.168.2.122 (192.168.2.122): 56 data bytes
ping: sendto: Host is down
ping: sendto: Host is down
64 bytes from 192.168.2.122: icmp_seq=0 ttl=64 time=6493.740 ms
64 bytes from 192.168.2.122: icmp_seq=1 ttl=64 time=5491.846 ms
64 bytes from 192.168.2.122: icmp_seq=2 ttl=64 time=4477.869 ms

ssh orin 
orin>ethtool eno1
 PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x00000000 (0)

        Link detected: yes

I have no idea how to make the “g” flag persist if the system gets unreachable after setting…

Hi,

We have a note in the release note of rel-36 here. What I am talking about here is you could use other interface to access the board first instead of ssh to see if it could be back with one more ifconfig up.

I have the same problem. using jetson agx orin developer kit 64G. Not using ssh, not using NFS. After using “sudo ethtool -s eth0 wol g” making “wake-on : g”, the wired connection changes to “cable unplugged”. If I use “sudo ethtool -s eth0 wol d” to disable wak on lan, the network connection recovers.
so, I can’t use the WOL and having a very big problem.

Yes, my question here is if you run sudo ifconfig up for that interface, will it work or not?

Because I just tried the same thing on my local device, but I cannot reproduce what you told here.

No it doesn’t work.
$ sudo ifconfig eth0 up

and nothing changes.


Below is when “wake-on : d”
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.101 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::b97b:f35b:d459:5524 prefixlen 64 scopeid 0x20
ether 48:b0:2d:dc:f7:4d txqueuelen 1000 (Ethernet)
RX packets 42 bytes 2584 (2.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47 bytes 5186 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 184 bytes 17070 (17.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 184 bytes 17070 (17.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether fa:47:7a:88:fc:ad txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether fa:47:7a:88:fc:af txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.39 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8278:9919:cb88:2af9 prefixlen 64 scopeid 0x20
ether b4:8c:9d:1c:45:05 txqueuelen 1000 (Ethernet)
RX packets 5644 bytes 11764280 (11.7 MB)
RX errors 0 dropped 61 overruns 0 frame 0
TX packets 2778 bytes 276563 (276.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


and below is when “wake-on: g”
$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 48:b0:2d:dc:f7:4d txqueuelen 1000 (Ethernet)
RX packets 101 bytes 6099 (6.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47 bytes 5186 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 2576 bytes 227661 (227.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2576 bytes 227661 (227.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether fa:47:7a:88:fc:ad txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether fa:47:7a:88:fc:af txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.39 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8278:9919:cb88:2af9 prefixlen 64 scopeid 0x20
ether b4:8c:9d:1c:45:05 txqueuelen 1000 (Ethernet)
RX packets 29609 bytes 67198951 (67.1 MB)
RX errors 0 dropped 120 overruns 0 frame 0
TX packets 24374 bytes 7597431 (7.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

============================================
for addition, this is the information of ethtool

before wol option on

sudo ethtool eth0
Settings for eth0:
Supported ports:
Supported link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
1000baseKX/Full
10000baseT/Full
10000baseKX4/Full
10000baseKR/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
1000baseKX/Full
10000baseT/Full
10000baseKX4/Full
10000baseKR/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Supports Wake-on: g
Wake-on: d
Current message level: 0x00000000 (0)

Link detected: yes

after wol option on

sudo ethtool eth0
Settings for eth0:
Supported ports:
Supported link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
1000baseKX/Full
10000baseT/Full
10000baseKX4/Full
10000baseKR/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
1000baseKX/Full
10000baseT/Full
10000baseKX4/Full
10000baseKR/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000000 (0)

Link detected: no

Ok. New thing.

Now even thogh after sudo ethtool -s eth0 wol g the ethernet get’s disconnected,
i tried
wakeonlan -i ‘Ip address’ ‘mac address’
and saw that ping is going but the monitor was off, keyboard/mouse doesn’t wake the monitor so I plugged out the DP on orin and plugged it in again. and it was awake.

Now another question is, this WOL doesn’t work afther shutdown.

Does jetson agx orin WOL only works on suspend? not after shutdown?

I tried your suggested solution but no success:
connect to orin via usb:

[usb]root@ubuntu:/home/njo#  ethtool eno1
Settings for eno1:
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes
root@ubuntu:/home/njo# ethtool -s eno1 wol g
root@ubuntu:/home/njo# ethtool eno1
Settings for eno1:
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000000 (0)
        Link detected: no
[usb]root@ubuntu:/home/njo# ifconfig eno1 up
[usb]root@ubuntu:/home/njo# ifconfig
eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 48:b0:2d:ec:b4:c8  txqueuelen 1000  (Ethernet)
        RX packets 618  bytes 197153 (197.1 KB)
        RX errors 0  dropped 32  overruns 0  frame 0
        TX packets 230  bytes 33589 (33.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[usb]root@ubuntu:/home/njo# ifconfig eno1 up
[usb]root@ubuntu:/home/njo# ifconfig eno1
eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 48:b0:2d:ec:b4:c8  txqueuelen 1000  (Ethernet)
        RX packets 618  bytes 197153 (197.1 KB)
        RX errors 0  dropped 32  overruns 0  frame 0
        TX packets 230  bytes 33589 (33.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
======================================================================================
[ssh]root@other: ping orin -> ping: sendto: Host is down
[ssh]root@other: wake orin by magic packet 
[ssh]root@other: ping orin -> 64 bytes from 192.168.2.122: icmp_seq=0 ttl=64 time=6433.664 ms
======================================================================================
[usb]root@ubuntu:/home/njo# ifconfig eno1
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.122  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 2003:d0:f03:28bf:a970:ab7c:2c26:5d1  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::99a2:dbc9:4a48:bb83  prefixlen 64  scopeid 0x20<link>
        inet6 2003:d0:f03:28bf:c879:39b9:8d52:f31f  prefixlen 64  scopeid 0x0<global>
        ether 48:b0:2d:ec:b4:c8  txqueuelen 1000  (Ethernet)
        RX packets 2472  bytes 2790813 (2.7 MB)
        RX errors 0  dropped 32  overruns 0  frame 0
        TX packets 948  bytes 107610 (107.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
		
[usb]root@ubuntu:/home/njo# ethtool eno1
Settings for eno1:
       Supports Wake-on: g
        Wake-on: d
        Link detected: yes

This is still not usable: ifconfig eno1 up does not establish an inet link. The interface keeps unreachable (ethtool says link detected: no) . Only after an incoming wol packet the link starts again. But this does not help: the Wake-on state switches back to "d"isabled by this operation. Expected behaviour (at minimum) is, that the “g” state keeps “armed” …

regards
Nico

Just to clarify.

Basically we just hope to keep the discussion in the same direction.

So, could @david528 file a new topic for this as this issue is originally from @johannisson ?

For example, I saw David’s situation has monitor involved now and there was a known issue that monitor has some problem with SC7.
But @johannisson 's problem seems to be something else.

To avoid confusion, I think a new topic is needed here.

And for @johannisson , could you share your full boot up dmesg?

here it is:
dmesg.txt (69.3 KB)

Hi,

We just double confirmed. This is a known issue and not yet fixed.

Release note has this information.

Hi,
this is fine for me. Thanks for your investigation. I will be patient and keep my eyes on the release notes.
Best
Nico

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.