Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    BOOT problem ZFS / NVME SSD - nvme0: System interrupt issues?

    Scheduled Pinned Locked Moved General pfSense Questions
    16 Posts 3 Posters 664 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      ramup @stephenw10
      last edited by ramup

      @stephenw10

      Thanks for your input.

      I just rebooted once again testwise and yes, the messages are almost the same (and in same order) but I now noticed (wasn`t aware before) that after (in respect to boot disk):

      nvme0: <Generic NVMe Device> mem 0xa1600000-0xa1603fff at device 0.0 on pci2
      ....
      ZFS filesystem version: 5
      ZFS storage pool version: features support (5000)
      
      

      It says instead of (in case of successful boot)

      Trying to mount root from zfs:pfSense/ROOT/default []...
      Root mount waiting for: CAM
      Root mount waiting for: CAM
      Root mount waiting for: CAM
      ...
      

      in the order of this line:

      nvme0: System interrupt issues?
      Root mount waiting for: CAM
      Root mount waiting for: CAM
      Root mount waiting for: CAM
      .... (endless repeat)
      

      Cold boot is e.g. when the warm boot fails I shut down the pc via power button (long press). When I turn the PC on again 10 seconds later it boots fine (like the example given in my first post).

      1 Reply Last reply Reply Quote 0
      • R Offline
        ramup @mer
        last edited by ramup

        @mer

        Thanks for your input. According to your experience does the type of messages appear I posted above when vendors do not implement it the way it shoud be on warm reboots?

        M 1 Reply Last reply Reply Quote 0
        • stephenw10S Online
          stephenw10 Netgate Administrator
          last edited by stephenw10

          Oh it actually shows: nvme0: System interrupt issues? at the warm boot? That seems like a huge clue if so.
          https://man.freebsd.org/cgi/man.cgi?query=nvme&sektion=4&manpath=FreeBSD+15.0-CURRENT#DIAGNOSTICS

          Try booting verbose at the reboot see if that gives you more. Interrupt boot at the loader menu then at the OK> prompt enter: boot -v

          Sometime the extra delay caused by booting verbose can actually pass whatever error is present. Which is inconvenient for troubleshooting!

          1 Reply Last reply Reply Quote 0
          • M Offline
            mer @ramup
            last edited by

            @ramup possibly. A reset line not physically routed to the right place. But again, sometimes this can be worked around by have software reinitializing registers.

            1 Reply Last reply Reply Quote 0
            • stephenw10S Online
              stephenw10 Netgate Administrator
              last edited by

              Mmm I could believe something missing in the adapter could present like this.

              I'd try forcing legacy interrupts for nvme.

              R 2 Replies Last reply Reply Quote 0
              • R Offline
                ramup @stephenw10
                last edited by

                @stephenw10
                Thank you for the hint to FreeBSD man page. I did not even find that with Google with search "system interrupt issues?"

                Can you tell me what you technically mean by "try forcing legacy interrupts for nvme"?

                @mer
                Thank you also for your input, but I also do not understand technically how to do "software reinitializing registers"?

                M 1 Reply Last reply Reply Quote 0
                • R Offline
                  ramup @stephenw10
                  last edited by ramup

                  @stephenw10
                  Do you mean:

                  https://man.freebsd.org/cgi/man.cgi?nvme(4)

                  setting:

                  hw.nvme.force_intx=1

                  in in /boot/loader.conf.local ?

                  1 Reply Last reply Reply Quote 1
                  • stephenw10S Online
                    stephenw10 Netgate Administrator
                    last edited by

                    Create the file /boot/loader.conf.local

                    Add the following line to it:
                    hw.nvme.force_intx=1

                    Reboot.

                    I've never had to try that so you may find you have to disable that again at the loader prompt if it fails to boot.

                    R 1 Reply Last reply Reply Quote 0
                    • M Offline
                      mer @ramup
                      last edited by

                      @ramup said in BOOT problem ZFS / NVME SSD - Root mount waiting for CAM:

                      Thank you also for your input, but I also do not understand technically how to do "software reinitializing registers"?

                      That would be the OS/driver level. OS as it goes through boot sequence, OS detects a piece of hardware (ram, usb, pci, whatever), OS knows (because of magic) warm/cold boot, decides to set registers or not. Values in sysctls can affect this behavior.
                      So not a "pfSense problem" but maybe a FreeBSD issue (pfSense is built on top of FreeBSD), but reporting it here because this is where you ran across it here lets the pfSense team figure out what to do.

                      1 Reply Last reply Reply Quote 0
                      • R Offline
                        ramup @stephenw10
                        last edited by

                        @stephenw10 + @mer

                        Thank you for your help and guidance. I will start to try with the extra boot command and if that does not work I will search for the possibilities to reinitialize registers via sysctl.

                        I will report back!

                        R 1 Reply Last reply Reply Quote 1
                        • R Offline
                          ramup @ramup
                          last edited by ramup

                          Feedback:

                          hw.nvme.force_intx=1

                          in

                          /boot/loader.conf.local

                          solved the issue!

                          Many thanks for your help!

                          I renamed the thread in case someone searches for it.

                          1 Reply Last reply Reply Quote 1
                          • stephenw10S Online
                            stephenw10 Netgate Administrator
                            last edited by

                            Nice, good result! 👍

                            M 1 Reply Last reply Reply Quote 0
                            • M Offline
                              mer @stephenw10
                              last edited by

                              @stephenw10 I agree @ramup thanks for keeping everyone in the loop

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.