From owner-freebsd-current@freebsd.org Fri Nov 23 20:03:48 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A765611027B5 for ; Fri, 23 Nov 2018 20:03:47 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "troutmask", Issuer "troutmask" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B573072F0C; Fri, 23 Nov 2018 20:03:46 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.15.2/8.15.2) with ESMTPS id wANK3iIN020931 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 23 Nov 2018 12:03:45 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.15.2/8.15.2/Submit) id wANK3itD020930; Fri, 23 Nov 2018 12:03:44 -0800 (PST) (envelope-from sgk) Date: Fri, 23 Nov 2018 12:03:44 -0800 From: Steve Kargl To: Adrian Chadd Cc: freebsd-current Subject: Re: ath(4) issues? Message-ID: <20181123200344.GA20833@troutmask.apl.washington.edu> Reply-To: sgk@troutmask.apl.washington.edu References: <20181122170520.GA78341@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: B573072F0C X-Spamd-Result: default: False [1.46 / 15.00]; ARC_NA(0.00)[]; HAS_REPLYTO(0.00)[sgk@troutmask.apl.washington.edu]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.44)[-0.436,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[washington.edu]; AUTH_NA(1.00)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(0.09)[ipnet: 128.95.0.0/16(0.38), asn: 73(0.16), country: US(-0.09)]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[21.76.95.128.list.dnswl.org : 127.0.11.2]; MX_GOOD(-0.01)[cached: troutmask.apl.washington.edu]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.17)[-0.169,0]; NEURAL_SPAM_MEDIUM(0.29)[0.285,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:73, ipnet:128.95.0.0/16, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Nov 2018 20:03:48 -0000 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 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@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: 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 @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@freebsd.org mailing list > >> https://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org > >> " > >> > > -- Steve 20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4 20161221 https://www.youtube.com/watch?v=IbCHE-hONow