Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AR9271 stops receiving packets after several seconds to a several hours on monitor mode on any given channel, on every OS and card #126

Open
melyux opened this issue Feb 24, 2017 · 54 comments

Comments

@melyux
Copy link

melyux commented Feb 24, 2017

Both the current and previous version seem to have the issue. After anywhere from 20 seconds to 3 hours or so of being in monitor mode, the interface stops receiving packets. It seems to die more quickly during busier times when it receives more packets. The ifconfig count stops increasing, and the driver debug debug_fs numbers also become static. The only way to get it to receive again is to change the channel (changing to another channel and then immediately switching back works; I don't know whether the card is slipping to a non-WiFi frequency or something, since iw still reports it as being on the same frequency as it was before, and it makes no changes to the frequency if it thinks the card is already on the channel that is specified). It doesn't seem to be able to stay on one channel for very long.

I've tried this with several Atheros AR9271 chipset cards, like the ALFA AWUS036NHA and TP-Link TL-WN722N. They all have the same issue. I've tried it on Debian, Kali, Raspbian, Raspbian Lite, and Arch, and I've gotten identical behavior. I've tried a powered USB hub, an unpowered hub, and no hub at all. I've tried it on a MacBook, a Virtual Machine, a Mac Mini, a Raspberry Pi, and a Pi Zero. I've tried it with all sorts of different antenna. I've tried power supplies of various amperages. I've tried it with all other processes killed. I've switched intermediary USB cables around and gotten rid of them altogether. Power save is off in both module parameters and in iw.

dmesg and syslog show no errors or events when this happens. The packets just silently stop coming in until the channel is changed. The activity LED on the cards stop blinking and turn solid. Other non-Atheros wireless adapters work fine on every system for weeks on an end without stopping packet reception.

To reproduce, put any AR9271 wireless card into monitor mode and take it into a relatively crowded area. Don't change the channel (or do it, it might die faster if you do, it's Russian roulette). It may take seconds or hours, but it is guaranteed to stop receiving packets indefinitely after a certain point within the day.

@melyux melyux changed the title Driver stops receiving packets after several seconds to a several hours on monitor mode AR9271 stops receiving packets after several seconds to a several hours on monitor mode, on every OS and card Feb 24, 2017
@melyux melyux changed the title AR9271 stops receiving packets after several seconds to a several hours on monitor mode, on every OS and card AR9271 stops receiving packets after several seconds to a several hours on monitor mode on any given channel, on every OS and card Feb 24, 2017
@olerem
Copy link
Contributor

olerem commented Feb 24, 2017

@erikarn , hm... should we do some periodic recalibration?

@erikarn
Copy link
Collaborator

erikarn commented Feb 24, 2017 via email

@olerem
Copy link
Contributor

olerem commented Feb 24, 2017

Not 100% sure if we are not doing. But is sounds like not, at least not for monitoring mode.

@erikarn
Copy link
Collaborator

erikarn commented Feb 24, 2017 via email

@rodizio1
Copy link

Interesting. I have had similar effects when being in monitor mode and having set fcsfail, i.e. frames with wrong checksum are also forwarded.

I could reproduce this by using my EZ-Wifibroadcast distribution, enabling fcsfail in monitor mode and then running it near sensitivity limit, so that there are something like 50% of wrong checksum frames being received. Then sometimes, it would just stop receiving packets, like you described, no more ifconfig packets/bytes updates.

Never tried to switch channel though when that happened. But I remember ifconfig down/up didn't work.

Without FCS Fail, this never happened, have been running these cards for several days in monitor mode constantly receiving ~700 1024 byte frames per second.

@olerem
Copy link
Contributor

olerem commented Feb 24, 2017

@melikyuksel can check if fcsfail ist set on you system?

@melyux
Copy link
Author

melyux commented Feb 24, 2017

@olerem The fcsfail flag is not set. Just to check, I turned it on for both AR9271 cards, and both still eventually stopped within 30 minutes (lots of traffic at the moment). I turned it off, and both again stopped receiving packets again within the next hour.

I'm testing all this on fresh installations, and that flag is turned off by default when using both iw and airmon-ng with AR9271. Doesn't seem to make a difference for AR9271 like it does for EZ-Wifibroadcast.

@rodizio1
Copy link

rodizio1 commented Feb 24, 2017

