linux下可通过/sys/bus/pci/devices/0000\:[bus number]\:[device number].[function number]/ 目录下的节点进行热拔插操作。

板子上电前PCIe插槽有一块NVME的固态硬盘

[ 0.198515] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400

[ 0.199284] pci 0000:01:00.0: [126f:2263] type 00 class 0x010802

[ 8.161374] nvme nvme0: pci function 0000:01:00.0

[ 8.166407] nvme 0000:01:00.0: enabling device (0000 -> 0002)

# ls /sys/bus/pci/devices/0000\:01\:00.0

broken_parity_status enable rescan

class irq reset

config local_cpulist resource

consistent_dma_mask_bits local_cpus subsystem

device modalias subsystem_device

devspec msi_bus subsystem_vendor

dma_mask_bits power uevent

driver_override remove vendor

现在需要在板子保持开机运行的状态下,先取下NVME的固态硬盘,再换上一块PCIe 网卡,并让网卡正常工作。

remove 原有设备,然后lspci查看, 0000:01:00.0: [126f:2263]已经不见了

# echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove

#

# lspci

00:00.0 Class 0604: 16c3:abcd

现在可以从插槽取下固态硬盘,插上网卡

通过上游bus进行rescan

echo 1 > /sys/bus/pci/devices/0000\:00\:00.0/rescan

[ 72.436704] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring

[ 72.445041] pci 0000:01:00.0: [10ec:8168] type 00 class 0x020000

[ 72.451319] pci 0000:01:00.0: reg 0x10: initial BAR value 0x00000000 invalid

[ 72.458380] pci 0000:01:00.0: reg 0x10: [io size 0x0100]

[ 72.464113] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00000fff 64bit]

[ 72.471112] pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit]

[ 72.479299] pci 0000:01:00.0: supports D1 D2

[ 72.483583] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold

[ 72.490667] pci_bus 0000:01: busn_res: [bus 01] end is updated to 01

[ 72.497090] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]

[ 72.503202] pci 0000:01:00.0: BAR 4: assigned [mem 0xf1100000-0xf1103fff 64bit]

[ 72.510683] pci 0000:01:00.0: BAR 2: assigned [mem 0xf1104000-0xf1104fff 64bit]

[ 72.518162] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff]

# [ 72.569018] r8169 0000:01:00.0: no of_node; not parsing pinctrl DT

[ 72.575313] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

[ 72.580996] r8169 0000:01:00.0: enabling device (0000 -> 0003)

[ 72.603261] r8169 0000:01:00.0 eth1: RTL8168h/8111h at 0xc8ea0000, e8:4e:06:72:f5:8a, XID 14100800 IRQ 66

[ 72.612886] r8169 0000:01:00.0 eth1: jumbo features [frames: 9200 bytes, tx checksumming: ko]

[ 72.846167] r8169 0000:01:00.0: Direct firmware load for rtl_nic/rtl8168h-2.fw failed with error -2

[ 72.855262] r8169 0000:01:00.0 eth1: unable to load firmware patch rtl_nic/rtl8168h-2.fw (-2)

[ 72.876122] r8169 0000:01:00.0 eth1: link down

查看新的网卡设备,多了一个eth1

# lspci

00:00.0 Class 0604: 16c3:abcd

01:00.0 Class 0200: 10ec:8168

#

#

# ifconfig

eth0 Link encap:Ethernet HWaddr 02:67:AB:81:02:BB

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Interrupt:16

eth1 Link encap:Ethernet HWaddr E8:4E:06:72:F5:8A

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

