

# 监控 FUOTA 任务和添加到该任务的设备的状态并进行故障排除
<a name="lorawan-fuota-status"></a>

在配置无线设备并创建了可能要使用的任何多播组之后，可以通过执行以下步骤启动 FUOTA 会话。

## FUOTA 任务状态
<a name="lorawan-fuota-task-status"></a>

您的 FUOTA 任务可以在 AWS 管理控制台 中显示下列状态消息。
+ 

**待定**  
此状态表示您已经创建了 FUOTA 任务，但还没有固件更新会话。创建任务后，您将看到显示此状态消息。在此期间，您可以更新 FUOTA 任务， 关联 或者取消设备或多播组与任务的关联。在状态从**Pending**（待定）更改后，无法将其他设备添加到任务中。
+ 

**等待 FUOTA 会话**  
您的设备已经成功 添加 到 FUOTA 任务，当您的任务有已调度固件更新会话时，您将看到显示此状态消息。在此期间，您无法更新或将设备添加到 FUOTA 会话。如果您取消 FUOTA 会话，群组状态将更改为 **Pending**（待定。） 
+ 

**在 FUOTA 会话中**  
当 FUOTA 会话开始时，您将看到显示此状态消息。碎片会话开始，您的终端设备收集碎片、重建固件映像、将新固件版本与原始版本进行比较，然后应用新映像。
+ 

**Fuota 已完成**  
在您的终端设备向 适用于 LoRaWAN 的 AWS IoT Core 报告已应用新的固件映像，或会话超时时，FUOTA 会话被标记为已完成，您将看到显示此状态。

  在以下任何情况下，您还会显示看到此状态，因此请务必检查固件更新是否已正确应用于设备。
  + 当 FUOTA 任务状态为**等待 FUOTA 会话**，并且存在 S3 存储桶错误时，例如指向 S3 存储桶中映像文件的链接不正确或 适用于 LoRaWAN 的 AWS IoT Core 没有足够的权限来访问存储桶中的文件。
  + 当 FUOTA 任务状态为**等待 FUOTA 会话**，并且有启动 FUOTA 会话的请求时，但是没有从 FUOTA 任务中的设备或多播组收到响应。
  + 当 FUOTA 任务状态为** FUOTA 会话中**时，并且设备或多播组在一段时间内没有发送任何碎片，这导致会话超时。
+ 

**等待删除**  
如果删除处于任何其他状态的 FUOTA 任务，会显示此状态。这是永久性操作，无法撤消。此操作可能需要时间，在 FUOTA 任务删除之前，任务状态为 **Delete waiting**（删除等待）。FUOTA 任务进入此状态后，无法转换到其他状态。

## FUOTA 任务中设备的状态
<a name="lorawan-fuota-device-status"></a>

FUOTA 任务中的设备可以在 AWS 管理控制台 中显示下列状态消息。您可以将鼠标悬停在每条状态消息上获取表示内容的更多信息
+ 

**初次**  
在 FUOTA 会话的开始时间，适用于 LoRaWAN 的 AWS IoT Core 检查您的设备是否有固件更新支持的软件包。如果您的设备有支持的软件包，该设备的 FUOTA 会话将启动。固件映像已碎片化，碎片将发送到您的设备。看到显示此状态时，表示设备的 FUOTA 会话尚未启动。
+ 

**不支持的程序包**  
如果设备不支持 FUOTA 软件包，您将看到显示此状态。如果不支持固件更新包，设备的 FUOTA 会话将无法启动。要纠正该错误，请检查设备的固件是否可以使用 FUOTA 接收固件更新。
+ 

**不受支持碎片算法**  
FUOTA 会话开始时，适用于 LoRaWAN 的 AWS IoT Core 为设备设置碎片会话。如果您看到显示此状态，表示使用的碎片算法类型无法应用于设备的固件更新。出现错误的原因是您的设备没有支持的 FUOTA 软件包。要纠正该错误，请检查设备的固件是否可以使用 FUOTA 接收固件更新。
+ 

**内存不足**  
适用于 LoRaWAN 的 AWS IoT Core 发送映像碎片之后，您的终端设备收集映像碎片并从这些碎片中重建二进制映像。当设备没有足够的内存来组装固件映像的传入碎片时，会显示此状态，这可能会导致固件更新会话过早结束。要纠正错误，请检查设备的硬件是否可以接收此更新。如果您的设备无法接收此更新，请使用增量映像更新固件。
+ 

**不受支持碎片索引**  
碎片索引标识了四个同时可能出现的碎片会话中的一个。如果您的设备不支持指定的碎片索引值，会显示此状态。要纠正这个错误，可以执行下列操作。
  + 为设备启动新的 FUOTA 任务。
  + 如果错误仍然存在，请将从单播模式切换到多播模式。
  + 如果错误仍未纠正，请检查设备固件。
+ 

**内存错误**  
此状态表示您的设备在接收来自 适用于 LoRaWAN 的 AWS IoT Core 传入的片段时出现了内存错误。如果发生此错误，您的设备可能无法接收此更新。要纠正错误，请检查设备的硬件是否可以接收此更新。如果需要，请使用增量映像更新设备固件。
+ 

**错误描述符**  
您的设备不支持指定的描述符。描述符是描述在碎片会话期间传输的文件的字段。如果您看到此错误，请联系 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。
+ 

**会话计数重播**  
此状态表示您的设备之前使用过此会话计数。要纠正该错误，请启动设备的 FUOTA 新任务。
+ 

**缺少碎片**  
当您的设备从 适用于 LoRaWAN 的 AWS IoT Core 中收集图像碎片时，它从独立的编码碎片中重建新的固件映像。如果您的设备尚未收到所有碎片，无法重建新映像，您将看到此状态。要纠正该错误，请启动设备的 FUOTA 新任务。
+ 

**MIC 错误**  
当您的设备从收集的碎片中重建新固件映像时，会执行 MIC（消息完整性检查）来验证映像的真实性以及是否来自正确的来源。如果您的设备在重新组装碎片后检测到麦克风中不匹配，会显示此状态。要纠正该错误，请启动设备的 FUOTA 新任务。
+ 

**成功**  
您的设备 FUOTA 会话成功。
**注意**  
尽管此状态消息表示设备已从碎片中重建映像并进行了验证，但设备将状态报告到时，设备固件可能尚未更新到 适用于 LoRaWAN 的 AWS IoT Core。检查您的设备固件是否已更新。

## 后续步骤
<a name="lorawan-fuota-device-next"></a>

您已经了解了 FUOTA 任务及其设备的不同状态以及如何解决问题。有关每个状态的更多信息，请参阅 [loraWAN 碎片化数据块传输规范，TS004-1.0.0](https://lora-alliance.org/wp-content/uploads/2020/11/fragmented_data_block_transport_v1.0.0.pdf)。