-
Type:
Bug
-
Resolution: resolved
-
Priority:
Low
-
Component/s: None
-
None
https://github.com/slaclab/axi-pcie-core/blob/pre-release/scripts/updatePcieFpga#L229-L251
I ran into an issue what if I run the rescanPcieFpga script within the updatePcieFpga script that the rogue.hardware.axi.AxiMemMap() becomes no longer accessable.
rogue.GeneralError: AxiMemMap::AxiMemMap: General Error: Failed to open device file: /dev/datadev_0
But if I run the rescanPcieFpga script outside of the updatePcieFpga script, then there is no issue
Log when running the `rescanPcieFpga ran within updatePcieFpga`:
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ ls -li /dev/data*
1076 crw-rw-rw- 1 root root 511, 0 May 20 11:55 /dev/datadev_0
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ python scripts/updatePcieFpga.py --path images/ --rescan 1
Rogue/pyrogue version v6.6.0. https://github.com/slaclab/rogue
Basedir = /sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/firmware/submodules/axi-pcie-core/scripts
WARNING: Root.AxiPcieCore.numDmaLanes = 1 != Root.AxiPcieCore.AxiVersion.DMA_SIZE_G = 8
#########################################
Current Firmware Loaded on the PCIe card:
#########################################
Path = Root.AxiPcieCore.AxiVersion
FwVersion = 0x2080000
UpTime = 0:01:14
GitHash = dirty (uncommitted code)
XilinxDnaId = 0x40020000015668e81cc0a145
FwTarget = XilinxVariumC1100PrbsTester
BuildEnv = Vivado v2024.2
BuildServer = rdsrv411 (Ubuntu 22.04.5 LTS)
BuildDate = Sun May 18 12:45:06 PM PDT 2025
Builder = ruckman
#########################################
0 : images/XilinxVariumC1100PrbsTester-0x02080000-20250513150401-ruckman-dirty
1 : Exit
Enter image to program into the PCIe card's PROM: 0
Reloading FPGA firmware from PROM ....
Running PCIe rescan (you may be prompted for your sudo password)...
Searching for PCIe devices with VENDOR_ID=1a4a & DEVICE_ID=2030...
Found device: 0000:01:00.0 1180: 1a4a:2030 (rev ff)
Unbinding 0000:01:00.0
Removing 0000:01:00.0 from PCI bus
Rescanning PCI bus
Done.
WARNING: Root.AxiPcieCore.numDmaLanes = 1 != Root.AxiPcieCore.AxiVersion.DMA_SIZE_G = 8
#########################################
New Firmware Loaded on the PCIe card:
#########################################
Path = Root.AxiPcieCore.AxiVersion
FwVersion = 0x2080000
UpTime = 0:00:03
GitHash = dirty (uncommitted code)
XilinxDnaId = 0x40020000015668e81cc0a145
FwTarget = XilinxVariumC1100PrbsTester
BuildEnv = Vivado v2024.2
BuildServer = rdsrv411 (Ubuntu 22.04.5 LTS)
BuildDate = Sun May 18 12:45:06 PM PDT 2025
Builder = ruckman
#########################################
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ ls -li /dev/data*
1078 crw-rw-rw- 1 root root 511, 0 May 20 11:56 /dev/datadev_0
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ python scripts/updatePcieFpga.py --path images/ --rescan 1
Rogue/pyrogue version v6.6.0. https://github.com/slaclab/rogue
Basedir = /sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/firmware/submodules/axi-pcie-core/scripts
Traceback (most recent call last):
File "/sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/software/scripts/updatePcieFpga.py", line 137, in <module>
with Root(dev=args.dev) as root:
File "/sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/software/scripts/updatePcieFpga.py", line 62, in __init__
self.memMap = rogue.hardware.axi.AxiMemMap(dev)
rogue.GeneralError: AxiMemMap::AxiMemMap: General Error: Failed to open device file: /dev/datadev_0
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$
Log when running the `rescanPcieFpga ran outside of updatePcieFpga`:
(rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ ls -li /dev/data* 1076 crw-rw-rw- 1 root root 511, 0 May 20 11:59 /dev/datadev_0 (rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ python scripts/updatePcieFpga.py --path images/ --rescan 0 Rogue/pyrogue version v6.6.0. https://github.com/slaclab/rogue Basedir = /sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/firmware/submodules/axi-pcie-core/scripts WARNING: Root.AxiPcieCore.numDmaLanes = 1 != Root.AxiPcieCore.AxiVersion.DMA_SIZE_G = 8 ######################################### Current Firmware Loaded on the PCIe card: ######################################### Path = Root.AxiPcieCore.AxiVersion FwVersion = 0x2080000 UpTime = 0:01:22 GitHash = dirty (uncommitted code) XilinxDnaId = 0x40020000015668e81cc0a145 FwTarget = XilinxVariumC1100PrbsTester BuildEnv = Vivado v2024.2 BuildServer = rdsrv411 (Ubuntu 22.04.5 LTS) BuildDate = Sun May 18 12:45:06 PM PDT 2025 Builder = ruckman ######################################### 0 : images/XilinxVariumC1100PrbsTester-0x02080000-20250513150401-ruckman-dirty 1 : Exit Enter image to program into the PCIe card's PROM: 0 Reloading FPGA firmware from PROM .... Please reboot the computer (rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ sudo ../firmware/submodules/axi-pcie-core/scripts/rescanPcieFpga Searching for PCIe devices with VENDOR_ID=1a4a & DEVICE_ID=2030... Found device: 0000:01:00.0 1180: 1a4a:2030 Unbinding 0000:01:00.0 Removing 0000:01:00.0 from PCI bus Rescanning PCI bus Done. (rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ ls -li /dev/data* 1078 crw-rw-rw- 1 root root 511, 0 May 20 12:00 /dev/datadev_0 (rogue_v6.6.0) ruckman@rdsrv403:~/project/temp/pgp-pcie-apps/software$ python scripts/updatePcieFpga.py --path images/ --rescan 0 Rogue/pyrogue version v6.6.0. https://github.com/slaclab/rogue Basedir = /sdf/group/faders/users/ruckman/project/temp/pgp-pcie-apps/firmware/submodules/axi-pcie-core/scripts WARNING: Root.AxiPcieCore.numDmaLanes = 1 != Root.AxiPcieCore.AxiVersion.DMA_SIZE_G = 8 ######################################### Current Firmware Loaded on the PCIe card: ######################################### Path = Root.AxiPcieCore.AxiVersion FwVersion = 0x2080000 UpTime = 0:00:21 GitHash = dirty (uncommitted code) XilinxDnaId = 0x40020000015668e81cc0a145 FwTarget = XilinxVariumC1100PrbsTester BuildEnv = Vivado v2024.2 BuildServer = rdsrv411 (Ubuntu 22.04.5 LTS) BuildDate = Sun May 18 12:45:06 PM PDT 2025 Builder = ruckman ######################################### 0 : images/XilinxVariumC1100PrbsTester-0x02080000-20250513150401-ruckman-dirty 1 : Exit Enter image to program into the PCIe card's PROM: