工具/软件:
尊敬的专家
这是对该线程的扩展讨论、因为原始线程被锁定。
(1) 问题:我们发现 Linux UART 日志输出“mmc0:正在运行 CQE 恢复“,并且一些文件崩溃。 eMMC 在 HS200 上运行、我们已经确保在 uboot / Linux DTS 中禁用 DDR 模式、因为 AM62 不支持 eMMC DDR 模式。
(2) SDK:10.01.10.04
(3) eMMC 部件: THGBMUG6C1LBAIL (KIOXIA)
(4) SDIO0 (eMMC) 信号完整性:HS200 通过(硬件)
(5) SDIO0 (eMMC) 开关特性: HS200 Pass(硬件)
(6) 线索:如果我们降低速度到 HS 模式,“ CQE 恢复“消失
(7) 并非每块电路板都有相同的问题、据我所知、故障率约为 15%、我们仍在跟踪。
(8) 错误日志。
日志 1 :
[ 4.711702] mmc0: running CQE recovery [ 4.735046] mmc0: running CQE recovery [ 4.758311] mmc0: running CQE recovery [ 4.766138] I/O error, dev mmcblk0, sector 102744 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 2 [ 4.775291] EXT4-fs warning (device mmcblk0p1): htree_dirblock_to_tree:1082: inode #880: lblock 0: comm systemd: error -5 reading directory block [ 4.788391] systemd[1]: tmp.mount: Failed to check directory /tmp: Input/output error [ 4.815487] mmc0: running CQE recovery [ 4.838846] mmc0: running CQE recovery [ 4.862113] mmc0: running CQE recovery [ 4.869930] I/O error, dev mmcblk0, sector 291832 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
日志 2 :
[ 11.193981] mmc0: running CQE recovery [ 11.199428] Buffer I/O error on dev mmcblk0p1, logical block 0, lost sync page write [ 11.207195] EXT4-fs (mmcblk0p1): I/O error while writing superblock [ 11.229373] mmc0: running CQE recovery [ 11.252665] mmc0: running CQE recovery [ 11.275931] mmc0: running CQE recovery
第 3 章:我的心
[ 1.309542] mmc0: Command Queue Engine enabled [ 1.314030] mmc0: new HS200 MMC card at address 0001 [ 1.319843] mmcblk0: mmc0:0001 008GB1 1.16 GiB [ 1.325811] mmc0: running CQE recovery [ 1.332062] mmc0: running CQE recovery [ 1.338170] GPT:Primary header thinks Alt. header is not at the end of the disk. [ 1.345632] GPT:2113535 != 2441215 [ 1.349132] GPT:Alternate GPT header not at the end of the disk. [ 1.355233] GPT:2113535 != 2441215 [ 1.358647] GPT: Use GNU Parted to correct GPT errors. [ 1.363807] mmcblk0: p1 p2 [ 1.367355] mmcblk0boot0: mmc0:0001 008GB1 4.00 MiB [ 1.373287] mmcblk0boot1: mmc0:0001 008GB1 4.00 MiB [ 1.379213] mmcblk0gp0: mmc0:0001 008GB1 2.55 GiB [ 1.385927] mmc0: running CQE recovery [ 1.392012] mmc0: running CQE recovery [ 1.397284] mmc0: running CQE recovery [ 1.402967] mmcblk0gp0: p1 p2 [ 1.406607] mmcblk0rpmb: mmc0:0001 008GB1 4.00 MiB, chardev (243:0) [ 1.474043] mmc2: Failed to initialize a non-removable card [ 2.730108] sdhci-am654 fa00000.mmc: Power on failed [ 2.771213] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit [ 2.780358] mmc0: running CQE recovery [ 2.785587] mmc0: running CQE recovery [ 2.791585] mmc0: running CQE recovery\
第 4 章:我的心
1.205849] mmc2: CQHCI version 5.10 [ 1.230661] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit [ 1.238247] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit [ 1.316005] mmc0: Command Queue Engine enabled [ 1.320483] mmc0: new HS200 MMC card at address 0001 [ 1.326164] mmcblk0: mmc0:0001 008GB1 1.16 GiB [ 1.332067] mmc0: running CQE recovery [ 1.337534] mmc0: running CQE recovery [ 1.343268] mmc0: running CQE recovery [ 1.347344] I/O error, dev mmcblk0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 [ 1.355843] Buffer I/O error on dev mmcblk0, logical block 0, async page read
几个问题:
(1) 据我所知、大多数已由 SDK 10.01.10.04 解决的 eMMC“CQE 恢复“错误都不是吗?
因为我认为 SDK 10.01.10.04 应该会更新有关 EXT_EP-12086 的补丁
https://sir.ext.ti.com/jira/browse/EXT_EP-12086?jql=text%20~%20%22running%20CQE%20recovery%22
(2) 如何跟踪我们针对 eMMC 问题进行了任何修改的 uboot / Linux 代码? 因为我想逐个检查...
(3) SDK 11 与 SDK 10.01.10.04 之间关于 eMMC 代码更新有何差异(更新)? 我还跟踪了该主题、似乎仍然在通过 SDK11 来跟踪 eMMC 问题
我们需要一些调试方向、需要您的建议。
非常感谢
Gibbs