Not sure what the default is, I explicitly set it with iw dev wlan0 set monitor none. (Since I don't trust any "iw" or "iwconfig" outputs ...)

When I use iw dev wlan0 set monitor fcsfail it sooner or later stops receiving frames when too much "garbage" frames come in.

Edit: I'm also using AR9271 cards, same as you, TPLink 722 and Alfa AWUSH036NHA.

@melyux
Copy link
Author

melyux commented Feb 24, 2017

I suspect that your cards would also stop receiving frames irregardless of fscfail if you were in a crowded enough area. I might be wrong and you might already be though. I've noticed that the more packets the card is seeing, the sooner it fails. Turning on fcsfail probably just increases the number of processed packets and leads to failure. In my case, I'm in such a crowded area that the card fails even without setting that flag on.

@olerem
Copy link
Contributor

olerem commented Feb 25, 2017

in this case, after monitoring is stalled, ifconfig will show you identical or similar amount of packages

@olerem
Copy link
Contributor

olerem commented Feb 25, 2017

I started monitore test:
ifconfig wlxa0f3c1187553 up
airmon-ng start wlxa0f3c1187553 6
tcpdump -ni mon0

Currently it is running one hour.

@melyux
Copy link
Author

melyux commented Feb 25, 2017

I left two running overnight as well (and they didn't stall, because they never stall overnight for some reason), and one just stalled at 5,138,158 RX packets (1.0 GiB), while the other stalled 5 hours later at 13,240,931 RX packets (2.3 GiB) so far. Is there some way to debug the situation when they stall? The ath9k_htc debug system itself show no difference for when it's running vs. when it's stalled.

@rodizio1
Copy link

rodizio1 commented Feb 25, 2017

I suspect that your cards would also stop receiving frames irregardless of fscfail if you were in a crowded enough area. I might be wrong and you might already be though.

I have tested it with detached antennas on the receiving wifi sticks (PCB Antennas on 722N also disabled) all they could hear was the packets coming from my transmitting wifi sticks (i.e. the videostream).

I've noticed that the more packets the card is seeing, the sooner it fails. Turning on fcsfail probably just increases the number of processed packets and leads to failure. In my case, I'm in such a crowded area that the card fails even without setting that flag on.

This was not the case with my tests, the transmitting stick sends something around 700 frames per second. When being near, lost frames or frames with failed FCS are almost zero, maybe one per 5 minutes or so. Then it runs for days.
When going to the edge of reception, there are actually less frames being received as some are completely lost. I also noticed that this 'stall' happens quicker when there are more failed FCS frames coming in.

So my theory so far is, that it's not the actual number of frames that causes this (i.e. "overloading" the card when there are too many frames). I think it's that some special combination of garbage data causes the card to crash (some invalid combinations of whatever fields in the IEEE802.11 header, wrong length field that causes a read past where it shouldn't read, something like that).

This would explain that it can be reproduced quicker when there are more failed FCS frames, the probability that some frame contains "garbage the cards don't like" is higher.

However, this explanation of course doesn't line up with your results with fcs fail not enabled. Still, I feel quite confident that this does never happen with my EZ-Wifibroadcast distribution, maybe you could test it with that? This way we'd have completely the same setup, only variable left would be local circumstances like other wifi networks.

You can download it from here: https://github.com/bortek/EZ-WifiBroadcast/wiki, write it to an SDcard, edit wifibroadcast-1.txt on the boot partition (only FREQ=XXXX needs to be changed) put it in the Pi and let it run. SSH login is standard l:root p:raspberry. If you want local console access, switch over to tty10.

@melyux
Copy link
Author

melyux commented Feb 25, 2017

@rodizio1 Sure, I'll test it with EZ-Wifibroadcast. Do I just boot it up and put the interface in monitor mode, or do I need a second device like it says on the page?

@rodizio1
Copy link

rodizio1 commented Feb 25, 2017

No second device needed (as long as you don't want to transmit and receive live video), just write the image onto an SDcard and boot it up. Cards will automatically be in monitor mode on channel 13 after bootup. You can use up to three wifi sticks.

@erikarn
Copy link
Collaborator

erikarn commented Feb 25, 2017 via email

@melyux
Copy link
Author

melyux commented Feb 25, 2017

@erikarn How is that done?

@erikarn
Copy link
Collaborator

erikarn commented Feb 25, 2017 via email

@rodizio1
Copy link

It doesn't do periodic noisefloor calibration. Only when changing channels.

@melyux
Copy link
Author

melyux commented Feb 25, 2017

Just got the EZ-Wifibroadcast image running for one card, and on the other card enabled the calibrate bit. No messages in dmesg even with the bit set though, and the packets haven't stalled on either yet as of 5 minutes in.

@erikarn
Copy link
Collaborator

erikarn commented Feb 26, 2017 via email

@melyux
Copy link
Author

melyux commented Feb 26, 2017

So, the EZ-Wifibroadcast image card has stalled with the fcsfail option untouched (which I assume means it's off). The card with calibrate bit enabled has not stalled yet as of 12 hours later (I expect it to stall within the next few hours as it becomes morning), and there are no messages in dmesg at all about it. Are they really supposed to be in dmesg, or maybe somewhere else?

@erikarn
Copy link
Collaborator

erikarn commented Feb 26, 2017 via email

@melyux
Copy link
Author

melyux commented Feb 26, 2017

I'm definitely not seeing any periodic messages in dmesg from any of the cards, but I don't think there's anything on startup either. @rodizio1 Do you know what the message is supposed to look like? It's strange because /sys/kernel/debug/ieee80211/phy1/ath9k_htc/debug does contain 0x00000008 (the CALIBRATE bit) for both cards.

@rodizio1
Copy link

So, the EZ-Wifibroadcast image card has stalled with the fcsfail option untouched (which I assume means it's off).

Well, crap :) That makes my "bad content frames" theory invalid or we have two different issues here.

Yes, it doesn't forward fcsfail frames by default. I'll make something that allows to inject a lot of frames for testing to verify your "too much frames" theory.

This is what I get with debug=0xffffffff module parameter, NF calibration is done, but only on ifconfig up or channel change:

Note, the lines starting with "ATH:" (in uppercase) are printk's that I added myself to the source to see which function the driver calls.

[    4.876551] ath9k_htc 1-1.5:1.0: ath9k_htc: HTC initialized with 33 credits
[    4.890704] ath: phy1: serialize_regmode is 0
[    4.890721] ath: phy1: UNDEFINED -> AWAKE
[    4.898669] ath: phy1: Reading from EEPROM, not flash
[    5.039843] ath: phy1: Read Magic = 0xA55A
[    5.039857] ath: phy1: need_swap = False
[    5.039874] ath: phy1: Eeprom VER: 14, REV: 13
[    5.039880] ath: phy1: Initialize ANI
[    5.039886] ATH: ath9k_ani_restart function
[    5.039892] ath: phy1: Enable MIB counters
[    5.041696] ath: phy1: Setup TX queue: 9
[    5.041704] ATH: ath9k_hw_set_txq_props
[    5.041710] ath: phy1: Set queue properties for: 9
[    5.041717] ath: phy1: Setup TX queue: 8
[    5.041721] ATH: ath9k_hw_set_txq_props
[    5.041726] ath: phy1: Set queue properties for: 8
[    5.041731] ath: phy1: Setup TX queue: 1
[    5.041736] ATH: ath9k_hw_set_txq_props
[    5.041740] ath: phy1: Set queue properties for: 1
[    5.041747] ath: phy1: Setup TX queue: 0
[    5.041750] ATH: ath9k_hw_set_txq_props
[    5.041755] ath: phy1: Set queue properties for: 0
[    5.041760] ath: phy1: Setup TX queue: 2
[    5.041764] ATH: ath9k_hw_set_txq_props
[    5.041769] ath: phy1: Set queue properties for: 2
[    5.041774] ath: phy1: Setup TX queue: 3
[    5.041779] ATH: ath9k_hw_set_txq_props
[    5.041784] ath: phy1: Set queue properties for: 3
[    5.176018] gpiomem-bcm2835 3f200000.gpiomem: gpiomem device opened.
[    5.210360] systemd[1]: Started wbcconfig.
[    5.211821] systemd[1]: Startup finished in 3.157s (kernel) + 2.053s (userspace) = 5.211s.
[    5.322941] ath: phy1: TX streams 1, RX streams: 1
[    5.323782] ath9k_htc 1-1.5:1.0: ath9k_htc: FW Version: 1.4
[    5.323800] ath9k_htc 1-1.5:1.0: FW RMW support: On
[    5.323809] ath: EEPROM regdomain: 0x809c
[    5.323814] ath: EEPROM indicates we should expect a country code
[    5.323821] ath: doing EEPROM country->regdmn map search
[    5.323826] ath: country maps to regdmn code: 0x52
[    5.323832] ath: Country alpha2 being used: CN
[    5.323838] ath: Regpair used: 0x52
[    5.431209] ath: phy1: WMI:1, BCN:2, CAB:3, UAPSD:4, MGMT:5, BE:6, BK:7, VI:8, VO:9
[    5.431228] ieee80211 phy1: Atheros AR9271 Rev:1
[    5.484051] cfg80211: Regulatory domain changed to country: CN
[    5.484076] cfg80211:  DFS Master region: unset
[    5.484085] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    5.484096] cfg80211:   (2302000 KHz - 2742000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[    5.484104] cfg80211:   (4910000 KHz - 5835000 KHz @ 160000 KHz), (N/A, 3000 mBm), (N/A)
[    7.979701] cfg80211: Regulatory domain changed to country: DE
[    7.979719] cfg80211:  DFS Master region: unset
[    7.979724] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    7.979734] cfg80211:   (2302000 KHz - 2742000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[    7.979742] cfg80211:   (4910000 KHz - 5835000 KHz @ 160000 KHz), (N/A, 3000 mBm), (N/A)
[    8.001992] ath9k_htc 1-1.5:1.0 c46e1f21bbf1: renamed from wlan0
[    8.605963] ath: phy1: Starting driver with initial channel: 2312 MHz
[    9.580319] ath: phy1: PDADC (0,   0): a280 04030201
[    9.580336] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[    9.580344] ath: phy1: PDADC (0,   0): a284 08070605
[    9.580352] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[    9.580359] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[    9.580367] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[    9.580374] ath: phy1: PDADC (0,   0): a28c 1311100e
[    9.580382] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[    9.580389] ath: phy1: PDADC (0,   0): a290 18171614
[    9.580399] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[    9.580405] ath: phy1: PDADC (0,   0): a294 23201c1a
[    9.580414] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[    9.580420] ath: phy1: PDADC (0,   0): a298 302d2a26
[    9.580428] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[    9.580435] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[    9.580443] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[    9.580450] ath: phy1: PDADC (0,   0): a2a0 57514a44
[    9.580458] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[    9.580465] ath: phy1: PDADC (0,   0): a2a4 716b645e
[    9.580474] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[    9.580480] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[    9.580489] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[    9.580496] ath: phy1: PDADC (0,   0): a2ac 2a262294
[    9.580504] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[    9.580511] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[    9.580519] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[    9.580526] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[    9.580534] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[    9.580541] ath: phy1: PDADC (0,   0): a2b8 66605a54
[    9.580549] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[    9.580556] ath: phy1: PDADC (0,   0): a2bc 847d756d
[    9.580565] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[    9.580571] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[    9.580580] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[    9.580586] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[    9.580595] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[    9.580601] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[    9.580610] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[    9.580643] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[    9.580652] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[    9.580658] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[    9.580667] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[    9.580673] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[    9.580682] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[    9.580688] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[    9.580697] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[    9.580703] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[    9.580712] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[    9.580719] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[    9.580727] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[    9.580734] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[    9.580742] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[    9.580749] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[    9.580757] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[    9.580764] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[    9.580772] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[    9.580779] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[    9.580788] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[    9.580794] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[    9.580803] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[    9.580810] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[    9.580818] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[    9.580825] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[    9.580833] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[    9.610438] ath: phy1: Reset TX queue: 0
[    9.611308] ath: phy1: tx ok 0x0 err 0x0 desc 0x1 eol 0x1 urn 0x0
[    9.612313] ath: phy1: Reset TX queue: 1
[    9.613320] ath: phy1: tx ok 0x0 err 0x0 desc 0x3 eol 0x3 urn 0x0
[    9.614313] ath: phy1: Reset TX queue: 2
[    9.615323] ath: phy1: tx ok 0x0 err 0x0 desc 0x7 eol 0x7 urn 0x0
[    9.617812] ath: phy1: Reset TX queue: 3
[    9.618184] ath: phy1: tx ok 0x0 err 0x0 desc 0xf eol 0xf urn 0x0
[    9.618543] ath: phy1: Reset TXQ, inactive queue: 4
[    9.618549] ath: phy1: Reset TXQ, inactive queue: 5
[    9.618555] ath: phy1: Reset TXQ, inactive queue: 6
[    9.618560] ath: phy1: Reset TXQ, inactive queue: 7
[    9.618565] ath: phy1: Reset TX queue: 8
[    9.622326] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.623311] ath: phy1: Reset TX queue: 9
[    9.626346] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.628349] ath: phy1: ver 320.1 opmode 2 chan 2312 Mhz
[    9.636443] ath: phy1: ah->misc_mode 0x4
[    9.700313] ath: phy1: enabling ADC Gain Calibration
[    9.700328] ath: phy1: enabling ADC DC Calibration
[    9.700333] ath: phy1: enabling IQ Calibration
[    9.702306] ath: phy1: starting ADC Gain Calibration
[    9.706329] ath: phy1: PDADC (0,   0): a280 04030201
[    9.706345] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[    9.706352] ath: phy1: PDADC (0,   0): a284 08070605
[    9.706360] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[    9.706367] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[    9.706375] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[    9.706382] ath: phy1: PDADC (0,   0): a28c 1311100e
[    9.706390] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[    9.706397] ath: phy1: PDADC (0,   0): a290 18171614
[    9.706405] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[    9.706412] ath: phy1: PDADC (0,   0): a294 23201c1a
[    9.706420] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[    9.706428] ath: phy1: PDADC (0,   0): a298 302d2a26
[    9.706437] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[    9.706443] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[    9.706452] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[    9.706458] ath: phy1: PDADC (0,   0): a2a0 57514a44
[    9.706467] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[    9.706473] ath: phy1: PDADC (0,   0): a2a4 716b645e
[    9.706482] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[    9.706488] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[    9.706497] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[    9.706503] ath: phy1: PDADC (0,   0): a2ac 2a262294
[    9.706512] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[    9.706518] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[    9.706527] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[    9.706533] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[    9.706542] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[    9.706548] ath: phy1: PDADC (0,   0): a2b8 66605a54
[    9.706557] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[    9.706565] ath: phy1: PDADC (0,   0): a2bc 847d756d
[    9.706573] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[    9.706580] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[    9.706588] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[    9.706595] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[    9.706603] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[    9.706610] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[    9.706631] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[    9.706637] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[    9.706646] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[    9.706652] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[    9.706661] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[    9.706667] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[    9.706676] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[    9.706682] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[    9.706691] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[    9.706698] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[    9.706707] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[    9.706713] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[    9.706722] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[    9.706728] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[    9.706737] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[    9.706743] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[    9.706752] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[    9.706758] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[    9.706767] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[    9.706773] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[    9.706782] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[    9.706789] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[    9.706797] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[    9.706804] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[    9.706813] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[    9.706820] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[    9.706828] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[    9.712311] ATH: ath9k_htc_opmode_init
[    9.714307] ATH: ath9k_htc_calcrxfilter
[    9.714319] ATH:ath9k_hw_setrxfilter
[    9.718328] ath: phy1: Enable MIB counters
[    9.721842] ath: phy1: Restore history: opmode 2 chan 2312 Mhz is_scanning=0 ofdm:3 cck:2
[    9.721863] ath: phy1: **** ofdmlevel 3=>3, rssi=0[lo=7 hi=40]
[    9.721873] ath: phy1: **** ccklevel 2=>2, rssi=0[lo=7 hi=40]
[    9.721883] ATH: ath9k_ani_restart function
[    9.721893] ATH: ath9k_ani_restart function after if (!ah->curchan)
[    9.729442] ath: phy1: Added a station entry for VIF 0 (idx: 0)
[    9.735330] ath: phy1: Attach a VIF of type: 2 at idx: 0
[    9.735348] ath: phy1: ah->misc_mode 0x4
[    9.744360] ATH: ath9k_htc_conf_tx function
[    9.744391] ath: phy1: Configure tx [queue/hwq] [0/3],  aifs: 2, cw_min: 15, cw_max: 1023, txop: 0
[    9.744397] ATH: ath9k_hw_set_txq_props
[    9.744403] ath: phy1: Set queue properties for: 3
[    9.744411] ath: phy1: Reset TX queue: 3
[    9.745335] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.746345] ATH: ath9k_htc_conf_tx function
[    9.746378] ath: phy1: Configure tx [queue/hwq] [1/2],  aifs: 2, cw_min: 15, cw_max: 1023, txop: 0
[    9.746389] ATH: ath9k_hw_set_txq_props
[    9.746401] ath: phy1: Set queue properties for: 2
[    9.746412] ath: phy1: Reset TX queue: 2
[    9.747344] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.748354] ATH: ath9k_htc_conf_tx function
[    9.748377] ath: phy1: Configure tx [queue/hwq] [2/1],  aifs: 2, cw_min: 15, cw_max: 1023, txop: 0
[    9.748384] ATH: ath9k_hw_set_txq_props
[    9.748390] ath: phy1: Set queue properties for: 1
[    9.748397] ath: phy1: Reset TX queue: 1
[    9.749350] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.750338] ATH: ath9k_htc_conf_tx function
[    9.750357] ath: phy1: Configure tx [queue/hwq] [3/0],  aifs: 2, cw_min: 15, cw_max: 1023, txop: 0
[    9.750363] ATH: ath9k_hw_set_txq_props
[    9.750369] ath: phy1: Set queue properties for: 0
[    9.750376] ath: phy1: Reset TX queue: 0
[    9.751329] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.752326] ath: phy1: Set channel: 2312 MHz
[    9.755327] ath: phy1: (2312 MHz) -> (2312 MHz), HT: 0, HT40: 0 fastcc: 0
[    9.758336] ath: phy1: NF calibrated [ctl] [chain 0] is -115
[    9.758350] ath: phy1: NF[0] (-115) > MAX (-116), correcting to MAX
[    9.806347] ath: phy1: PDADC (0,   0): a280 04030201
[    9.806363] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[    9.806370] ath: phy1: PDADC (0,   0): a284 08070605
[    9.806378] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[    9.806385] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[    9.806393] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[    9.806400] ath: phy1: PDADC (0,   0): a28c 1311100e
[    9.806409] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[    9.806415] ath: phy1: PDADC (0,   0): a290 18171614
[    9.806434] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[    9.806442] ath: phy1: PDADC (0,   0): a294 23201c1a
[    9.806450] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[    9.806458] ath: phy1: PDADC (0,   0): a298 302d2a26
[    9.806466] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[    9.806472] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[    9.806481] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[    9.806487] ath: phy1: PDADC (0,   0): a2a0 57514a44
[    9.806496] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[    9.806502] ath: phy1: PDADC (0,   0): a2a4 716b645e
[    9.806511] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[    9.806518] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[    9.806526] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[    9.806533] ath: phy1: PDADC (0,   0): a2ac 2a262294
[    9.806541] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[    9.806555] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[    9.806564] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[    9.806570] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[    9.806579] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[    9.806585] ath: phy1: PDADC (0,   0): a2b8 66605a54
[    9.806593] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[    9.806600] ath: phy1: PDADC (0,   0): a2bc 847d756d
[    9.806609] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[    9.806630] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[    9.806639] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[    9.806646] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[    9.806655] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[    9.806661] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[    9.806670] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[    9.806685] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[    9.806693] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[    9.806700] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[    9.806708] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[    9.806715] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[    9.806724] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[    9.806731] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[    9.806739] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[    9.806746] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[    9.806754] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[    9.806761] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[    9.806770] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[    9.806776] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[    9.806785] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[    9.806791] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[    9.806808] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[    9.806814] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[    9.806823] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[    9.806830] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[    9.806838] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[    9.806845] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[    9.806853] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[    9.806860] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[    9.806868] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[    9.806876] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[    9.806884] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[    9.834464] ath: phy1: Reset TX queue: 0
[    9.835326] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.836326] ath: phy1: Reset TX queue: 1
[    9.837332] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.838340] ath: phy1: Reset TX queue: 2
[    9.839335] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.840335] ath: phy1: Reset TX queue: 3
[    9.841332] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.842330] ath: phy1: Reset TXQ, inactive queue: 4
[    9.842337] ath: phy1: Reset TXQ, inactive queue: 5
[    9.842343] ath: phy1: Reset TXQ, inactive queue: 6
[    9.842348] ath: phy1: Reset TXQ, inactive queue: 7
[    9.842354] ath: phy1: Reset TX queue: 8
[    9.846347] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.847330] ath: phy1: Reset TX queue: 9
[    9.850384] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[    9.852381] ath: phy1: ver 320.1 opmode 2 chan 2312 Mhz
[    9.860464] ath: phy1: ah->misc_mode 0x4
[    9.926352] ath: phy1: enabling ADC Gain Calibration
[    9.926369] ath: phy1: enabling ADC DC Calibration
[    9.926374] ath: phy1: enabling IQ Calibration
[    9.928341] ath: phy1: starting ADC Gain Calibration
[    9.933339] ATH: ath9k_htc_opmode_init
[    9.935332] ATH: ath9k_htc_calcrxfilter
[    9.935342] ATH:ath9k_hw_setrxfilter
[    9.939339] ath: phy1: Enable MIB counters
[    9.941347] ath: phy1: Restore history: opmode 2 chan 2312 Mhz is_scanning=0 ofdm:3 cck:2
[    9.941358] ath: phy1: **** ofdmlevel 3=>3, rssi=0[lo=7 hi=40]
[    9.941366] ath: phy1: **** ccklevel 2=>2, rssi=0[lo=7 hi=40]
[    9.941371] ATH: ath9k_ani_restart function
[    9.941375] ATH: ath9k_ani_restart function after if (!ah->curchan)
[    9.947359] ath: phy1: PDADC (0,   0): a280 04030201
[    9.947375] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[    9.947382] ath: phy1: PDADC (0,   0): a284 08070605
[    9.947391] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[    9.947398] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[    9.947406] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[    9.947413] ath: phy1: PDADC (0,   0): a28c 1311100e
[    9.947421] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[    9.947428] ath: phy1: PDADC (0,   0): a290 18171614
[    9.947436] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[    9.947443] ath: phy1: PDADC (0,   0): a294 23201c1a
[    9.947451] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[    9.947458] ath: phy1: PDADC (0,   0): a298 302d2a26
[    9.947466] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[    9.947473] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[    9.947481] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[    9.947487] ath: phy1: PDADC (0,   0): a2a0 57514a44
[    9.947496] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[    9.947502] ath: phy1: PDADC (0,   0): a2a4 716b645e
[    9.947511] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[    9.947517] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[    9.947526] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[    9.947533] ath: phy1: PDADC (0,   0): a2ac 2a262294
[    9.947541] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[    9.947548] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[    9.947556] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[    9.947563] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[    9.947571] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[    9.947578] ath: phy1: PDADC (0,   0): a2b8 66605a54
[    9.947586] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[    9.947593] ath: phy1: PDADC (0,   0): a2bc 847d756d
[    9.947601] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[    9.947608] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[    9.947637] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[    9.947644] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[    9.947653] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[    9.947660] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[    9.947668] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[    9.947675] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[    9.947683] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[    9.947690] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[    9.947698] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[    9.947705] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[    9.947713] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[    9.947720] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[    9.947728] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[    9.947735] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[    9.947744] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[    9.947750] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[    9.947759] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[    9.947765] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[    9.947774] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[    9.947780] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[    9.947789] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[    9.947795] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[    9.947804] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[    9.947810] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[    9.947819] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[    9.947825] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[    9.947834] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[    9.947840] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[    9.947849] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[    9.947856] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[    9.947865] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[    9.954344] ath: phy1: AWAKE -> FULL-SLEEP
[    9.958789] ATH: ath9k_htc_configure_filter
[    9.958815] ath: phy1: FULL-SLEEP -> AWAKE
[    9.963339] ATH: ath9k_htc_calcrxfilter
[    9.963354] ATH:ath9k_hw_setrxfilter
[    9.965349] ath: phy1: Set HW RX filter: 0x217
[    9.970344] ath: phy1: AWAKE -> FULL-SLEEP
[   10.168380] ath: phy1: Set bitrate masks: 0x80, 0x0
[   10.376938] ATH: ath9k_htc_configure_filter
[   10.376955] ath: phy1: FULL-SLEEP -> AWAKE
[   10.381394] ATH: ath9k_htc_calcrxfilter
[   10.381403] ATH:ath9k_hw_setrxfilter
[   10.383408] ath: phy1: Set HW RX filter: 0x217
[   10.388402] ath: phy1: AWAKE -> FULL-SLEEP
[   10.391404] ath: phy1: FULL-SLEEP -> AWAKE
[   10.399185] ath: phy1: Removed a station entry for VIF 0 (idx: 0)
[   10.404407] ath: phy1: Detach Interface at idx: 0
[   10.409401] ath: phy1: AWAKE -> FULL-SLEEP
[   10.413415] ath: phy1: FULL-SLEEP -> AWAKE
[   10.443409] ath: phy1: AWAKE -> FULL-SLEEP
[   10.446404] ath: phy1: Driver halt
[   10.865711] ath: phy1: Starting driver with initial channel: 2312 MHz
[   10.865725] ath: phy1: FULL-SLEEP -> AWAKE
[   10.917481] ath: phy1: PDADC (0,   0): a280 04030201
[   10.917496] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[   10.917504] ath: phy1: PDADC (0,   0): a284 08070605
[   10.917512] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[   10.917519] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[   10.917527] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[   10.917534] ath: phy1: PDADC (0,   0): a28c 1311100e
[   10.917542] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[   10.917549] ath: phy1: PDADC (0,   0): a290 18171614
[   10.917557] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[   10.917564] ath: phy1: PDADC (0,   0): a294 23201c1a
[   10.917572] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[   10.917579] ath: phy1: PDADC (0,   0): a298 302d2a26
[   10.917587] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[   10.917594] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[   10.917602] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[   10.917609] ath: phy1: PDADC (0,   0): a2a0 57514a44
[   10.917626] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[   10.917633] ath: phy1: PDADC (0,   0): a2a4 716b645e
[   10.917643] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[   10.917649] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[   10.917658] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[   10.917664] ath: phy1: PDADC (0,   0): a2ac 2a262294
[   10.917673] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[   10.917680] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[   10.917688] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[   10.917695] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[   10.917703] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[   10.917710] ath: phy1: PDADC (0,   0): a2b8 66605a54
[   10.917718] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[   10.917725] ath: phy1: PDADC (0,   0): a2bc 847d756d
[   10.917733] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[   10.917740] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[   10.917748] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[   10.917755] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[   10.917763] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[   10.917770] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[   10.917779] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[   10.917785] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[   10.917794] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[   10.917801] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[   10.917809] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[   10.917816] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[   10.917824] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[   10.917831] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[   10.917839] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[   10.917846] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[   10.917855] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[   10.917861] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[   10.917870] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[   10.917876] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[   10.917885] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[   10.917892] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[   10.917900] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[   10.917907] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[   10.917915] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[   10.917922] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[   10.917931] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[   10.917937] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[   10.917946] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[   10.917952] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[   10.917961] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[   10.917968] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[   10.917976] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[   10.945597] ath: phy1: Reset TX queue: 0
[   10.946468] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.947465] ath: phy1: Reset TX queue: 1
[   10.948466] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.949466] ath: phy1: Reset TX queue: 2
[   10.950467] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.951465] ath: phy1: Reset TX queue: 3
[   10.952466] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.953465] ath: phy1: Reset TXQ, inactive queue: 4
[   10.953471] ath: phy1: Reset TXQ, inactive queue: 5
[   10.953476] ath: phy1: Reset TXQ, inactive queue: 6
[   10.953482] ath: phy1: Reset TXQ, inactive queue: 7
[   10.953487] ath: phy1: Reset TX queue: 8
[   10.957468] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.958468] ath: phy1: Reset TX queue: 9
[   10.961468] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   10.963469] ath: phy1: ver 320.1 opmode 2 chan 2312 Mhz
[   10.971593] ath: phy1: ah->misc_mode 0x4
[   11.038521] ath: phy1: enabling ADC Gain Calibration
[   11.038535] ath: phy1: enabling ADC DC Calibration
[   11.038540] ath: phy1: enabling IQ Calibration
[   11.040482] ath: phy1: starting ADC Gain Calibration
[   11.047482] ATH: ath9k_htc_opmode_init
[   11.049481] ATH: ath9k_htc_calcrxfilter
[   11.049486] ATH:ath9k_hw_setrxfilter
[   11.053503] ath: phy1: Enable MIB counters
[   11.055506] ath: phy1: Restore history: opmode 2 chan 2312 Mhz is_scanning=0 ofdm:3 cck:2
[   11.055520] ath: phy1: **** ofdmlevel 3=>3, rssi=0[lo=7 hi=40]
[   11.055529] ath: phy1: **** ccklevel 2=>2, rssi=0[lo=7 hi=40]
[   11.055533] ATH: ath9k_ani_restart function
[   11.055537] ATH: ath9k_ani_restart function after if (!ah->curchan)
[   11.059507] ATH: ath9k_htc_configure_filter
[   11.061487] ATH: ath9k_htc_calcrxfilter
[   11.061492] ATH:ath9k_hw_setrxfilter
[   11.063490] ath: phy1: Set HW RX filter: 0x17
[   11.068488] ath: phy1: AWAKE -> FULL-SLEEP
[   11.071504] ath: phy1: FULL-SLEEP -> AWAKE
[   11.077631] ath: phy1: Attached a monitor interface at idx: 0, sta idx: 0
[   11.077638] ath: phy1: Set channel: 2312 MHz
[   11.080493] ath: phy1: (2312 MHz) -> (2312 MHz), HT: 0, HT40: 0 fastcc: 0
[   11.126521] ath: phy1: PDADC (0,   0): a280 04030201
[   11.126537] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[   11.126544] ath: phy1: PDADC (0,   0): a284 08070605
[   11.126552] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[   11.126559] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[   11.126567] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[   11.126574] ath: phy1: PDADC (0,   0): a28c 1311100e
[   11.126583] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[   11.126590] ath: phy1: PDADC (0,   0): a290 18171614
[   11.126608] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[   11.126627] ath: phy1: PDADC (0,   0): a294 23201c1a
[   11.126636] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  35 |
[   11.126643] ath: phy1: PDADC (0,   0): a298 302d2a26
[   11.126651] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  38 | PDADC  25 Value  42 | PDADC  26 Value  45 | PDADC  27 Value  48 |
[   11.126658] ath: phy1: PDADC (0,   0): a29c 3e3a3734
[   11.126666] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  52 | PDADC  29 Value  55 | PDADC  30 Value  58 | PDADC  31 Value  62 |
[   11.126673] ath: phy1: PDADC (0,   0): a2a0 57514a44
[   11.126681] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  68 | PDADC  33 Value  74 | PDADC  34 Value  81 | PDADC  35 Value  87 |
[   11.126688] ath: phy1: PDADC (0,   0): a2a4 716b645e
[   11.126697] ath: phy1: PDADC: Chain 0 | PDADC  36 Value  94 | PDADC  37 Value 100 | PDADC  38 Value 107 | PDADC  39 Value 113 |
[   11.126704] ath: phy1: PDADC (0,   0): a2a8 8d867f78
[   11.126712] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 120 | PDADC  41 Value 127 | PDADC  42 Value 134 | PDADC  43 Value 141 |
[   11.126719] ath: phy1: PDADC (0,   0): a2ac 2a262294
[   11.126736] ath: phy1: PDADC: Chain 0 | PDADC  44 Value 148 | PDADC  45 Value  34 | PDADC  46 Value  38 | PDADC  47 Value  42 |
[   11.126743] ath: phy1: PDADC (0,   0): a2b0 3a36322e
[   11.126751] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  46 | PDADC  49 Value  50 | PDADC  50 Value  54 | PDADC  51 Value  58 |
[   11.126758] ath: phy1: PDADC (0,   0): a2b4 4e48423e
[   11.126766] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  62 | PDADC  53 Value  66 | PDADC  54 Value  72 | PDADC  55 Value  78 |
[   11.126773] ath: phy1: PDADC (0,   0): a2b8 66605a54
[   11.126781] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  84 | PDADC  57 Value  90 | PDADC  58 Value  96 | PDADC  59 Value 102 |
[   11.126788] ath: phy1: PDADC (0,   0): a2bc 847d756d
[   11.126797] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 109 | PDADC  61 Value 117 | PDADC  62 Value 125 | PDADC  63 Value 132 |
[   11.126803] ath: phy1: PDADC (0,   0): a2c0 a59c948c
[   11.126812] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 140 | PDADC  65 Value 148 | PDADC  66 Value 156 | PDADC  67 Value 165 |
[   11.126818] ath: phy1: PDADC (0,   0): a2c4 c9c0b7ae
[   11.126828] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 174 | PDADC  69 Value 183 | PDADC  70 Value 192 | PDADC  71 Value 201 |
[   11.126834] ath: phy1: PDADC (0,   0): a2c8 dbdbdbd2
[   11.126843] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 210 | PDADC  73 Value 219 | PDADC  74 Value 219 | PDADC  75 Value 219 |
[   11.126859] ath: phy1: PDADC (0,   0): a2cc dbdbdbdb
[   11.126868] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 219 | PDADC  77 Value 219 | PDADC  78 Value 219 | PDADC  79 Value 219 |
[   11.126875] ath: phy1: PDADC (0,   0): a2d0 dbdbdbdb
[   11.126883] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 219 | PDADC  81 Value 219 | PDADC  82 Value 219 | PDADC  83 Value 219 |
[   11.126890] ath: phy1: PDADC (0,   0): a2d4 dbdbdbdb
[   11.126898] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 219 | PDADC  85 Value 219 | PDADC  86 Value 219 | PDADC  87 Value 219 |
[   11.126905] ath: phy1: PDADC (0,   0): a2d8 dbdbdbdb
[   11.126914] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 219 | PDADC  89 Value 219 | PDADC  90 Value 219 | PDADC  91 Value 219 |
[   11.126920] ath: phy1: PDADC (0,   0): a2dc dbdbdbdb
[   11.126929] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 219 | PDADC  93 Value 219 | PDADC  94 Value 219 | PDADC  95 Value 219 |
[   11.126935] ath: phy1: PDADC (0,   0): a2e0 dbdbdbdb
[   11.126944] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 219 | PDADC  97 Value 219 | PDADC  98 Value 219 | PDADC  99 Value 219 |
[   11.126950] ath: phy1: PDADC (0,   0): a2e4 dbdbdbdb
[   11.126959] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 219 | PDADC 101 Value 219 | PDADC 102 Value 219 | PDADC 103 Value 219 |
[   11.126965] ath: phy1: PDADC (0,   0): a2e8 dbdbdbdb
[   11.126981] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 219 | PDADC 105 Value 219 | PDADC 106 Value 219 | PDADC 107 Value 219 |
[   11.126988] ath: phy1: PDADC (0,   0): a2ec dbdbdbdb
[   11.126997] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 219 | PDADC 109 Value 219 | PDADC 110 Value 219 | PDADC 111 Value 219 |
[   11.127003] ath: phy1: PDADC (0,   0): a2f0 dbdbdbdb
[   11.127012] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 219 | PDADC 113 Value 219 | PDADC 114 Value 219 | PDADC 115 Value 219 |
[   11.127018] ath: phy1: PDADC (0,   0): a2f4 dbdbdbdb
[   11.127027] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 219 | PDADC 117 Value 219 | PDADC 118 Value 219 | PDADC 119 Value 219 |
[   11.127033] ath: phy1: PDADC (0,   0): a2f8 dbdbdbdb
[   11.127042] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 219 | PDADC 121 Value 219 | PDADC 122 Value 219 | PDADC 123 Value 219 |
[   11.127048] ath: phy1: PDADC (0,   0): a2fc dbdbdbdb
[   11.127057] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 219 | PDADC 125 Value 219 | PDADC 126 Value 219 | PDADC 127 Value 219 |
[   11.155663] ath: phy1: Reset TX queue: 0
[   11.156522] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.157502] ath: phy1: Reset TX queue: 1
[   11.158543] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.159506] ath: phy1: Reset TX queue: 2
[   11.160535] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.161518] ath: phy1: Reset TX queue: 3
[   11.162528] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.163529] ath: phy1: Reset TXQ, inactive queue: 4
[   11.163540] ath: phy1: Reset TXQ, inactive queue: 5
[   11.163546] ath: phy1: Reset TXQ, inactive queue: 6
[   11.163551] ath: phy1: Reset TXQ, inactive queue: 7
[   11.163556] ath: phy1: Reset TX queue: 8
[   11.167505] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.168500] ath: phy1: Reset TX queue: 9
[   11.171501] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.173503] ath: phy1: ver 320.1 opmode 6 chan 2312 Mhz
[   11.181683] ath: phy1: ah->misc_mode 0x4
[   11.245512] ath: phy1: enabling ADC Gain Calibration
[   11.245520] ath: phy1: enabling ADC DC Calibration
[   11.245525] ath: phy1: enabling IQ Calibration
[   11.247509] ath: phy1: starting ADC Gain Calibration
[   11.252507] ATH: ath9k_htc_opmode_init
[   11.254508] ATH: ath9k_htc_calcrxfilter
[   11.254514] ATH:ath9k_hw_setrxfilter
[   11.260061] ath: phy1: Enable MIB counters
[   11.262751] ath: phy1: **** ofdmlevel 3=>3, rssi=0[lo=7 hi=40]
[   11.262775] ath: phy1: **** ccklevel 2=>2, rssi=0[lo=7 hi=40]
[   11.262786] ATH: ath9k_ani_restart function
[   11.262793] ATH: ath9k_ani_restart function after if (!ah->curchan)
[   11.266548] ATH: ath9k_htc_configure_filter
[   11.268532] ATH: ath9k_htc_calcrxfilter
[   11.268544] ATH:ath9k_hw_setrxfilter
[   11.270539] ath: phy1: Set HW RX filter: 0x37
[   11.475462] ath: phy1: Set channel: 2484 MHz
[   11.488419] ath: phy1: (2312 MHz) -> (2484 MHz), HT: 0, HT40: 0 fastcc: 0
[   11.490539] ath: phy1: NF calibrated [ctl] [chain 0] is -115
[   11.490547] ath: phy1: NF[0] (-115) > MAX (-116), correcting to MAX
[   11.538601] ath: phy1: PDADC (0,   0): a280 04030201
[   11.538678] ath: phy1: PDADC: Chain 0 | PDADC   0 Value   1 | PDADC   1 Value   2 | PDADC   2 Value   3 | PDADC   3 Value   4 |
[   11.538689] ath: phy1: PDADC (0,   0): a284 08070605
[   11.538698] ath: phy1: PDADC: Chain 0 | PDADC   4 Value   5 | PDADC   5 Value   6 | PDADC   6 Value   7 | PDADC   7 Value   8 |
[   11.538704] ath: phy1: PDADC (0,   0): a288 0d0c0a09
[   11.538723] ath: phy1: PDADC: Chain 0 | PDADC   8 Value   9 | PDADC   9 Value  10 | PDADC  10 Value  12 | PDADC  11 Value  13 |
[   11.538733] ath: phy1: PDADC (0,   0): a28c 1311100e
[   11.538742] ath: phy1: PDADC: Chain 0 | PDADC  12 Value  14 | PDADC  13 Value  16 | PDADC  14 Value  17 | PDADC  15 Value  19 |
[   11.538755] ath: phy1: PDADC (0,   0): a290 18171614
[   11.538766] ath: phy1: PDADC: Chain 0 | PDADC  16 Value  20 | PDADC  17 Value  22 | PDADC  18 Value  23 | PDADC  19 Value  24 |
[   11.538773] ath: phy1: PDADC (0,   0): a294 24201c1a
[   11.538793] ath: phy1: PDADC: Chain 0 | PDADC  20 Value  26 | PDADC  21 Value  28 | PDADC  22 Value  32 | PDADC  23 Value  36 |
[   11.538800] ath: phy1: PDADC (0,   0): a298 322e2b27
[   11.538810] ath: phy1: PDADC: Chain 0 | PDADC  24 Value  39 | PDADC  25 Value  43 | PDADC  26 Value  46 | PDADC  27 Value  50 |
[   11.538819] ath: phy1: PDADC (0,   0): a29c 413d3936
[   11.538829] ath: phy1: PDADC: Chain 0 | PDADC  28 Value  54 | PDADC  29 Value  57 | PDADC  30 Value  61 | PDADC  31 Value  65 |
[   11.538835] ath: phy1: PDADC (0,   0): a2a0 5d564f48
[   11.538844] ath: phy1: PDADC: Chain 0 | PDADC  32 Value  72 | PDADC  33 Value  79 | PDADC  34 Value  86 | PDADC  35 Value  93 |
[   11.538850] ath: phy1: PDADC (0,   0): a2a4 79726b64
[   11.538860] ath: phy1: PDADC: Chain 0 | PDADC  36 Value 100 | PDADC  37 Value 107 | PDADC  38 Value 114 | PDADC  39 Value 121 |
[   11.538869] ath: phy1: PDADC (0,   0): a2a8 958e8780
[   11.538878] ath: phy1: PDADC: Chain 0 | PDADC  40 Value 128 | PDADC  41 Value 135 | PDADC  42 Value 142 | PDADC  43 Value 149 |
[   11.538888] ath: phy1: PDADC (0,   0): a2ac 312d2925
[   11.538898] ath: phy1: PDADC: Chain 0 | PDADC  44 Value  37 | PDADC  45 Value  41 | PDADC  46 Value  45 | PDADC  47 Value  49 |
[   11.538933] ath: phy1: PDADC (0,   0): a2b0 413d3935
[   11.538958] ath: phy1: PDADC: Chain 0 | PDADC  48 Value  53 | PDADC  49 Value  57 | PDADC  50 Value  61 | PDADC  51 Value  65 |
[   11.538969] ath: phy1: PDADC (0,   0): a2b4 56504a45
[   11.538978] ath: phy1: PDADC: Chain 0 | PDADC  52 Value  69 | PDADC  53 Value  74 | PDADC  54 Value  80 | PDADC  55 Value  86 |
[   11.538984] ath: phy1: PDADC (0,   0): a2b8 6e68625c
[   11.538993] ath: phy1: PDADC: Chain 0 | PDADC  56 Value  92 | PDADC  57 Value  98 | PDADC  58 Value 104 | PDADC  59 Value 110 |
[   11.539000] ath: phy1: PDADC (0,   0): a2bc 968c8278
[   11.539009] ath: phy1: PDADC: Chain 0 | PDADC  60 Value 120 | PDADC  61 Value 130 | PDADC  62 Value 140 | PDADC  63 Value 150 |
[   11.539015] ath: phy1: PDADC (0,   0): a2c0 beb4aaa0
[   11.539024] ath: phy1: PDADC: Chain 0 | PDADC  64 Value 160 | PDADC  65 Value 170 | PDADC  66 Value 180 | PDADC  67 Value 190 |
[   11.539044] ath: phy1: PDADC (0,   0): a2c4 e6dcd2c8
[   11.539053] ath: phy1: PDADC: Chain 0 | PDADC  68 Value 200 | PDADC  69 Value 210 | PDADC  70 Value 220 | PDADC  71 Value 230 |
[   11.539060] ath: phy1: PDADC (0,   0): a2c8 e6e6e6e6
[   11.539069] ath: phy1: PDADC: Chain 0 | PDADC  72 Value 230 | PDADC  73 Value 230 | PDADC  74 Value 230 | PDADC  75 Value 230 |
[   11.539075] ath: phy1: PDADC (0,   0): a2cc e6e6e6e6
[   11.539084] ath: phy1: PDADC: Chain 0 | PDADC  76 Value 230 | PDADC  77 Value 230 | PDADC  78 Value 230 | PDADC  79 Value 230 |
[   11.539091] ath: phy1: PDADC (0,   0): a2d0 e6e6e6e6
[   11.539099] ath: phy1: PDADC: Chain 0 | PDADC  80 Value 230 | PDADC  81 Value 230 | PDADC  82 Value 230 | PDADC  83 Value 230 |
[   11.539106] ath: phy1: PDADC (0,   0): a2d4 e6e6e6e6
[   11.539114] ath: phy1: PDADC: Chain 0 | PDADC  84 Value 230 | PDADC  85 Value 230 | PDADC  86 Value 230 | PDADC  87 Value 230 |
[   11.539121] ath: phy1: PDADC (0,   0): a2d8 e6e6e6e6
[   11.539130] ath: phy1: PDADC: Chain 0 | PDADC  88 Value 230 | PDADC  89 Value 230 | PDADC  90 Value 230 | PDADC  91 Value 230 |
[   11.539137] ath: phy1: PDADC (0,   0): a2dc e6e6e6e6
[   11.539145] ath: phy1: PDADC: Chain 0 | PDADC  92 Value 230 | PDADC  93 Value 230 | PDADC  94 Value 230 | PDADC  95 Value 230 |
[   11.539170] ath: phy1: PDADC (0,   0): a2e0 e6e6e6e6
[   11.539179] ath: phy1: PDADC: Chain 0 | PDADC  96 Value 230 | PDADC  97 Value 230 | PDADC  98 Value 230 | PDADC  99 Value 230 |
[   11.539185] ath: phy1: PDADC (0,   0): a2e4 e6e6e6e6
[   11.539194] ath: phy1: PDADC: Chain 0 | PDADC 100 Value 230 | PDADC 101 Value 230 | PDADC 102 Value 230 | PDADC 103 Value 230 |
[   11.539201] ath: phy1: PDADC (0,   0): a2e8 e6e6e6e6
[   11.539209] ath: phy1: PDADC: Chain 0 | PDADC 104 Value 230 | PDADC 105 Value 230 | PDADC 106 Value 230 | PDADC 107 Value 230 |
[   11.539217] ath: phy1: PDADC (0,   0): a2ec e6e6e6e6
[   11.539225] ath: phy1: PDADC: Chain 0 | PDADC 108 Value 230 | PDADC 109 Value 230 | PDADC 110 Value 230 | PDADC 111 Value 230 |
[   11.539236] ath: phy1: PDADC (0,   0): a2f0 e6e6e6e6
[   11.539266] ath: phy1: PDADC: Chain 0 | PDADC 112 Value 230 | PDADC 113 Value 230 | PDADC 114 Value 230 | PDADC 115 Value 230 |
[   11.539301] ath: phy1: PDADC (0,   0): a2f4 e6e6e6e6
[   11.539319] ath: phy1: PDADC: Chain 0 | PDADC 116 Value 230 | PDADC 117 Value 230 | PDADC 118 Value 230 | PDADC 119 Value 230 |
[   11.539339] ath: phy1: PDADC (0,   0): a2f8 e6e6e6e6
[   11.539355] ath: phy1: PDADC: Chain 0 | PDADC 120 Value 230 | PDADC 121 Value 230 | PDADC 122 Value 230 | PDADC 123 Value 230 |
[   11.539373] ath: phy1: PDADC (0,   0): a2fc e6e6e6e6
[   11.539397] ath: phy1: PDADC: Chain 0 | PDADC 124 Value 230 | PDADC 125 Value 230 | PDADC 126 Value 230 | PDADC 127 Value 230 |
[   11.566688] ath: phy1: Reset TX queue: 0
[   11.567555] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.568552] ath: phy1: Reset TX queue: 1
[   11.569554] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.570552] ath: phy1: Reset TX queue: 2
[   11.571554] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.572552] ath: phy1: Reset TX queue: 3
[   11.573556] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.574554] ath: phy1: Reset TXQ, inactive queue: 4
[   11.574560] ath: phy1: Reset TXQ, inactive queue: 5
[   11.574565] ath: phy1: Reset TXQ, inactive queue: 6
[   11.574570] ath: phy1: Reset TXQ, inactive queue: 7
[   11.574575] ath: phy1: Reset TX queue: 8
[   11.578554] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.579554] ath: phy1: Reset TX queue: 9
[   11.582556] ath: phy1: tx ok 0x0 err 0x0 desc 0x10f eol 0x10f urn 0x0
[   11.584555] ath: phy1: ver 320.1 opmode 6 chan 2484 Mhz
[   11.592681] ath: phy1: ah->misc_mode 0x4
[   11.656582] ath: phy1: enabling ADC Gain Calibration
[   11.656595] ath: phy1: enabling ADC DC Calibration
[   11.656600] ath: phy1: enabling IQ Calibration
[   11.658584] ath: phy1: starting ADC Gain Calibration
[   11.663579] ATH: ath9k_htc_opmode_init
[   11.665585] ATH: ath9k_htc_calcrxfilter
[   11.665596] ATH:ath9k_hw_setrxfilter
[   11.669567] ath: phy1: Enable MIB counters
[   11.671565] ath: phy1: **** ofdmlevel 3=>3, rssi=0[lo=7 hi=40]
[   11.671574] ath: phy1: **** ccklevel 2=>2, rssi=0[lo=7 hi=40]
[   11.671579] ATH: ath9k_ani_restart function
[   11.671584] ATH: ath9k_ani_restart function after if (!ah->curchan)

