3. 远程运维硬件与接口准备
远程运维能否落地,第一步并不在云端,而在板卡侧:调试通道是否接得通、网络通道是否起得来、外设通道是否被内核识别。Sitara(如 AM335x、AM62x、AM64x 系列)通常同时具备 UART、以太网 MAC、USB 控制器、MMC/SD、以及可复用为 JTAG 的调试引脚,部分板卡还预留 Wi-Fi/4G 模组的 USB 或 SDIO 接口。本节按“物理连接—内核枚举—可用性验证”的顺序,把五类接口逐一讲清楚,并给出可直接照做的验证命令与判据。
一、串口:最先要通的“生命线”
Sitara 的调试串口一般由 SoC 的 UART0 引出,经板载 USB-UART 桥(如 CP2102、FT232、CH340)或 3.3V TTL 排针输出。连接时注意三点:电平必须是 3.3V,不能直接接 RS-232 的 ±12V;TX/RX 要交叉;GND 必须共地。典型参数为 115200-8-N-1,无流控。
# Linux 主机侧确认串口设备
ls /dev/ttyUSB* /dev/ttyACM*
# 使用 picocom 打开(示例)
picocom -b 115200 /dev/ttyUSB0
# 上电后应看到 U-Boot 与内核启动日志
可用性判据:上电瞬间能看到 U-Boot 打印(如 U-Boot SPL 2023.04),并能进入内核登录提示符。若只有乱码,优先怀疑波特率或时钟配置;若完全无输出,检查 TX/RX 是否接反、桥芯片驱动是否加载(dmesg | grep tty)。串口通了,后续所有排障才有“眼睛”。
二、以太网:远程运维的主通道
Sitara 常见双千兆 MAC(如 AM64x 的 CPSW3G),板载 PHY 通过 RGMII 连接。物理层先看 RJ45 指示灯:Link 常亮表示链路建立,Activity 闪烁表示有流量。软件侧用 ethtool 确认协商速率与双工:
ip link show eth0
ethtool eth0 | grep -E "Speed|Duplex|Link detected"
# 期望输出示例
# Speed: 1000Mb/s
# Duplex: Full
# Link detected: yes
随后验证三层连通:udhcpc -i eth0 获取地址,ping -c 4 192.168.1.1 测网关,ping -c 4 8.8.8.8 测外网。若 Link detected 为 no,检查网线、PHY 复位、RGMII 延时配置;若协商为 100Mb/s 半双工,多为线序或 PHY 时钟问题。以太网稳定后,SSH 即可作为远程运维入口。
三、USB:外设与模组的总线
Sitara 的 USB 控制器可配为 Host 或 OTG。接 U 盘、USB 转串口、4G 模组前,先确认 Host 模式与供电能力(VBUS 5V,单口建议 ≥500mA)。插入后用 lsusb 看枚举,用 dmesg 看驱动绑定:
lsusb
# Bus 001 Device 002: ID 0781:5567 SanDisk Corp. Cruzer Blade
dmesg | tail -20
# usb 1-1: new high-speed USB device number 2 using musb-hdrc
# sd 0:0:0:0: [sda] Attached SCSI removable disk
ls /dev/sda*
判据:lsusb 能列出设备 ID,且 /dev/sda 或 /dev/ttyUSB* 出现。若设备反复枚举又掉线,多为供电不足或 VBUS 未使能;若枚举成功但无节点,检查内核是否编译了对应驱动(如 usb-storage、option)。
四、Wi-Fi/4G 模块:无线回传通道
Wi-Fi 模组多走 SDIO 或 USB 接口,4G 模组多走 USB(含 ECM/RNDIS 或 QMI/MBIM 拨号)。以 USB 4G 模组为例,插入后应出现多个 tty 口与一个网口:
lsusb | grep -i modem
ls /dev/ttyUSB*
ip link show wwan0
# 使用 ModemManager 或 quectel-CM 拨号(示例)
quectel-CM -s 3gnet &
ip addr show wwan0
ping -c 4 -I wwan0 8.8.8.8
Wi-Fi 侧则用 wpa_supplicant 关联:wpa_cli -i wlan0 status 应显示 wpa_state=COMPLETED,再用 udhcpc -i wlan0 取址。判据是 ping -I wlan0 或 ping -I wwan0 能通。若模组被识别但拨号失败,检查 APN、SIM 卡状态(mmcli -m 0)与天线连接。
五、JTAG/SWD:底层调试与救砖
JTAG 用于 U-Boot/内核早期调试、DDR 初始化验证与“变砖”恢复。Sitara 的 JTAG 引脚常与其它功能复用,需确认 pinmux 与板载 20 针/10 针接口定义。连接 XDS110 或 J-Link 后,用 OpenOCD 验证链路:
openocd -f interface/xds110.cfg -f target/am62x.cfg
# 期望日志
# Info : JTAG tap: am62x.cpu tap/device found: 0x0b8b02f
# Info : starting gdb server for am62x.cpu on 3333
判据:能读到正确的 IDCODE 并停在 halted 状态。若报 JTAG scan chain interrogation failed,检查 TRST 上拉、TCK 频率(先降到 1MHz)、以及目标是否已上电。SWD 在 Cortex-M 协处理场景更常用,接线为 SWCLK/SWDIO/GND/VREF 四线。
六、五类接口的验证顺序与记录
建议按“串口→以太网→USB→无线→JTAG”推进:串口提供日志,以太网提供远程入口,USB 与无线扩展回传,JTAG 作为最后手段。每通一路,记录设备节点、驱动名与验证命令结果,形成板卡接口基线。下表为示例记录格式(参数为教学示例,非实测值):
| 接口 | 设备节点/对象 | 验证命令 | 通过判据 |
|---|---|---|---|
| 串口 | /dev/ttyUSB0 | picocom -b 115200 | 可见 U-Boot 与登录提示 |
| 以太网 | eth0 | ethtool eth0 | Link detected: yes,1000Mb/s |
| USB | /dev/sda | lsusb; dmesg | 设备枚举且节点出现 |
| 4G | wwan0 | quectel-CM; ping -I | wwan0 取址且 ping 通 |
| JTAG | OpenOCD | openocd -f ... | 读到 IDCODE 并 halted |