> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 传感器故障排除

以下资源描述了一些常见问题以及可用于分析和排查这些问题的方法。

<Note>
  <code>\<registry\_path></code> 应视为设备上现有的路径之一：`/etc/sensors/registry/registry/` 或 `/var/cache/sensors/registry/registry/`。
</Note>

## `ssc_sensor_info` 工具无法列出传感器

此错误表示解析传感器注册表失败，导致无法使用 `ssc_sensor_info` 工具列出传感器。请执行以下操作解决此错误：

<Note>
  确认文件的读写权限已为用户（user）模式启用，且组（group）和其他（others）模式仅启用只读权限。确保用户和组模式名称为 `system system`。
</Note>

1. 确保 `/etc/sensors/sns_reg_config` 和 `/etc/sensors/config/json.lst` 文件存在并具有所需的权限，如以下示例所示：

```
root@qcm6490:~# ls -l /etc/sensors/sns_reg_config
-rw-r--r--. 1 system system 226 Mar  9  2018 /etc/sensors/sns_reg_config

root@qcm6490:~# ls -l /etc/sensors/config/json.lst
-rw-r--r--. 1 system system 1452 Mar 9  2018 /etc/sensors/config/json.lst
```

2. 确保 `/etc/sensors/config/` 目录包含传感器 JSON 文件并具有上述注意事项中描述的所需权限。

```
root@qcm6490:/etc/sensors/config# ls -l
total 548
-rw-r--r--. 1 system system 1452 Mar 9  2018 json.lst
-rw-r--r--. 1 system system 5638 Mar 9  2018 kodiak_ak991x_0.json
-rw-r--r--. 1 system system 2837 Mar 9  2018 kodiak_bu52053nvx_0.json
-rw-r--r--. 1 system system 5480 Mar 9  2018 kodiak_default_sensors.json
-rw-r--r--. 1 system system  293 Mar 9  2018 kodiak_dynamic_sensors.json
-rw-r--r--. 1 system system  392 Mar 9  2018 kodiak_idp_ak991x_0.json
-rw-r--r--. 1 system system  384 Mar 9  2018 kodiak_idp_lsm6dst_0.json
-rw-r--r--. 1 system system  384 Mar 9  2018 kodiak_idp_lsm6dst_1.json
..
-rw-r--r--. 1 system system  302 Mar 9  2018 qcm6490_power_0.json
-rw-r--r--. 1 system system 7952 Mar 9  2018 qcm6490_rbx_icm4x6xx_0.json
-rw-r--r--. 1 system system 5922 Mar 9  2018 qcm6490_rbx_navmez_ak991x_0.json
-rw-r--r--. 1 system system 7957 Mar 9  2018 qcm6490_rbx_navmez_icm4x6xx_0.json
-rw-r--r--. 1 system system 7957 Mar 9  2018 qcm6490_rbx_navmez_rev2_icm4x6xx_0.json
-rw-r--r--. 1 system system 3688 Mar 9  2018 qcm6490_rbx_navmezz_icp101xx_0.json
```

3. 确保 <code>\<registry\_path></code> 目录可访问且包含相应的已解析文件，如下所示。

```
root@qcm6490:/var/cache/sensors/registry/registry# ls -l
total 524
-rw-r--r--. 1 system system    3 Jan  1 00:00 DIR
-rw-r--r--. 1 system system  902 Apr 28  2022 qcm6490_default_sensors.json.default_sensors
-rw-r--r--. 1 system system   86 Apr 28  2022 qcm6490_default_sensors.json.default_sensors.accel
-rw-r--r--. 1 system system  133 Apr 28  2022 qcm6490_default_sensors.json.default_sensors.accel.attr_0
-rw-r--r--. 1 system system   90 Apr 28  2022 qcm6490_default_sensors.json.default_sensors.accel_cal
..
-rw-r--r--. 1 system system   84 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.temp
-rw-r--r--. 1 system system  232 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.temp.config
-rw-r--r--. 1 system system  346 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform
-rw-r--r--. 1 system system   95 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel
-rw-r--r--. 1 system system  146 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal
-rw-r--r--. 1 system system  183 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.bias
-rw-r--r--. 1 system system  445 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.corr_mat
-rw-r--r--. 1 system system  863 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.config
```

