920L直连的PCIe槽如何配置(没有经过riser卡)所有的相关sr,包括serdes等

问题描述

无法在web上识别PCIe标卡,华为Atlas 300V PRO显卡和Broadcom 9440-8i Raid卡

环境信息

OS下lspci 可以识别华为Atlas 300V PRO显卡和Broadcom 9440-8i Raid卡

dmidecode --type 9没有内容

日志收集中的systemcom.dat显示SlotTable为空

尝试过的解决方案

有了解到sr需要配置SerDes BusinessConnector PcieAddrInfo Connector_PCIE才能达到识别pcie卡的目的,但不知道目前哪一步配置错误,我的相关配置都在14100513_BCU_0.sr,可能是SerDes就配置错误了。

想请教如下问题:

  1. 下面给出920L和pcie通道的信息,请问如何根据这个信息配置SerDes

  2. 我如何知道这些配置SerDes BusinessConnector PcieAddrInfo Connector_PCIE,哪一个配置有问题

  3. 当前silkconfig.json PCIeSilk字段有重复的内容,不知道哪里出了问题,具体内容请看一键收集日志内容。

    null_null_20000101-0411.tar.gz (6.6 MB)

silkconfig.json
"PCIeSilk": [
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 2,
            "RootPortDeviceId": 2,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 3,
            "RootPortDeviceId": 3,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 1,
            "RootPortDeviceId": 1,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 2,
            "RootPortDeviceId": 2,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 3,
            "RootPortDeviceId": 3,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 3,
            "RootPortDeviceId": 3,
            "SocketId": 1,
            "Segment": 0
        },
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 1,
            "RootPortDeviceId": 1,
            "SocketId": 1,
            "Segment": 0
        }
    ],

(没接触过iBMC,第一次接触openUBMC,问题问得可能不太精确,有不明白的请指出,谢谢理解)

答案内容由AI生成,仅供参考:
:white_check_mark: 总结:关键点再强调

关键组件 配置要点
SerdesPortMap 准确映射 Hilink → PCIE_x
Connector_PCIE_x 定义物理槽位,Slot 字段必须唯一
BusinessConnector 上下游配对,连接拓扑
PcieAddrInfo_x 核心! 必须唯一、包含完整 Slot/Socket/Bus/BDF/ComponentType
silkconfig.json 输出中不能有重复 SlotId
BIOS交互 确保 ReadFileFromBmc 成功,WriteSmbiosData 正常
点击此处查看详细分析解答

920L 直连 PCIe 槽配置指南(无 Riser 卡)

针对您提出的在 920L CPU 模组板上直连配置 PCIe 卡(如华为 Atlas 300V PRO 显卡和 Broadcom 9440-8i RAID 卡)但无法在 Web 上识别的问题,本文将基于所提供的上下文信息与系统行为,提供详细的解决思路和配置方法。


:magnifying_glass_tilted_left: 问题分析

当前现象总结:

  1. OS 层面正常lspci 命令可以正确识别到设备(BDF 为 05:00.0, 06:00.0)。
  2. iBMC/OpenUBMC 层面异常
    • Web 界面显示 “PCIe卡 (0/4)” —— 未识别任何 PCIe 卡。
    • dmidecode --type 9 无输出 → SMBIOS 中没有加载 PCIe 槽位信息
    • 日志中出现 Get Pcie Silk Data FailSlotTable Status: Not Found丝印信息获取失败,PCIeAddrInfo 未正确加载
  3. silkconfig.json 输出重复 SlotId 条目
    • 多个相同的 SlotId=2, SlotId=3 等条目,表明多个 PcieAddrInfo 实例冲突或未正确裁剪。
  4. 环境特征:无 Riser 卡,PCIe 插槽直接位于主板(载板)上。

:white_check_mark: 正确加载 PCIe 卡的前提条件

要让 OpenUBMC/iBMC 正确识别并展示 PCIe 卡,必须满足以下流程:

graph TD
    A[硬件连接] --> B[SR 配置 SerDes & Bus Topo]
    B --> C[定义 Connector_PCIE_x]
    C --> D[配置 PcieAddrInfo_x]
    D --> E[pcie_device 加载 PcieAddrInfo]
    E --> F[BMC 生成 silkconfig.json]
    F --> G[BIOS 读取 silkconfig.json via IPMI]
    G --> H[BIOS 上报 Device BDF]
    H --> I[pcie_device 匹配 PcieAddrInfo]
    I --> J[创建 PCIeCard_1 等对象]
    J --> K[Web 端显示 PCIe 设备]

