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

    pfSense as wireless AP transmit power adjustments?

    Scheduled Pinned Locked Moved Wireless
    45 Posts 4 Posters 7.2k 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.
    • JonathanLeeJ
      JonathanLee
      last edited by

      Shell Output - sysctl dev.ath
      dev.ath.0.hal.serialise_reg_war: 0
      dev.ath.0.hal.force_full_reset: 1
      dev.ath.0.hal.swba_backoff: 0
      dev.ath.0.hal.sw_brt: 10
      dev.ath.0.hal.dma_brt: 2
      dev.ath.0.hal.ar5416_biasadj: 0
      dev.ath.0.hal.debug: 0
      dev.ath.0.stats.sync_intr.31: 0
      dev.ath.0.stats.sync_intr.30: 0
      dev.ath.0.stats.sync_intr.29: 0
      dev.ath.0.stats.sync_intr.28: 0
      dev.ath.0.stats.sync_intr.27: 0
      dev.ath.0.stats.sync_intr.26: 0
      dev.ath.0.stats.sync_intr.25: 0
      dev.ath.0.stats.sync_intr.24: 0
      dev.ath.0.stats.sync_intr.23: 0
      dev.ath.0.stats.sync_intr.22: 0
      dev.ath.0.stats.sync_intr.21: 0
      dev.ath.0.stats.sync_intr.20: 0
      dev.ath.0.stats.sync_intr.19: 0
      dev.ath.0.stats.sync_intr.18: 0
      dev.ath.0.stats.sync_intr.17: 0
      dev.ath.0.stats.sync_intr.16: 0
      dev.ath.0.stats.sync_intr.15: 0
      dev.ath.0.stats.sync_intr.14: 0
      dev.ath.0.stats.sync_intr.13: 0
      dev.ath.0.stats.sync_intr.12: 0
      dev.ath.0.stats.sync_intr.11: 0
      dev.ath.0.stats.sync_intr.10: 0
      dev.ath.0.stats.sync_intr.9: 0
      dev.ath.0.stats.sync_intr.8: 0
      dev.ath.0.stats.sync_intr.7: 0
      dev.ath.0.stats.sync_intr.6: 0
      dev.ath.0.stats.sync_intr.5: 0
      dev.ath.0.stats.sync_intr.4: 0
      dev.ath.0.stats.sync_intr.3: 0
      dev.ath.0.stats.sync_intr.2: 0
      dev.ath.0.stats.sync_intr.1: 0
      dev.ath.0.stats.sync_intr.0: 0
      dev.ath.0.stats.rx_phy_err.63: 0
      dev.ath.0.stats.rx_phy_err.62: 0
      dev.ath.0.stats.rx_phy_err.61: 0
      dev.ath.0.stats.rx_phy_err.60: 0
      dev.ath.0.stats.rx_phy_err.59: 0
      dev.ath.0.stats.rx_phy_err.58: 0
      dev.ath.0.stats.rx_phy_err.57: 0
      dev.ath.0.stats.rx_phy_err.56: 0
      dev.ath.0.stats.rx_phy_err.55: 0
      dev.ath.0.stats.rx_phy_err.54: 0
      dev.ath.0.stats.rx_phy_err.53: 0
      dev.ath.0.stats.rx_phy_err.52: 0
      dev.ath.0.stats.rx_phy_err.51: 0
      dev.ath.0.stats.rx_phy_err.50: 0
      dev.ath.0.stats.rx_phy_err.49: 0
      dev.ath.0.stats.rx_phy_err.48: 0
      dev.ath.0.stats.rx_phy_err.47: 0
      dev.ath.0.stats.rx_phy_err.46: 0
      dev.ath.0.stats.rx_phy_err.45: 0
      dev.ath.0.stats.rx_phy_err.44: 0
      dev.ath.0.stats.rx_phy_err.43: 0
      dev.ath.0.stats.rx_phy_err.42: 0
      dev.ath.0.stats.rx_phy_err.41: 0
      dev.ath.0.stats.rx_phy_err.40: 0
      dev.ath.0.stats.rx_phy_err.39: 0
      dev.ath.0.stats.rx_phy_err.38: 0
      dev.ath.0.stats.rx_phy_err.37: 0
      dev.ath.0.stats.rx_phy_err.36: 0
      dev.ath.0.stats.rx_phy_err.35: 0
      dev.ath.0.stats.rx_phy_err.34: 0
      dev.ath.0.stats.rx_phy_err.33: 0
      dev.ath.0.stats.rx_phy_err.32: 0
      dev.ath.0.stats.rx_phy_err.31: 0
      dev.ath.0.stats.rx_phy_err.30: 0
      dev.ath.0.stats.rx_phy_err.29: 0
      dev.ath.0.stats.rx_phy_err.28: 0
      dev.ath.0.stats.rx_phy_err.27: 0
      dev.ath.0.stats.rx_phy_err.26: 0
      dev.ath.0.stats.rx_phy_err.25: 0
      dev.ath.0.stats.rx_phy_err.24: 0
      dev.ath.0.stats.rx_phy_err.23: 0
      dev.ath.0.stats.rx_phy_err.22: 0
      dev.ath.0.stats.rx_phy_err.21: 0
      dev.ath.0.stats.rx_phy_err.20: 0
      dev.ath.0.stats.rx_phy_err.19: 0
      dev.ath.0.stats.rx_phy_err.18: 0
      dev.ath.0.stats.rx_phy_err.17: 0
      dev.ath.0.stats.rx_phy_err.16: 0
      dev.ath.0.stats.rx_phy_err.15: 0
      dev.ath.0.stats.rx_phy_err.14: 0
      dev.ath.0.stats.rx_phy_err.13: 0
      dev.ath.0.stats.rx_phy_err.12: 0
      dev.ath.0.stats.rx_phy_err.11: 0
      dev.ath.0.stats.rx_phy_err.10: 0
      dev.ath.0.stats.rx_phy_err.9: 0
      dev.ath.0.stats.rx_phy_err.8: 0
      dev.ath.0.stats.rx_phy_err.7: 0
      dev.ath.0.stats.rx_phy_err.6: 0
      dev.ath.0.stats.rx_phy_err.5: 0
      dev.ath.0.stats.rx_phy_err.4: 0
      dev.ath.0.stats.rx_phy_err.3: 0
      dev.ath.0.stats.rx_phy_err.2: 0
      dev.ath.0.stats.rx_phy_err.1: 0
      dev.ath.0.stats.rx_phy_err.0: 0
      dev.ath.0.stats.ast_tsfoor: 0
      dev.ath.0.stats.ast_tx_ldpc: 0
      dev.ath.0.stats.ast_tx_stbc: 611350
      dev.ath.0.stats.ast_rx_stbc: 494
      dev.ath.0.stats.ast_tx_nodeq_overflow: 16697
      dev.ath.0.stats.ast_tx_swfiltered: 14163
      dev.ath.0.stats.ast_rx_keymiss: 161
      dev.ath.0.stats.ast_tx_mcastq_overflow: 0
      dev.ath.0.stats.ast_tx_intr: 1608157
      dev.ath.0.stats.ast_rx_intr: 1704360
      dev.ath.0.stats.ast_tx_aggr_fail: 35910
      dev.ath.0.stats.ast_tx_aggr_ok: 1292794
      dev.ath.0.stats.ast_tx_aggr_failall: 2157
      dev.ath.0.stats.ast_tx_delim_underrun: 0
      dev.ath.0.stats.ast_tx_data_underrun: 0
      dev.ath.0.stats.ast_tx_swretrymax: 406
      dev.ath.0.stats.ast_tx_swretries: 36877
      dev.ath.0.stats.ast_tx_desccfgerr: 0
      dev.ath.0.stats.ast_tx_timerexpired: 0
      dev.ath.0.stats.ast_tx_xtxop: 0
      dev.ath.0.stats.ast_tx_cst: 0
      dev.ath.0.stats.ast_tx_timeout: 0
      dev.ath.0.stats.ast_rx_hitqueueend: 0
      dev.ath.0.stats.ast_tx_htprotect: 1416141
      dev.ath.0.stats.ast_rx_hi_rx_chain: 0
      dev.ath.0.stats.ast_rx_decrypt_busy_err: 0
      dev.ath.0.stats.ast_rx_post_crc_err: 136872
      dev.ath.0.stats.ast_rx_pre_crc_err: 419879
      dev.ath.0.stats.ast_rx_2040: 1753561
      dev.ath.0.stats.ast_rx_halfgi: 614355
      dev.ath.0.stats.ast_rx_agg: 1661364
      dev.ath.0.stats.ast_ani_cal: 152291
      dev.ath.0.stats.ast_be_missed: 2856
      dev.ath.0.stats.ast_tx_nofrag: 0
      dev.ath.0.stats.ast_tx_raw_fail: 0
      dev.ath.0.stats.ast_tdma_ack: 0
      dev.ath.0.stats.ast_tdma_tsf: 0
      dev.ath.0.stats.ast_tdma_timers: 0
      dev.ath.0.stats.ast_tdma_update: 0
      dev.ath.0.stats.ast_tx_nobuf: 0
      dev.ath.0.stats.ast_tx_qfull: 0
      dev.ath.0.stats.ast_ff_flush: 0
      dev.ath.0.stats.ast_ff_rx: 0
      dev.ath.0.stats.ast_ff_txerr: 0
      dev.ath.0.stats.ast_ff_txok: 0
      dev.ath.0.stats.ast_tx_raw: 5517
      dev.ath.0.stats.ast_cabq_busy: 497
      dev.ath.0.stats.ast_cabq_xmit: 11118
      dev.ath.0.stats.ast_ant_txswitch: 0
      dev.ath.0.stats.ast_ant_defswitch: 0
      dev.ath.0.stats.ast_rate_drop: 0
      dev.ath.0.stats.ast_rate_raise: 0
      dev.ath.0.stats.ast_rate_calls: 0
      dev.ath.0.stats.ast_per_rfgain: 0
      dev.ath.0.stats.ast_per_calfail: 0
      dev.ath.0.stats.ast_per_cal: 507
      dev.ath.0.stats.ast_be_nombuf: 0
      dev.ath.0.stats.ast_be_xmit: 148527
      dev.ath.0.stats.ast_rx_ctl: 0
      dev.ath.0.stats.ast_rx_mgt: 0
      dev.ath.0.stats.ast_rx_packets: 0
      dev.ath.0.stats.ast_rx_toobig: 0
      dev.ath.0.stats.ast_rx_tooshort: 25933
      dev.ath.0.stats.ast_rx_phyerr: 0
      dev.ath.0.stats.ast_rx_badmic: 0
      dev.ath.0.stats.ast_rx_badcrypt: 3
      dev.ath.0.stats.ast_rx_fifoerr: 0
      dev.ath.0.stats.ast_rx_crcerr: 601674
      dev.ath.0.stats.ast_rx_orn: 0
      dev.ath.0.stats.ast_rx_busdma: 0
      dev.ath.0.stats.ast_rx_nombuf: 0
      dev.ath.0.stats.ast_tx_ctsext: 0
      dev.ath.0.stats.ast_tx_ctsburst: 0
      dev.ath.0.stats.ast_tx_protect: 0
      dev.ath.0.stats.ast_tx_altrate: 13990
      dev.ath.0.stats.ast_tx_shortpre: 0
      dev.ath.0.stats.ast_tx_cts: 0
      dev.ath.0.stats.ast_tx_rts: 0
      dev.ath.0.stats.ast_tx_noack: 11357
      dev.ath.0.stats.ast_tx_badrate: 0
      dev.ath.0.stats.ast_tx_longretry: 459257
      dev.ath.0.stats.ast_tx_shortretry: 707551
      dev.ath.0.stats.ast_tx_filtered: 4872
      dev.ath.0.stats.ast_tx_fifoerr: 0
      dev.ath.0.stats.ast_tx_xretries: 21984
      dev.ath.0.stats.ast_tx_busdma: 0
      dev.ath.0.stats.ast_tx_nodata: 0
      dev.ath.0.stats.ast_tx_linear: 0
      dev.ath.0.stats.ast_tx_nomcl: 0
      dev.ath.0.stats.ast_tx_nombuf: 0
      dev.ath.0.stats.ast_tx_nonode: 0
      dev.ath.0.stats.ast_tx_encap: 0
      dev.ath.0.stats.ast_tx_qstop: 38
      dev.ath.0.stats.ast_tx_discard: 0
      dev.ath.0.stats.ast_tx_mgmt: 0
      dev.ath.0.stats.ast_tx_packets: 0
      dev.ath.0.stats.ast_intrcoal: 0
      dev.ath.0.stats.ast_mib: 0
      dev.ath.0.stats.ast_txurn: 0
      dev.ath.0.stats.ast_rxeol: 3
      dev.ath.0.stats.ast_rxorn: 8
      dev.ath.0.stats.ast_bstuck: 54
      dev.ath.0.stats.ast_bmiss_phantom: 0
      dev.ath.0.stats.ast_bmiss: 0
      dev.ath.0.stats.ast_hardware: 0
      dev.ath.0.stats.ast_watchdog: 0
      dev.ath.0.clear_stats: 0
      dev.ath.0.txq_node_maxdepth: 128
      dev.ath.0.txq_mcastq_maxdepth: 64
      dev.ath.0.txq_data_minfree: 10
      dev.ath.0.delim_min_pad: 0
      dev.ath.0.rts_aggr_limit: 65536
      dev.ath.0.aggr_limit: 65530
      dev.ath.0.tid_hwq_hi: 4
      dev.ath.0.tid_hwq_lo: 2
      dev.ath.0.hwq_limit_aggr: 2
      dev.ath.0.hwq_limit_nonaggr: 32
      dev.ath.0.monpass: 24
      dev.ath.0.intmit: 1
      dev.ath.0.hangcheck: 0
      dev.ath.0.forcebstuck: 0
      dev.ath.0.txagg: 0
      dev.ath.0.tpcts: 63
      dev.ath.0.tpack: 63
      dev.ath.0.tpc: 1
      dev.ath.0.tpscale: 1
      dev.ath.0.diag: 0
      dev.ath.0.txintrperiod: 5
      dev.ath.0.rxantenna: 2
      dev.ath.0.txantenna: 0
      dev.ath.0.led_pwr_pin: -1
      dev.ath.0.led_net_pin: -1
      dev.ath.0.hardled: 0
      dev.ath.0.ledidle: 2700
      dev.ath.0.ledon: 0
      dev.ath.0.ledpin: 0
      dev.ath.0.softled: 0
      dev.ath.0.ctstimeout: 23
      dev.ath.0.acktimeout: 23
      dev.ath.0.slottime: 9
      dev.ath.0.regdomain: 0
      dev.ath.0.countrycode: 0
      dev.ath.0.sample_stats: 0
      dev.ath.0.sample_rate: 10
      dev.ath.0.smoothing_rate: 75
      dev.ath.0.%parent: pci0
      dev.ath.0.%pnpinfo: vendor=0x168c device=0x002a subvendor=0x168c subdevice=0x3099 class=0x028000
      dev.ath.0.%location: slot=0 function=0 dbsf=pci0:0:0:0
      dev.ath.0.%driver: ath
      dev.ath.0.%desc: Atheros 9280
      dev.ath.%parent:

      new output showing both antenna used

      Make sure to upvote

      1 Reply Last reply Reply Quote 0
      • JonathanLeeJ
        JonathanLee
        last edited by JonathanLee

        Another question is does use of antenna 0 really equate to both main and aux? Does use of 1 really equate to main? Or does 2 equate to antenna 2?

        While researching this I found some information that 0: is for both, 1: is for main, 2: is for aux. Again my cars lists port 0, and 1. Furthermore another mini pcie card had three ports that can be used with PfSense I am told the mini pcie AR5BXB112 comes with 0, 1, 2 antenna ports.

        Make sure to upvote

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

          If you have antenna diversity enabled it should use both (or all) antennas to get the best signal. The only time I've seen the antenna settings make a significant difference is when using only one antenna.

          The WLE200NX only has two ports but, yes the 802.11X 3x3 card have 3 in which case you could force it to use one specific port. But I would not.

          Steve

          JonathanLeeJ 2 Replies Last reply Reply Quote 1
          • JonathanLeeJ
            JonathanLee @stephenw10
            last edited by JonathanLee

            @stephenw10 is that set to 0? (Both/all)

            Make sure to upvote

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

              I have always used the defaults there:

              dev.ath.0.rxantenna: 1
              dev.ath.0.txantenna: 0
              
              JonathanLeeJ 1 Reply Last reply Reply Quote 2
              • JonathanLeeJ
                JonathanLee @stephenw10
                last edited by JonathanLee

                @stephenw10 thanks for the reply. This matches mine. I was testing to see if 0 equates to both antenna 📡 or just one as the card is labeled 0 and 1 but freeBSD states 0 is for both and 1 is for main. Again I can set one to use 2 so I am a bit mixed up on if the numbers equate to the freeBSD definitions or is it something else that matches the numbers printed on the mini pcie card. I just had poor reception with the pcie versus the AP

                As PfSense uses freeBSD I researched this and found.

                "Options 0,1,2 (antenna port 1 or 2, both=0) dev.ath.0.diversity: options 0,1(0=disable 1=enable)"

                But does this match in the firewall?

                Ref:
                https://lists.freebsd.org/pipermail/freebsd-wireless/2011-September/000682.html

                Make sure to upvote

                1 Reply Last reply Reply Quote 0
                • JonathanLeeJ
                  JonathanLee @stephenw10
                  last edited by

                  @stephenw10 I could not get diversity to enable

                  Make sure to upvote

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

                    A lot more info can be found here: https://wiki.freebsd.org/dev/ath_hal%284%29/AntennaDiversity

                    It might be a loader value....

                    JonathanLeeJ 1 Reply Last reply Reply Quote 1
                    • JonathanLeeJ
                      JonathanLee @stephenw10
                      last edited by JonathanLee

                      @stephenw10 said in pfSense as wireless AP transmit power adjustments?:

                      https://wiki.freebsd.org/dev/ath_hal%284%29/AntennaDiversity

                      How do you add this as a loader value?? I just need more pwr for wifi to work in my kitchen

                      Screenshot 2023-10-25 at 4.52.08 PM.png

                      what should be added?

                      Make sure to upvote

                      1 Reply Last reply Reply Quote 0
                      • JonathanLeeJ
                        JonathanLee
                        last edited by

                        I found the other problem this file locked the transmit power to 17-30 only like it is set for an apartment and not a single family home. I am going to up it by 10 and it should reach my kitchen again.

                        Screenshot 2023-10-25 at 8.55.16 PM.png

                        17 that seems way to low for me.

                        Make sure to upvote

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

                          What exactly are you trying to set?

                          JonathanLeeJ 1 Reply Last reply Reply Quote 0
                          • JonathanLeeJ
                            JonathanLee @stephenw10
                            last edited by JonathanLee

                            @stephenw10 I got to be honest with you I need more power. My DLink and the extender in the 90s had power adjustments, so did my Apple airport Extreme. All the sudden I have no way to turn up the juice on the wifi side. It has a range equivalent of a small apartment. I want to turn diversity on, I want to boost my signal power by at least 15 percent. Why does the regulatory file degrade the power range to 17-30 percent of power. It seems like it's locked on small apartment mode. It needs house mode. My neighbors signal has more power in home than my own WiFi because of it.

                            Make sure to upvote

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

                              Well the maximum power is supposed to be limited by the regulatory domain. As well as whether it's indoors or outdoors etc. You can bypass that I'm sure but it's probably illegal, so hard for me to advise! 😉

                              1 Reply Last reply Reply Quote 0
                              • johnpozJ
                                johnpoz LAYER 8 Global Moderator @JonathanLee
                                last edited by

                                @JonathanLee for one increasing the output is rarely a fix for anything.. While sure your client might see the signal better, its transmit is normally going to be low, and have issue talking back..

                                I run all my AP in low power mode..

                                An intelligent man is sometimes forced to be drunk to spend time with his fools
                                If you get confused: Listen to the Music Play
                                Please don't Chat/PM me for help, unless mod related
                                SG-4860 24.11 | Lab VMs 2.8, 24.11

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

                                  Yup that^.

                                  In the past, when I had more time mess about with this stuff for fun, I found better and correctly aligned antennas produced better results than anything else.

                                  1 Reply Last reply Reply Quote 1
                                  • JonathanLeeJ
                                    JonathanLee
                                    last edited by

                                    You know what, I got an idea, I can use my old power line networking equipment and just move the PfSense box to a more central location. That might help. I just don't understand why it has the power level set so low on it. It's not our area as our neighbors have stronger wifi then ours. As soon as I moved to this area the Apple extreme was updated and the power options removed. I miss my DLink that thing had some power and with the extender it was so something else. This was back before wifi g.

                                    It acts like it's set to a regulation for an apartment over a single family.

                                    It works perfectly when I am close to it.

                                    Make sure to upvote

                                    johnpozJ 1 Reply Last reply Reply Quote 0
                                    • johnpozJ
                                      johnpoz LAYER 8 Global Moderator @JonathanLee
                                      last edited by

                                      @JonathanLee said in pfSense as wireless AP transmit power adjustments?:

                                      just move the PfSense box to a more central location

                                      Or what anyone should do that wants good wifi, is use actual APs, and properly deploy them to provide correct coverage.. Unless your in some small studio.. A single AP is rarely going to provide great wifi in all areas of a home.

                                      The problem with any wifi router, or running wifi in your router like pfsense - that makes a horrible AP because of the lack luster support in freebsd for wifi in general in the first place. Is the location.. it would be rare that your router is in the best location for wifi coverage for some multi room dwelling.

                                      If you want rock solid no issues wifi, get some APs - properly deploy them.

                                      An intelligent man is sometimes forced to be drunk to spend time with his fools
                                      If you get confused: Listen to the Music Play
                                      Please don't Chat/PM me for help, unless mod related
                                      SG-4860 24.11 | Lab VMs 2.8, 24.11

                                      1 Reply Last reply Reply Quote 0
                                      • JonathanLeeJ
                                        JonathanLee
                                        last edited by

                                        Screenshot_20231026-153412.png

                                        WiFi in pfSense!!!!

                                        Make sure to upvote

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

                                          Nice. Is that just close or did you find some useful settings?

                                          You would be better off using channel 1 there. Channel 2 will be coliding with 6 to a greater extent. Not much in it though.

                                          JonathanLeeJ 1 Reply Last reply Reply Quote 0
                                          • JonathanLeeJ
                                            JonathanLee @stephenw10
                                            last edited by JonathanLee

                                            @stephenw10

                                            Done ch 1 now. I am next to it however it is moved it to the middle of house and changed it to Channel width HT/20. I got so tired of the neighbors internet killing my signal. I am so tired of it. This fixed it. My kitchen was the major concern and living room. I can run the airport extreme and extend the pfsense wifi if needed. Everyone is using 5-6 in our area for some reason.

                                            Screenshot_20231026-153412#1.png

                                            1 neighbor runs about 3 SSIDs one is a guest that is an advertisement for Xfinity, they run it on a channel for no reason as open wifi as a sales pitch, it's weird I would sue them for that if it was my wifi. It is open and you sometimes connect and it displays sign up today its like a sale pitch captive portal with a host webpage and thats it.

                                            Make sure to upvote

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