## SUID 查询失败

此错误表示自定义代码在检索指定传感器的 SUID 时失败。请执行以下操作解决此错误：

1. 运行 `ssc_sensor_info` 工具检查指定的传感器是否可用。

   * 如果传感器列表为空，请参阅 [`ssc_sensor_info` 工具无法列出传感器](#the-ssc_sensor_info-tool-is-unable-to-list-sensors)中描述的第一种调试方法。

   * 如果仅指定的传感器不可用，请继续进行以下检查：

     a. 确保该传感器已列在 `/etc/sensors/config/json.lst` 文件中，如以下示例所示：

```
root@qcm6490:~# cat /etc/sensors/config/json.lst
kodiak_ak991x_0.json
qcm6490_default_sensors.json
qcm6490_power_0.json
qcm6490_rbx_icm4x6xx_0.json
qcm6490_rbx_navmez_icm4x6xx_0.json
qcm6490_rbx_navmezz_icp101xx_0.json
qcm6490_rbx_navmez_ak991x_0.json
```

b. 确认指定传感器的配置文件已被解析并存在于 `parsed_file_list.csv` 文件中，如以下示例所示：

```
root@qcm6490:/var/cache/sensors/registry# cat parsed_file_list.csv
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.config
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.orient
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal.corr_mat
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal.bias
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.corr_mat
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.bias
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal
qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel
```

c. 确认指定传感器的配置文件已被解析并存在于 \<registry\_path> 目录中，如以下示例所示：

```
root@qcm6490:/var/cache/sensors/registry/registry# ls -l
total 524
-rw-r--r--. 1 system system  248 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0
-rw-r--r--. 1 system system   85 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.accel
-rw-r--r--. 1 system system  233 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.accel.config
-rw-r--r--. 1 system system   88 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.freefall
-rw-r--r--. 1 system system  236 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.freefall.config
-rw-r--r--. 1 system system   84 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.gyro
-rw-r--r--. 1 system system  232 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.gyro.config
-rw-r--r--. 1 system system   82 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.md
-rw-r--r--. 1 system system  230 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.md.config
-rw-r--r--. 1 system system   84 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.temp
-rw-r--r--. 1 system system  232 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0.temp.config
-rw-r--r--. 1 system system  346 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform
-rw-r--r--. 1 system system   95 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel
-rw-r--r--. 1 system system  146 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal
-rw-r--r--. 1 system system  183 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.bias
-rw-r--r--. 1 system system  445 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.accel.fac_cal.corr_mat
-rw-r--r--. 1 system system  863 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.config
-rw-r--r--. 1 system system   94 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro
-rw-r--r--. 1 system system  145 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal
-rw-r--r--. 1 system system  182 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal.bias
-rw-r--r--. 1 system system  444 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.gyro.fac_cal.corr_mat
-rw-r--r--. 1 system system   91 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.md
-rw-r--r--. 1 system system  192 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.md.config
-rw-r--r--. 1 system system  174 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.orient
-rw-r--r--. 1 system system  536 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.placement
-rw-r--r--. 1 system system   94 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.temp
-rw-r--r--. 1 system system  142 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.temp.fac_cal
-rw-r--r--. 1 system system  102 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.temp.fac_cal.bias
-rw-r--r--. 1 system system  103 Apr 28  2022 qcm6490_rbx_navmez_icm4x6xx_0.json.icm4x6xx_0_platform.temp.fac_cal.scale
```

2. 如果上述验证未发现任何问题，则可能是应用程序中使用 QSH 客户端 API 的自定义代码实现存在问题。请重新检查您的代码实现。

## 传感器已列出但无法接收传感器数据

此错误表示示例代码或自定义代码存在故障。使用以下传感器工具接收指定传感器的事件。

运行以下命令对指定传感器进行流式传输：

`see_workhorse [-sensor=][-sample_rate=] [-batch_period=] [-calibrated=<0 | 1>] [-wakeup=<0 | 1>]`

例如，

```
see_workhorse -sensor=accel -sample_rate=max -duration=30 -display_events=1
```

如果该工具能够接收传感器事件，则可能是应用程序中使用 QSH 客户端 API 的自定义代码实现存在问题。请重新检查您的代码实现。

有关更多信息，请参阅[传感器测试工具](./test_tools)。
