Re: ath(4) issues?

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Fri, 23 Nov 2018 11:28:11 -0800
hi!

No. It's a side effect of how ath_rate_sample works. The TL;DR is:

* ath_rate_sample uses a fixed set of rates for each attempt - so say you
want to transmit at 54MBit OFDM, the second/third/fourth slower rates are
in a fixed table;
* net80211 negotiates which rates are acceptable to the hostap;
* a lot of hostaps these days are increasingly disabling doing the lower
OFDM/CCK rates so slower clients don't tie up so much air;
* .. but they'll still RECEIVE and ACK those frames, so:
* + you'll fail say, 54mbit
* + and 48mbit
* + then try something like 12mbit on the third attept, which the hostap
didn't negotiate with you; and
* + it ACKs it, cause it still receives it fine; then
* + ath_rate_sample complains that it got a completion for a rate it's not
supposed to use.

They're harmless. You can comment it out for now; I really need to fix
ath_rate_sample to use a dynamic table rather than the array of static
tables..



-adrian


On Thu, 22 Nov 2018 at 09:05, Steve Kargl <sgk_at_troutmask.apl.washington.edu>
wrote:

> I have an old D-Link AirPlus G (DWL-630) pccard card
> that I have used for years with FreeBSD.  Recently,
> I see
>
> % dmesg | grep ath
> mobile:kargl[201] dmesg | grep ath
> [ath_hal] loaded
> [ath_dfs] loaded
> [ath_rate] loaded
> [ath] loaded
> ath0: <Atheros 2413> irq 19 at device 0.0 on cardbus0
> ath0: AR2413 mac 7.8 RF2413 phy 4.5
> ath0: 2GHz radio: 0x0000; 5GHz radio: 0x0056
> ath0: ath_rate_tx_complete: ts_rate=27 ts_finaltsi=0, final_rix=0
> ath0: bad series0 hwrate 0x1b, tries 1 ts_status 0x0
> ath0: ath_rate_tx_complete: ts_rate=27 ts_finaltsi=0, final_rix=0
> ath0: bad series0 hwrate 0x1b, tries 1 ts_status 0x0
> ath0: bad series0 hwrate 0x1b, tries 2 ts_status 0x1
>
>
> The "bad series0 hwrate..." message fills syslog.  This message
> appearred with a month or so old /usr/src and an update to top
> of tree (r340736) still produces the message.
>
> So, is this a hardware-about-to-die issue or did someone break
> ath(4) with the recent changes to inet?
>
> % sysctl -a | grep ath | grep -v path
> net.wlan.0.%parent: ath0
> net.wlan.devices: ath0 wpi0
> hw.ath.bstuck: 4
> hw.ath.txbuf_mgmt: 32
> hw.ath.txbuf: 200
> hw.ath.rxbuf: 40
> hw.ath.anical: 100
> hw.ath.resetcal: 1200
> hw.ath.shortcal: 100
> hw.ath.longcal: 30
> irq19: cbb0 ath0:37 _at_cpu0(domain0): 53227
> dev.ath.0.hal.serialise_reg_war: 0
> dev.ath.0.hal.force_full_reset: 0
> 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: 1875
> 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: 19
> 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_tx_ldpc: 0
> dev.ath.0.stats.ast_tx_stbc: 0
> dev.ath.0.stats.ast_rx_stbc: 0
> dev.ath.0.stats.ast_tx_nodeq_overflow: 0
> dev.ath.0.stats.ast_tx_swfiltered: 0
> dev.ath.0.stats.ast_rx_keymiss: 0
> dev.ath.0.stats.ast_tx_mcastq_overflow: 0
> dev.ath.0.stats.ast_tx_intr: 4342
> dev.ath.0.stats.ast_rx_intr: 48850
> dev.ath.0.stats.ast_tx_aggr_fail: 0
> dev.ath.0.stats.ast_tx_aggr_ok: 0
> dev.ath.0.stats.ast_tx_aggr_failall: 0
> 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: 0
> dev.ath.0.stats.ast_tx_swretries: 0
> 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: 0
> 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: 0
> dev.ath.0.stats.ast_rx_pre_crc_err: 0
> dev.ath.0.stats.ast_rx_2040: 0
> dev.ath.0.stats.ast_rx_halfgi: 0
> dev.ath.0.stats.ast_rx_agg: 0
> dev.ath.0.stats.ast_ani_cal: 5852
> dev.ath.0.stats.ast_be_missed: 0
> 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: 59
> dev.ath.0.stats.ast_cabq_busy: 0
> dev.ath.0.stats.ast_cabq_xmit: 0
> dev.ath.0.stats.ast_ant_txswitch: 0
> dev.ath.0.stats.ast_ant_defswitch: 347
> 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: 20
> dev.ath.0.stats.ast_be_nombuf: 0
> dev.ath.0.stats.ast_be_xmit: 0
> 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: 0
> dev.ath.0.stats.ast_rx_phyerr: 1894
> dev.ath.0.stats.ast_rx_badmic: 0
> dev.ath.0.stats.ast_rx_badcrypt: 0
> dev.ath.0.stats.ast_rx_fifoerr: 0
> dev.ath.0.stats.ast_rx_crcerr: 1646
> 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: 60
> dev.ath.0.stats.ast_tx_shortpre: 2203
> dev.ath.0.stats.ast_tx_cts: 0
> dev.ath.0.stats.ast_tx_rts: 0
> dev.ath.0.stats.ast_tx_noack: 0
> dev.ath.0.stats.ast_tx_badrate: 0
> dev.ath.0.stats.ast_tx_longretry: 744
> dev.ath.0.stats.ast_tx_shortretry: 0
> dev.ath.0.stats.ast_tx_filtered: 0
> dev.ath.0.stats.ast_tx_fifoerr: 0
> dev.ath.0.stats.ast_tx_xretries: 1
> 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: 0
> 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: 34
> dev.ath.0.stats.ast_txurn: 0
> dev.ath.0.stats.ast_rxeol: 0
> dev.ath.0.stats.ast_rxorn: 0
> dev.ath.0.stats.ast_bstuck: 0
> 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: 50
> dev.ath.0.txq_mcastq_maxdepth: 50
> dev.ath.0.txq_data_minfree: 10
> dev.ath.0.delim_min_pad: 0
> dev.ath.0.rts_aggr_limit: 0
> 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: 0
> dev.ath.0.tpscale: 0
> dev.ath.0.diag: 0
> dev.ath.0.txintrperiod: 5
> dev.ath.0.diversity: 1
> 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: 48
> dev.ath.0.acktimeout: 48
> dev.ath.0.slottime: 9
> dev.ath.0.regdomain: 16
> 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: cardbus0
> dev.ath.0.%pnpinfo: vendor=0x168c device=0x001a subvendor=0x1186
> subdevice=0x3b08 class=0x020000
> dev.ath.0.%location: slot=0 function=0 dbsf=pci0:4:0:0
> dev.ath.0.%driver: ath
> dev.ath.0.%desc: Atheros 2413
> dev.ath.%parent:
>
>
> --
> Steve
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>
Received on Fri Nov 23 2018 - 18:36:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC