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

    PfSense 2.2.2 on a soekris net4801

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    7 Posts 2 Posters 3.3k Views
    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.
    • E
      evermorian
      last edited by

      I have been working on getting pfSense 2.2.2 (i386 nanobsd) running on a surplus soekris net4801.  I was going to post a question but, I figured it out while waiting for the forums here to be fixed.  I thought I would share this, in case it helps anyone else.

      The first issue I ran into was with terminal speeds.  Most stuff talking about the net4801 suggests using 9600 baud for the serial console.  However, newer releases of pfSense use 115200.  That gets set in the net4801 BIOS.

      
      POST: 012345689bcefghipsajklnopqr,,,tvwxy
      
      comBIOS ver. 1.33  20080103  Copyright (C) 2000-2007 Soekris Engineering.
      
      net4801
      
      ...
      
      comBIOS Monitor.   Press ? for help.
      
      > show
      
      ConSpeed = 115200
      ConLock = Enabled
      ConMute = Disabled
      BIOSentry = Enabled
      PCIROMS = Enabled
      PXEBoot = Disabled
      FLASH = Primary
      BootDelay = 5
      FastBoot = Disabled
      BootPartition = Disabled
      BootDrive = 80 81 F0 FF
      ShowPCI = Enabled
      Reset = Hard
      CpuSpeed = Default
      
      

      After getting that situated, I ran into a problem during boot where it would stall:

      
      random: unblocking device.
      (ada0:ata0:0:0:0): READ_DMA. ACB: c8 00 1e fc 3d 40 00 00 00 00 01 00
      (ada0:ata0:0:0:0): CAM status: Command timeout
      (ada0:ata0:0:0:0): Retrying command
      ...
      (ada0:ata0:0:0:0): READ_DMA. ACB: c8 00 1e fc 3d 40 00 00 00 00 01 00
      (ada0:ata0:0:0:0): CAM status: Command timeout
      (ada0:ata0:0:0:0): Error 5, Retries exhausted
      
      

      I got past this by disabling DMA.  After the kernel loads, you can interrupt the boot sequence and, use a set command to disable DMA for the current boot:

      
      Hit [Enter] to boot immediately, or any other key for command prompt.
      Booting [/boot/kernel/kernel] in 3 seconds...
      
      Type '?' for a list of commands, 'help' for more detailed help.
      OK set hw.ata.ata_dma=0
      OK boot
      Booting...
      
      

      Of course, it would be super inconvenient to have to do this via serial console on every boot.  So, it needs to be added to /boot/loader.conf.

      On the way there, one can configure the network interfaces.  They are, from right (just after the serial port) to left:

      sis0: labeled eth0 on the case
      sis1: labeled eth1 on the case
      sis2: labeled eth2 on the case

      Once you get to the pfSense menu, choose option 8 to get a shell.  /boot is mounted read-only.  So, we need to remount it:

      
      [2.2.2-RELEASE][root@pfSense.localdomain]/root: /etc/rc.conf_mount_rw
      
      

      Then, add the appropriate line to /boot/loader.conf:

      
      [2.2.2-RELEASE][root@pfSense.localdomain]/root: echo 'hw.ata.ata_dma="0"' >>/boot/loader.conf
      [2.2.2-RELEASE][root@pfSense.localdomain]/root: cat /boot/loader.conf
      loader_color="NO"
      console=comconsole
      autoboot_delay="5"
      beastie_disable="YES"
      vm.kmem_size="435544320"
      vm.kmem_size_max="535544320"
      hw.usb.no_pf="1"
      hw.ata.ata_dma="0"
      
      

      Remount the file system read-only when you are done and, exit back to the menu:

      
      [2.2.2-RELEASE][root@pfSense.localdomain]/root: /etc/rc.conf_mount_ro
      [2.2.2-RELEASE][root@pfSense.localdomain]/root: exit
      
      

      Anything else I should be doing with this?  Reply and let me know!

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

        Hmm, I'm surprised that worked because in 2.2 the method for disabling it has changed. See:
        https://doc.pfsense.org/index.php/Boot_Troubleshooting#pfSense_2.2_and_later
        You may want to use that instead as that's the correct method in FreeBSD 10+

        Steve

        1 Reply Last reply Reply Quote 0
        • E
          evermorian
          last edited by

          Interesting. The "pfSense 2.2 and later" settings do not work for me on the soekris net4801 with pfSense 2.2.2. After entering "set kern.cam.ada.write_cache=0" at the boot loader prompt, it locks up just as it did originally.

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

            You may not need the write cache disabling. Does the dma setting work by itself?

            Steve

            1 Reply Last reply Reply Quote 0
            • E
              evermorian
              last edited by

              "hw.ata.ata_dma=0" works by itself. Is there some newer variant of that? I tried "kern.cam.ada.dma=0" and several variants of that, to no avail.

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

                Yes, just like it shows in that link. Instead of disabling DMA you set PIO mode:

                hint.ata.0.mode=PIO4
                

                Which of course does disable DMA.

                Steve

                1 Reply Last reply Reply Quote 0
                • E
                  evermorian
                  last edited by

                  My apologies: I should have read more carefully. I just jumped down to the "Disable Write Caching" section. I think I have documentation fatigue today.

                  Yes, hint.ata.0.mode=PIO4 works in place of hw.ata.ata_dma=0 and, it boots fine.

                  Thank you.

                  Andrew

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