Panic with Dual-Band WLANs on ath
cmt at burggraben.net
Sun Apr 1 16:25:26 UTC 2018
I've got a fairly reproducable kernel panic when trying to configure
two wlan devices on one ath card.
The basics: FreeBSD 11.1-RELEASE-p8 amd64
ath0 at pci0:4:0:0: class=0x028000 card=0x3099168c chip=0x002a168c rev=0x01 hdr=0x00
vendor = 'Qualcomm Atheros'
device = 'AR928X Wireless Network Adapter (PCI-Express)'
class = network
(This is a Compex WLE200NX miniPCIe card in a PCEngines APU2:
https://www.compex.com.sg/product/wle200nx/ for specifications).
I want to create two access points on this device: one in 5Ghz and
one in 2.4GHz (5GHz gives good bandwidth, but cannot radio it's way
out of a cardboard box, so rather less-than-good coverage - and I
still have hardware which is not 5GHz capable; 2.4GHz has less bandwidth
but much better coverage (this is also true for my neighbours' networks,
so I've got quite some interference here)).
The naive approach was setting wlans_ath0="wlan0 wlan1" in rc.conf,
and configuring wlan0 and wlan1 in parallel (hostap and stuff).
Unfortunately, after short time (30 seconds to 5 minutes), I get a
ath0: ath_rate_tx_complete: ts_rate=11 ts_finaltsi=0, final_rix=4
ath0: bad series0 hwrate 0xb, tries 7 ts_status 0x1
Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address = 0x0
fault code = supervisor write data, page not present
instruction pointer = 0x20:0xffffffff8164aefc
stack pointer = 0x28:0xfffffe011bbfe8a0
frame pointer = 0x28:0xfffffe011bbfe8f0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (irq40: ath0)
trap number = 12
panic: page fault
cpuid = 2
KDB: stack backtrace:
#0 0xffffffff80585997 at kdb_backtrace+0x67
#1 0xffffffff80543a76 at vpanic+0x186
#2 0xffffffff805438e3 at panic+0x43
#3 0xffffffff8087c642 at trap_fatal+0x322
#4 0xffffffff8087c69b at trap_pfault+0x4b
#5 0xffffffff8087beba at trap+0x2ca
#6 0xffffffff8085ed20 at calltrap+0x8
#7 0xffffffff814e25c5 at ath_beacon_generate+0x45
#8 0xffffffff814e244b at ath_beacon_proc+0x22b
#9 0xffffffff814d066d at ath_intr+0x24d
#10 0xffffffff8050a0bc at intr_event_execute_handlers+0xec
#11 0xffffffff8050a3a6 at ithread_loop+0xd6
#12 0xffffffff80507715 at fork_exit+0x85
#13 0xffffffff8085f9ee at fork_trampoline+0xe
I can provide core dumps on request.
Is this a case of "don't do that"? In that case, an error message instead
of a kernel panic would be nice - it took me several roundtrips to
disable the wlans again, the box sometimes paniced faster than I could
fix my configuration.
For the time being I'm back to 2.4GHz only (which worked for several
days, as did 5GHz only - only the combination got my box panicing).
More information about the freebsd-stable