# John Deere owners will get the right to repair equipment under FTC settlement

> 来源：[HackerNews](https://apnews.com/article/john-deere-right-to-repair-agriculture-equipment-cb7514ffedb95c130a976af661f2bc02)

# John Deere 与 FTC 达成和解：农用机械的"维修权"迎来转折点

**原文链接**：[https://apnews.com/article/john-deere-right-to-repair-agriculture-equipment-cb7514ffedb95c130a976af661f2bc02](https://apnews.com/article/john-deere-right-to-repair-agriculture-equipment-cb7514ffedb95c130a976af661f2bc02)

## 背景与概述

在美国广袤的农田里，一台 John Deere（约翰迪尔）联合收割机或拖拉机抛锚，往往意味着农民要面临双重困境：不仅要忍受高昂的维修费用，还可能被厂商强制要求等待授权技师上门。过去十多年，随着农业机械全面数字化，传统意义上的"修车"逐渐被软件授权、加密固件和远程诊断所取代。农民即便拥有设备，也常因缺少访问权限和维修资料，无法自行更换零件或排除故障。

这场围绕"维修权"（Right to Repair）的争议，终于在近期迎来重要进展。美国联邦贸易委员会（FTC）与 John Deere 达成和解，允许车主和独立维修店获得必要的软件、工具、零部件及文档，从而自主维修设备。这不仅是农业领域的一次胜利，也为物联网、智能硬件和嵌入式系统开发者敲响了警钟：在设计产品时，过度封闭的软件生态可能触及监管红线。

## 核心内容

1. **和解协议的核心：开放维修权限**  
   根据协议，John Deere 需要向设备所有者及独立维修服务商提供此前受限的诊断软件、维修手册、替换零件和固件更新途径。这意味着农民不再需要事事依赖品牌授权经销商，维修成本和停机时间都有望大幅下降。

2. **为何过去"买了也修不了"**  
   现代农业机械内部大量使用电子控制单元（ECU）、CAN 总线网络和加密固件。厂商通过软件锁、DRM（数字版权管理）和在线授权机制，将维修权限牢牢掌握在授权体系内。例如，某些零件更换后必须连接厂商服务器激活，否则设备无法启动。

3. **FTC 的监管立场：反垄断与消费者保护**  
   FTC 认为，限制维修渠道构成不公平竞争，损害了消费者利益。此次和解释放出明确信号：拥有硬件设备的人，应当拥有合理维修硬件的权利。这对智能手机、汽车、家电等行业的"维修权"立法都将产生示范效应。

4. **对农业经济的实际影响**  
   在农忙季节，设备停机一天可能意味着数万美元的损失。和解后，农民可以更快获取备件、本地技师也能参与维修，供应链韧性显著增强。

5. **全球范围的政策趋势**  
   除了美国，欧盟、英国等地也在推进维修权相关法规。John Deere 的妥协，可能推动更多跨国企业重新审视其产品设计和售后策略。

## 技术分析

从架构角度看，现代农机本质上是一台跑在田间的大型物联网设备。它们通常采用**嵌入式 RTOS / Linux + 多 ECU + CAN 总线 + 远程 Telematics 模块**的组合，关键功能包括发动机控制、液压传动、自动驾驶和作业监测。厂商对维修权的限制，主要集中在三个技术层面：

- **固件签名与 Secure Boot**：未经厂商签名的固件或零件无法通过启动验证。
- **诊断接口封闭**：标准 OBD-II/CAN 诊断码被扩展为私有协议，普通工具读取困难。
- **云端授权闭环**：维修操作需要连接厂商服务器完成激活或校准。

要在保障维修权的同时维持安全性，可行的技术路径包括：开放非敏感的诊断 API、提供离线校准工具、发布零件兼容性白名单，以及允许第三方在受控条件下访问固件更新接口。下面是一个简化的 CAN 总线诊断读取示例，展示本地维修可能涉及的技术形态：

```python
import can

# 连接本地 CAN 接口（如农机上的 J1939 总线）
bus = can.interface.Bus(channel='can0', bustype='socketcan')

# 发送标准诊断请求（PGN 59904 请求 DM1 故障码）
req = can.Message(
    arbitration_id=0x18EA00F9,  # 全局请求地址
    data=[0x00, 0xFE, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF],
    is_extended_id=True
)
bus.send(req)

# 接收 ECU 返回的故障码
resp = bus.recv(timeout=1.0)
if resp:
    print(f"SPN/FMI: {resp.data.hex()}")
```

这段代码本身并不复杂，但前提是总线协议和故障码定义必须对维修人员开放。这正是"维修权"在技术层面上的核心诉求。

## 实践建议

对于中国开发者，尤其是从事智能硬件、工业物联网、自动驾驶或农业科技的团队，John Deere 事件提供了几点重要参考：

1. **设计可维修的软硬件架构**  
   在系统初期就规划模块化和标准化接口，避免把简单维修变成"换整机"。关键零部件尽量采用通用接口，并提供可替换的固件路径。

2. **开放必要的诊断和文档**  
   提供公开 API、错误码表和维修手册，既是对用户的尊重，也能降低售后支持成本。不要为了"生态控制"而把所有接口都封闭起来。

3. **在安全与开放之间取得平衡**  
   安全启动和加密固件本身没有问题，但应区分"安全敏感"与"维修敏感"的边界。例如，动力系统安全相关的密钥不应泄露，但灯光、传感器校准等非关键模块可以允许本地调试。

4. **关注全球法规动向**