多功能PCIE交换机之十:NTB EEPROM 更新注意事项

2024-03-23 05:10

本文主要是介绍多功能PCIE交换机之十:NTB EEPROM 更新注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


8717 PLX NTB EEPROM烧写


1.背景


NTB上的EEPROM保存着它上电后的默认设置,包括PCIE链接的设置、NT端口的使能、地址转换窗口的数量和大小、PCIE AER的默认配置等等。在新机器安装之前、系统地址窗口需要改变等情况下,就需要通过厂商提供的SDK 工具进行NTB EEPROM的烧写。



2.针对不同出厂设置的烧写方法

考虑到不同厂商的差异以及不同客户的需求,厂商提供的主板上的NTB EEPROM可能出现下面的几种配置:


  • NT 链接

首先通过NTB的示例程序,比如PLX提供的NTSample,可以看到双控系统上一侧NTB port类型是Virutual interface, 如下图所示意:


wKioL1ihmmqx83BkAAAirVu2rcI501.png双控系统另外一侧的portlink interface,如下图所示意:


 wKiom1ihmqeTufkiAACF5uXOyRc486.jpg在这virtual interface一侧,既可以通过NT PCIE downstream设备又可以通过upstream设备进行烧写,正确的操作:

a.单击左上区域选择NTBupstream PCIE 设备 4:0:0或者 NTB downstream PCIE 6:00.0

b.双击在左下角区域选择EEPROM Editor

c.tools中选择program eeprom, 打开virtual interface对应的eeprom文件,进行烧写。


如下图所示:

wKioL1ihnAuSIEgnAAA-Y5VxDtI714.png



而如果需要更新link interface一侧的NTBEEPROM,切记不能选择down stream设备6:00.0对应的EEPROM进行烧写,因为这样会烧写到对侧virtual interfaceEEPROM里面去,而只能基于它的upstream PCIE device进行烧写,如下图:

wKiom1ihnjvyL9pRAABDT5b7AZg794.png


在单NT模式下,建议烧写操作的顺序如下:

a.烧写NT Link interfaceNTB EEPROM

b.重启NT Link interface的控制器;

c. NT Link interface重启进入OS之后,检查down steam port 是否存在,如果存在,到下一步; 否则跳到步骤a;

d. 烧写NT Virtual interface控制器的NTB EEPROM,烧写完成之后,重启让新的EEPROM生效。


  • NT


NTSample显示两端都是Virtual-Side(背靠背)链接的时候,可以看做双NT模式,此时两侧的NVDIMM可参照单NT Port virtual interface 一侧的EEPROM进行烧写。


  • NT (没有NTBeanble)

此时用lspic看不到NTB设备,down stramupstream的设备都看不到,这很可能是BIOSNTB没有使能的原因所致。


还有一种现象是,lspci能看到NTB upstream的设备,但是看不到down steam的设备,

这个很可能是因为两侧的NTBNT端口在eeprom都被disable,都变成link interface所致。


不管上面哪种NT的设置,都要求烧写NTB EEPROM的时候不要重启、掉电,否则可能导致系统无法启动。


3.烧写过程碰到问题的处理


烧写过程中,一不小心,很可能就会出现下面的问题:


a. link interface烧写EEPROM

如果在link interface通过downstream进行烧写EEPROM,注意它实际烧写到了virtual interface一侧的NTB上的EEPROM上去了。 如果是在单NT的配置下,且先在virtual interface一侧烧写NTB EEPROM,再在link interface一侧烧写link interface一侧期望的EEPROM, 实际结果会发现两侧节点的NT port都被disable了,导致只看到upstream节点,看不到downstream节点,这样NTB驱动无法加载,后面也就无法再用厂家提供的SDK工具来更新NTB EEPROM。 针对这种问题,可以考虑下面的步骤进行恢复:

  • 从其他双控系统上找到一个NTB virtual interface的节点,把它替换出现问题的双控系统上的link interface节点;或者把出现问题的virtual interface节点替换NTB正常的双控系统上的link interface节点;


  • 重新上电后,系统应该能够启动,并且两个控制器的NTB驱动都能加载,参考上文中关于单NT link interface 烧写EEPROM的方法,把当前系统上的link interface 一侧的控制器上的EEPROM 烧写成virtual interface 模式;


  • 用之前出现问题的双控系统的link interface 一侧的控制器,替代其他机器上的控制器;或者在virtual interface一侧重新插入烧好了EEPROM的控制器。上电后,应该两个控制器都能看到downstream NTB.



b.烧录了有问题的EEPROM,导致系统无法启动


可参考下面的方案,先通过硬件跳线跳过BIOS阶段对NTB的扫描,进入系统后解除跳线,通过SDK过擦除EEPROM, 然后重新烧写正确的EEPROM


 

4.总结


NTBEEPROM烧写,需要深刻理解NTB port interfacelink interface的区别,只有对NTB底层硬件工作原理、PCIE设备探测、驱动加载、NTB系统互联有全面的了解,才可能找到办法解决烧写过程中碰到的各种问题。




















本文转自存储之厨51CTO博客,原文链接:http://blog.51cto.com/xiamachao/1897422 ,如需转载请自行联系原作者





这篇关于多功能PCIE交换机之十:NTB EEPROM 更新注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837233

相关文章

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

最便宜的8口2.5G网管交换机! 水星SE109 Pro拆机测评

《最便宜的8口2.5G网管交换机!水星SE109Pro拆机测评》水星SE109Pro价格很便宜,水星SE109Pro,外观、接口,和SE109一样,区别Pro是网管型的,下面我们就来看看详细拆... 听说水星SE109 Pro开卖了,PDD卖 220元,于是买回来javascript拆机看看。推荐阅读:水

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab