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 5.8k 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 JonathanLee

      Hello Fellow Netgate community members can you please help?

      Per Netgate Docs, "If the signal is weak even when nearby the access point antenna, check the antenna again. For mini-PCI or mini-PCIe cards, if only one pigtail in use and there are two internal connectors, try hooking the pigtail up to the other internal connector on the card. Also try changing the Channel or adjusting the Transmit Power, or the Antenna Settings on the wireless interface configuration. For mini-PCI and mini-PCIe cards, check for broken ends on the fragile pigtail connectors where they plug into the card. If the Regulatory Domain settings have not been configured, set them before testing again."

      Transmit Power. . . ? ? ?

      I just set up my SG2100-MAX with a new mini pcie wireless card, I have it working again my neighbor has their wifi signal set with so much power it has high signal in my living room than my new pcie AP card and the old airport extreme. My airport extreme under the older version of Apple software could adjust the transmit power, again I had it only set to work to my kitchen at around 50% power. My new card inside of pfSense has no setting like this only,

      "dev.ath.0.tpc
      0 = disable 1 = enable

      Switch on or off Transmission Power Control. Can be tricky in point to multipoint applications.

      dev.ath.0.tpscale
      0,1,2,3,4

      Size of the increment that TPC will use to up/down the power, normally 1 is the best choice. A higher scale value will most likely make the link drop if the signal is close to what it needs to be and the TPC is throttled down.

      dev.ath.0.tpack
      0 -> 99

      Controls the ACK power separately. Normally it is the same as tpcts

      dev.ath.0.tpcts
      0 -> 99

      Controls the CTS power separately. Normally it is the same"

      How can I turn up my power on this system so I can at least have signal in my home? Again I can no longer adjust my Airport Extreme as apples update to the program removed the ability to change powerlevels on the AP.

      Is this something that can be done outside of the system tuneables above? I have a lot of noise on all the channels and have many beacon stuck errors. I have increased this to 8 it seemed to fix that problem.

      kernel: ath0: stuck beacon; resetting (bmiss count 4)

      "Stuck Beacon Errors
      If a “Stuck Beacon” error is found in the system or wireless log, it is usually an indication that the chosen wireless channel is too noisy:

      kernel: ath0: stuck beacon; resetting (bmiss count 4)
      The sensitivity of this behavior can be tuned by adding a System Tunable entry for hw.ath.bstuck with a value of 8 or higher.

      If the errors persist, use a WiFi survey app or program to determine an open or less-used channel to use instead of the current channel."

      Ref:
      https://docs.netgate.com/pfsense/en/latest/wireless/configuration-ap.html
      https://docs.netgate.com/pfsense/en/latest/troubleshooting/wireless.html

      Make sure to upvote

      1 Reply Last reply Reply Quote 0
      • 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: 589058
        dev.ath.0.stats.ast_rx_stbc: 494
        dev.ath.0.stats.ast_tx_nodeq_overflow: 16028
        dev.ath.0.stats.ast_tx_swfiltered: 13703
        dev.ath.0.stats.ast_rx_keymiss: 156
        dev.ath.0.stats.ast_tx_mcastq_overflow: 0
        dev.ath.0.stats.ast_tx_intr: 1511615
        dev.ath.0.stats.ast_rx_intr: 1506319
        dev.ath.0.stats.ast_tx_aggr_fail: 35255
        dev.ath.0.stats.ast_tx_aggr_ok: 1273674
        dev.ath.0.stats.ast_tx_aggr_failall: 2111
        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: 403
        dev.ath.0.stats.ast_tx_swretries: 36147
        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: 1345916
        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: 136728
        dev.ath.0.stats.ast_rx_pre_crc_err: 418355
        dev.ath.0.stats.ast_rx_2040: 1753560
        dev.ath.0.stats.ast_rx_halfgi: 614318
        dev.ath.0.stats.ast_rx_agg: 1607906
        dev.ath.0.stats.ast_ani_cal: 119289
        dev.ath.0.stats.ast_be_missed: 2397
        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: 4357
        dev.ath.0.stats.ast_cabq_busy: 386
        dev.ath.0.stats.ast_cabq_xmit: 8689
        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: 397
        dev.ath.0.stats.ast_be_nombuf: 0
        dev.ath.0.stats.ast_be_xmit: 116334
        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: 19790
        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: 580286
        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: 12073
        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: 8928
        dev.ath.0.stats.ast_tx_badrate: 0
        dev.ath.0.stats.ast_tx_longretry: 387617
        dev.ath.0.stats.ast_tx_shortretry: 583386
        dev.ath.0.stats.ast_tx_filtered: 4680
        dev.ath.0.stats.ast_tx_fifoerr: 0
        dev.ath.0.stats.ast_tx_xretries: 12364
        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: 40
        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: 1
        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:

        Any recommendations? I have two antenna I assume that is 0 and 1 for transmit and receive

        Make sure to upvote

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

          Screenshot 2023-07-17 at 7.10.37 PM.png

          Make sure to upvote

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

            Screenshot 2023-07-17 at 7.55.40 PM.png

            Added in system tuneables

            Result:

            Screenshot 2023-07-17 at 7.57.08 PM.png
            Set correctly

            Screenshot 2023-07-17 at 7.57.25 PM.png
            defaulted to both for some reason.

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

            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
              last edited by

              Screenshot 2023-07-17 at 7.58.53 PM.png
              diversity does not enable

              Make sure to upvote

              1 Reply Last reply Reply Quote 0
              • 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.7.2, 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.