From frank@exit.com  Sat Feb 19 22:48:29 2005
Return-Path: <frank@exit.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 9738916A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 19 Feb 2005 22:48:29 +0000 (GMT)
Received: from tinker.exit.com (tinker.exit.com [206.223.0.1])
	by mx1.FreeBSD.org (Postfix) with ESMTP id A7CF743D1F
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 19 Feb 2005 22:48:28 +0000 (GMT)
	(envelope-from frank@exit.com)
Received: from realtime.exit.com (realtime [206.223.0.5])
	by tinker.exit.com (8.13.1/8.13.1) with ESMTP id j1JMmSjT076682
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 19 Feb 2005 14:48:28 -0800 (PST)
	(envelope-from frank@exit.com)
Received: from realtime.exit.com (localhost [127.0.0.1])
	by realtime.exit.com (8.13.1/8.12.9) with ESMTP id j1JMmS8o017863
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 19 Feb 2005 14:48:28 -0800 (PST)
	(envelope-from frank@realtime.exit.com)
Received: (from frank@localhost)
	by realtime.exit.com (8.13.1/8.13.1/Submit) id j1JMmSeP017862;
	Sat, 19 Feb 2005 14:48:28 -0800 (PST)
	(envelope-from frank)
Message-Id: <200502192248.j1JMmSeP017862@realtime.exit.com>
Date: Sat, 19 Feb 2005 14:48:28 -0800 (PST)
From: Frank Mayhar <frank@exit.com>
Reply-To: Frank Mayhar <frank@exit.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Hard hang related to ath?
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         77751
>Category:       i386
>Synopsis:       Hard hang related to ath?
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Feb 19 22:50:17 GMT 2005
>Closed-Date:    Fri Apr 22 12:34:02 GMT 2005
>Last-Modified:  Fri Apr 22 12:34:02 GMT 2005
>Originator:     Frank Mayhar
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
Exit Consulting
>Environment:
System: FreeBSD lap 6.0-CURRENT FreeBSD 6.0-CURRENT #14: Sat Feb 19 12:04:13 PST 2005 root@lap:/home/obj/usr/src/sys/AUTON i386


	This is a Dell Inspiron 5160; I replaced the original Broadcom
minipci wireless card with an Atheros-chipset-based a/b/g card.  I run
it in 11a mode exclusively.  It has recently become very unstable,
exhibiting hard lockups nearly constantly.  I tried to go back to -current
as of around Christmas but the lockups didn't (seem to) go away.  I've
been incredibly swamped lately, wrapping up a former project and beginning
a new job, so I haven't had the time to spend on this until now.  Today I
began to diagnose the problem.

It is indeed a hard hang; the (firewire) console is unresponsive as is
the GDB link.  It seems to happen while I'm in X (using nvidia-driver from
ports, which had a bug I just fixed) although it has happened at least once
while I was using the regular non-X console.  There is nothing obvious
going on when it happens, I'm just using the system and it locks tight.

Before I begin to suspect hardware I want to try to eliminate the software
element.  I've placed relevant information at

	http://www.exit.com/Archives/FreeBSD/hang-pr-info.txt

This includes the dmesg (also appended below) as well as ath-related debug
output from 
	./athdebug 0x800d8120
dev.ath.0.debug: 0x800d8120<reset,watchdog,beacon_proc,calibrate,state,node,fatal>
	./80211debug 0x04000000
net.wlan.0.debug: 0x4000000<xrate>

I don't think it's related to the recent cpufreq changes, since the hangs
started before I picked them up and began running with them.

This problem has rendered my laptop nearly useless.  If anyone can suggest
any way I might narrow this down a little further I would be very grateful.

