Ubuntu (NVIDIA Jetson) 开启 Wi-Fi 后系统高延迟、Ping 不通甚至硬死机排查全过程

1. 故障描述

在 NVIDIA Jetson (Orin Nano) 设备上开启 USB 无线网卡后,系统表现出极大的不稳定性:

  • 网络抖动 :Ping 延迟从正常的毫秒级突然飙升至 3000ms - 8000ms,随后出现丢包。
  • 服务中断:SSH 连接超时断开,无法远程登录。
  • 硬死机 (Hard Freeze):在某些情况下,系统彻底停止响应,屏幕画面冻结,只能通过拔插电源强制重启。
  • 规律性:关闭 Wi-Fi 使用有线网时,系统运行稳定;开启 Wi-Fi 后一段时间内必然复现。

2. 现场排查与日志分析

2.1 Ping 现场记录

在故障发生时,观察到延迟出现惊人跳变:

bash 复制代码
64 bytes from 10.9.30.190: icmp_seq=153 ttl=64 time=3278 ms
64 bytes from 10.9.30.190: icmp_seq=160 ttl=64 time=6073 ms
64 bytes from 10.9.30.190: icmp_seq=161 ttl=64 time=7300 ms

分析:几千毫秒的延迟意味着网络包在驱动层或内核中断处理中积压严重,系统已接近崩溃边缘。

2.2 系统日志 (Syslog) 的"死机证言"

通过 journalctl 或查看 /var/log/syslog,发现了明显的日志断层:

text 复制代码
Jan 19 17:52:59 nvidia-desktop kernel: [7902887] RTW: Turbo EDCA =0xa42b
Jan 19 17:52:59 nvidia-desktop kernel: [7902887] RTW: issue_addba_rsp_wait_ack...
<-- 此时系统彻底死机,日志中断 -->
Jan 20 14:58:21 nvidia-desktop kernel: [    0.000000] Booting Linux on physical CPU 0x0000000000

诊断

  1. 时间空档:从 17:52 到重启期间无任何记录,说明内核挂起,无法执行磁盘写入。
  2. 关键词 RTW :死机前最后一条信息来自 Realtek (RTW) 无线网卡驱动。
  3. Turbo EDCA:这是驱动的一种机制,在处理高频并发包时,可能导致内核中断处理死锁(Interrupt Storm)。

3. 根因分析

在 NVIDIA Jetson 这种 ARM 架构平台上,USB 无线网卡(尤其是 Realtek 系列)频繁导致死机的原因主要有三点:

  1. 电源管理冲突 (Power Management)
    内核尝试对 USB 网卡进行 autosuspend(自省电),但驱动程序未能正确处理切换状态指令,导致内核进入不可中断的等待状态(D 状态),触发系统挂起。
  2. 中断风暴与死锁
    RTW 驱动在高速传输或信号不稳定时,会触发大量底层中断。如果 CPU 核心忙于处理这些中断,会导致调度器失效,系统"假死"。
  3. 驱动兼容性差
    许多外置 USB WiFi 驱动并非针对 ARM64 内核深度优化,存在内存泄漏或空指针隐患。

4. 解决方案

方案一:彻底禁用 Wi-Fi(避坑方案)

如果环境允许使用有线网,这是保证系统 24 小时稳定运行的最快方法:

bash 复制代码
# 持久化关闭 WiFi,重启后依然保持关闭
nmcli radio wifi off
方案二:禁用电源管理(必须使用 Wi-Fi 时的对策)

如果必须使用该网卡,建议关闭其省电模式以减少死机概率:

  1. 临时关闭

    bash 复制代码
    sudo iw dev [网卡名] set power_save off
  2. 持久化配置
    修改 /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

    ini 复制代码
    [connection]
    wifi.powersave = 2
方案三:内核黑名单禁用故障驱动

若要防止驱动在后台加载影响系统,可将其拉黑:

bash 复制代码
echo "blacklist 8821cu" | sudo tee /etc/modprobe.d/blacklist-8821cu.conf
# 具体的模块名(如 8821cu)可通过 lsmod | grep rtw 查询

5. 总结与硬件建议

本次排查证实,不稳定的无线网卡驱动足以拖垮整个 Linux 内核

技术建议

  • 生产环境:优先使用 Intel 芯片的有线网卡。
  • Jetson 硬件建议 :Orin Nano 等设备建议使用走 M.2 接口的 Intel AC8265 / AX210。这类网卡驱动内置在 Linux kernel 源码中,稳定性远超第三方 USB 外置网卡。
相关推荐
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe6 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥6 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿6 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘6 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy6487 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满7 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠7 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio7 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice7 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习