嵌入式linux pcie网卡配置,[嵌入式linux]PCIe 热拔插(rescan)相关推荐

  1. linux双网卡配置默认,linux双网卡配置

    环境:CentOS5.3 Linux version 2.6.18-128.el5,双网卡 配置: 1.编辑/etc/modprobe.conf 文件 #vi /etc/modprobe.conf加入 ...

  2. suse服务器修改ip,SuSE Linux 修改网卡配置 |SUSE Linux 单网卡配置双IP

    linux-Tom:~ # cd /etc/sysconfig/network linux-Tom:~ # vi ifcfg-eth-id-00:40:ca:c7:04:fe    (物理网卡) BO ...

  3. 嵌入式linux pcie网卡配置,嵌入式Linux下PCIE数据采集卡驱动开发

    目录 5.4 中断 (34) 5.4.1 Linux中断处理架构 (34) 5.4.2 Linux中断编程 (34) 5.5 本章小结 (35) 第六章PCIE高速数据采集卡驱动程序开发 (36) 6 ...

  4. linux的网卡配置device,linux网卡配置讲解

    ifconfig 网卡名称 (查看网卡信息,不加则为查看所有up状态网卡信息) ifconfig 网卡名称 IP地址/掩码 ifdown 网卡名称 ifup 网卡名称 service network ...

  5. 固定linux虚拟机ip地址,虚拟机下linux 系统网卡配置、固定IP地址

    1.进入该目录下修改内容 vi       /etc/sysconfig/network-scripts/  ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEF ...

  6. Linux的网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33

    Linux的网卡配置 TYPE=Ethernet # 网卡类型:为以太网 PROXY_METHOD=none # 代理方式:关闭状态 BROWSER_ONLY=no # 只是浏览器:否 BOOTPRO ...

  7. linux Ubuntu网卡配置,Windows 7下用VirtualBox安装Ubuntu网卡配置

    Windows 7下用VirtualBox安装Ubuntu,要求Ubuntu能连上互联网,同时在Ubuntu中配置SSH.FTP.NFS服务,能从Win7进行访问. 此时Linux虚拟机需要两块网卡, ...

  8. Linux系统网卡配置方法

    Linux系统配置网卡方法 方法一:通过setup命令设置网卡 [root@luojiayi-11 ~]# setup 图1-1 选择network configuration 图1-2 选择pevi ...

  9. linux 中网卡配置命令 ifconfig简介

    ifconfig 无论是Linux自动安装还是我们手工安装,Linux都会向你询问有关网络的问题并配置相关的软件.这个用于配置网卡的基本命令就是ifconfig. 在执行ifconfig命令后,系统将 ...

最新文章

  1. C++ multimap 的插入,遍历,删除
  2. Oracle添加定时任务
  3. 指针数组,数组指针,函数指针,main函数实质,二重指针,函数指针作为参数,泛型函数
  4. 强制关闭虚拟机后问题+解决
  5. Android Studio中关于9-patch格式图片的编译错误
  6. 在RelativeLayout中对控件的显示隐藏操作问题
  7. Android逆向笔记-Proguard混淆Android代码以及去打印日志信息
  8. 点歌台 PHP,MeMusic3.0 PHP在线点歌系统 - 下载 - 搜珍网
  9. Python 爬虫分析豆瓣 TOP250 告诉你程序员业余该看什么书?
  10. 通过内网穿透 将本地端口 使其外网可以进行访问 使用花生壳内网穿透 网站访问
  11. FZU 2148 Moon Game --判凹包
  12. (转liigo)Rust 1.0发布一周年,发展回顾与总结
  13. MATLAB线性规划相关函数用法
  14. 《Designing and Training of A Dual CNN for Image Denoising》阅读笔记
  15. 自媒体平台:大鱼计划,20亿大鱼平台奖励金如何获取?
  16. iOS adhoc 版本App 如何制作安装
  17. 如何看懂Minecraft报错的关键信息。
  18. MySQL批量导入Excel、txt数据
  19. 【报错解决】expected single matching bean but found 2
  20. 河南省三门峡市谷歌高清卫星地图下载

热门文章

  1. (二维树状数组)E - Stars
  2. 计算机基本原理 学习笔记(八)
  3. 在计算机网络中 工作在物理层上的设备,简述工作在物理层,数据链路层和网络层上的设备分别有哪些...
  4. BUUCTF·[AFCTF2018]Vigenère·WP
  5. 为什么我推荐用户故事地图?
  6. 应对嵌入式校招面试手撕之——链表
  7. Ubuntu下能连上无线但不能上网
  8. 32位操作系统升级为64位步奏
  9. 玩出新花样—文言文编程
  10. 多媒体的计算机系统,多媒体计算机系统().PPT