Dmesg follows:

Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 6.0-CURRENT #14: Sat Feb 19 12:04:13 PST 2005
    root@lap:/home/obj/usr/src/sys/AUTON
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Mobile Intel(R) Pentium(R) 4 CPU 2.80GHz (2790.71-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf34  Stepping = 4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 536662016 (511 MB)
avail memory = 511664128 (487 MB)
ACPI APIC Table: <DELL   CPi R  >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ichwd module loaded
ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL CPi R  > on motherboard
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_cmbat0: <Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <base peripheral> at device 0.1 (no driver attached)
pci0: <base peripheral> at device 0.3 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
nvidia0: <GeForce FX Go5200> mem 0xd0000000-0xdfffffff,0xfc000000-0xfcffffff irq 20 at device 0.0 on pci1
nvidia0: [GIANT-LOCKED]
uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0xbf80-0xbf9f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0xbf40-0xbf5f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0xbf20-0xbf3f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf4fffc00-0xf4ffffff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
ehci_pci_attach: companion usb0
ehci_pci_attach: companion usb1
ehci_pci_attach: companion usb2
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <EHCI (generic) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: single transaction translator
uhub3: 6 ports with 6 removable, self powered
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
bfe0: <Broadcom BCM4401-B0 Fast Ethernet> mem 0xfaffe000-0xfaffffff irq 17 at device 1.0 on pci2
miibus0: <MII bus> on bfe0
bmtphy0: <BCM4401 10/100baseTX PHY> on miibus0
bmtphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bfe0: Ethernet address: 00:0f:1f:26:c6:65
bfe0: [GIANT-LOCKED]
ath0: <Atheros 5212> mem 0xfafe0000-0xfafeffff irq 18 at device 2.0 on pci2
ath0: [GIANT-LOCKED]
ath0: Ethernet address: 00:02:6f:21:df:fe
ath0: mac 5.9 phy 4.3 radio 3.6
cbb0: <TI4510 PCI-CardBus Bridge> at device 4.0 on pci2
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
fwohci0: <1394 Open Host Controller Interface> mem 0xfaff8000-0xfaffbfff,0xfaffd800-0xfaffdfff irq 16 at device 4.1 on pci2
fwohci0: [GIANT-LOCKED]
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 34:4f:c0:00:26:8f:58:a1
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x1f499000
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 36:4f:c0:8f:58:a1
fwe0: Ethernet address: 36:4f:c0:8f:58:a1
fwohci0: Initiate bus reset
fwohci0: node_id=0x8000ffc0, gen=1, non CYCLEMASTER mode
firewire0: 2 nodes, maxhop <= 1, cable IRM = 1
ichss: enabling SpeedStep support
ichss0: <SpeedStep ICH> on cpu0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH4 UDMA100 controller> port 0xbfa0-0xbfaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
pcm0: <Intel ICH4 (82801DB)> port 0xbc40-0xbc7f,0xb800-0xb8ff mem 0xf4fff400-0xf4fff4ff,0xf4fff800-0xf4fff9ff irq 17 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <SigmaTel STAC9750/51 AC97 Codec>
acpi_tz0: <Thermal Zone> on acpi0
pci_link0: <ACPI PCI Link LNKA> irq 11 on acpi0
pci_link1: <ACPI PCI Link LNKB> irq 11 on acpi0
pci_link2: <ACPI PCI Link LNKC> irq 11 on acpi0
pci_link3: <ACPI PCI Link LNKD> irq 11 on acpi0
pci_link4: <ACPI PCI Link LNKE> irq 11 on acpi0
pci_link5: <ACPI PCI Link LNKH> irq 11 on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x66,0x62,0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> flags 0x1000 irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
orm0: <ISA Option ROMs> at iomem 0xcf800-0xcffff,0xc0000-0xcf7ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
Expensive timeout(9) function: 0xc0521e54(0) 0.005851860 s
firewire0: bus manager 1 
firewire0: New S400 device ID:0011060000003b31
acd0: DVDROM <TEAC DVD-ROM DV-28E-C/D.4B> at ata0-master UDMA33
ad2: 57231MB <HTS548060M9AT00/MGBOA53A> [116280/16/63] at ata1-master UDMA100
SMP: AP CPU #1 Launched!
>Description:
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org, frank@exit.com
Cc:  
Subject: Re: i386/77751: Hard hang related to ath?
Date: Sat, 19 Feb 2005 15:10:06 -0800

 I just realized I forgot to say why I suspect the hang is related to
 ath.  First, there's a lot of interference around here so the signal has
 some trouble, and second, every hang I've seen has been literally
 _right_ after the ath driver logs something like:
 
 	Feb 19 14:24:19  kernel: ath0: link state changed to UP
 
 Certainly not iron-clad, by any means, but suggestive.
 

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org
Cc: sam@errno.com
Subject: Re: i386/77751: Hard hang related to ath?
Date: Sat, 19 Feb 2005 18:04:37 -0800

 (Sam, I'm cc'ing you on this FYI, so you'll be sure to see this PR.)
 
 I've now run for some time (90 minutes or so) without using ath and with
 no hangs whatsoever.  So this is further evidence that the hangs I'm
 seeing are related to the ath driver.  I would be happy to provide
 whatever further information I can.

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org, frank@exit.com
Cc: sam@errno.com
Subject: Re: i386/77751: Hard hang related to ath?
Date: Sun, 20 Feb 2005 19:56:49 -0800

 Well, I've convinced myself that this hang is unrelated to ath (and in
 fact is apparently related to the nvidia-driver port; I'll open a new
 PR for that).  My apologies, and please close this PR.
 -- 
 Frank Mayhar <frank@exit.com>
 Exit Consulting

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org, frank@exit.com
Cc: sam@errno.com
Subject: Re: i386/77751: Hard hang related to ath?
Date: Mon, 21 Feb 2005 16:53:34 -0800

 Belay that.  The hang definitely has at least _something_ to do with the
 ath driver.
 
 After seeing the hang while running the nv X11 driver (thereby
 eliminating the nvidia driver from suspicion), I spent today trying to
 narrow things down.  Again.  I'm now convinced that there's a problem
 with the ath driver, somewhere somehow.
 
 The hangs have happened very reliably when I'm some feet away from the
 access point in my living room.  This is a _very_ RF-noisy environment,
 with various and sundry equipment in all directions, cell sites nearby
 and no fewer than four other wireless networks in range.  In my lab the
 access point is less than six feet from the laptop, so I attenuated the
 signal by the expedient step of putting the AP in two nested antistatic
 bags.  It lowered the effective power (as reported by the "wireless
 network" Gnome applet) from roughly 50% to around 25%.
 
 I set the laptop up in my lab connected to a firewire console and I
 turned on as much debugging as I could find and could stand to watch
 scroll by.  In the end, I had dev.ath.0.debug set to 0x00ff0ff0.  I
 watched it happily spit out messages from the amrr rate module for hours
 while I used the network.  It turns out that I was accidentally using
 the fwe0 network, which I had forgotten I had set up.  It had gotten the
 default route.
 
 So I switched the default route to the wireless network, ath0, started a
 flood-ping to a local host and continued to browse the web.  Within a
 matter of just a very few minutes (like, less than five, probably less
 than three), I had the hang.
 
 I noticed that when I started the flood ping the rate-control algorithm
 started going nuts.  It changed the rate every time through the loop,
 every half-second.
 
 What follows is console output beginning shortly before I changed the
 default route.  It shows the driver going through several iterations of
 rate changes before the system locks.
 
 If this helps diagnose this a bit, please let me know.  Otherwise, at
 least give me some idea of what further information I can provide or
 further testing I can perform.  I'll be busy with my day job through
 the rest of the week, but I'll undoubtedly be back to trying to diagnose
 this hang next weekend.  I plan to leave my laptop in the diagnostic
 lashup, though, so it should be easy to do further testing.
 
 Console output follows, with a few comments interspersed.
 
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_calibrate: channel 5290/150
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_calibrate: channel 5290/150
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 
 		I changed the default route here.
 
 cnt0: 3 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 1 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 15 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 1 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_calibrate: channel 5290/150
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 10 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 11 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 16 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 11 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 15 cnt1: 5 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 6 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 2 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 7 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 2 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 4 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 12 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 19 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 5 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 13 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 11 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 ath_calibrate: channel 5290/150
 cnt0: 8 cnt1: 6 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 11 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 12 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 10 cnt1: 6 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 1 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 15 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 16 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 7 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 1 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 13 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 3 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 5 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 10 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 14 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 6 cnt1: 5 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 1 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 10 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 22 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 17 cnt1: 7 cnt2: 7 cnt3: 7 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 1 cnt1: 1 cnt2: 1 cnt3: 1 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 9M
 ath_bmiss_proc: pending 1
 ath_newstate: RUN -> ASSOC
 ath_chan_set: 58 (5290 MHz) -> 58 (5290 MHz)
 ath_newstate: RX filter 0x17 bssid 00:02:6f:20:b6:a9
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 3
 ath_key_update_begin:
 ath_key_update_end:
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 Feb 21 16:32:33 lap kernel: ath0: link state changed to DOWN
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_start: ignore data packet, state 3
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 
 		I started the flood-ping approximately here.
 
 cnt0: 2 cnt1: 2 cnt2: 2 cnt3: 2 -- threshold: 1
 ath_newstate: ASSOC -> SCAN
 ath_chan_set: 58 (5290 MHz) -> 58 (5290 MHz)
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_newstate: SCAN -> SCAN
 ath_chan_set: 58 (5290 MHz) -> 152 (5760 MHz)
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f267a08, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198a68, link 0xc1e44a3c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 1
 ath_start: ignore data packet, state 1
 ath_newstate: SCAN -> SCAN
 ath_chan_set: 152 (5760 MHz) -> 160 (5800 MHz)
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f262af8, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198a68, link 0xc1e44a3c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 1
 ath_start: ignore data packet, state 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_newstate: SCAN -> SCAN
 ath_chan_set: 160 (5800 MHz) -> 42 (5210 MHz)
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f261b80, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198a68, link 0xc1e44a3c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 1
 ath_start: ignore data packet, state 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_newstate: SCAN -> SCAN
 ath_chan_set: 42 (5210 MHz) -> 50 (5250 MHz)
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f2601b8, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198a68, link 0xc1e44a3c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 1
 ath_start: ignore data packet, state 1
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_newstate: SCAN -> SCAN
 ath_chan_set: 50 (5250 MHz) -> 58 (5290 MHz)
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f2619c8, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198a68, link 0xc1e44a3c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_newstate: RX filter 0x17 bssid ff:ff:ff:ff:ff:ff
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 1
 ath_start: ignore data packet, state 1
 ath_rate_update: set xmit rate for 00:00:00:00:00:00 to 0M
 ath_node_alloc: an 0xc1fd5c00
 cnt0: 1 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 ath_newstate: SCAN -> AUTH
 ath_chan_set: 58 (5290 MHz) -> 58 (5290 MHz)
 ath_newstate: RX filter 0x17 bssid 00:02:6f:20:b6:a9
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 2
 ath_start: ignore data packet, state 2
 ath_newstate: AUTH -> ASSOC
 ath_chan_set: 58 (5290 MHz) -> 58 (5290 MHz)
 ath_newstate: RX filter 0x17 bssid 00:02:6f:20:b6:a9
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 6M
 ath_start: ignore data packet, state 3
 ath_start: ignore data packet, state 3
 ath_newstate: ASSOC -> RUN
 ath_chan_set: 58 (5290 MHz) -> 58 (5290 MHz)
 ath_newstate: RX filter 0x17 bssid 00:02:6f:20:b6:a9
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 36M
 ath_newstate(RUN): ic_flags=0x02280010 iv=100 bssid=00:02:6f:20:b6:a9
 capinfo=0x0011 chan=58
 ath_beacon_config: nexttbtt 27086900 intval 100 (100)
 ath_beacon_config: intval 100 nexttbtt 27086900 dtim 100 nextdtim
 27086900 bmiss 7 sleep 100 cfp:period 0 maxdur 0 next 0 timoffset 58
 Feb 21 16:32:38 lap kernel: ath0: link state changed to UP
 cnt0: 30 cnt1: 30 cnt2: 28 cnt3: 2 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 6 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 2 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 12M
 cnt0: 7 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 8 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 9 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 10 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 17 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 3
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 0 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 11 cnt1: 0 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 4 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 7 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 10 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 ath0: hardware error; resetting
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f260898, link 0
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 ath_stoprecv: rx queue 0x198960, link 0xc1e44934
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_beacon_config: nexttbtt 27086900 intval 100 (100)
 ath_beacon_config: intval 100 nexttbtt 27086900 dtim 100 nextdtim
 27086900 bmiss 7 sleep 100 cfp:period 0 maxdur 0 next 0 timoffset 58
 cnt0: 6 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 6 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 cnt0: 64 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 89 cnt1: 83 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 76 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 76 cnt1: 69 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 81 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 61 cnt1: 51 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 73 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 67 cnt1: 63 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 84 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 ath0: hardware error; resetting
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f263020, link 0xd5afa020
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 T0 (0xd5afa020 0x1f263020) 00000000 173d2288 413f0080 00000078 11110000
 0005a9c9 703f0001 0124e649 *
 ath_stoprecv: rx queue 0x198bc8, link 0xc1e44b9c
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_beacon_config: nexttbtt 27086900 intval 100 (100)
 ath_beacon_config: intval 100 nexttbtt 27086900 dtim 100 nextdtim
 27086900 bmiss 7 sleep 100 cfp:period 0 maxdur 0 next 0 timoffset 58
 cnt0: 50 cnt1: 46 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 106 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 105 cnt1: 98 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 137 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 144 cnt1: 126 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 80 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 100 cnt1: 91 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 149 cnt1: 5 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 126 cnt1: 118 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 169 cnt1: 7 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 116 cnt1: 97 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 135 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 77 cnt1: 69 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 123 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 106 cnt1: 99 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 131 cnt1: 5 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 79 cnt1: 72 cnt2: 5 cnt3: 1 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 95 cnt1: 4 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 65 cnt1: 57 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 84 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 63 cnt1: 57 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 51 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 76 cnt1: 68 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 61 cnt1: 1 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 76 cnt1: 66 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 81 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 ath0: hardware error; resetting
 ath_draintxq: beacon queue 0
 ath_tx_stopdma: tx queue [0] 0, link 0
 ath_tx_stopdma: tx queue [1] 0x1f262af8, link 0xd5af9af8
 ath_tx_stopdma: tx queue [2] 0, link 0
 ath_tx_stopdma: tx queue [3] 0, link 0
 ath_tx_stopdma: tx queue [8] 0, link 0
 T0 (0xd5af9af8 0x1f262af8) 00000000 09f70588 413f0080 00000078 11110000
 0005a9c9 89af0001 0124fa53 *
 ath_stoprecv: rx queue 0x198b70, link 0xc1e44b44
 ath_mode_init: RX filter 0x17, MC filter 00000001:00000040
 ath_beacon_config: nexttbtt 27086900 intval 100 (100)
 ath_beacon_config: intval 100 nexttbtt 27086900 dtim 100 nextdtim
 27086900 bmiss 7 sleep 100 cfp:period 0 maxdur 0 next 0 timoffset 58
 cnt0: 86 cnt1: 76 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 82 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 81 cnt1: 76 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 98 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 91 cnt1: 83 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 83 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 86 cnt1: 81 cnt2: 1 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 89 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 109 cnt1: 95 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 106 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 84 cnt1: 75 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 99 cnt1: 2 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 115 cnt1: 99 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 132 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 106 cnt1: 99 cnt2: 2 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 cnt0: 110 cnt1: 3 cnt2: 0 cnt3: 0 -- threshold: 1
 increase rate to 4
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 24M
 cnt0: 105 cnt1: 94 cnt2: 0 cnt3: 0 -- threshold: 1
 decrease rate normal thr: 1
 ath_rate_update: set xmit rate for 00:02:6f:20:b6:a9 to 18M
 [dcons disconnected (get ptr failed)]
 [dcons disconnected (read header failed)]
 
 		This is where the system hangs.  It becomes completely
 		unresponsive and must be power-cycled.
 

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org, frank@exit.com
Cc: sam@errno.com
Subject: Re: i386/77751: Hard hang related to ath?
Date: Mon, 21 Feb 2005 19:16:27 -0800

 I've managed to come up with another flavor of hang.  I beat on it
 pretty hard this evening and although the system itself didn't hang, the
 interface did.  The interface and _just_ the interface became
 unresponsive.  After letting it sit for some time (it was dinnertime), I
 did an "ifconfig ath0 down" to see if I could get it to recover and it
 appeared to go into a loop, scanning through the channels trying to
 find an access point while the rate module kept trying to change the
 speed (although always to 6M, which seemed a little odd).
 
 I've put this console log on my website at
     http://www.exit.com/Archives/FreeBSD/PR-Info/ath-hang-console.txt
 
 That's the ath debug output of the whole session, so it's quite large
 (some 37K+ lines), but the most interesting bit is at the end.
 

From: Frank Mayhar <frank@exit.com>
To: freebsd-gnats-submit@FreeBSD.org, frank@exit.com
Cc:  
Subject: Re: i386/77751: Hard hang related to ath?
Date: Mon, 07 Mar 2005 05:25:51 -0800

 It turned out that this problem was due to bad hardware.  Replacing the
 hardware solved the problem.  Please close this.  Thanks.
 -- 
 Frank Mayhar <frank@exit.com>
 Exit Consulting
State-Changed-From-To: open->closed 
State-Changed-By: arved 
State-Changed-When: Fri Apr 22 12:33:48 GMT 2005 
State-Changed-Why:  
Submitter reports that the failure was caused by bad hardware 

http://www.freebsd.org/cgi/query-pr.cgi?pr=77751 
>Unformatted:
