Re: ath(4) issues?

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Fri, 23 Nov 2018 12:03:44 -0800
Adrian,

Thanks for the explanation.  Now that I think about it my internet
carrier replaced my old cable modem with a new one some 6 weeks ago.
This coincidence with the appearance of these messages.  It also
coincided with work by Warner (and mybe others) on PnP and PCI bus,
so I seem to have mistakenly thought it was a software issue.

BTW, thanks for the ath(4) device.  It's worked for years with 
this old Dlink WL-630 card.

-- 
steve

On Fri, Nov 23, 2018 at 11:28:34AM -0800, Adrian Chadd wrote:
> And I think 0x1b is "1mbit CCK", so I bet that's disabled on your AP?
> 
> 
> On Fri, 23 Nov 2018 at 11:28, Adrian Chadd <adrian_at_freebsd.org> wrote:
> 
> > 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
> >> "
> >>
> >

-- 
Steve
20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow
Received on Fri Nov 23 2018 - 19:03:48 UTC

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