pfSense as wireless AP transmit power adjustments?
-
diversity does not enable -
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
-
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.
-
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
-
@stephenw10 is that set to 0? (Both/all)
-
I have always used the defaults there:
dev.ath.0.rxantenna: 1 dev.ath.0.txantenna: 0
-
@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 -
@stephenw10 I could not get diversity to enable
-
A lot more info can be found here: https://wiki.freebsd.org/dev/ath_hal%284%29/AntennaDiversity
It might be a loader value....
-
@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
what should be added?
-
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.
17 that seems way to low for me.
-
What exactly are you trying to set?
-
@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.
-
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!
-
@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..
-
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.
-
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.
-
@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.
-
WiFi in pfSense!!!!
-
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.