@melyux
Copy link
Author

melyux commented Feb 26, 2017

That's strange, I wasn't even getting these messages when I had 0xffffffff set. I have the kernel compiled for debugging ath9k_htc and set the bit and everything.

@rodizio1
Copy link

I have these wireless related debugging settings in the kernel .config file:

CONFIG_CFG80211_DEBUGFS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_ATH_DEBUG=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_HTC_DEBUGFS=y

@melyux
Copy link
Author

melyux commented Feb 26, 2017

Thanks, turns out I neglected to enable CONFIG_ATH_DEBUG the first time around. Now I got it recompiled, and I can also report that it's not doing any periodic calibrations. Here's the output for one of the cards when I manually switched the from channel 1 to channel 2 after it stalled on channel 1:

[ 2909.583318] ath: phy0: NF calibrated [ctl] [chain 0] is -112
[ 2909.583333] ath: phy0: NF[0] (-112) > MAX (-116), correcting to MAX
[ 2909.583340] ath: phy0: NF calibrated [ext] [chain 0] is -110
[ 2909.583382] ath: phy0: NF[3] (-110) > MAX (-116), correcting to MAX
[ 2909.752322] ath: phy0: enabling ADC Gain Calibration
[ 2909.752335] ath: phy0: enabling ADC DC Calibration
[ 2909.752340] ath: phy0: enabling IQ Calibration
[ 2909.754301] ath: phy0: starting ADC Gain Calibration

