This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/processor-SDK-AM437X:拉出 USB 闪存盘、系统将报告错误#39;FAT-FS (SDA1):FAT 读取失败#39;

Guru**** 2543550 points
Other Parts Discussed in Thread: AM4379

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/781301/linux-processor-sdk-am437x-pull-out-usb-flash-disk-the-system-will-report-the-error-fat-fs-sda1-fat-read-failed

器件型号:PROCESSOR-SDK-AM437X
主题中讨论的其他器件:AM4379

工具/软件:Linux

您好!
我们使用基于 SDK 版本"ti-processor-sdk-linux-am437x-evm-05.02.00.10"的 AM4379来调试海量存储功能。
我们尝试使用默认的内核配置'tisdk_AM437X-EVM_defconfig',当 USB 闪存盘插入主板时,它可以被正确识别和安装。
但是、如果我们尝试拉出 USB 闪存盘、系统报告了错误日志信息 列表、如下所示:

[238.524537] USB 3-1:USB 断开连接、器件编号2
[238.728225] blk_partition_remap:分区1失败
[238.733328] blk_partition_remap:分区1失败
[238.742197] blk_partition_remap:分区1失败
(笑声)
[240.54979] blk_partition_remap:分区1失败
[240.556637] blk_partition_remap:分区1失败
[240.561731] blk_partition_remap:分区1失败
[240.570346] FAT-FS (SDA1):FAT 读取失败(bitr2080)

有趣的是、当我们尝试使用"ti-processor-sdk-linux-AM437X-EVM-02.00.01.07"时、情况良好。
日志信息列表如下所示:

root@AM437X-EVM:~#[139.858841] USB 1-1:使用 xhci-hcd 的新型高速 USB 器件编号3
[140.005556] USB 1-1:找到新的 USB 器件、idVendor=058f、idProduct=6387
[140.012328] USB 1-1:新 USB 器件字符串:MFR=1、Product=2、SerialNumber=3
[140.019843] USB 1-1:产品:大容量存储
[140.023966] USB 1-1:制造商:通用
[140.028078] USB 1-1:序列号:1090865F
[140.039171] USB 存储1-1:1.0:检测到 USB 大容量存储设备
[140.052994] SCSI host1:USB-storage 1-1:1.0
[141.061392] SCSI 1:0:0:0:0:0:直接访问通用闪存盘8.07 PQ: 0 ANSI: 4.
[141.075046] SD 1:0:0:0:[SDA] 31457280 512字节逻辑块:(16.1 GB/15.0GiB)
[141.092164] SD 1:0:0:0:[SDA]写保护关闭
[141.097799] SD 1:0:0:0:[SDA]写入高速缓存:禁用、读取高速缓存:启用、不支持 DPO 或 FUA
[141.127224] sda:sda1.
[141.170531] SD 1:0:0:0:[SDA]连接的 SCSI 可拆卸磁盘
[141.665153] FAT-FS (sda1):卷未正确卸载。 某些数据可能已损坏。 请运行 fsck。

root@AM437X-EVM:~#[148.711544] USB 1-1:USB 断开连接、器件编号3

根目录@AM437X-EVM:~编号
根目录@AM437X-EVM:~# dmesg
[139.858841] USB 1-1:使用 xhci-hcd 的新型高速 USB 器件编号3
[140.005556] USB 1-1:找到新的 USB 器件、idVendor=058f、idProduct=6387
[140.012328] USB 1-1:新 USB 器件字符串:MFR=1、Product=2、SerialNumber=3
[140.019843] USB 1-1:产品:大容量存储
[140.023966] USB 1-1:制造商:通用
[140.028078] USB 1-1:序列号:1090865F
[140.039171] USB 存储1-1:1.0:检测到 USB 大容量存储设备
[140.052994] SCSI host1:USB-storage 1-1:1.0
[141.061392] SCSI 1:0:0:0:0:0:直接访问通用闪存盘8.07 PQ: 0 ANSI: 4.
[141.075046] SD 1:0:0:0:[SDA] 31457280 512字节逻辑块:(16.1 GB/15.0GiB)
[141.092164] SD 1:0:0:0:[SDA]写保护关闭
[141.097003] SD 1:0:0:0:[SDA]模式检测:23 00 00 00
[141.097799] SD 1:0:0:0:[SDA]写入高速缓存:禁用、读取高速缓存:启用、不支持 DPO 或 FUA
[141.127224] sda:sda1.
[141.170531] SD 1:0:0:0:[SDA]连接的 SCSI 可拆卸磁盘
[141.665153] FAT-FS (sda1):卷未正确卸载。 某些数据可能已损坏。 请运行 fsck。
[148.711544] USB 1-1:USB 断开连接、器件编号3

此外、当使用 USB2.0闪存盘和 usb3.0闪存盘时、系统报告不同的错误、请参阅附件以了解详细信息。
请帮助我们分析此问题。

此致
Jason

e2e.ti.com/.../2577.02000107SDK_5F00_boot.loge2e.ti.com/.../6471.05020010SDK_5F00_boot.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jason、

    感谢您的发帖。 我们这个领域的专家本周即将离开、下周初他将尽快回复您。 很抱歉耽误你的时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 RonB:

    感谢您的支持。
    我们尝试了版本05 SDK 的内核与版本02 SDK 的 rootfs 的组合,但未报告错误。
    最初确定 rootfs 导致了此错误。 但我们仍然无法确定真正的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供更多详细信息。 我们的专家在返回后将需要进一步研究这一点。 我将继续并关闭它。 如果您需要其他支持、请随时回复或创建新主题帖。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有解决该问题的方法?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉、有关此帖子的其他信息将需要等到我们的专家本周晚些时候返回。 很抱歉耽误你的时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jason、

    您在 Processor SDK v5.2中看到的内核错误消息是由内核中的块设备驱动程序更改引起的。 有关详细信息、请参阅以下主题。 在线程的末尾,我提供了一个提示,如果您愿意,让内核不打印此消息。

    e2e.ti.com/.../741332
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Liu Bin、

    非常感谢您的支持。
    我注意到了内核的变化。 但我们尝试了05SDK 内核和02SDK 的根文件系统的组合、未报告错误。 这是什么原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jason、

    我不知道原因。 处理器 SDK v2.x 和 v5.x 之间的 rootfs 有许多主要差异(例如、基于 sysvinit 与基于 systemd)、这可能导致 Linux 用户空间使用块设备的方式完全不同。 这不是问题的关键、就是、正如我在前面提到的 e2e 线程中所指出的、用户可以在断开连接之前卸载拇指驱动器、以避免数据损坏或处理内核消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Liu Bin、

    非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 RonB:

    非常感谢您的支持。