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

# 使用 sysfs 或 debugfs 节点进行调试

要识别状态或更新状态，请使用 `sysfs` 和 `debugfs` 节点。

挂载 `debugfs` 以确保 `debugfs` 文件系统对调试节点可访问。

```bash theme={null}
mount -t debugfs none /sys/kernel/debug
```

## UFS 设备状态命令

| 所需的 UFS 设备状态信息                       | 命令                                                                                                              |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| 检查 PA/DL 错误计数                        | `cat /sys/kernel/debug/ufshcd/1d84000.ufshc/stats`                                                              |
| 读取 UFS 设备门控延迟（单位 ms）                 | `cat /sys/devices/platform/soc@0/1d84000.ufshc/clkgate_delay_ms`                                                |
| 读取 UFS 设备时钟在给定时刻的当前频率                | `cat /sys/devices/platform/soc@0/1d84000.ufshc/devfreq/1d84000.ufshc/cur_freq`                                  |
| 读取 UFS 设备 I/O 调度器详细信息                | `cat /sys/devices/platform/soc@0/1d84000.ufshc/devfreq/1d84000.ufshc/governor`                                  |
| 读取时钟下调期间 UFS 设备的最小频率                 | `cat /sys/devices/platform/soc@0/1d84000.ufshc/devfreq/1d84000.ufshc/min_freq`                                  |
| 读取时钟上调期间 UFS 设备的最大频率                 | `cat /sys/devices/platform/soc@0/1d84000.ufshc/devfreq/1d84000.ufshc/max_freq`                                  |
| 读取 UFS 设备状态（活动或休眠）                   | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power_info/dev_pm`                                               |
| 读取 UFS 设备挡位信息，例如 HS\_GEAR3、HS\_GEAR4 | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power_info/gear`                                                 |
| 读取 UFS 设备通道数量                        | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power_info/lane`                                                 |
| 读取 UFS 设备链路状态，ACTIVE 或 HIBERN8       | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power_info/link_state`                                           |
| 读取 UFS 设备速率信息，例如 Rate A 或 B          | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power_info/rate`                                                 |
| 读取 UFS 设备描述符信息                       | `ls /sys/devices/platform/soc@0/1d84000.ufshc/device_descriptor`                                                |
| 读取 UFS 设备健康描述符信息                     | `ls /sys/devices/platform/soc@0/1d84000.ufshc/health_descriptor`                                                |
| 读取 UFS 设备运行时状态信息（活动或已挂起）             | `cat /sys/devices/platform/soc@0/1d84000.ufshc/power/runtime_status`                                            |
| 查找和/或修改 SPM/RPM 级别                   | `cat /sys/devices/platform/soc@0/1d84000.ufshc/rpm_lvl` `cat /sys/devices/platform/soc@0/1d84000.ufshc/spm_lvl` |

## SD 卡状态命令

在运行 SD 卡状态命令之前，请先确定 MMC 主机控制器实例编号及其物理地址。

1. 枚举 MMC 主机控制器。

   ```bash theme={null}
   ls -l /sys/class/mmc_host
   ```

2. 确定 MMC 物理地址。

   ```bash theme={null}
   readlink -f /sys/class/mmc_host/mmc*
   ```

| 所需的 SD 卡状态信息           | 命令                                                                            |
| ---------------------- | ----------------------------------------------------------------------------- |
| 读取 SD 卡错误统计信息          | `cat /sys/kernel/debug/mmc1/err_stats`                                        |
| 读取 SD 卡最新错误状态详情        | `cat /sys/kernel/debug/mmc1/err_state`                                        |
| 检查当前运行的时钟详情            | `cat /sys/kernel/debug/mmc1/clock`                                            |
| 读取 SD 卡运行时状态信息（活动或已挂起） | `cat /sys/devices/platform/soc@0/<mmc_addr>.mmc/power/runtime_status`         |
| 读取 SD 卡自动挂起延迟时间        | `cat /sys/devices/platform/soc@0/<mmc_addr>.mmc/power/autosuspend_delay_ms`   |
| 读取 SD 卡运行时活动时间         | `cat /sys/devices/platform/soc@0/<mmc_addr>.mmc/power/runtime_active_time`    |
| 读取 SD 卡运行时挂起时间         | `cat /sys/devices/platform/soc@0/<mmc_addr>.mmc/power/runtime_suspended_time` |
| 读取 SD 卡 uevent 详情      | `cat /sys/devices/platform/soc@0/<mmc_addr>.mmc/uevent`                       |

## NVMe 状态命令

| 所需的 NVMe 卡状态信息                      | 命令                                                   |
| ----------------------------------- | ---------------------------------------------------- |
| 查看设备型号名称                            | `cat /sys/class/nvme/nvme0/model`                    |
| 查看设备序列号                             | `cat /sys/class/nvme/nvme0/serial`                   |
| 查看当前固件版本                            | `cat /sys/class/nvme/nvme0/firmware_rev`             |
| 查看命名空间标识符                           | `cat /sys/class/nvme/nvme0/nvme0n1/nsid`             |
| 查看命名空间大小                            | `cat /sys/class/nvme/nvme0/nvme0n1/size`             |
| 查看将 NVMe 命名空间起始位置对齐到最佳 I/O 边界的字节偏移量 | `cat /sys/class/nvme/nvme0/nvme0n1/alignment_offset` |
| 查看队列深度                              | `cat /sys/class/nvme/nvme0/queue_count`              |

## eMMC 节点命令

| 描述             | 命令                                                                              |
| -------------- | ------------------------------------------------------------------------------- |
| eMMC 错误统计信息    | `cat /sys/kernel/debug/mmc0/err_stats`                                          |
| eMMC 最新错误状态详情  | `cat /sys/kernel/debug/mmc0/err_state`                                          |
| eMMC 当前运行的时钟详情 | `cat /sys/kernel/debug/mmc0/clock`                                              |
| eMMC 运行时状态信息   | `cat /sys/devices/platform/soc@0/<sdhci_addr>.mmc/power/runtime_status`         |
| eMMC 自动挂起延迟时间  | `cat /sys/devices/platform/soc@0/<sdhci_addr>.mmc/power/autosuspend_delay_ms`   |
| eMMC 运行时活动时间   | `cat /sys/devices/platform/soc@0/<sdhci_addr>.mmc/power/runtime_active_time`    |
| eMMC 运行时挂起时间   | `cat /sys/devices/platform/soc@0/<sdhci_addr>.mmc/power/runtime_suspended_time` |
| eMMC uevent 详情 | `cat /sys/devices/platform/soc@0/<sdhci_addr>.mmc/uevent`                       |

<Note>
  根据芯片产品的 SDHCI 物理地址更新 `<sdhci_address>` 值。

  示例：

  * Qualcomm Dragonwing™ IQ-615：`7c4000`
  * Qualcomm Dragonwing™ IQ-8275：`87c4000`
  * Qualcomm Dragonwing™ IQ-9075：`7c4000`
</Note>