Here it is for the other card after it similarly froze and I manually changed the channel to 2:

[ 2963.387943] ath: phy1: NF calibrated [ctl] [chain 0] is -107
[ 2963.387965] ath: phy1: NF[0] (-107) > MAX (-116), correcting to MAX
[ 2963.387974] ath: phy1: NF calibrated [ext] [chain 0] is -106
[ 2963.387987] ath: phy1: NF[3] (-106) > MAX (-116), correcting to MAX
[ 2963.568711] ath: phy1: enabling ADC Gain Calibration
[ 2963.568724] ath: phy1: enabling ADC DC Calibration
[ 2963.568732] ath: phy1: enabling IQ Calibration
[ 2963.570441] ath: phy1: starting ADC Gain Calibration

And after switching back to channel 1:

[ 2963.791457] ath: phy1: NF calibrated [ctl] [chain 0] is -105
[ 2963.791472] ath: phy1: NF[0] (-105) > MAX (-116), correcting to MAX
[ 2963.791479] ath: phy1: NF calibrated [ext] [chain 0] is -108
[ 2963.791523] ath: phy1: NF[3] (-108) > MAX (-116), correcting to MAX
[ 2963.967462] ath: phy1: enabling ADC Gain Calibration
[ 2963.967474] ath: phy1: enabling ADC DC Calibration
[ 2963.967483] ath: phy1: enabling IQ Calibration
[ 2963.969444] ath: phy1: starting ADC Gain Calibration

