Troubleshooting Guide
1. 概述
本手册为 NE503 AIPC 平台提供系统化的故障排查流程和解决方案。平台采用微服务架构,服务间通过 Unix Socket 通信,并遵循特定的启动顺序。遇到问题时,请按以下通用流程操作:
- 确认问题现象
- 检查相关日志
- 参考对应章节
- 执行建议方案
2. 通用排查流程
3. 服务启动失败排查
3.1 检查 systemd 状态
# 查看所有 AIPC 服务状态
systemctl status ai-runtime camera-daemon app-manager event-bus device-control device-discovery platform-api
# 查看指定服务状态
systemctl status ai-runtime.service
# 查看启动失败的服务
systemctl --failed
# 查看服务依赖关系
systemctl list-dependencies platform-api.service
3.2 检查 Unix Socket 是否存在
# 查看 /run/aipc 目录
ls -la /run/aipc/
# 平台共 7 个 Socket:
# ai-runtime.sock — AI 推理服务
# app-manager.sock — 容器应用管理
# device-control.sock — 设备外设控制
# event-bus.sock — 事件总线
# device-discovery.sock — 设备发现
# camera.sock — camera-daemon 帧发布(fd 零拷贝)
# camera-control.sock — camera-daemon 控制(镜头/HAL)
ls -la /run/aipc/*.sock
# 测试 Socket 连接
nc -U /run/aipc/ai-runtime.sock
3.3 使用 journalctl 查看日志
# 实时查看服务日志
journalctl -u ai-runtime -f
# 查看最近 1 小时的日志
journalctl -u camera-daemon --since "1 hour ago"
# 查看包含错误关键词的日志
journalctl -u app-manager | grep -i "error\|failed\|fatal"
# 查看启动失败的详细错误
journalctl -u app-manager -b --no-pager
# 按错误级别过滤
journalctl -u event-bus -p err
journalctl -u device-control -p warning
3.4 常见启动问题
3.5 Socket 权限检查
# 检查 Socket 目录与文件权限
ls -ld /run/aipc/
ls -la /run/aipc/*.sock
4. 视频流排查
4.1 RTSP 连接失败
诊断命令:
# 检查 RTSP 服务状态
systemctl status camera-daemon
# 查看 RTSP 日志
journalctl -u camera-daemon -f
# 测试 RTSP 连接(将 <device-ip> 换成设备实际 IP)
ffmpeg -rtsp_transport tcp -i rtsp://<device-ip>:8554/main -t 10 -f null -
Web 控制台 WebSocket 断连(视频流播放层面)的排查见 Application Troubleshooting — 视频流集成排查。
5. 设备控制排查
| 现象 | 可能原因 | 诊断命令 |
|---|---|---|
| 镜头控制异常 | 对焦/变焦/光圈电机故障 | grpcurl ... DeviceControl/GetLensStatus;grpcurl ... DeviceControl/LensResetZero |
| UART 通信失败 | 波特率/接线/电压异常 | ls -la /dev/ttyS*;stty -F /dev/ttyS0 921600 |
gRPC 接口完整定义见源码 platform/device-control/proto/device.proto。
6. Web 控制台排查
6.1 浏览器兼容性
| 浏览器 | 最低版本 | 支持程度 | 已知问题 | 解决方案 |
|---|---|---|---|---|
| Chrome | 88+ | 完全支持 | -- | -- |
| Firefox | 78+ | 基本支持 | 不支持 WebCodecs | 使用 MSE 播放 |
| Safari | 14+ | 部分支持 | 不支持 WebCodecs | 降级为 MSE |
| Edge | 88+ | 完全支持 | -- | -- |
| 移动端浏览器 | -- | 有限支持 | 性能问题 | 使用桌面端 |
推荐使用 Chrome 88+ 或 Edge 88+ 以获得最佳体验。Safari 自动降级为 MSE 方案,性能略低。
6.2 WebSocket 与视频播放排查
视频流播放依赖 WebSocket 传输 H.264 帧。常见问题:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| WebSocket 1006 | 连接异常关闭 | 检查 platform-api 是否运行、防火墙是否放行 8080 端口 |
| WebSocket 401/403 | Token 无效或过期 | 重新登录获取新 Token |
| 黑屏 | WebSocket 未建立 / SPS-PPS 未接收 | 刷新页面,检查 WebSocket 连接状态 |
| 花屏/马赛克 | 网络丢包 / 解码器不兼容 | 切换浏览器或检查网络质量 |
| 高延迟 | 网络延迟 / 缓冲区过大 | 确保局域网带宽充足,减小编码 GOP |