首页 > 技术知识 > 正文

nvidia nx平台局域网唤醒问题1

1. 前言 (1)问题一 (2)问题一 (3)问题三 2. 移除NVME M.2卡和USB鼠标再次进行了测试 3. 休眠唤醒测试 (1)etherwake唤醒 (2)wakeonlan唤醒 (3)wakeonline唤醒 1. 前言

正在尝试为Xavier NX启用局域网唤醒功能

Xavier NX模块是否支持以太网局域网唤醒? 是的,NX支持WOL。

对于以太网功能唤醒, 在以太网PHY芯片中有一个引脚PMEB, 用于Xavier NX模块。 但是需要知道它是否在支持的 wake gpio上连接到NX SOM的处理器。

参考如下: (1)启用WoL – ethtool -s eth0 WoL g (2)使DUT处于暂停状态 (3)使用etherwake发送magic packet (4)参见system resumed,以太网链路UP

然而NX开发套件上的局域网唤醒有一些问题 在我的测试中, 在ethtool为eth0启用Wlan-on-LANE后,

通过“sudo systemctl suspend”

将NX放入睡眠模式 当Linux主机将魔法包发送到NX的ETH MAC地址后, NX就会被唤醒。

(1)问题一

在NX从深度睡眠模式中唤醒后, NX上eth0的IP地址仍然保留, 路由表看起来很好。

但是我发现NX已经不能ping通主机了, 主机也不能ping通NX了。

(2)问题二

如果在系统挂起之前在 NX端启用了NetworkManager服务, 可以看到在系统从睡眠模式返回后, NetworkManager失去了有线连接(eth0)和WiFi连接。

如果在终端上运行“ifconfig eth0 down”, 终端将挂起。 过了一段时间,N X系统崩溃并重新启动。

在ConnectTech RUDI NX上做了相同的局域网唤醒测试 看到了上面的相同问题

(3)问题三

RUDI NX配置SD卡槽 如果RUDI NX上的系统通过插入SD卡从休眠模式中唤醒, 一切看起来都很好, ETH接口没有问题。

因此,上述系统恢复后ETH接口的问题似乎与局域网唤醒有关。

2. 移除NVME M.2卡和USB鼠标再次进行了测试

在WoLAN测试中使用的 是nVIDIA的NX开发工具包 使用了默认的电源模式 (即10w和2 cpu)进行测试 所以从nVIDIA收到这个开发套件时, HW配置和SW配置都是默认设置。

但是在magic packet将NX从深度睡眠模式中唤醒后, 还是遇到了同样的网络接口问题和崩溃问题 这里是开发板上的SW信息:

uname -a Linux brain-nx1 4.9.140-tegra #1 SMP PREEMPT Wed Apr 8 18:15:20 PDT 2020 aarch64 aarch64 aarch64 GNU/Linux cat /etc/os-release NAME=“Ubuntu” VERSION=“18.04.4 LTS (Bionic Beaver)” ID=ubuntu ID_LIKE=debian PRETTY_NAME=“Ubuntu 18.04.4 LTS” VERSION_ID=“18.04” HOME_URL=“https://www.ubuntu.com/” SUPPORT_URL=“https://help.ubuntu.com/” BUG_REPORT_URL=“https://bugs.launchpad.net/ubuntu/” PRIVACY_POLICY_URL=“https://www.ubuntu.com/legal/terms-and-policies/privacy-policy” VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

On host PC side:

ping 192.168.3.6 arp -a 192.168.3.6 ? (192.168.3.6) at 48:b0:2d:07:75:8a [ether] on eth0

On NX dev kit:

ethtool -s eth0 wol g ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: MII PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: g Link detected: yes
<

从上面的ethtool的输出可以看出 对eth0启用了唤醒

3. 休眠唤醒测试 (1)etherwake唤醒

然后在NX dev kit上运行以下命令: sudo systemctl suspend

在运行上述命令后 NX开发套件的功耗从4W下降到0.82W 这证实了NX已进入休眠模式

然后在主机PC端运行以下命令来唤醒NX: etherwake 48: b0:2d: 07:75:8a

几秒钟后,NX的功耗上升, Ubuntu UI显示在通过HDMI 连接到NX开发套件的显示器上。

但是无法从主机PC端ping通NX的ETH接口。 我从NX dev kit的UI登录后, 网络管理器显示网络连接丢失。 然后打开一个终端窗口并在那里 运行“ifconfig eth0”。

30-60秒后,终端被挂起,整个系统自动重启。

(2)wakeonlan唤醒

还尝试了另一种叫做wakeonlan的工具。 wakeonlan也可以通过magic packet唤醒NX, 但是NX在这里遇到了同样的问题。 似乎是在NX系统恢复过程中发生的问题。

nvidia nx平台局域网唤醒问题11

(3)wakeonline唤醒 $ wakeonline -i DUT-IP-Address DUT-HW-Address

wakeonlan也可以唤醒NX, 但NX遇到了相同的网络接口故障和崩溃。

猜你喜欢