There are no new messages in dmesg after it starts stalling, nor when it is performing normally.

@melyux
Copy link
Author

melyux commented Feb 26, 2017

@rodizio1 Here's something to try: I wrote a script to switch through all the channels 1–11 every 10 minutes and return back to channel 1 for another 10 minutes, and found that it begins stalling a lot faster after this. It stops stalling of course when the next channel hopping session begins. My script also gets the packets seen in ifconfig and prints something out if it doesn't change within 3 seconds, so that's how I know it's stalled.

@erikarn
Copy link
Collaborator

erikarn commented Feb 26, 2017 via email

@melyux
Copy link
Author

melyux commented Feb 27, 2017

Sounds good, but why would that deafening process depend on the volume of packets (or some certain type of error packet?) as seems to be the case? Does more traffic accelerate the deafening?

Apart from the conspicuous lack of periodic calibration messages, the only things I've noticed is this message occasionally in dmesg:

[ 5743.651260] ath: phy0: Timeout waiting for WMI command: WMI_REG_RMW_CMDID
[ 5743.651314] ath: phy0: REGISTER RMW FAILED:(0x4048, -110)

and the extreme increase in the frequency of the stalling when channels are switched occasionally. If I run a script to change the channel once every 10 minutes, the cards sometimes begin to stall within minutes or seconds of being set to a channel. For this area, at least.

