Failed to open device file: /dev/datadev_0 if rescanPcieFpga ran within updatePcieFpga

XMLWordPrintable

    • 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:
      

              Assignee:
              Unassigned
              Reporter:
              Larry Ruckman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: