博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多功能PCIE交换机之十:NTB EEPROM 更新注意事项
阅读量:7089 次
发布时间:2019-06-28

本文共 2364 字,大约阅读时间需要 7 分钟。

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, 如下图所示意:

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

 在这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文件,进行烧写。

如下图所示:

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

在单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 ,如需转载请自行联系原作者

你可能感兴趣的文章
RedHat 6.4 搭建rhcs集群
查看>>
三生万物:决策树
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Python爬虫框架Scrapy学习笔记原创
查看>>
大数据时代怎么做
查看>>
java基本语法
查看>>
细说HTTP之上篇
查看>>
将Eclipse Maven项目 导入 IDEA 步骤 成功运行 已测试!~LC
查看>>
Exchange Server 2010的俩种版本比较
查看>>
asp.net 插入视频
查看>>
laravel中的表单请求类型和CSRF防护(六)
查看>>
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多...
查看>>
我的友情链接
查看>>
监控指定文件所有机器的网络状况
查看>>
11、网络--Linux Bridge(网桥基础)
查看>>
监控apache脚本原理
查看>>
参观迅达云成观后感
查看>>
linux(ubuntu)查看硬件设备命令
查看>>
centos 上 GraphicsMagic安装笔记
查看>>