我的机器(正在运行Linux内核3.2.38的计算机)在引导时具有错误的PCI设备的子系统ID(子设备和子供应商ID).如果我然后在系统仍处于启动状态(即热插拔)时物理地拔出PCI设备并重新插入,则它将获得正确的ID.

请注意,错误的子设备ID和子供应商ID与设备的设备ID和供应商ID相同(请参见下面的lspci输出中的前两行).

以下是热插入设备之前和之后lspci -vvnn的输出:

热插拔之前:

0b:0f.0 Bridge [0680]: Device [1a88:4d45] (rev 05)

Subsystem: Device [1a88:4d45]

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-

Latency: 32 (250ns min, 63750ns max)

Interrupt: pin A routed to IRQ 10

Region 0: I/O ports at 2100 [size=256]

Region 1: I/O ports at 2000 [size=256]

Region 2: Memory at 92920000 (32-bit, non-prefetchable) [size=64]

热插拔后:

0b:0f.0 Bridge [0680]: Device [1a88:4d45] (rev 05)

Subsystem: Device [007d:5a14]

Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-

Interrupt: pin A routed to IRQ 10

Region 0: I/O ports at 2100 [disabled] [size=256]

Region 1: I/O ports at 2000 [disabled] [size=256]

Region 2: [virtual] Memory at 92920000 (32-bit, non-prefetchable) [size=64]

我的问题:是否有一种方法可以在不热插拔设备的情况下固定ID?例如强制内核重新读取PCI设备ID,例如通过执行PCI总线重新扫描/重新枚举/重新配置?

任何帮助将不胜感激.谢谢.

PS.请注意,该问题实际上与内核/软件无关,因为即使启动到UEFI内部Shell中也存在该问题.

PPS.在这种情况下,PCI设备为MEN F206N,“我的机器”为MEN F22P

解决方法:

您可以通过以下方式强制重新扫描PCI:

#回声1> / sys /总线/ pci /重新扫描

标签:pci-e,pci,linux,pci-bus

来源: https://codeday.me/bug/20191029/1961621.html

Linux内核机器ID,linux-如何强制内核重新读取/重新初始化PCI设备ID?相关推荐

  1. linux下机器参数,Linux机器相关参数

    CPU信息查看: cpu信息:cat /etc/cpuinfo 或者 cat /proc/cpuinfo 查看cpu物理核数:cat /proc/cpuinfo |grep 'physical id' ...

  2. Linux阅码场 - Linux内核月报(2020年09月)

    关于Linux内核月报 Linux阅码场 Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向. 限于篇幅,只会对最新技术 ...

  3. Linux上面查看虚拟机的ID,Linux虚拟机的设备id与盘符不相符怎么办?

    一般情况下Linux虚拟机中,设备id都是映射磁盘的盘符,所以设备id和盘符是相一致的.但是用户在查看Linux设备id的时候却发现Linux虚拟机中设备id与盘符不相符,这个时候该怎么办呢? 当用户 ...

  4. linux 查看 pci 设备驱动,如何写linux pci设备驱动程序

    PCI总线应用领域及其广泛并且令人惊奇.不同的pci设备有不同的需求以及不同的问题.因此,在linux内核中pci层支持就非常重要啦.本文档就是想为驱动程序设计开发人员解决pci处理中的各种问题. 0 ...

  5. linux查看pci设备c语言,linux 系统 查看pci设备的命令lspci

    lspci 应该是根据bus id那些和读取 pci的设备的寄存器内容,查找相应的数据库,把认出爱的设备显示出来,自己man lspci看一下. 不过有的时候比如自己作的pci设备可能认不出来,需要用 ...

  6. 是否有唯一的Android设备ID?

    Android设备是否具有唯一的ID,如果是,则使用Java访问它的简单方法是什么? #1楼 有许多不同的方法可以解决这些ANDROID_ID问题(有时可能为null或特定模型的设备总是返回相同的ID ...

  7. 漫谈唯一设备ID,android开发工程师

    设备ID,简单来说就是一串符号(或者数字),映射现实中硬件设备. 如果这些符号和设备是一一对应的,可称之为"唯一设备ID(Unique Device Identifier)" 不幸 ...

  8. android 使用kotlin 获取设备id

    在 Android 中,获取设备的唯一标识符是一项常见的任务.以下是使用 Kotlin 语言获取设备 ID 的步骤: 1. 在 AndroidManifest.xml 文件中添加以下权限: <u ...

  9. 如何通过供应商和设备ID查找未知设备驱动

    转载自:http://www.yeeyan.com/articles/view/jht/57657 简介 未知设备,不再头疼! 规则 1:千万不要丢失设备驱动光盘. 规则 2:谨慎一些,手头保存一个备 ...

最新文章

  1. Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入
  2. asp.net 发送邮件
  3. python gui编程 从入门到项目实战_python GUI编程 QT5开发项目实战
  4. 基础知识(五)对齐变换相关函数
  5. 古风手机壁纸,国潮的你不可错过!
  6. 软件基本功能测试用例,测试用例实例—常见功能测试点().docx
  7. Win7+Ubuntu双系统时间不一致
  8. leetCode 203. Remove Linked List Elements 链表
  9. 苹果关掉200m限制_苹果手机200m限制取消教程 苹果怎么下载超过200m的软件
  10. 零伽壹浅谈:区块链技术在审计工作的应用
  11. MAC打印出现Filter failed
  12. 第五部分 项目进度管理
  13. 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
  14. r5 4650g和r5 5600g选哪个好
  15. linux切换独显,Ubuntu 16.04如何切换Intel集显与Nvidia独显
  16. 计算机动画整个的发展历史,计算机三维动画概念及发展历史
  17. html5新建一个表格,全新改良的HTML5表单建立html5新闻
  18. 后台自动定时切换壁纸工具
  19. linux打通任督二脉百度网盘,廖阅鹏催眠CD-催眠打通任督二脉
  20. 在x86_64架构+VMware16.2.3 Pro+openEuler20.3-LTS上快速部署(一键安装)openGauss 3.1.1企业版数据库指导手册

热门文章

  1. mysql 分析查询语句,MySQL教程之SQL语句分析查询优化
  2. 房价python爬取_python爬取并解析 重庆2015-2019房价走势
  3. java 类 属性数量_跟我学java编程—Java类的属性与成员变量
  4. ros构建机器人运动学模型_ROS入门学习之八机器人综合应用
  5. shell自动化巡检
  6. Public Sale【博弈】
  7. Mysql更改表名大小写不敏感
  8. 微软发布Azure Storage不可变存储功能的正式版本
  9. WPF Image Source 设置相对路径图片
  10. requests库入门09-OAUTH认证