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/TDA2PXEVM:插入 TDA2PEVA 板时未检测到 SSD

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/698290/linux-tda2pxevm-ssd-not-seen-when-plugged-into-tda2peva-board

器件型号:TDA2PXEVM

工具/软件:Linux

尊敬的 TI:

我们正在尝试将 PCIe NVMe 3.0 x4 SSD 连接到 TDA2P EVA 板。 我们已经进行了硬件修改、以便降级 x4 SSD、以便与位于 EVA 板上的 x1连接器(短接 PRSTN2和 PRSNT1)配合使用。

我们已在 kernel_menuconfig 中包含 NVMe_support、但在引导电路板后、lsmod 不会显示此模块、lspci 也无法显示 SSD。

您是否有任何建议要使此 SSD 正常工作?

SSD 在我们的 PC 中使用与在板上运行相同的 Linux 版本进行了验证(4.4.84)。

我们使用 U.2 (SFF - 8639) SSD 转 PCI-E 适配器和 Intel Optane SSD 900p。

此致、

Stefan。

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

    您能否在目标上运行以下命令并粘贴输出?

    omapconf 读取0x51002104

    您还可以通过运行以下命令(附加文件 config.txt)提供所用的内核配置。

    zcat /proc/config.gz > config.txt

    另请附上您正在使用的 DTB。

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

    Shravan、您好!

    以下是您要求的文件和命令结果。

    root@dra7xx-EVM:~# omapconf 读取0x51002104
    00000001

    无法在此处附加.dTB、因此我已将扩展名更改为.txt。 但是、这是最初的 dra76-EVM-infoadas。dtb

    此致、

    Stefan。

    e2e.ti.com/.../dra76_2D00_evm_2D00_infoadas.txt

    e2e.ti.com/.../8780.config.txt

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

    谢谢您、请给我几天时间、我将再次介绍一些可能的解决方案。

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

    配置和 DT 看起来不错。 链路状态(寄存器读取0x51002104)似乎表示 EP 未脱离复位状态、因此 lspci 不枚举 SSD。 您能否连接任何其它设备并检查其是否工作正常(网卡等)? 您可以尝试其他 SD 卡吗? 您还可以通过运行"dmesg"将内核日志附加到目标上(未枚举 SSD 时)。

    您能否确认正在使用的 SSD 是否是以下链接中的 SSD?
    www.intel.com/.../900p-280gb-2-5-inch-20nm.html

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

    Shravan、您好!

    我确认我们使用了您发送给我们的链接中的英特尔 Optane SSD 900p。

    我们使用了另一个 SSD、并使其正常工作。 这是一个- OCZ RevoDrive PCI-Express x4 50GB PCI Express MLC 内部固态驱动器(SSD) OCZSSDPX-1RVD0050:

    https://www.newegg.com/Product/Product.aspx?Item=N82E16820227596

    但是,这一个上有 RAID 控制器.... 插入时的 lspci、lsblk 和 omapconf 命令如下所示:

    root@dra7xx-EVM:~# lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)
    01:00.0 PCI 桥接器:Pericom Semiconductor PCI Express 至 PCI-XPI7C9X130 PCI-X 桥接器(修订版04)
    02:00.0 RAID 总线控制器:Silicon Image、Inc. SiI 3124 PCI-X 串行 ATA 控制器(修订版02)
    附录................................................................................................................................
    root@dra7xx-EVM:~# lsblk
    名称        MAJ:最小 RM 大小 RO 类型安装点
    SDA           8:0   23.3G 0磁盘
    ` sda1        8:1   0 23.3G 0部件/run/media/sda1
    SDB           8:16  0 23.3G 0磁盘
    ` sdb1        8:17  0 23.3G 0部件/run/media/sdb1
    mmcblk1boot0 179:32  0   8M 1磁盘
    mmcblk1boot1 179:48  0   8M 1磁盘
    mmcblk0     179:0    7.5G 0磁盘
    |-mmcblk0p1 179:1   0 256M 0器件/run/media/mmcblk0p1
    `-mmcblk0p2 179:2   0 7.3G 0部件/
    mmcblk1     179:16  0 7.3G 0磁盘
    -mmcblk1p1 179:17  0  64M 0器件/run/media/mmcblk1p1
    `-mmcblk1p2 179:18  0 7.2G 0部件
    mtdblock0    31:0    256K 0磁盘
    mtdblock1    31:1   0   1M 0磁盘
    mtdblock2    31:2   0 512K 0磁盘
    mtdblock3    31:3   0  64K 0磁盘
    mtdblock4    31:4   0  64K 0磁盘
    mtdblock5    31:5   0   8M 0磁盘
    mtdblock6    31:6   0 22.1M 0磁盘

    SDA 是安装的 SSD
    ................................................................

    root@dra7xx-EVM:~# omapconf 读取0x51002104
    00000045

    我已对配置进行了一些更改、因此请查看随附的新文件。 还附加了两个 SSD 上的 dmesg 命令的结果。

    我们在英特尔的 SDD 上仍然没有任何进展。

    感谢您的快速响应。 这对我们来说是一个真正的问题。

    此致、

    Stefan。

    e2e.ti.com/.../4667.config_5F00_new_5F00_ti.txt

    e2e.ti.com/.../8203.dmesg_5F00_OPTANE_5F00_SSD.txt

    e2e.ti.com/.../1373.dmesg_5F00_RAID_5F00_SSD.txt

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

    您好!

    您能否尝试以下两个实验:

    1.您能否在 TDA2px 上配置 PCIe 以在第1代模式下运行、并查看是否枚举了 PCIe。

    2.应用所附的修补程序并查看它是否起作用(在 gen-1和 gen-2中)。

    此致

    Shravan

    e2e.ti.com/.../0001_2D00_phy_2D00_pcie_2D00_Set_2D00_APLL_2D00_reference_2D00_input_2D00_clock_2D00_as_2D00_ACSPCIE-without-changing-mux.patch.txt

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

    Shravan、您好!

    电路板启动在启动内核时停止...

    这个问题似乎位于我们已在 phy-ti-pipe3.c 中更改的 CLKS 中

    请参见附加文件。

    此致、

    Stefan。

    e2e.ti.com/.../phy_2D00_ti_2D00_pipe3.c

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

    您好 Stefan、

    请尝试此修补程序(与线程相同的修补  程序)。 此补丁可确保 PCIe PHY 和 SSD 输入相同的时钟。

    在第1代模式下(有无补丁)运行 PCIe 时是否有任何更新?

    此致

    Shravan

    e2e.ti.com/.../4382.0001_2D00_phy_2D00_pcie_2D00_Set_2D00_APLL_2D00_reference_2D00_input_2D00_clock_2D00_as_2D00_ACSPCIE.patch.txt

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

    Shravan、您好!

    修补程序似乎没有帮助。 行为与您发送给我的第一个补丁之前相同。 电路板启动、但 lspci、lsmod 等未显示 SSD dev。

    无论我使用哪一代、行为都是相同的。

    你还有其他主张吗?

    电路板是否需要进行任何其他硬件更改? 将 PRSNT2和 PRSNT1短接并将其接地?

    此致、

    Stefan。

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

    您好 Stefan、

    我尝试将 Hhl 外形英特尔 Optan 900p SSD 连接到我们的 TDA2px EVM、它可以正常工作(以下链接中的产品说明、还随附了器件枚举的屏幕截图)。

    我想 SSD 与 TDA2px EVM 的连接似乎存在问题。 将您使用的 SSD 与 EVM 连接时、有哪些更改?

    此致

    Shravan

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

    www.amazon.com/.../B01D51HUUS

    那么、您能否向我们确认这一点-您刚才已从链路插入 SSD 并进行了您在上一帖子中所做的更改? 您在 DTS 中设置了什么?

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

    DTS 没有更改。 我尝试了之前的帖子中提供的补丁、但没有使用、我仍然能够使用 lspci 来显示器件。 我们的 SSD (具有 HHL 接口的 Intel Optane 900p)插槽可插入 TDA2Px EVM 上的 PCIe 连接器、无需任何适配器。 我猜是适配器无法提供驱动 SSD 器件所需的电压(因此链路状态为 Detect_Quiet -寄存器0x51002104)。 是否可以使用 HHL 接口 SSD?

    此致
    Shravan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    适配器只是将信号从一个连接器传输到另一个连接器、而无需任何电压调节。 我怀疑这可能是一个问题。 我在适配器上测量了电压和 CLKS、看起来一切都很好。 我将再次测量。

    然后、我们两个 SSD 之间的唯一区别是封装。

    你有其他想法吗?

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

    您能否向我发送您的.config 文件以便我可以与我的交叉检查?

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

    您好 Stefan、

    已在我的设置中附加配置。 请注意、我没有启用 NVMe、因为目标是检查 PCIe 上是否枚举了该设备。

    此致

    Shravan

    e2e.ti.com/.../8204.config.txt

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

    Shravan、您好!

    当您将英特尔 Optane 900p SSD 连接到 TDA2PX EVA 板时、您能否提供 lspci (例如 lspci -vv)命令的详细输出?

    我们怀疑我们的 Intel Optane 900p 未实施 MSI 中断结构、它仅实施 MSI-X

    我们怀疑 SSD 未实现 MSI 中断结构的主要原因是以下函数:

    int pci_find_capability (struct pci_dev *dev,int cap);

    当 CAP 参数设置为 PCI_CAP_ID_MSI 时返回0、当 CAP 设置为 PCI_CAP_ID_MSIX 时返回0x50。

    PCI_find_capability drivers/PCI/probe.c 中的 PCI_msi_setup_PCI_dev 函数调用



    此致、

    Stefan。

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

    您好 Stefan、

    我已连接 lspci 输出。

    您的设备是否支持 MSI? 由于 PCI_find_capability for PCI_CAP_ID_MSI 返回0、因此在我看来设备不支持 MSI。

    VSDK 使用的内核版本不支持 MSIX。

    尽管具有 MSI/MSIX 功能、但应在 RC 上枚举器件。

    此致

    Shravan

    e2e.ti.com/.../LSPCI.txt

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

    我们还怀疑我们的 Intel Optane 900p (U.2 15mm 外形规格)不支持 MSI。

    当我们将 SSD 连接到 TDA2P EVA (或 TDA2XX EVA)板并重新扫描 PCI 总线时、我们会在 dmesg 中获得以下日志:

    [37.767052] pcieport 0000:00:00.0:bar 14:已分配[mem 0x20200000-0x202fff]
    [37.774402] pcieport 0000:00:00.0:bar 15:已分配[mem 0x20300000-0x203fff pref]
    [37.784717] PCI 0000:01:00.0:bar 6:已分配[mem 0x20300000-0x2030FFFF pref]
    [37.792124] PCI 0000:01:00.0:条0:已分配[mem 0x20200000-0x20203fff 64位]
    [37.800545] NVMe 0000:01:00.0:启用设备(0000 -> 0002)
    [37.806455] NVMe 0000:01:00.0:设备无法恢复

    我们在 NVMe 驱动程序中跟踪了"设备无法恢复"、此消息在 NVMe_DEAD_CTRL 函数中生成。

    NVMe_DEAD_CTRL 函数从下行的 NVMe_PROBLE_work 函数调用:

    结果= NVMe_PCI_ENABLE (dev);
    IF (结果)
    转至输出;
    //... 函数正文...
    输出:
    如果(!work 忙(&dev->reset_work))
    NVMe_DEAD_CTRL (dev);


    NVMe_PCI_ENABLE 函数在以下行中调用 PCI_ENABLE_mSix:

    if (!pdev->IRQ){
    结果= pci_enable_msix (pdev、dev->entry、1);
    如果(结果< 0)
    转到禁用;


    在这里、我们确认了 PCI_enable_mSix 返回一个负数(在我们的例子中为-22)和这个值
    也是 NVMe_PCI_ENABLE 的返回值。

    目前、我们的 SSD 似乎不支持 MSI。

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

    您好 Stefan、

    是否可以尝试 CONFIG_BLK_DEV_NVMe=n? 想法是至少确保 PCIe 控制器能够枚举器件。 请确保所使用的配置与所连接的配置相似(至少要确保设置 RC 模式运行所需的所有配置)。

    此致

    Shravan

    e2e.ti.com/.../5700.8204.config.txt

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

    Shravan、您好!

    我们尝试了 CONFIG_BLK_DEV_NVMe=n、并且 SSD 已正确枚举。

    以下是 lspci 的输出:

    root@dra7xx-evm:/sys/bus/pci lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)
    01:00.0非易失性内存控制器:英特尔公司器件2700


    root@dra7xx-evm:/sys/bus/pci lspci -s 1:00.0 -vv
    01:00.0非易失性内存控制器:英特尔公司器件2700 (prog-if 02 [NVM Express])
           子系统:英特尔公司设备3901
           控制:I/O -内存-总线主控-频谱周期- MemWINV- VGASnoop- ParErr-步进- SERR- FastB2B - DiscINTx-
           状态:CAP+ 66MHz - UDF- FastB2B- ParErr- DEVSEL=FAST > TABORT-<TAbort- SERR-<PERR- INTx-
           中断:引脚 A 路由至 IRQ 0
           区域0:20200000处的存储器(64位、不可预取)[禁用][size=16K]
           [虚拟] 20300000处的扩展 ROM [已禁用][大小=64K]
           功能:[40]电源管理版本3
                   标志:PMEClk - DSI - D1- D2- AuxCurrent =0mA PME (D0-、D1-、D2-、D3hot-、D3colo-)
                   状态:D0 NoSoftRst+ PME-启用- DSel=0 DScale=0 PME-
           功能:[50] MSI-X:启用-计数=32屏蔽-
                   矢量表:bar=0 offset=00002000
                   PBA:bar=0 offset=00003000
           功能:[60] Express (v2) Endpoint、MSI 00
                   DevCap:MaxPayload 256字节、PhantFunc 0、Latency L0 <4us、L1 <4us
                           ExtTag+ Attnbtn- AttnInd- PwrInd- RBE+ FLLReset+ SlotPowerLimit 0.000W
                   DevCtl:报告错误:可纠正-非致命-致命-不受支持-
                           RlxdOrd+ ExtTag- PhantFunc-AUXPWR- NoSnoop+ FLLReset -
                           MaxPayload 128字节、MaxReadReq 512字节
                   DevSta:CORERR+ UncorrErr- FatalErr- UnsuppReq- AUXPWR-发送
                   LnkCap:端口#0、速度8GT/s、宽度 x4、ASPM L0s、退出延迟 L0s <4us、L1无限制
                           ClockPm-惊喜- LActRep- BwNot- ASPMOptComp+
                   LnkCtl:ASPM 已禁用;RCB 64字节已禁用- CommClk+
                           ExtSynch- ClockPM- AutWidDis - BWInt-自动 BWInt-
                   LnkSta:速度5GT/s、宽度 x1、TrErr- Train - SlotClk+ DLActive-BWMgmt- ABWMgmt-
                   DevCap2:完成超时:不支持范围 ABCD、TimeoutDIS+、LTR-、OBFF
                   DevCtl2:完成超时:50uS 至50ms、TimeoutDIS-、LTR-、OBFF 被禁用
                   LnkCtl2:目标链路速度:8GT/s、EnterCompliance-SpeedDiss-
                            传输裕度:正常工作范围、EnterModifiedCompliance - ComplianceSOS-
                            合规去加重:-6dB
                   LnkSta2:当前去加重级别:-6dB、均衡化完成、均衡化 Phase1-
                            均衡 Phase2-、均衡 Phase3-、链接均衡请求-
           功能:[100 v1]高级错误报告
                   UESTA: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt - UnxCmplt- RxOF- MalfTLP - ECRRC - UnsupReq - ACSviol-
                   UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt - UnxCmplt- RxOF- MalfTLP - ECRC- UnsupReq - ACSviol-
                   UESVrt:DLP+ SDES+ TLP - FCP+ CmpltTO- CmpltAbrt - UnxCmplt- RxOF+ MalfTLP+ ECRC - UnsupReq - ACSviol-
                   嘉年华: RxErr+ BadTLP - BadDLLP-Rollover -超时-非 FatalErr-
                   CEMsk: RxErr- BadTLP- BadDLLP-Rollover - Timeout - NonFatalErr+
                   AERCap:第一个错误指针:00、GenCap+ CGenEn- ChkCap+ ChkEn-
           功能:[150 v1]虚拟通道
                   电容:  LPEVC=0 REFCLK=100ns PATEntryBits=1
                   ARB:   固定式- WR32- WR64- WRR128-
                   CTRL:  ArbSelect=Fixed
                   状态:INPROGRESS -
                   VC0:   电容:  PATOffset=00 MaxTimeSlots = 1 RejSnooTrans -
                           ARB:   固定- WR32 - WRR64 - WRR128 - TWRR128 - WRR256 -
                           CTRL:  ENABLE+ ID=0 ArbSelect=Fixed TC/VC=ff
                           状态:NegoPending - InProgress -
           功能:[180 v1]功率预算
           功能:[190 v1]备用路由 ID 解释(ARI)
                   ARICap:MFVC- ACS-、Next 函数:0
                   ARICTL:MFVC- ACS-、函数组:0
           功能:[270 v1]器件序列号55-CD-2e-41-4e-30-0c-9d
           能力:[2a0 v1]#19

    这意味着 NVMe 驱动程序会导致我们出现问题。

    您是否对如何处理此问题有任何想法?

    此致、

    Stefan

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

    我在我的末端也没有启用 NVMe,我得到的输出与您相同--这是正的,因为 PCIe 能够枚举设备。
    请给我几天时间、我将启用 NVMe 并尝试我的设置。 我将在下周初提供更新。

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

    是否有关于此问题的任何更新?

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

    尊敬的 Milena、Stefan、

    即使启用了 NVMe、也会在 PCIe 上枚举设备。 已附加针对在以下目标上运行的命令的日志。

    我还连接了内核配置。

    此致

    Shravan

    e2e.ti.com/.../LSPCI_5F00_LSBLK.txt

    e2e.ti.com/.../8715.config.txt

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

    Shravan、您好!

    我们使用您的配置编译了内核、但 SSD 仍然无法正常工作。

    我们有一个 TDA2PX EVA 板和两种类型的 Intel Optane 900p SSD:
    - Optane 900p PCIe 卡:

    https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast-ssds/optane-900p-series/900p-280gb-aic-20nm.html

    -奥丁烷900p 2.5英寸:

    https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast-ssds/optane-900p-series/900p-280gb-2-5-inch-20nm.html

    我们将两个 SSD 直接连接到 TDA2PX EVA 板上的 PCIe x4连接器、而两个 SSD 在 TDA2PX EVA 板上都无法正常工作。

    当我们连接上述任何 SSD 并重新扫描 PCIe 总线时、我们会在 dmesg 中收到以下消息:

    root@dra7xx-EVM:/sys/bus/pci echo 1 >重新扫描
    [464.656871] PCI 0000:01:00.0:bar 6:已分配[mem 0x20300000-0x2030FFFF pref]
    [464.664135] PCI 0000:01:00.0:条0:已分配[mem 0x20200000-0x20203fff 64位]
    [464.675750] NVMe 0000:01:00.0:设备无法恢复


    您是否有其他想法、我们可以尝试什么?
    您是否有可能向我们发送您的 Linux 映像(也许我们在做错误的事情)?

    此致、
    Stefan

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

    您好 Stefan、

    我已经连接了 zImage 和相应映像的模块。 请尝试一下、并告知我们它是否起作用。 将 zImage 复制到 rootfs 分区中的引导文件夹,将模块复制到 rootfs 分区中的 lib/modules 文件夹。 (zImage.txt attcahed 是 zImage,而 modules.txt 是 modules.tar.gz。)

    我不确定重新扫描 PCIe 总线是否可以正常工作、是否可以重新启动电路板而不是重新扫描? 另外、您如何更新配置以反映我的最终配置?


    此致
    Shravan

    e2e.ti.com/.../zImage.txt

    e2e.ti.com/.../0601.modules.txt

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

    Shravan、您好!

    我们尝试了您的 Linux 映像、但内核启动会在以下行挂起:

    [2.983062]   mmcblk0:mmc1:0001 MMC08G 7.25 GiB
    [2.989397]     #0:DRA7xx-EVM
    [2.993223]   mmcblk0boot0:mmc1:0001 MMC08G 分区1 8.00 mib
    [2.999317]   mmcblk0boot1:mmc1:0001 MMC08G 分区2 8.00 mib
    [3.005781]    mmcblk0:P1 P2
    [3.009443]   正在等待根设备 PARTUUUUID=229accf0-02...

    除了重新扫描 PCIe 总线、我们还尝试重新启动板、但 SSD 仍然无法识别。

    我们删除了 processor_sdk_vision_03_02_00_00/ti_compons/os_tools/linux/kernel/OMAP 中的旧.config

    并将您的配置文件复制到此目录、然后将其重命名为.config

    现在、从以下位置开始:processor_sdk_vision_03_02_00_00/vision_sdk/build
    我们发布:
    $ make kernel_menuconfig (此处我们不进行任何修改、只需关闭 menuconfig 对话框、编译就会开始)
    $ make linux_install

    构建完成后、我们将 processor_sdk_vision_03_02_00_00/ti_compons/os_tools/linux/targetfs 复制到 SD 卡。


    此致、

    Stefan

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

    您好 Stefan、

    您能否在 SD 卡的引导分区中更新 MLO、u-boot.img 和 uenv.txt 并查看内核是否引导?

    要更新配置、您能否运行以下步骤?

    将以下行添加到 ti_config_frages/auto.cfg (内 核存储库中存在)

    CONFIG_BLK_DEV_NVMe=m

    CONFIG_PCI=y

    CONFIG_PCI_EN终结 点_TEST=y

    CONFIG_PCI_DRA7xx_HOST=y

    然后、从 VISION-SDK 中运行以下命令:

    构建 Linux

    使 Linux_install

    运行上述命令后、请使用 VISION-SDK 文档中 VisionSDK_Linux_UserGuide.pdf 第3.1节中提到的步骤更新您的 SD 卡。

    此致

    Shravan

    e2e.ti.com/.../7462.MLO.txt

    e2e.ti.com/.../3301.uenv.txt

    e2e.ti.com/.../u_2D00_boot.img.txt

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

    Shravan、您好!

    我们尝试了您的 MLO、u-boot 和 uenv.txt、但没有
    从引导加载程序获取任何输出、而不是事件。

    我们切换回 MLO、u-boot 和 uenv.txt、We
    还对 ti_config_frages/auto.cfg 进行了建议的更改
    之后、我们使用以下命令构建了内核:


    $使 Linux_clean
    $创建 Linux
    $ make linux_install

    我们将所有内容复制到 SD 卡中(如 VisionSDK_Linux_UserGuide.pdf 中所述)、但 SSD 在 TDA2P EVM 上仍然无法正常工作。

    此致、
    Stefan

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

    您好 Stefan、

    我已在我的设置(在 TDA2P-EVM 上)上测试了 SSD、它工作正常。 请在内核中应用此补丁并确认它是否正常工作。 (您可以恢复提供的其他修补程序)。

    问题似乎出在为 SSD 设备配置时钟时。 即使在设置时钟之前、控制器也尝试访问 SSD 的配置空间、从而导致 TDA2P-EVM 上出现 L3错误。

    通过添加延迟、我们可确保在设置所有时钟后访问 EP (SSD)的配置空间。

    我已经测试了这种情况大约20次重启、我注意到每次都枚举 SSD (另请参阅 lsblk 中枚举的 NVMe 设备)。

    此致

    Shravan

    e2e.ti.com/.../0001_2D00_pci_2D00_probe_2D00_Add_2D00_delay_2D00_before_2D00_reading_2D00_vendor_2D00_ID.patch.txt

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

    我们已经在我们的地方尝试过此设置、并对上述两个 SSD 具有不同的行为:

    1. Optane 900p PCIe 卡:与您拥有的卡相同
    ->每次都会枚举

    2.奥丁烷900p 2.5":
    ->仍然不起作用

    我们还测量了 SSD 上的写入速度(使用 dd comand 和我们的测试应用((f) write))。
    我们得到的带宽很低(~150-200MBps)。
    我们已从 DTS 文件中删除了 gen1、但似乎 PCIe 仍保留为 gen1、并利用1通道。

    您对这种带宽有什么想法吗?

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

    Shravan、您好!

    我们努力将 Optanin 900p PCIe SSD 配置为作为第2代 PCIe、但有2条通道

    速度仍然相同(150Mb/s ~ 200Mb/s)。

    我们观察到、当我们开始使用 dd 命令写入 SSD 时、TDA2P EVA 上会出现 L3错误:

    [63.004973] OMA_L3_NOC 44000000.OCP:L3应用程序错误:目标5 mod:1 (不可清除)
    [63.013136] OMA_L3_NOC 440000.OCP:L3调试错误:目标5 mod:1 (不可清除)

    您能否使用 dd 命令确认 SSD 的最大写入速度是多少?

    我们使用以下命令来测试写入速度:

    DD if=/dev/zero of=/mnt/nvme/test.raw bs=128k 计数=100k

    我们没有设法使 Optanin 900p 2.5英寸工作、我们在 PCI_bus_read_dev_vender_id 函数中尝试了 mleep (10)和 mleep (100)、

    但没有成功。 我们始终会收到以下消息:

    [470.364688] pcieport 0000:00:00.0:bar 8:已分配[mem 0x20200000-0x202fff]
    [470.371947] pcieport 0000:00:00.0:bar 9:已分配[mem 0x20300000-0x203fff pref]
    [470.389437] PCI 0000:01:00.0:bar 6:已分配[mem 0x20300000-0x2030FFFF pref]
    [470.396840] PCI 0000:01:00.0:条0:已分配[mem 0x20200000-0x20203fff 64位]
    [470.404765] NVMe 0000:01:00.0:启用设备(0000 -> 0002)
    [470.410710] NVMe 0000:01:00.0:设备无法恢复

    更新:
    我们设法使 Optane 900p 2.5英寸与 TDA2P EVA 板配合使用、我们在 NVMe_PCI_ENABLE 函数中添加了少量休眠功能。
    写入速度仍然与上述相同。

    此致、

    Stefan

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

    在双通道模式下、当写入 SSD 上的 ext4文件系统时、我看到写入速度为260MBps。 我运行了与您相同的'd'测试用例。 TDA2P 上测量的单通道写入 NVMe 设备的吞吐量为~128MBps。

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

    Shravan、您好!

    当我们使用具有双通道模式的 PCIe Gen2时、我们未能获得超过260MBps 的 SSD 写入速度。

    对于 TDA2P、我们期望 PCIe Gen2和双通道模式下的 SSD 写入速度至少为700MBps、

    但到目前为止、我们一直处于200MBps 的平均速度。

    我们在主机上测试了 Optane 900p SSD (使用 Linux 内核4.84 -与 TDA2P 上运行的内核版本相同),使用 PCIe Gen2 x4,写入速度平均为1.4GBps,等等

    对于双通道、我们期望写入速度为600Mbps ~ 700MBps。

    TDA2P 是否存在任何已知限制、使我们无法获取这些600Mbps ~ 700MBps?

    此致、

    Stefan

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

    您好 Stefan、

    与 SSD 设备枚举相关的问题似乎已解决。 我将研究降低吞吐量的原因、如果您可以启动一个新线程、这样我就可以在该线程中发布我的发现/解决方案、这将有所帮助。

    此致

    Shravan  

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

    Shravan、您好!

    我们还认为 SSD 枚举问题已解决。

    为 SSD 写入速度问题创建了新线程:
    https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/705456

    感谢您在这个问题上的帮助。

    此致、
    Stefan