@olerem
Copy link
Contributor

olerem commented Feb 28, 2017

@melikyuksel , it has nothing to do with number of packages. My adapter was running for some days now, and it is still working. More noise in the air will force the adapter to increase the noise floor level on rx line. The noise is not always at same level, it can have spikes. So if adapter will apply the filter at the level of this spike, then we will get deaf.
The ath9k code has logic for periodic calibration. ath9k-htc don't have it. Some one should make this code common, between ath9k and ath9k-htc.

@melyux
Copy link
Author

melyux commented Mar 2, 2017

@olerem Thanks for the explanation, it makes a lot of sense (although not quite sure why switching channels often triggers a very quick deafening... maybe more noise is introduced during the switching process?). Is there anything one could do to add the calibration to the -htc themselves at the moment?

@olerem
Copy link
Contributor

olerem commented Mar 5, 2017

@melikyuksel , ... "Some one should make this code common, between ath9k and ath9k-htc.", most probably i will not find time to do this. So every one is welcome to contribute ... it is open source.
The patch will look probably like this:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=67dc74f15f147b9f88702de2952d2951e3e000ec

@rodizio1
Copy link

rodizio1 commented Mar 9, 2017

@melikyuksel Those crashes/issues you see while switching channels is a different issue. I also have these problems, something is buggy there, also happens when switching to promiscous mode sometimes.

