CM4 网口排查步骤

  1. 原理图里 LAN ETH1 使用的是 IC1 RTL8111H-CG。

  2. RTL8111H-CG 的高速信号接到了:

    • PCIE_CLK_P / PCIE_CLK_N

    • PCIE_RX_P / PCIE_RX_N

    • PCIE_TX_P / PCIE_TX_N

    • PCIE_nRST

  3. USB 那部分是单独的 USB 2.0 / USB HOST2,信号是 USB0_P / USB0_N,没有接到这个 RTL8111H 网卡芯片。

Waveshare 官方页面也写得很直接:ETHERNET 0 是 CM4 原生网口,ETHERNET 1 是 PCIe 扩展网口 ;并且板载芯片是 RTL8111H Gigabit LAN chip。(Waveshare)

所以结论是:

复制代码
ETH0 / WAN:CM4 原生千兆网口
ETH1 / LAN:RTL8111H-CG,走 PCIe
USB 2.0:只是额外 USB Host,不是第二网口

你现在"只识别到 eth1 / 第二个网口没识别",优先查 PCIe 是否启用 和 RTL8111H 驱动是否加载。

先跑:

复制代码
sudo apt update
sudo apt install -y pciutils ethtool
lspci -nn
lspci -nnk | grep -A4 -i ethernet
ethtool -i eth1
ip link

如果 PCIe 网卡正常,lspci 应该能看到类似:

复制代码
Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]

如果 lspci 里完全没有 Realtek,那不是驱动问题,是 CM4 的 PCIe 没起来 。在 /boot/firmware/config.txt 加:

复制代码
dtparam=pciex1

然后重启:

复制代码
sudo reboot

如果 lspci 能看到 Realtek,但没有网口,再看驱动。新版 Raspberry Pi OS 通常内核已经集成 RTL8111H 驱动;Waveshare 也说明新版本树莓派系统内核已集成 RTL8111H 驱动,找不到网卡可先更新系统包。(Waveshare)

复制代码
sudo apt update
sudo apt full-upgrade -y
sudo reboot

如果还不行,再考虑装 Realtek 驱动:

复制代码
sudo apt install -y dkms build-essential raspberrypi-kernel-headers r8168-dkms
sudo reboot

最关键的是看这两条输出:

复制代码
lspci -nnk | grep -A4 -i ethernet
ethtool -i eth1

其中 ethtool -i eth1 如果显示:

复制代码
driver: bcmgenet

说明这个 eth1 是 CM4 原生网口。

如果显示:

复制代码
driver: r8169

或:

复制代码
driver: r8168
相关推荐
夜听莺儿鸣10 小时前
502-002_Linux驱动开发模块化编程
linux·驱动开发·模块化编程
wuminyu11 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
科力锐品牌君11 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
zhangrelay11 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
流浪00112 小时前
Linux系统篇39——线程(四) pthread库的由来和线程的创建与等待
linux·操作系统·线程·pthread库
Lancker12 小时前
chnroute-linux — 中国大陆 IP 段每日自动更新 + 「仅允许国内访问」落地
linux·运维·tcp/ip
高山有多高13 小时前
【Linux笔记】Linux进程与守护进程
linux
大侠归来13 小时前
Ubuntu 搭建 APUE 环境:从源码编译到第一个示例跑通
linux·运维·ubuntu
shdkfbbv15 小时前
【无标题】
linux·运维·服务器
周洲083016 小时前
STM32片内Flash读写深度详解|掉电参数保存、底层原理
linux·前端·stm32