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

    where to put hw.uart.console setting so it sticks after reboot

    Scheduled Pinned Locked Moved General pfSense Questions
    12 Posts 3 Posters 1.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.
    • G
      gfeiner
      last edited by

      I have successfully installed pfSense CE 2.7.2 on a Deciso (OPNSense) DEC850 appliance. This device has no video; only serial console. In order to have a working serial console after the kernel loads on this device during install or any reboot thereafter, I found that I must interrupt the boot process by pressing ESC at the pfSense boot options screen and then enter the following at the OK prompt

      set hw.uart.console="mm:0xfedc9000,rs:2"
      boot
      

      I want to have this stick so I don't have to do that on every reboot. I have tried adding hw.uart.console="mm:0xfedc9000,rs:2" to /boot/loader.conf but that didn't work (no console after kernel load). I noticed that /boot/defaults/loader.conf references /boot/loader.conf.local but no such file exists on my fresh install of 2.7.2. I copied /boot/loader.conf to /boot/loader.conf.local but that too didn't work. I also tried putting w.uart.console="mm:0xfedc9000,rs:2" in /boot/device.hints but that just resulted in the boot process saying the hint was invalid. I also tried using the web interface to set it as a tunable but the tunables web interface complained the value contains invalid characters. So, where can I add hw.uart.console="mm:0xfedc9000,rs:2" so it sticks permanently?

      1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        You would put that in /boot/loader.conf.local

        See: https://docs.netgate.com/pfsense/en/latest/config/advanced-tunables.html#config-tunables-loader

        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        G 1 Reply Last reply Reply Quote 0
        • G
          gfeiner @jimp
          last edited by

          @jimp said in where to put hw.uart.console setting so it sticks after reboot:

          You would put that in /boot/loader.conf.local

          See: https://docs.netgate.com/pfsense/en/latest/config/advanced-tunables.html#config-tunables-loader

          Hmm. Still not working after creating a /boot/loader.conf.local file with a single entry of: hw.uart.console="mm:0xfedc9000,rs:2"

          Console output ends at this point:

          |          __
              _ __  / _|___  ___ _ __  ___  ___
             | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
             | |_) |  _\__ \  __/ | | \__ \  __/
             | .__/|_| |___/\___|_| |_|___/\___|
             |_|
          
          
           /---------- Welcome to pfSense -----------\      __________________________
           |                                         |     /                       ___\
           |  1. Boot Multi user [Enter]             |    |                      /`
           |  2. Boot Single user                    |    |                     /    :-|
           |  3. Escape to loader prompt             |    |      _________  ___/    /_ |
           |  4. Reboot                              |    |    /` ____   / /__    ___/ |
           |  5. Cons: Dual (Serial primary)         |    |   /  /   /  /    /   /     |
           |                                         |    |  /  /___/  /    /   /      |
           |  Options:                               |    | /   ______/    /   /       |
           |  6. Kernel: default/kernel (1 of 1)     |    |/   /          /   /        |
           |  7. Boot Options                        |        /          /___/         |
           |                                         |       /                         |
           |                                         |      /_________________________/
           \-----------------------------------------/                                  |
             Autoboot in 0 seconds. [Space] to pause
          
          Loading kernel...
          /boot/kernel/kernel text=0x19ba18 text=0xfdab90 text=0x17dcbf0 data=0x180 data=0x222690+0x3dc970 0x8+0x1c7460+0x8+0x1d5994-
          Loading configured modules...
          

          If I interrupt the boot processes and enter it manually, console continues to function:

                    __
              _ __  / _|___  ___ _ __  ___  ___
             | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
             | |_) |  _\__ \  __/ | | \__ \  __/
             | .__/|_| |___/\___|_| |_|___/\___|
             |_|
          
          
           /---------- Welcome to pfSense -----------\      __________________________
           |                                         |     /                       ___\
           |  1. Boot Multi user [Enter]             |    |                      /`
           |  2. Boot Single user                    |    |                     /    :-|
           |  3. Escape to loader prompt             |    |      _________  ___/    /_ |
           |  4. Reboot                              |    |    /` ____   / /__    ___/ |
           |  5. Cons: Dual (Serial primary)         |    |   /  /   /  /    /   /     |
           |                                         |    |  /  /___/  /    /   /      |
           |  Options:                               |    | /   ______/    /   /       |
           |  6. Kernel: default/kernel (1 of 1)     |    |/   /          /   /        |
           |  7. Boot Options                        |        /          /___/         |
           |                                         |       /                         |
           |                                         |      /_________________________/
           \-----------------------------------------/                                  |
          
          
          Exiting menu!
          
          
          Type '?' for a list of commands, 'help' for more detailed help.
          OK set hw.uart.console="mm:0xfedc9000,rs:2"
          OK boot
          Loading kernel...
          /boot/kernel/kernel text=0x19ba18 text=0xfdab90 text=0x17dcbf0 data=0x180 data=0x222690+0x3dc970 0x8+0x1c7460+0x8+0x1d5994-
          Loading configured modules...
          /boot/kernel/cryptodev.ko size 0x76f8 at 0x359d000
          /boot/kernel/opensolaris.ko size 0x1e2b0 at 0x35a5000
          can't find '/etc/hostid'
          /boot/entropy size=0x1000
          /boot/kernel/zfs.ko
          
          
          GDB: no debug ports present
          KDB: debugger backends: ddb
          KDB: current backend: ddb
          ---<<BOOT>>---
          Copyright (c) 1992-2023 The FreeBSD Project.
          Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
                  The Regents of the University of California. All rights reserved.
          FreeBSD is a registered trademark of The FreeBSD Foundation.
          FreeBSD 14.0-CURRENT amd64 1400094 #1 RELENG_2_7_2-n255948-8d2b56da39c: Wed Dec  6 20:45:47 UTC 2023
              root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-2_7_2-main/obj/amd64/StdASW5b/var/jenkins/workspace/pfSense-CE-snapshots-2_7_2-main/sources/FreeBSD-src-RELENG_2_7_2/amd64.amd64/sys/pfSense amd64
          FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
          VT(vga): resolution 640x480
          CPU: AMD EPYC 3201 8-Core Processor                  (1497.26-MHz K8-class CPU)
          ...
          

          Contents of /boot/loader.conf.local:

          hw.uart.console="mm:0xfedc9000,rs:2"
          

          Contents of /boot.loader.conf:

          kern.cam.boot_delay=10000
          kern.geom.label.disk_ident.enable="0"
          kern.geom.label.gptid.enable="0"
          kern.ipc.nmbclusters="1000000"
          kern.ipc.nmbjumbo9="524288"
          kern.ipc.nmbjumbop="524288"
          opensolaris_load="YES"
          zfs_load="YES"
          opensolaris_load="YES"
          zfs_load="YES"
          kern.cam.boot_delay=10000
          kern.geom.label.disk_ident.enable="0"
          kern.geom.label.gptid.enable="0"
          kern.ipc.nmbclusters="1000000"
          kern.ipc.nmbjumbo9="524288"
          kern.ipc.nmbjumbop="524288"
          kern.geom.label.disk_ident.enable="0"
          kern.geom.label.gptid.enable="0"
          cryptodev_load="YES"
          zfs_load="YES"
          boot_multicons="YES"
          boot_serial="YES"
          console="comconsole,efi"
          comconsole_speed="115200"
          autoboot_delay="3"
          hw.hn.vf_transparent="0"
          hw.hn.use_if_start="1"
          net.link.ifqmaxlen="128"
          machdep.hwpstate_pkg_ctrl="1"
          net.pf.states_hashsize="1048576"
          
          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            Try running show at the loader prompt and see if it's being set correctly.

            G 1 Reply Last reply Reply Quote 0
            • G
              gfeiner @stephenw10
              last edited by

              @stephenw10 said in where to put hw.uart.console setting so it sticks after reboot:

              Try running show at the loader prompt and see if it's being set correctly.

              It doesn't list it. Show output:

                        __
                  _ __  / _|___  ___ _ __  ___  ___
                 | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
                 | |_) |  _\__ \  __/ | | \__ \  __/
                 | .__/|_| |___/\___|_| |_|___/\___|
                 |_|
              
              
               /---------- Welcome to pfSense -----------\      __________________________
               |                                         |     /                       ___\
               |  1. Boot Multi user [Enter]             |    |                      /`
               |  2. Boot Single user                    |    |                     /    :-|
               |  3. Escape to loader prompt             |    |      _________  ___/    /_ |
               |  4. Reboot                              |    |    /` ____   / /__    ___/ |
               |  5. Cons: Dual (Serial primary)         |    |   /  /   /  /    /   /     |
               |                                         |    |  /  /___/  /    /   /      |
               |  Options:                               |    | /   ______/    /   /       |
               |  6. Kernel: default/kernel (1 of 1)     |    |/   /          /   /        |
               |  7. Boot Options                        |        /          /___/         |
               |                                         |       /                         |
               |                                         |      /_________________________/
               \-----------------------------------------/                                  |
              
              
              Exiting menu!
              
              
              Type '?' for a list of commands, 'help' for more detailed help.
              OK show
              COLUMNS=128
              LINES=40
              acpi_dsdt_load=NO
              acpi_dsdt_name=/boot/acpi_dsdt.aml
              acpi_dsdt_type=acpi_dsdt
              acpi_video_load=NO
              audit_event_load=NO
              audit_event_name=/etc/security/audit_event
              audit_event_type=etc_security_audit_event
              autoboot_delay=NO
              bitmap_load=NO
              bitmap_name=splash.bmp
              bitmap_type=splash_image_data
              boot_multicons=YES
              boot_serial=YES
              bootenv_autolist=YES
              bootenvs[0]=zfs:pfSense/ROOT/default
              bootenvs_count=1
              bootfile=kernel
              comconsole_pcidev=
              comconsole_port=1016
              comconsole_speed=115200
              console=comconsole,efi
              cpu_microcode_load=NO
              cpu_microcode_name=/boot/firmware/ucode.bin
              cpu_microcode_type=cpu_microcode
              cryptodev_load=YES
              currdev=zfs:pfSense/ROOT/default:
              efi-version=2.50
              efi_com_speed=115200
              efi_max_resolution=1x1
              entropy_cache_load=YES
              entropy_cache_name=/boot/entropy
              entropy_cache_type=boot_entropy_cache
              entropy_efi_seed=YES
              hint.acpi_throttle.0.disabled=1
              hint.atkbd.0.at=atkbdc
              hint.atkbd.0.irq=1
              hint.atkbdc.0.at=isa
              hint.atkbdc.0.port=0x060                               
              hint.atrtc.0.at=isa                                    
              hint.atrtc.0.irq=8
              hint.atrtc.0.port=0x70
              hint.attimer.0.at=isa
              hint.attimer.0.irq=0
              hint.attimer.0.port=0x40
              hint.fd.0.at=fdc0
              hint.fd.0.drive=0
              hint.fd.1.at=fdc0
              hint.fd.1.drive=1
              hint.fdc.0.at=isa
              hint.fdc.0.drq=2
              hint.fdc.0.irq=6
              hint.fdc.0.port=0x3F0
              hint.p4tcc.0.disabled=1
              hint.ppc.0.at=isa
              hint.ppc.0.irq=7
              hint.psm.0.at=atkbdc
              hint.psm.0.irq=12
              hint.sc.0.at=isa
              hint.sc.0.flags=0x100
              hint.smbios.0.mem=0x793f6000
              hint.uart.0.at=isa
              hint.uart.0.flags=0x10
              hint.uart.0.irq=4
              hint.uart.0.port=0x3F8
              hint.uart.1.at=isa
              hint.uart.1.irq=3
              hint.uart.1.port=0x2F8
              hostuuid_load=YES
              hostuuid_name=/etc/hostid
              hostuuid_type=hostuuid
              hw.hn.use_if_start=1
              hw.hn.vf_transparent=0
              hw.usb.no_pf=1
              interpret=OK
              kern.cam.boot_delay=10000
              kern.geom.label.disk_ident.enable=0
              kern.geom.label.gptid.enable=0
              kern.ipc.nmbclusters=1000000                           
              kern.ipc.nmbjumbo9=524288
              kern.ipc.nmbjumbop=524288
              kernel=kernel
              kernel_options=
              kernels_autodetect=YES
              loaddev=zfs:pfSense/ROOT/default:
              loader.efi=1
              loader_brand=pfSense
              loader_color=NO
              loader_conf_dirs=/boot/loader.conf.d
              loader_logo=pfSensebw
              loader_menu_title=Welcome to pfSense
              machdep.hwpstate_pkg_ctrl=1
              module_blacklist=drm drm2 radeonkms i915kms amdgpu
              module_path=/boot/modules;/boot/dtb;/boot/dtb/overlays
              module_verbose=2
              net.isr.maxthreads=-1
              net.link.ifqmaxlen=128
              net.pf.request_maxcount=400000
              net.pf.states_hashsize=1048576
              nextboot_conf=/boot/nextboot.conf
              opensolaris_load=YES
              prompt=${interpret}
              ram_blacklist_load=NO
              ram_blacklist_name=/boot/blacklist.txt
              ram_blacklist_type=ram_blacklist
              screensave_load=NO
              screensave_name=green_saver
              script.lang=lua
              smbios.bios.reldate=12/14/2022
              smbios.bios.revision=5.22
              smbios.bios.vendor=INSYDE Corp.
              smbios.bios.version=05.22.01.0011.0010
              smbios.chassis.maker=Deciso B.V.
              smbios.chassis.serial=Chassis Serial Number
              smbios.chassis.tag=Chassis Asset Tag
              smbios.chassis.type=Notebook
              smbios.chassis.version=Chassis Version
              smbios.memory.enabled=16777216                         
              smbios.planar.location=Type2 - Board Chassis Location
              smbios.planar.maker=Deciso B.V.
              smbios.planar.product=NetBoard-A20
              smbios.planar.serial=
              smbios.planar.tag=Type2 - Board Asset Tag
              smbios.planar.version=
              smbios.socket.enabled=1
              smbios.socket.populated=1
              smbios.system.family=NetBoard-A20
              smbios.system.maker=Deciso B.V.
              smbios.system.product=NetBoard-A20
              smbios.system.serial=
              smbios.system.sku=
              smbios.system.uuid=12345678-1234-5678-90ab-cddeefaabbcc
              smbios.system.version=
              smbios.version=3.0
              splash_bmp_load=NO
              splash_pcx_load=NO
              splash_txt_load=NO
              twiddle_divisor=16
              verbose_loading=NO
              vesa_load=NO
              zfs_be_active=zfs:pfSense/ROOT/default
              zfs_be_currpage=1
              zfs_be_root=pfSense/ROOT
              zfs_load=YES
              OK
              
              1 Reply Last reply Reply Quote 0
              • G
                gfeiner
                last edited by gfeiner

                @stephenw10

                Could the FreeBSD 14 base used by 2.7.2 have reverted or broken this fix from FreeBSD 13?
                https://www.freebsd.org/security/advisories/FreeBSD-EN-23:06.loader.asc

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

                  Possible but unlikely IMO. Can it boot UEFI? If so try that as it's unaffected.

                  Do you see it loading that file before the loader menu? It should show something like:

                  Setting currdev to disk0p2:
                  Loading /boot/defaults/loader.conf
                  Loading /boot/device.hints
                  Loading /boot/loader.conf
                  Loading /boot/loader.conf.lua
                  Loading /boot/loader.conf.local
                  
                  G 1 Reply Last reply Reply Quote 0
                  • G
                    gfeiner @stephenw10
                    last edited by gfeiner

                    @stephenw10 said in where to put hw.uart.console setting so it sticks after reboot:

                    Possible but unlikely IMO. Can it boot UEFI? If so try that as it's unaffected.

                    Do you see it loading that file before the loader menu? It should show something like:

                    Setting currdev to disk0p2:
                    Loading /boot/defaults/loader.conf
                    Loading /boot/device.hints
                    Loading /boot/loader.conf
                    Loading /boot/loader.conf.lua
                    Loading /boot/loader.conf.local
                    

                    It is a UEFI-based BIOS. It has a UEFI shell you can access. I assume it is in UEFI boot mode rather than legacy boot mode. The BIOS setup has no options for boot mode. Here is what happens before the pfSense loader:

                    
                    
                    CPUID : 800F12
                    InsydeH2O Version : 05.22.01.0011.0010A
                    BIOS Build Date : 12/14/2022
                    Processor Type : AMD EPYC 3201 8-Core Processor                 
                    System Memory Speed : 2133 MHz
                    
                    Please set hw.efifb.address and hw.efifb.stride.
                    Consoles: EFI console
                    Reading loader env vars from /efi/freebsd/loader.env
                    Setting currdev to disk0p1:
                    FreeBSD/amd64 EFI loader, Revision 1.1(Wed Dec  6 20:44:01 UTC 2023 root@freebsd)
                    Command line arguments: loader.efi
                    Image base: 0x74118000
                    EFI version: 2.50
                    EFI Firmware: INSYDE Corp. (rev 21024.4112)
                    Console: efi (0x1000)
                    Load Path: \efi\freebsd\loader.efi
                    Load Device: PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x2)/Sata(0x0,0x0,0x0)/HD(1,GPT,43D8B194-A993-11EE-BB54-F490EA006397,0x28,0x82
                    BootCurrent: 0003
                    BootOrder: 0003[*] 0000 2001 0002 2002 2003
                    BootInfo Path: HD(1,GPT,43D8B194-A993-11EE-BB54-F490EA006397,0x28,0x82000)/\efi\freebsd\loader.efi
                    Ignoring Boot0003: Only one DP found
                    Trying ESP: PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x2)/Sata(0x0,0x0,0x0)/HD(1,GPT,43D8B194-A993-11EE-BB54-F490EA006397,0x28,0x82000)
                    Setting currdev to disk0p1
                    Trying: PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x2)/Sata(0x0,0x0,0x0)/HD(2,GPT,43DD88AC-A993-11EE-BB54-F490EA006397,0x82028,0x400)
                    Setting currdev to disk0p2:\
                    Trying: PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x2)/Sata(0x0,0x0,0x0)/HD(3,GPT,43E4C639-A993-11EE-BB54-F490EA006397,0x82800,0x200000)
                    Setting currdev to disk0p3:
                    Trying: PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x2)/Sata(0x0,0x0,0x0)/HD(4,GPT,43E99877-A993-11EE-BB54-F490EA006397,0x282800,0x1DA708
                    Setting currdev to zfs:pfSense/ROOT/default
                    
                    1 Reply Last reply Reply Quote 0
                    • stephenw10S
                      stephenw10 Netgate Administrator
                      last edited by

                      Hmm, it might have cleared the screen before that then. It must be loading at least loader.conf.

                      Try also setting: console=efi

                      G 1 Reply Last reply Reply Quote 0
                      • G
                        gfeiner @stephenw10
                        last edited by

                        @stephenw10 said in where to put hw.uart.console setting so it sticks after reboot:

                        Hmm, it might have cleared the screen before that then. It must be loading at least loader.conf.

                        Try also setting: console=efi

                        show command reveals efi is already in the console option:

                        console=comconsole,efi
                        

                        That message about loader.efi reading env vars from /efi/freebsd/loader.env got my attention. I entered the EFI shell and browsed to that location. There was no loader.env, only loader.efi. However I created a loader.env file . Contest shown below:

                        FS0:\efi\freebsd\> type loader.env
                        hw.uart.console="mm:0xfedc9000,rs:2"
                        greg=1
                        
                        FS0:\efi\freebsd\> 
                        

                        After rebooting, show command output is below. Notice my "greg=1" test var is there but hw.uart.console is not. So that confirms that loader.efi is reading the file but hw.uart.console is being cleared or ignored for some reason. I did try removing the quotes in the line but that did not make a difference. Maybe that fix I mentioned really is missing from 2.7.2

                        \          __
                            _ __  / _|___  ___ _ __  ___  ___
                           | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \
                           | |_) |  _\__ \  __/ | | \__ \  __/
                           | .__/|_| |___/\___|_| |_|___/\___|
                           |_|
                        
                        
                         /---------- Welcome to pfSense -----------\      __________________________
                         |                                         |     /                       ___\
                         |  1. Boot Multi user [Enter]             |    |                      /`
                         |  2. Boot Single user                    |    |                     /    :-|
                         |  3. Escape to loader prompt             |    |      _________  ___/    /_ |
                         |  4. Reboot                              |    |    /` ____   / /__    ___/ |
                         |  5. Cons: Dual (Serial primary)         |    |   /  /   /  /    /   /     |
                         |                                         |    |  /  /___/  /    /   /      |
                         |  Options:                               |    | /   ______/    /   /       |
                         |  6. Kernel: default/kernel (1 of 1)     |    |/   /          /   /        |
                         |  7. Boot Options                        |        /          /___/         |
                         |                                         |       /                         |
                         |                                         |      /_________________________/
                         \-----------------------------------------/                                  \
                        
                        
                        Exiting menu!
                        
                        
                        Type '?' for a list of commands, 'help' for more detailed help.
                        OK ??
                        unknown command
                        OK show
                        COLUMNS=128
                        LINES=40
                        acpi_dsdt_load=NO
                        acpi_dsdt_name=/boot/acpi_dsdt.aml
                        acpi_dsdt_type=acpi_dsdt
                        acpi_video_load=NO
                        audit_event_load=NO
                        audit_event_name=/etc/security/audit_event
                        audit_event_type=etc_security_audit_event
                        autoboot_delay=NO
                        bitmap_load=NO
                        bitmap_name=splash.bmp
                        bitmap_type=splash_image_data
                        boot_multicons=YES
                        boot_serial=YES
                        bootenv_autolist=YES
                        bootenvs[0]=zfs:pfSense/ROOT/default
                        bootenvs_count=1
                        bootfile=kernel
                        comconsole_pcidev=
                        comconsole_port=1016
                        comconsole_speed=115200
                        console=comconsole,efi
                        cpu_microcode_load=NO
                        cpu_microcode_name=/boot/firmware/ucode.bin
                        cpu_microcode_type=cpu_microcode
                        cryptodev_load=YES
                        currdev=zfs:pfSense/ROOT/default:
                        efi-version=2.50
                        efi_com_speed=115200
                        efi_max_resolution=1x1
                        entropy_cache_load=YES
                        entropy_cache_name=/boot/entropy
                        entropy_cache_type=boot_entropy_cache
                        entropy_efi_seed=YES
                        greg=1
                        hint.acpi_throttle.0.disabled=1
                        hint.atkbd.0.at=atkbdc
                        hint.atkbd.0.irq=1
                        hint.atkbdc.0.at=isa                                   
                        hint.atkbdc.0.port=0x060
                        hint.atrtc.0.at=isa
                        hint.atrtc.0.irq=8
                        hint.atrtc.0.port=0x70
                        hint.attimer.0.at=isa
                        hint.attimer.0.irq=0
                        hint.attimer.0.port=0x40
                        hint.fd.0.at=fdc0
                        hint.fd.0.drive=0
                        hint.fd.1.at=fdc0
                        hint.fd.1.drive=1
                        hint.fdc.0.at=isa
                        hint.fdc.0.drq=2
                        hint.fdc.0.irq=6
                        hint.fdc.0.port=0x3F0
                        hint.p4tcc.0.disabled=1
                        hint.ppc.0.at=isa
                        hint.ppc.0.irq=7
                        hint.psm.0.at=atkbdc
                        hint.psm.0.irq=12
                        hint.sc.0.at=isa
                        hint.sc.0.flags=0x100
                        hint.smbios.0.mem=0x793f6000
                        hint.uart.0.at=isa
                        hint.uart.0.flags=0x10
                        hint.uart.0.irq=4
                        hint.uart.0.port=0x3F8
                        hint.uart.1.at=isa
                        hint.uart.1.irq=3
                        hint.uart.1.port=0x2F8
                        hostuuid_load=YES
                        hostuuid_name=/etc/hostid
                        hostuuid_type=hostuuid
                        hw.hn.use_if_start=1
                        hw.hn.vf_transparent=0
                        hw.usb.no_pf=1
                        interpret=OK
                        kern.cam.boot_delay=10000
                        kern.geom.label.disk_ident.enable=0                    
                        kern.geom.label.gptid.enable=0
                        kern.ipc.nmbclusters=1000000
                        kern.ipc.nmbjumbo9=524288
                        kern.ipc.nmbjumbop=524288
                        kernel=kernel
                        kernel_options=
                        kernels_autodetect=YES
                        loaddev=zfs:pfSense/ROOT/default:
                        loader.efi=1
                        loader_brand=pfSense
                        loader_color=NO
                        loader_conf_dirs=/boot/loader.conf.d
                        loader_logo=pfSensebw
                        loader_menu_title=Welcome to pfSense
                        machdep.hwpstate_pkg_ctrl=1
                        module_blacklist=drm drm2 radeonkms i915kms amdgpu
                        module_path=/boot/modules;/boot/dtb;/boot/dtb/overlays
                        module_verbose=2
                        net.isr.maxthreads=-1
                        net.link.ifqmaxlen=128
                        net.pf.request_maxcount=400000
                        net.pf.states_hashsize=1048576
                        nextboot_conf=/boot/nextboot.conf
                        opensolaris_load=YES
                        prompt=${interpret}
                        ram_blacklist_load=NO
                        ram_blacklist_name=/boot/blacklist.txt
                        ram_blacklist_type=ram_blacklist
                        screensave_load=NO
                        screensave_name=green_saver
                        script.lang=lua
                        smbios.bios.reldate=12/14/2022
                        smbios.bios.revision=5.22
                        smbios.bios.vendor=INSYDE Corp.
                        smbios.bios.version=05.22.01.0011.0010
                        smbios.chassis.maker=Deciso B.V.
                        smbios.chassis.serial=Chassis Serial Number
                        smbios.chassis.tag=Chassis Asset Tag
                        smbios.chassis.type=Notebook                           
                        smbios.chassis.version=Chassis Version
                        smbios.memory.enabled=16777216
                        smbios.planar.location=Type2 - Board Chassis Location
                        smbios.planar.maker=Deciso B.V.
                        smbios.planar.product=NetBoard-A20
                        smbios.planar.serial=
                        smbios.planar.tag=Type2 - Board Asset Tag
                        smbios.planar.version=
                        smbios.socket.enabled=1
                        smbios.socket.populated=1
                        smbios.system.family=NetBoard-A20
                        smbios.system.maker=Deciso B.V.
                        smbios.system.product=NetBoard-A20
                        smbios.system.serial=
                        smbios.system.sku=
                        smbios.system.uuid=12345678-1234-5678-90ab-cddeefaabbcc
                        smbios.system.version=
                        smbios.version=3.0
                        splash_bmp_load=NO
                        splash_pcx_load=NO
                        splash_txt_load=NO
                        twiddle_divisor=16
                        verbose_loading=NO
                        vesa_load=NO
                        zfs_be_active=zfs:pfSense/ROOT/default
                        zfs_be_currpage=1
                        zfs_be_root=pfSense/ROOT
                        zfs_load=YES
                        OK
                        
                        stephenw10S 1 Reply Last reply Reply Quote 0
                        • stephenw10S
                          stephenw10 Netgate Administrator @gfeiner
                          last edited by

                          @gfeiner said in where to put hw.uart.console setting so it sticks after reboot:

                          show command reveals efi is already in the console option:

                          console=comconsole,efi

                          But comconsole is set first and the referenced bug shows that running it unsets the hw.uart value.
                          So try adding console=efi to loader.conf.local

                          G 1 Reply Last reply Reply Quote 2
                          • G
                            gfeiner @stephenw10
                            last edited by gfeiner

                            @stephenw10 said in where to put hw.uart.console setting so it sticks after reboot:

                            @gfeiner said in where to put hw.uart.console setting so it sticks after reboot:

                            show command reveals efi is already in the console option:

                            console=comconsole,efi

                            But comconsole is set first and the referenced bug shows that running it unsets the hw.uart value.
                            So try adding console=efi to loader.conf.local

                            Bingo. That was it. /efi/freebsd/loader.env is not needed. All that is needed is a /boot/loader.conf.local with these two entries:

                            console="efi"
                            hw.uart.console="mm:0xfedc9000,rs:2"
                            

                            In looking at the details and comments of the actual change in FreeBSD 13, it makes sense: https://cgit.freebsd.org/src/commit/?id=525ac1948af8
                            Their change will specifically unset hw.uart.console if console has comconsole as a value.

                            For those reading this who may wish to install pfSense on a Deciso appliance like myself, I got the mmio address value for hw.uart.console by inspecting the output of "dmeg | grep uart" while the appliance was running OPNsense.

                            1 Reply Last reply Reply Quote 1
                            • C ctminime referenced this topic on
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.