@olerem/erikarn: How can you guys be sure that it's the missing periodic noise floor calibration that is causing the issue? Why can I reproduce this without any noise-spikes being present, just by receiving a lot of bad-FCS frames? Different issue?

@melyux
Copy link
Author

melyux commented Mar 9, 2017

@rodizio1 True. I ended up writing a script to check for ath9k_htc interfaces, check if they're on monitor mode, and then check the RX packages every 5 seconds. If the packets stop increasing, it just quickly switches the channel and then switches it back. This seems to have "solved" these issues, but now I'm having the issue when multiple ath9k_htc cards don't start that you were having in the other thread. That's a whole another matter in itself... It's a pity we bought so many of these cards.

@erikarn
Copy link
Collaborator

erikarn commented Mar 9, 2017 via email

@melyux
Copy link
Author

melyux commented Mar 12, 2017

@erikarn I would love to try this patch on the Raspberry Pi, but I can't seem to recompile the ath9k module on there without somehow messing up its ability to handle more than 2 AR9271 devices at the same time (seen in the other issue thread). I'll try it later with a fresh install. I will be trying this on Debian however!

EDIT: Managed to get the patch applied to both Debian and Raspbian and get all the cards up, and I'm testing them right now.

@erikarn
Copy link
Collaborator

erikarn commented Mar 12, 2017 via email

@melyux
Copy link
Author

melyux commented Mar 13, 2017

@erikarn I seem to have had the first surrender, where one of the cards stopped after 50 minutes (with channel hopping being done every 10 minutes). But where is that printk message supposed to show up? I checked dmesg and did not see it there, but I modified some of the messages in hif_usb.c at the same time, and I do see those. Those use the dev_info function, apparently:

dev_info(&hif_dev->udev->dev, "ath9k_htc: MODIFIED Transferred FW: %s, size: %ld\n",
                 hif_dev->fw_name, (unsigned long) hif_dev->fw_size);

Just checking in case the patch didn't go through for some reason. I wrote a test module ("hello world!") with printk and that did show up in dmesg, so I don't think the driver's even getting to this line.

@erikarn
Copy link
Collaborator