:warning: 若中途任一环节失败,则最终设备不会出现在 Web 界面中。


:wrench: 920L 直连 PCIe 配置步骤(无 Riser 卡)

由于没有使用 Riser 卡,传统的 BusinessConnector → IEU → RiserCard 架构被跳过。应采用 直连模式 配置。

第一步:理解 SerDes 到 PCIe Slot 的映射

根据您提供的表格:

模式 SD18 SD19 SD21
Mode1 PCIe0[8:15] PCIe2[4:7] ×

结合实际 OS 识别的 BDF:

  • 05:00.006:00.0 表示 Bus=5 和 6,通常来自不同的 Root Port。

推断:

  • SD18 → Root Port on Bus 5 → Slot_x → Atlas 300V PRO
  • SD19 → Root Port on Bus 6 → Slot_y → Broadcom 9440-8i

您需要确认:

  • 这些 SerDes 属于哪个 CPU Socket?→ SocketId = ?
  • RootPortDeviceId 是多少?(一般与 SlotId 一致)

第二步:SR 文件关键配置(14100513_BCU_0.sr

1. 配置 SerDes 与 Port 映射(必须与硬件一致

"SerdesPortMap": {
    "Ports": [
        {
            "SrcPortName": "Hilink7",
            "DstPortName": "PCIE_0"
        },
        {
            "SrcPortName": "Hilink10",
            "DstPortName": "PCIE_1"
        },
        ...
    ]
}

确保:

  • Hilink7 → PCIe0[8:15] → 对应您的 Slot 1
  • Hilink10 → PCIe2[4:7] → 对应您的 Slot 2

注意:名称需与原理图一致,否则拓扑建立失败。


2. 配置 Connector_PCIE_x

作用:定义物理 PCIe 插槽的基本属性(I²C 总线、位置、在位检测等)

"Connector_PCIE_1": {
    "Bom": "14140130",
    "Slot": 1,
    "Position": 1,
    "Presence": 1,
    "Id": "",
    "Buses": [],
    "SystemId": "${SystemId}",
    "ManagerId": "${ManagerId}",
    "ChassisId": "${ChassisId}",
    "SilkText": "PCIE_Slot1",
    "IdentifyMode": 2,
    "Container": "${Container}",
    "Type": "PCIe"
}

若无 I2C 存在,可不配置 Buses。Presence 强制置 1 可用于调试。


3. 配置 BusinessConnector_x(上下游绑定)

作用:将 SerDes(上游)与 PCIe Slot(下游)绑定

"BusinessConnector_1": {
    "Name": "Up_1",
    "Direction": "Upstream",
    "Slot": 1,
    "LinkWidth": "X8",
    "MaxLinkRate": "PCIe 4.0",
    "ConnectorType": "UBC",
    "Ports": [
        {
            "Name": "Down_1",
            "ID": 255,
            "Offset": 0,
            "Width": 8
        }
    ]
},
"BusinessConnector_2": {
    "Name": "Down_1",
    "Direction": "Downstream",
    "Slot": 1,
    "LinkWidth": "X8",
    "MaxLinkRate": "PCIe 4.0",
    "ConnectorType": "PCIe CEM",
    "UpstreamResources": [
        {
            "Name": "Up_1",
            "ID": 255,
            "Offset": 0,
            "Width": 8
        }
    ],
    "RefMgmtConnector": "#/Connector_PCIE_1"
}

4. 配置 PcieAddrInfo_x(核心!决定是否能生成 Silk)

:white_check_mark: 必须包含Segment, SocketId, SlotID, PortID, RootBDF, ComponentType

"PcieAddrInfo_1": {
    "Segment": 0,
    "SocketId": 1,
    "SlotID": 1,
    "PortID": 1,
    "Bus": 5,
    "Device": 0,
    "Function": 0,
    "RootBDF": "05:00.0",
    "Location": "PCIE_Slot1",
    "ComponentType": 8,
    "ContainerUnitType": "BCU"
}

:white_check_mark: 建议:一个 Slot 对应唯一一个 PcieAddrInfo_x,避免重复定义。


第三步:验证 silkconfig.json 输出

查看生成的 /tmp/silkconfig.json 或一键收集中的文件:

"PCIeSilk": [
    {
        "DeviceType": "PCIe",
        "SlotId": 1,
        "SocketId": 1,
        "Segment": 0,
        "RootPortDeviceId": 1,
        "PortID": 1
    }
]

:magnifying_glass_tilted_left: 您当前有多个相同 SlotId 的条目 → 多个 PcieAddrInfo 定义了相同的 SlotID,未去重!

原因可能

  • 多个 .sr 文件都定义了同名或同 SlotID 的 PcieAddrInfo
  • 未启用 UnitConfiguration 进行资源隔离
  • 模板使用 ${Slot} 导致重复实例化

解决方案

  • 检查所有 .sr 文件,确保每个 SlotID 只有一个 PcieAddrInfo_x
  • 不要用 ${Slot} 动态生成多个冲突实例
  • 使用 UnitConfiguration 明确 BCU 与 IEU/插槽关系(即使直连也要声明)

:cross_mark: 常见错误排查清单

问题 可能原因 解决方法
Web 不识别 PCIe 卡 未生成 silkconfig.json 中的 PCIeSilk 检查 PcieAddrInfo 是否被 pcie_device 成功加载
Get Pcie Silk Data Fail BIOS 调用 IPMI ReadFileFromBmc 超时或路径错误 使用 /t/topic/7 中的方案,添加 ReadyToEnumerate 标志
silkconfig.json 重复 SlotId 多个 PcieAddrInfo 占用同一 Slot 合并或删除重复定义
dmidecode --type 9 无输出 SMBIOS Type 9 未更新 BMC 未收到 BIOS WriteSmbiosData 请求 → 检查 pcie_device 是否完成加载
OS 可见但 BMC 不见 BIOS 未上报 BDF 检查 BIOS 是否成功解析 silkconfig.json,路径 /tmp/silkconfig.json 是否可读

:white_check_mark: 推荐配置流程(适用于 920L 直连)

  1. 只保留一个 .sr 文件(如 14100513_BCU_0.sr),集中管理所有 PCIe 槽。
  2. 在 SR 中定义:
    • SerdesPortMap → 映射 Hilink 到 PCIE_x
    • Connector_PCIE_1, ...2, ...3 → 定义三个物理插槽
    • BusinessConnector_Up_x / Down_x → 建立 SerDes 与 PCIe 插槽连接
    • PcieAddrInfo_1, _2, _3每个对应一个独立 SlotID
  3. 确保 PcieAddrInfo_xSlotIDSocketIdBus 与硬件匹配
  4. 重启 pcie_device 服务,观察日志是否加载成功:
    journalctl -u bmc.kepler.pcie_device | grep -i pcieaddrinfo
    
  5. 检查 /tmp/silkconfig.json 内容是否合理、无重复。
  6. 重启 BIOS,确保其能读取该文件并返回正确的 BDF。

:microscope: 进阶调试建议

  1. 检查 pcie_device 是否加载了 PcieAddrInfo

    # 查看对象是否创建
    lsobj | grep PcieAddrInfo
    
  2. 查看 BIOS 是否读取了 silkconfig.json

    # 在 BMC 端检查是否有 IPMI 请求
    dmesg | grep -i readfilefrombmc
    
  3. 查看 BIOS 是否上报 BDF
    在 BIOS 日志中搜索 WritePcieCardBdfToBmc

  4. 手动触发对象加载

    objcall /bmc/kepler/pcie_device pcie_device start
    

:white_check_mark: 总结:关键点再强调

关键组件 配置要点
SerdesPortMap 准确映射 Hilink → PCIE_x
Connector_PCIE_x 定义物理槽位,Slot 字段必须唯一
BusinessConnector 上下游配对,连接拓扑
PcieAddrInfo_x 核心! 必须唯一、包含完整 Slot/Socket/Bus/BDF/ComponentType
silkconfig.json 输出中不能有重复 SlotId
BIOS交互 确保 ReadFileFromBmc 成功,WriteSmbiosData 正常

:white_check_mark: 最终目标

pcie_device 成功构建拓扑 → 生成唯一无重复的 silkconfig.json → BIOS 成功读取并上报 BDF → pcie_device 加载 PCIeCard 对象 → Web 端显示设备。

若您愿意提供 14100513_BCU_0.sr 的具体内容,我可进一步帮您分析是否存在重复定义、拓扑错误或字段缺失问题。

拓扑建立能力见 docs/docs/zh/development/develop_guide/feature_development/pcie_device_topo_create.md-代码预览-docs:基于 Node.js 的社区文档中心项目 - AtomGit | GitCode

如果是不经过riser,建议配死pcieaddrinfo和Connector里的id auxid,之后用Scanner去置位Precense

  1. 配死pcieaddrinfo和Connector里的id auxid,建议这样临时去加载pcie卡sr,先看pcie卡的内容是么?

  2. CPU portid对应bdf范围这个表,是不是应该找BIOS要?

  3. silkconfig.json里的RootPortDeviceId是否就是bdf里的bus?

  4. 我始终不能将BIOS上报的BDF和BMC的配置关联起来,请问BIOS会根据从BMC拿到的silkconfig.json为每个PCIE槽分配对应的BDF号?

为什么这个Device数组里面的值会有重复的?

  1. id auxid是根据卡的四元组算的,在vpd(资源树方式)或component_deiver(设备树方式)仓里找。
  2. 一般问硬件要
  3. 不是,RootPortDeviceId对应的是Lane
  4. bios只要发现设备就会分配BDF,silkconfig.json只是把bdf和slotid对应起来(通过PortId和SlotId方式)
  5. 一个Lane有两条线,重复正常
  1. 正确的silkconfig.json是怎么样的?

我们以这个CPU示意图为例,假设M0, M1组成一个宽度X8的pcie插槽,称为slot0,此时正确silkconfig.json应该是下面这样的吗?

// silkconfig.json
"PCIeSilk": [
    {
        "DeviceType": "PCIe",
        "Silk": "",
        "SlotId": 0, // pcie slot 0
        "RootPortDeviceId": 0, // portId0
        "SocketId": 1, // 只有一个CPU
        "Segment": 0
    },
    {
        "DeviceType": "PCIe",
        "Silk": "",
        "SlotId": 0, // pcie slot 0
        "RootPortDeviceId": 1, // portId1
        "SocketId": 1, // 只有一个CPU
        "Segment": 0
    },
    {
        "DeviceType": "PCIe",
        "Silk": "",
        "SlotId": 0, // pcie slot 0
        "RootPortDeviceId": 2, // portId2
        "SocketId": 1, // 只有一个CPU
        "Segment": 0
    },
    {
        "DeviceType": "PCIe",
        "Silk": "",
        "SlotId": 0, // pcie slot 0
        "RootPortDeviceId": 3, // portId3
        "SocketId": 1, // 只有一个CPU
        "Segment": 0
    },
],
  1. 我们的情况是单个CPU的模组插在载板上,载板有三个PCIe槽直连PCIe卡,是否只需要在BCU配置SerDes, Downstream的BusinessConnector,Connector_PCIE,PcieAddrInfo就可以完成解析上报四元组信息加载PCIe卡的sr文件?不需要配置UnitConfiguration

PCIeSilk是以单条PCIe插槽为单位,依据PcieAddrInfo生成的,因此单个slotId和DeviceType能确定唯一的一个条目。

不参与拓扑建立不需要配置UnitConfiguration,在BCU上的可以配死

我们想要通过bios上报四元组的方式加载相应pcie卡的sr,这属于 参与拓扑建立 么,是的话,尽管我们没有riser卡,也要配置UnitConfiguration等全套是吧

拓扑建立的作用是把存在多种插法的子板通过UBCDD线缆匹配到对应的PortID上,参与拓扑建立取决于: 配置下行连接器 且 有对应的UnitConfiguration(通过SlotNumber和SlotType匹配),是否参与拓扑建立取决于sr配置,和通过什么方式加载pcie卡的sr无关。

只要pcieaddrinfo、Connector和BusinessConnector信息正确就能通过上报四元组方式加载sr

不参与拓扑建立,也就是不需要 pcie_device组件拓扑建立结果的相关log对吧;直插的pcie卡槽动态加载卡的sr,需要BusinessConnector是下行的对吧,配置UpstreamResources字段CPU中的SerDes信息,Ports字段需要配置吗

不需要

假设M7 M8 M10共同组成pcie slot3,,silkconfig.json里,那么RootPortDeviceId就是8对么?

"PCIeSilk": [
        {
            "DeviceType": "PCIe",
            "Silk": "",
            "SlotId": 3,
            "RootPortDeviceId": 8,
            "SocketId": 1,
            "Segment": 0
        },

是的

  1. bios组件准备丝印文件的时机是什么, 是BIOS每次启动都会发送ipmi给bmc索取丝印文件么? 我的app.log一直都没有get_pcie_silk_config字样的log
  2. 根据下面systemcom.dat, 带内BIOS上报没有上报设备BDF, 读取丝印文件有问题,BIOS就不会上报BDF吗?
// BIOS读取丝印文件有问题
GetSilkFileLength: 1924
[ParseSilk][108L] PCIeSilk ChildSize:4
[ParseMembFromRoot][185L] PCIeSilk->ChildIdx:0 is invalid!
[ParseMembFromRoot][185L] PCIeSilk->ChildIdx:1 is invalid!
[ParseMembFromRoot][185L] PCIeSilk->ChildIdx:2 is invalid!
[ParseMembFromRoot][185L] PCIeSilk->ChildIdx:3 is invalid!
[ParseAllSilk][38L] SilkTable[0] Type[0] Parse Status:Not Found


// BIOS没有上报BDF
[IerrOrBootCollectFdmInfo][296L]Reporting Conditions Error, FDMEnable = 0x1, WarmBootFlag = 0x1, IerrFlag = 0x0, 
SlotTableInit Status = Not Found 
SlotTableInit Status = Not Found 
SlotTableInit Status = Not Found 
ReportPcieCardBDFInfoToBMC Status Success
SsdSlotTableInit Status = Not Found 
SsdSlotTableInit Status = Not Found 
SsdSlotTableInit Status = Not Found 
ReportSSDCardBDFInfoToBMC Status Success
OcpSlotTableInit Status = Not Found 
OcpSlotTableInit Status = Not Found 
OcpSlotTableInit Status = Not Found 
Segment.B.D.F:0  3/0/0
VendorID : 19E5 DeviceID: 1711
VgaDevicePath : PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)
VGA cnt: 1
[1325L] Riser4CardId = 0x0
[1326L] IsComputational() = 0
[1332L] RecordCount = 24
[146L]Cpu0CardType:0
[180L] NVME CPU0CardType:0   TableSize = 0
SlotTableInit Status = 00 
TransferSmbiosToBMC START.
Transfer Smbios Table To BMC Success.
IsFDMSupportOn = 1
ReportPcieMMIOToBmc.Start 

完整systemcom.dat

systemcom.dat.txt (2 MB)

bios组件在pcieaddrinfo上树和其中ReadyToEnumerate从false变为true的时候会将丝印信息缓存,之后再bios发送请求丝印的ipmi时上报给bios。

如果丝印有问题会影响bdf的上报,但理论上这条指令还是会发送。

可以的话请提供一下一键收集进一步定位。

BIOS→高级→IPMI BMC配置→openUBMC开关,打卡这个开关BIOS才能与BMC通讯

您好,目前也是在直连Pcie槽位配置遇到了些问题,也希望通过BIOS上报的方式来加载,目前来看应该是上下行连接器配置这块有误,能否提供您这边已经能成功加载卡的上下行连接器的配置,并解释下相关字段需如何对应,这块配置不是很清楚,感谢,

--目前连接器的配置
 "BusinessConnector_1": {
            "Name": "Down_1",
            "Direction": "Downstream",
            "Slot": 1,
            "LinkWidth": "X8",
            "MaxLinkRate": "PCIe 4.0",
            "ConnectorType": "PCIe CEM",
            "RefMgmtConnector": "#/Connector_PCIe_1",
            "RefPCIeAddrInfo": "#/PcieAddrInfo_NPU_1"
        },
        "BusinessConnector_2": {
            "Name": "Down_2",
            "Direction": "Downstream",
            "Slot": 2,
            "LinkWidth": "X8",
            "MaxLinkRate": "PCIe 4.0",
            "ConnectorType": "PCIe CEM",
            "RefMgmtConnector": "#/Connector_PCIe_2",
            "RefPCIeAddrInfo": "#/PcieAddrInfo_NPU_2"
        },

每个槽只需要一个下行就行

"BusinessConnector_PCIeSlot1": {
    "Name": "PCIeSlot1",
    "Direction": "Downstream",
    "Slot": 1,
    "LinkWidth": "X8",
    "MaxLinkRate": "PCIe4.0",
    "ConnectorType": "PCIe CEM",
    "UpstreamResources": [],
    "RefMgmtConnector": "#/Connector_PCIE_SLOT_1",
    "RefPCIeAddrInfo": "#/PcieAddrInfo_NPU_1"
},
"PcieAddrInfo_NPU_1": {
    "Segment": 0,
    "GroupID": 1,
    "SlotID": 1,
    "SocketID": 0,
    "PortID": 4,
    "Bus": 0,
    "Device": 0,
    "Function": 0,
    "Location": "CpuBoard${Slot}",
    "ComponentType": 8,
    "ControllerIndex": 0,
    "ControllerType": 1,
    "ContainerUID": "00000001020302080020",
    "ContainerUnitType": "BCU",
    "GroupPosition": "PcieAddrInfo_1_${GroupPosition}"
},

目前确实是一个槽位对应一个下行,但是仍然加载不到对应的卡,以下是目前的详细配置,包含两个槽位及对应的下行连接器,可以麻烦比对下哪里有出入吗

        "BusinessConnector_PCIeSlot1": {
            "Name": "PCIeSlot1",
            "Direction": "Downstream",
            "Slot": 1,
            "LinkWidth": "X8",
            "MaxLinkRate": "PCIe4.0",
            "ConnectorType": "PCIe CEM",
            "UpstreamResources": [],
            "RefMgmtConnector": "#/Connector_PCIe_1",
            "RefPCIeAddrInfo": "#/PcieAddrInfo_NPU_1"
        },
        "BusinessConnector_PCIeSlot2": {
            "Name": "PCIeSlot2",
            "Direction": "Downstream",
            "Slot": 2,
            "LinkWidth": "X8",
            "MaxLinkRate": "PCIe 4.0",
            "ConnectorType": "PCIe CEM",
            "UpstreamResources": [],
            "RefMgmtConnector": "#/Connector_PCIe_2",
            "RefPCIeAddrInfo": "#/PcieAddrInfo_NPU_2"
        },
        "PcieAddrInfo_NPU_1": {
            "Segment": 0,
            "GroupID": 1,
            "SocketID": 0,
            "SlotID": 1,
            "PortID":8,
            "Bus":0,
            "DeviceID":8,
            "Function":0,
            "Location": "BCU${Slot}",
            "ComponentType": 8,
            "ControllerIndex": 0,
            "ControllerType": 1,
            "ContainerUnitType": "BCU",
            "ContainerUID": "00000001020302080020",
            "GroupPosition": "PcieAddrInfo_NPU_1_${GroupPosition}"
        },
        "PcieAddrInfo_NPU_2": {
            "Segment": 0,
            "GroupID": 1,
            "SocketID": 0,
            "SlotID": 2,
            "PortID":12,
            "Bus":0,
            "DeviceID":12,
            "Function":0,
            "Location": "BCU${Slot}",
            "ComponentType": 8,
            "ControllerIndex": 0,
            "ControllerType": 1,
            "ContainerUnitType": "BCU",
            "ContainerUID": "00000001020302080020",
            "GroupPosition": "PcieAddrInfo_NPU_2_${GroupPosition}"
        },
        "Connector_PCIe_1": {
            "Bom": "14140130",
            "Slot": 1,
            "Position": 2,
            "Presence": 1,
            "Buses": [
                "I2cMux_9545Chan3"
            ],
            "SystemId": 1,
            "SilkText": "{Slot}",
            "IdentifyMode": 2,
            "Type": "PCIe"
        },
        "Connector_PCIe_2": {
            "Bom": "14140130",
            "Slot": 2,
            "Position": 3,
            "Presence": 1,
            "Buses": [
                "I2cMux_9545Chan4"
            ],
            "SystemId": 1,
            "SilkText": "{Slot}",
            "IdentifyMode": 2,
            "Type": "PCIe"
        },