erikarn commented Mar 13, 2017 via email

@melyux
Copy link
Author

melyux commented Mar 17, 2017

@erikarn This is 4.4.50. It doesn't show up in dmesg, but expected lines from the other files do show up. Just not this one.

@erikarn
Copy link
Collaborator

erikarn commented Mar 17, 2017 via email

@rodizio1
Copy link

I have added the patch now to Raspberry Kernel 4.4.11. It seems the "if (vif->type ..." condition does not match. Commented out the if condition and then I get the "ath9k_htc_add_interface: starting ANI, monitor mode" debug line in dmesg.

@erikarn
Copy link
Collaborator

erikarn commented Mar 20, 2017 via email

@melyux
Copy link
Author

melyux commented Mar 27, 2017

@erikarn Had the chance to test it. The vif->type value prints out as 2, which, if this is where it's getting it from, means NL80211_IFTYPE_STATION instead. But it seems this part of the code only runs when the device is first plugged in (by default in station mode), and not again even when we bring the interface up or later when we put it into monitor mode.

@rodizio1
Copy link

rodizio1 commented Apr 5, 2017

Yes, I can confirm this. dmesg debug log only appears once after plugging the card.

Is this sufficient, i.e. will the chip still do noise floor calibration after it has been "ifconfig upped/downed" and put into monitor mode?

@erikarn
Copy link
Collaborator

erikarn commented Apr 5, 2017 via email

@occam25
Copy link

occam25 commented May 8, 2017

Did you manage to solve this issue? I am having the same problem with COMPEX WLE350NX-7B mPCIe module (AR9580) and kernel 3.2.70. I tried all your suggestions with same results..
By now I solve this issue by detecting that the interface is stalled when I have too many select time-outs when reading the card in C code and then changing to another channel and setting it back to the one I want. It works but it is just a workaround...

@zimiao815
Copy link

zimiao815 commented May 9, 2017

thank you all,I according to your explanation,Modify the code,The original short time is deaf。Can now listen to 10 hours more。
Have the effect !!!
According to the following debug information I should do next????
thank you very mach

device:AR9271USB
`

[321921.310000] ath: phy21: ath9k_htc_ani_work()----------debug for me
[321921.310000] ath: phy21: shortcal @32162131
[321921.310000] ath: phy21: listenTime=22232025 OFDM:1 errs=99/s CCK:5 errs=150/s ofdm_turn=1
[321921.410000] ath: phy21: ath9k_htc_ani_work()
[321921.410000] ath: phy21: listenTime=22232122 OFDM:1 errs=99/s CCK:5 errs=150/s ofdm_turn=1
[321921.510000] ath: phy21: ath9k_htc_ani_work()
[321921.510000] ath: phy21: listenTime=22232219 OFDM:1 errs=99/s CCK:5 errs=150/s ofdm_turn=1
[321921.610000] ath: phy21: ath9k_htc_ani_work()
[321921.610000] ath: phy21: listenTime=22232316 OFDM:1 errs=99/s CCK:5 errs=150/s ofdm_turn=1
[321921.710000] ath: phy21: ath9k_htc_ani_work()
[321921.710000] ath: phy21: listenTime=22232413 OFDM:1 errs=99/s CCK:5 errs=150/s ofdm_turn=1
root@openwrt:~# ifconfig mon21
mon21 Link encap:UNSPEC HWaddr 00-12-7B-20-55-C8-7F-86-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34265001 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8844607858 (8.2 GiB) TX bytes:0 (0.0 B)

root@openwrt:~# ifconfig mon21
mon21 Link encap:UNSPEC HWaddr 00-12-7B-20-55-C8-7F-BA-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34265001 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8844607858 (8.2 GiB) TX bytes:0 (0.0 B)
`

@erikarn
Copy link
Collaborator

erikarn commented May 9, 2017 via email

@zimiao815
Copy link

zimiao815 commented May 9, 2017

/drivers/net/wireless/ath/ath9k/htc_drv_main.c

--- /drivers/net/wireless/ath/ath9k/htc_drv_main.c 2017-05-04 18:40:15.596674578 +0800
+++ /drivers/net/wireless/ath/ath9k/htc_drv_main.c 2017-05-05 19:04:01.286877126 +0800
@@ -421,7 +421,7 @@
priv->nstations++;
priv->vif_sta_pos[priv->mon_vif_idx] = sta_idx;
priv->ah->is_monitoring = true;

  • ath_dbg(common, CONFIG,
    "Attached a monitor interface at idx: %d, sta idx: %d\n",
    priv->mon_vif_idx, sta_idx);
    @@ -760,6 +760,7 @@
    ieee80211_queue_delayed_work(common->hw, &priv->ani_work,
    msecs_to_jiffies(ATH_ANI_POLLINTERVAL));

  • schedule_work(&priv->ani_work);
    ath_dbg(common, ANI, "ath9k_htc_start_ani()\n");

}
@@ -1243,6 +1246,8 @@
ath9k_cmn_update_txpow(priv->ah, priv->curtxpow,
priv->txpowlimit, &priv->curtxpow);
}

  • ath_dbg(common, ANI,"ath_htc: MONITOR is start \n");
  • ath9k_htc_start_ani(priv);

out:
### ath9k_htc_ps_restore(priv);

@zimiao815
Copy link

zimiao815 commented May 9, 2017

@erikarn but a long time will still be in the future is deaf。should do ?
I will not use GitHub,patch format is not correct point is +
Please let me know if you need more dmesg information

[ 3140.990000] ath: phy4: shortcal @284099
[ 3140.990000] ath: phy4: listenTime=97 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=1
[ 3140.990000] ath: phy4: Calibration @284099 finished: ani, caldone: 0
[ 3140.990000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.090000] ath: phy4: listenTime=194 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=1
[ 3141.090000] ath: phy4: Calibration @284109 finished: ani, caldone: 0
[ 3141.090000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.190000] ath: phy4: listenTime=291 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=1
[ 3141.190000] ath: phy4: Calibration @284119 finished: ani, caldone: 0
[ 3141.190000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.290000] ath: phy4: listenTime=388 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=1
[ 3141.290000] ath: phy4: Calibration @284129 finished: ani, caldone: 0
[ 3141.290000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.390000] ath: phy4: listenTime=97 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=0
[ 3141.390000] ath: phy4: Calibration @284139 finished: ani, caldone: 0
[ 3141.390000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.490000] ath: phy4: listenTime=194 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=0
[ 3141.490000] ath: phy4: Calibration @284149 finished: ani, caldone: 0
[ 3141.490000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.590000] ath: phy4: listenTime=291 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=0
[ 3141.590000] ath: phy4: Calibration @284159 finished: ani, caldone: 0
[ 3141.590000] ath: phy4: Calibration HTC caldone_false_count: 0

[ 3141.690000] ath: phy4: listenTime=389 OFDM:0 errs=0/s CCK:0 errs=0/s ofdm_turn=0
[ 3141.690000] ath: phy4: Calibration @284169 finished: ani, caldone: 0
[ 3141.690000] ath: phy4: Calibration HTC caldone_false_count: 0

@rodizio1
Copy link

I've tried this now, seems to work. That is, ANI seems to be enabled, I get periodic log messages when debug is enabled. Haven't had time yet to do any real-world testing though.

I've tried creating a patch using this commandline:

diff -u drivers/net/wireless/ath/ath9k/htc_drv_main.c drivers/net/wireless/ath/ath9k/htc_drv_main.c.ani 
--- drivers/net/wireless/ath/ath9k/htc_drv_main.c	2017-06-18 15:46:27.000000000 +0200
+++ drivers/net/wireless/ath/ath9k/htc_drv_main.c.ani	2017-06-18 15:58:22.763173760 +0200
@@ -771,6 +771,8 @@
 
 	ieee80211_queue_delayed_work(common->hw, &priv->ani_work,
 				     msecs_to_jiffies(ATH_ANI_POLLINTERVAL));
+	schedule_work(&priv->ani_work);
+	ath_dbg(common, ANI, "ath9k_htc_start_ani()\n");
 }
 
 void ath9k_htc_stop_ani(struct ath9k_htc_priv *priv)
@@ -1260,6 +1262,9 @@
 				       priv->txpowlimit, &priv->curtxpow);
 	}
 
+	ath_dbg(common, ANI,"ath_htc: MONITOR is start\n");
+	ath9k_htc_start_ani(priv);
+
 out:
 	ath9k_htc_ps_restore(priv);
 	mutex_unlock(&priv->mutex);

However, when I try to apply it, I get this:

patch -p0 < ani.patch 
patching file drivers/net/wireless/ath/ath9k/htc_drv_main.c
Hunk #1 FAILED at 771.
Hunk #2 succeeded at 1260 with fuzz 2.
1 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/ath/ath9k/htc_drv_main.c.rej

Sorry, don't have time to bother with this 1970ies unix software weirdness now, maybe somebody else can create a proper patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants