kaloz / mwlwifi

mac80211 driver for the Marvell 88W8864 802.11ac chip
397 stars 119 forks source link

ba/ampdu error with 10.3.0.12 #41

Closed kristrev closed 8 years ago

kristrev commented 9 years ago

Opened a new issue on @yuhhaurlin request.

Things have improved significanlty since 10.3.0.10, but the ba/ampdu error still occurs:

[ 562.110063] ieee80211 phy0: check ba result error 1 [ 562.114983] ieee80211 phy0: ampdu start error code: -22 [ 562.170025] ieee80211 phy0: check ba result error 1 [ 562.174939] ieee80211 phy0: ampdu start error code: -22 [ 562.220015] ieee80211 phy0: check ba result error 1 [ 562.224924] ieee80211 phy0: ampdu start error code: -22 [ 562.270014] ieee80211 phy0: check ba result error 1 [ 562.274923] ieee80211 phy0: ampdu start error code: -22 [ 562.320028] ieee80211 phy0: check ba result error 1 [ 562.324939] ieee80211 phy0: ampdu start error code: -22 [ 562.380019] ieee80211 phy0: check ba result error 1 [ 562.384922] ieee80211 phy0: ampdu start error code: -22 [ 562.430018] ieee80211 phy0: check ba result error 1 [ 562.434919] ieee80211 phy0: ampdu start error code: -22

Things work fine for a while, then some random event X happens and the errors start happening (while transferring data). The devices connected to 5GHz is an iPhone 6 Plus and a Lenovo X1 Carbon 2. gen. After some time it seems the 5Ghz just gives up and takes a long nap. By connecting to the 2.4 GHz and restarting wifi, 5GHz works again but at reduced speed.

Another, potentially related error, is that the iPhone has trouble connecting to the 5GHz network. It keeps requesting me for the key, and seemingly only accepts the key when another devices (the laptop) has been connected. Otherwise it just gives me an error.

Debug fs output (in case it helps debugging):

/ampdu:
stream: 0
idx: 0
state: 3
mac address: 7c:7a:91:a3:37:c5
tid: 0
stream: 1
idx: 1
state: 3
mac address: e0:b5:2d:15:cf:da
tid: 0
stream: 2
idx: 0
state: 0
stream: 3
idx: 0
state: 0

/info:
driver name: mwlwifi
chip type: 88W8864
hw version: 7
driver version: 10.3.0.12
firmware version: 0x07020806
mac address: 00:25:9c:13:ab:6f
2g: disable
5g: enable
antenna: 2 2
irq number: 101
iobase0: e0e00000
iobase1: e1000000
tx limit: 768
rx limit: 64
ap macid support: 0000ffff
sta macid support: 00010000
macid used: 00000001
mfg mode: false

/sta

mac address: 7c:7a:91:a3:37:c5
aid: 1
ampdu: true
amsdu: false
IV: 00000012d4b9

mac address: e0:b5:2d:15:cf:da
aid: 2
ampdu: true
amsdu: false
IV: 000000032348

/vif

macid: 0
type: ap
ssid: XXXXXXX
mac address: 00:25:9c:13:ab:6f
hw_crypto_enabled: true
key idx: 0
IV: 000000000001
WMM:
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 
RSN:
RSN48:
0x49 0x4a 0x41 0x42 0x43 0x44 0x45 0x46 
0x47 0x48 0x49 0x4a 0x41 0x42 0x43 0x44 
0x45 0x46 0x47 0x48 0x49 0x4a 0x41 0x42 
0x43 0x44 
HT:
0x2d 0x1a 0x6f 0x00 0x17 0xff 0xff 0x00 
0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 0x00 0x00 0x3d 0x16 0xa1 0x07 
0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
0x00 0x00 0x00 0x00 0x7f 0x08 0x00 0x00 
0x00 0x00 0x00 0x00 0x00 0x40 
VHT:
0xbf 0x0c 0x31 0x18 0x80 0x33 0xfa 0xff 
0x00 0x00 0xfa 0xff 0x00 0x00 0xc0 0x05 
0x01 0x9b 0x00 0xfc 0xff 

@bmork also reports still seeing this issue with a Galaxy S3. He instrumented the driver with debug output and posted the following output in the other issue:

[ 3688.592193] mwl_rx_recv: ieee80211 phy0: c4:42:02:e2:8c:f3 - addba.resp.capab=0x802
[ 8398.001127] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[10097.335747] mwl_rx_recv: ieee80211 phy0: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1002
[11268.034546] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[19654.992154] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[20421.038180] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[20656.173799] ieee80211 phy1: check ba result error 1
[20656.178722] ieee80211 phy1: ampdu start error code: -22
[20656.223819] ieee80211 phy1: check ba result error 1
[20656.228741] ieee80211 phy1: ampdu start error code: -22
[20656.344165] ieee80211 phy1: check ba result error 1
[20656.349168] ieee80211 phy1: ampdu start error code: -22
[20656.393800] ieee80211 phy1: check ba result error 1
[20656.398763] ieee80211 phy1: ampdu start error code: -22
[20656.443813] ieee80211 phy1: check ba result error 1
[20656.448735] ieee80211 phy1: ampdu start error code: -22
[20656.503806] ieee80211 phy1: check ba result error 1
[20656.508782] ieee80211 phy1: ampdu start error code: -22
[20656.553770] ieee80211 phy1: check ba result error 1
[20656.558693] ieee80211 phy1: ampdu start error code: -22
[20657.633966] ieee80211 phy1: check ba result error 1
[20657.638893] ieee80211 phy1: ampdu start error code: -22
[20831.758119] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[22123.133692] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[23020.998999] mwl_rx_recv: ieee80211 phy1: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[23058.813849] ieee80211 phy0: check ba result error 1
[23058.818816] ieee80211 phy0: ampdu start error code: -22
[23058.854137] ieee80211 phy0: check ba result error 1
[23058.859108] ieee80211 phy0: ampdu start error code: -22
[23058.904165] ieee80211 phy0: check ba result error 1
[23058.909181] ieee80211 phy0: ampdu start error code: -22
[23058.973989] ieee80211 phy0: check ba result error 1
[23058.979005] ieee80211 phy0: ampdu start error code: -22
[23059.014102] ieee80211 phy0: check ba result error 1
[23059.019094] ieee80211 phy0: ampdu start error code: -22
[23059.054064] ieee80211 phy0: check ba result error 1
[23059.059037] ieee80211 phy0: ampdu start error code: -22
[23059.094271] ieee80211 phy0: check ba result error 1
[23059.099239] ieee80211 phy0: ampdu start error code: -22
[23059.144212] ieee80211 phy0: check ba result error 1
[23059.149338] ieee80211 phy0: ampdu start error code: -22
[23059.223957] ieee80211 phy0: check ba result error 1
[23059.228985] ieee80211 phy0: ampdu start error code: -22
[23059.264327] ieee80211 phy0: check ba result error 1
[23059.269315] ieee80211 phy0: ampdu start error code: -22
[23059.324148] ieee80211 phy0: check ba result error 1
[23059.329129] ieee80211 phy0: ampdu start error code: -22
[23059.404042] ieee80211 phy0: check ba result error 1
[23059.409010] ieee80211 phy0: ampdu start error code: -22
[23059.444121] ieee80211 phy0: check ba result error 1
[23059.449093] ieee80211 phy0: ampdu start error code: -22
[23059.488862] ieee80211 phy0: check ba result error 1
[23059.493785] ieee80211 phy0: ampdu start error code: -22
[23059.534212] ieee80211 phy0: check ba result error 1
[23059.539172] ieee80211 phy0: ampdu start error code: -22
[23059.584337] ieee80211 phy0: check ba result error 1
[23059.589358] ieee80211 phy0: ampdu start error code: -22
[23059.654218] ieee80211 phy0: check ba result error 1
[23059.659299] ieee80211 phy0: ampdu start error code: -22
[23059.704376] ieee80211 phy0: check ba result error 1
[23059.709357] ieee80211 phy0: ampdu start error code: -22
[23059.784334] ieee80211 phy0: check ba result error 1
[23059.789299] ieee80211 phy0: ampdu start error code: -22
[23059.836120] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[28906.108176] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[29157.141050] mwl_rx_recv: ieee80211 phy1: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1002
[32575.001086] ieee80211 phy1: check ba result error 1
[32575.006008] ieee80211 phy1: ampdu start error code: -22
[32575.051079] ieee80211 phy1: check ba result error 1
[32575.056002] ieee80211 phy1: ampdu start error code: -22
[32575.561088] ieee80211 phy1: check ba result error 1
[32575.566009] ieee80211 phy1: ampdu start error code: -22
[32575.611081] ieee80211 phy1: check ba result error 1
[32575.616006] ieee80211 phy1: ampdu start error code: -22
[32575.661130] ieee80211 phy1: check ba result error 1
[32575.666055] ieee80211 phy1: ampdu start error code: -22
[32575.721072] ieee80211 phy1: check ba result error 1
[32575.725994] ieee80211 phy1: ampdu start error code: -22
[32575.771084] ieee80211 phy1: check ba result error 1
[32575.776007] ieee80211 phy1: ampdu start error code: -22
[35788.932981] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[67524.758920] mwl_rx_recv: ieee80211 phy0: 80:86:f2:09:0f:b5 - addba.resp.capab=0x1002
[89605.118409] mwl_rx_recv: ieee80211 phy0: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1002
[91525.521926] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[108434.204598] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[108445.369578] mwl_rx_recv: ieee80211 phy0: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1002
[108671.317061] mwl_rx_recv: ieee80211 phy1: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[108742.047095] ieee80211 phy0: check ba result error 1
[108742.052155] ieee80211 phy0: ampdu start error code: -22
[108742.086924] ieee80211 phy0: check ba result error 1
[108742.092003] ieee80211 phy0: ampdu start error code: -22
[108742.127182] ieee80211 phy0: check ba result error 1
[108742.132250] ieee80211 phy0: ampdu start error code: -22
[108742.166947] ieee80211 phy0: check ba result error 1
[108742.172050] ieee80211 phy0: ampdu start error code: -22
[108742.207132] ieee80211 phy0: check ba result error 1
[108742.212301] ieee80211 phy0: ampdu start error code: -22
[108742.247162] ieee80211 phy0: check ba result error 1
[108742.252319] ieee80211 phy0: ampdu start error code: -22
[108742.287046] ieee80211 phy0: check ba result error 1
[108742.292106] ieee80211 phy0: ampdu start error code: -22
[108742.480842] mwl_rx_recv: ieee80211 phy0: 58:c3:8b:ec:66:82 - addba.resp.capab=0x202
[111659.302524] mwl_rx_recv: ieee80211 phy0: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1006
[114157.963627] mwl_rx_recv: ieee80211 phy0: 5c:0a:5b:79:ae:68 - addba.resp.capab=0x202
[164362.167093] mwl_rx_recv: ieee80211 phy0: 0c:8b:fd:08:09:71 - addba.resp.capab=0x1002
johnnysl commented 8 years ago

@yuhhaurlin i totally understand. That is why i didn't bring it up at first. For the moment, just ignore it.

notnyt commented 8 years ago

@yuhhaurlin yes

[86556.563166] ieee80211 phy1: check ba result error 1
[86556.568228] ieee80211 phy1: ampdu start error code: -22
[86556.612695] ieee80211 phy1: check ba result error 1
[86556.617686] ieee80211 phy1: ampdu start error code: -22
[86556.652789] ieee80211 phy1: check ba result error 1
[86556.657798] ieee80211 phy1: ampdu start error code: -22
[86556.702617] ieee80211 phy1: check ba result error 1
[86556.707768] ieee80211 phy1: ampdu start error code: -22
[86556.743119] ieee80211 phy1: check ba result error 1
[86556.748356] ieee80211 phy1: ampdu start error code: -22
[86556.802871] ieee80211 phy1: check ba result error 1
[86556.807920] ieee80211 phy1: ampdu start error code: -22
[86556.852921] ieee80211 phy1: check ba result error 1
[86556.858050] ieee80211 phy1: ampdu start error code: -22
[86556.893040] ieee80211 phy1: check ba result error 1
[86556.898015] ieee80211 phy1: ampdu start error code: -22
[86556.932622] ieee80211 phy1: check ba result error 1
[86556.937647] ieee80211 phy1: ampdu start error code: -22
[86556.992768] ieee80211 phy1: check ba result error 1
[86556.997756] ieee80211 phy1: ampdu start error code: -22
[86557.032732] ieee80211 phy1: check ba result error 1
[86557.037751] ieee80211 phy1: ampdu start error code: -22
[86557.072902] ieee80211 phy1: check ba result error 1
[86557.077925] ieee80211 phy1: ampdu start error code: -22
[86557.132865] ieee80211 phy1: check ba result error 1
[86557.137849] ieee80211 phy1: ampdu start error code: -22
[86557.172946] ieee80211 phy1: check ba result error 1
[86557.177966] ieee80211 phy1: ampdu start error code: -22
[86557.213302] ieee80211 phy1: check ba result error 1
[86557.218302] ieee80211 phy1: ampdu start error code: -22
[86557.252922] ieee80211 phy1: check ba result error 1
[86557.257927] ieee80211 phy1: ampdu start error code: -22
yuhhaurlin commented 8 years ago

@notnyt It looks like your case is that AP can't establish AMPDU with your client (only for VHT80?). The client can work with other AP via VHT80.

notnyt commented 8 years ago

When I enable VHT80, no clients can connect properly. Listing stations shows they only use 20 and 40mhz channels and speed is incredibly slow or the clients get disassociated. Those errors were generated when the AP was operating in VHT40 mode.

yuhhaurlin commented 8 years ago

@notnyt Any working firmware on your device?

notnyt commented 8 years ago

With VHT80? Not sure.

johnnysl commented 8 years ago

Maybe try stock firmware again?

yuhhaurlin commented 8 years ago

@notnyt It looks like the image can't work on your device. it is not specific driver problem.

johnnysl commented 8 years ago

@yuhhaurlin: those errors are definitively not just cosmetic. When i grab a wireless device after it had long been unused, it sometimes is not able to get any data across the wifi. Need to disconnect and reconnect to get it working. At the same time that happens, the log fills with these errors.

Some findings:

  1. It seems to get worse after a longer uptime (uptime of 3 days now)
  2. Its not only confined to my intel nic based laptop, ipad air 2 has it as well

Could there be another variable not properly initialized somewhere?

tangsoft commented 8 years ago

I am not sure if what I got on my v1 with latest drive when it is DLNA streaming video on iPad and iPhone. And sometimes random reboot as well.

[ 4790.518054] ieee80211 phy1: failed to reallocate TX buffer [28229.515899] ieee80211 phy1: failed to reallocate TX buffer [28229.521519] ieee80211 phy0: failed to reallocate TX buffer

johnnysl commented 8 years ago

Seems that since the GFP_ATOMIC change I no longer get these errors. I'm not running the code for that long though. Anybody still has any issues?

[edit] uptime of 2 days, and they are back again, so still not gone[/edit]

yunesj commented 8 years ago

I'm also seeing

[491979.797468] ieee80211 phy0: check ba result error 1
[491979.802455] ieee80211 phy0: ampdu start error code: -22

iPhone 6 remains connected to 1900ACS 5GHz, but no data gets through until I manually reconnect.

Please let me know if you'd like more info. Thanks!

johnnysl commented 8 years ago

@yunesj i see the same issue with my ipad2. solid connection according to interface, but needs a reconnect to transfer data again. It only happens occasionally though.

NemoAlex commented 8 years ago

Same error in .15 driver:

Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.566048] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.570978] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.616176] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.621104] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.685938] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.690864] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.755972] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.760894] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.806796] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.811719] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.846252] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:27 2016 kern.err kernel: [48766.851172] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48766.926045] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48766.931074] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48766.985874] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48766.990797] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.036389] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.041322] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.086199] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.091118] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.156270] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.161195] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.216085] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.221014] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.265969] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.270900] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.335856] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.340805] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.386236] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.391159] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.436121] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.441056] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.476346] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.481584] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.526126] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.531052] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.595913] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.600838] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.656045] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.660994] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.715960] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.720893] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.775942] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.780865] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.845859] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:28 2016 kern.err kernel: [48767.850847] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.545975] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.550897] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.586038] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.590958] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.626034] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.630953] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.665944] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.670884] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.726161] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.731079] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.775888] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.780816] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.836217] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:56 2016 kern.err kernel: [48795.841146] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48795.905849] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48795.910860] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48795.965902] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48795.970854] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.005872] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.010954] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.055988] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.061180] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.106042] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.111089] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.195823] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.200989] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.235913] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.240977] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.286113] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.291290] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.346120] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.351163] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.395930] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.400880] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.435991] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.441033] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.485854] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.490843] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.545827] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.550813] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.605934] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.611083] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.655820] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.661151] ieee80211 phy0: ampdu start error code: -22
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.695857] ieee80211 phy0: check ba result error 1
Sun Jan  3 10:14:57 2016 kern.err kernel: [48796.700810] ieee80211 phy0: ampdu start error code: -22
mystica555 commented 8 years ago

I still get it too..

I think i need to email myself and my roommate as soon as one of the errors comes up, so we can figure out what the hell we just did that caused the error.. I'm certain its linked to some device access specifics but not sure what device is being used when these occur..

Mike

On Sat, Jan 2, 2016 at 9:07 PM, NemoAlex notifications@github.com wrote:

Same error in .15 driver:

Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.566048] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.570978] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.616176] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.621104] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.685938] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.690864] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.755972] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.760894] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.806796] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.811719] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.846252] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:27 2016 kern.err kernel: [48766.851172] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48766.926045] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48766.931074] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48766.985874] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48766.990797] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.036389] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.041322] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.086199] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.091118] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.156270] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.161195] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.216085] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.221014] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.265969] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.270900] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.335856] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.340805] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.386236] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.391159] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.436121] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.441056] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.476346] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.481584] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.526126] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.531052] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.595913] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.600838] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.656045] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.660994] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.715960] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.720893] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.775942] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.780865] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.845859] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:28 2016 kern.err kernel: [48767.850847] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.545975] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.550897] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.586038] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.590958] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.626034] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.630953] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.665944] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.670884] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.726161] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.731079] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.775888] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.780816] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.836217] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:56 2016 kern.err kernel: [48795.841146] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48795.905849] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48795.910860] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48795.965902] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48795.970854] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.005872] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.010954] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.055988] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.061180] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.106042] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.111089] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.195823] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.200989] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.235913] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.240977] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.286113] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.291290] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.346120] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.351163] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.395930] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.400880] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.435991] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.441033] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.485854] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.490843] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.545827] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.550813] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.605934] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.611083] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.655820] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.661151] ieee80211 phy0: ampdu start error code: -22 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.695857] ieee80211 phy0: check ba result error 1 Sun Jan 3 10:14:57 2016 kern.err kernel: [48796.700810] ieee80211 phy0: ampdu start error code: -22

— Reply to this email directly or view it on GitHub https://github.com/kaloz/mwlwifi/issues/41#issuecomment-168457637.

Chadster766 commented 8 years ago

I'm seeing the below error on McDebian with driver version "10.3.0.14 (commit/352efe4bdc34204cc528ac9a979bb0032a6996e0):

Jan 03 23:23:39 MCDEBIAN hostapd[2554]: wlan0: STA f0:db:e2:6c:61:d4 IEEE 802.11: authenticated
Jan 03 23:23:39 MCDEBIAN hostapd[2554]: wlan0: STA f0:db:e2:6c:61:d4 IEEE 802.11: associated (aid 1)
Jan 03 23:23:39 MCDEBIAN hostapd[2554]: wlan0: STA f0:db:e2:6c:61:d4 RADIUS: starting accounting session 0000000E-00000000
Jan 03 23:23:39 MCDEBIAN hostapd[2554]: wlan0: STA f0:db:e2:6c:61:d4 WPA: pairwise key handshake completed (RSN)
Jan 03 23:23:40 MCDEBIAN dhcpd[2569]: DHCPREQUEST for 192.168.200.105 from f0:db:e2:6c:61:d4 via br0
Jan 03 23:23:40 MCDEBIAN dhcpd[2569]: DHCPACK on 192.168.200.105 to f0:db:e2:6c:61:d4 (Rondy-iPhone) via br0
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:23:41 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:23:52 MCDEBIAN dhclient[2763]: DHCPREQUEST on eth0 to 10.10.10.1 port 67
Jan 03 23:23:52 MCDEBIAN dhclient[2763]: DHCPACK from 10.10.10.1
Jan 03 23:23:52 MCDEBIAN dhclient[2763]: bound to 10.10.10.2 -- renewal in 25 seconds.
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 03 23:24:07 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 03 23:24:17 MCDEBIAN dhclient[2763]: DHCPREQUEST on eth0 to 10.10.10.1 port 67
Jan 03 23:24:17 MCDEBIAN dhclient[2763]: DHCPACK from 10.10.10.1
Jan 03 23:24:17 MCDEBIAN dhclient[2763]: bound to 10.10.10.2 -- renewal in 26 seconds.
Jan 03 23:24:26 MCDEBIAN hostapd[2554]: wlan0: STA f0:db:e2:6c:61:d4 WPA: group key handshake completed (RSN)
Jan 03 23:24:26 MCDEBIAN hostapd[2554]: wlan0: STA 10:92:66:46:11:27 WPA: group key handshake completed (RSN)
Jan 03 23:24:26 MCDEBIAN hostapd[2554]: wlan0: STA 00:0f:fe:59:4f:54 WPA: group key handshake completed (RSN)
Jan 03 23:24:26 MCDEBIAN hostapd[2554]: wlan0: STA 98:fc:11:ad:6f:b0 WPA: group key handshake completed (RSN)
Jan 03 23:24:26 MCDEBIAN hostapd[2554]: wlan0: STA 98:f1:70:08:10:0d WPA: group key handshake completed (RSN)
Jan 03 23:24:27 MCDEBIAN hostapd[2554]: wlan0: STA a8:86:dd:ad:28:41 WPA: group key handshake completed (RSN)
Jan 03 23:24:34 MCDEBIAN hostapd[2554]: wlan0: STA 98:fc:11:ad:6f:af IEEE 802.11: deauthenticated due to local deauth request

It looks like the iPhone creates the error during the DHCP request and then causes hostapd to reconnected the wireless clients.

The iPhone seems to be operating properly otherwise :smile:

Chadster766 commented 8 years ago

My Android S5 also triggered this "check ba result error 1" which means it wasn't related to the iPhone. This occurred at the same DHCP renewal on the WRT WAN interface as it did with the iPhone.

My network lab IOS router had an IPv4 DHCP Server IP Address expiry of one minute. Which would case the WRT to renew every 30s. The super low lease time was configured for testing purposes but should never have been left that low on a permanent basis.

It seems to me that the "check ba result error 1" is just to release a spinlock when a firmware command isn't run as quickly as it should and retries the command until it succeeds.

Since I adjusted the DHCP Server IP Address expiry to the defaut 24hrs I can't reproduce the "check ba result error 1" error message.

I will monitor for this for a while to see if the DHCP Server change resolved the issue for me.

mystica555 commented 8 years ago

Very interesting; I've not seen that particular aspect of it, as the logread ring buffer is a bit short and ive yet to configure it to remote syslog to my box at the same time.. i usually do not have the chance to correlate the dhcp event with the error as my dhcp is set to 12h. So the errors i get are after about 3 days uptime on average, then reoccurring once per every 2-3 days. There is a newish Galaxy Tab and Galaxy Note 3 in the house.

Mike

On Mon, Jan 4, 2016 at 10:51 PM, Chad McCue notifications@github.com wrote:

My Android S5 also triggered this "check ba result error 1" which means it wasn't related to the iPhone. This occurred at the same DHCP renewal on the WRT WAN interface as it did with the iPhone.

My network lab IOS router had an IPv4 DHCP Server IP Address expiry of one minute which would case the WRT to renew every 30s. The super low lease time was configured for testing purposes but should never have been left that low on a permanent basis.

It seems to me that the "check ba result error 1" is just to release a spinlock when a firmware command isn't run as quickly as it should and retries the command until it succeeds.

Since I adjusted the DHCP Server IP Address expiry to the defaut 24hrs I can't reproduce the "check ba result error 1" error message.

I will monitor for this for a while to see if the DHCP Server change resolved the issue for me.

— Reply to this email directly or view it on GitHub https://github.com/kaloz/mwlwifi/issues/41#issuecomment-168906372.

Chadster766 commented 8 years ago

This error seems to be linked to the DHCP acknowledgement on the bridge interface that the wlan's are a part of. This error can occur without any wlan activity.

Jan 05 00:41:32 MCDEBIAN dhcpd[2569]: DHCPREQUEST for 192.168.200.101 from 00:18:0a:7b:11:7d (mr18-00180a7b117d) via br0
Jan 05 00:41:32 MCDEBIAN dhcpd[2569]: DHCPACK on 192.168.200.101 to 00:18:0a:7b:11:7d (mr18-00180a7b117d) via br0
Jan 05 00:41:53 MCDEBIAN dhcpd[2569]: DHCPREQUEST for 192.168.200.104 from 10:92:66:46:11:27 via br0
Jan 05 00:41:53 MCDEBIAN dhcpd[2569]: DHCPACK on 192.168.200.104 to 10:92:66:46:11:27 (android-c08375e720de81a8) via br0
Jan 05 00:42:13 MCDEBIAN dhcpd[2569]: DHCPREQUEST for 192.168.200.104 from 10:92:66:46:11:27 (android-c08375e720de81a8) via br0
Jan 05 00:42:13 MCDEBIAN dhcpd[2569]: DHCPACK on 192.168.200.104 to 10:92:66:46:11:27 via br0
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 05 00:42:23 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
Jan 05 00:42:24 MCDEBIAN kernel: ieee80211 phy0: check ba result error 1
Jan 05 00:42:24 MCDEBIAN kernel: ieee80211 phy0: ampdu start error code: -22
bmork commented 8 years ago

balintkozma notifications@github.com writes:

Do you all have an usb3 disk shared with samba?

Nope. I don't use USB (or eSATA) at all. It doesn't affect this error.

balintkozma commented 8 years ago

Meanwhile I got the error without usb too.

mystica555 commented 8 years ago

I have no USB devices attached at all. It still happens sporadically.

Mike

On Tue, Jan 19, 2016 at 3:57 AM, balintkozma notifications@github.com wrote:

Do you all have an usb3 disk shared with samba?

I had this problem with even .16

Then I tried a disk with esata, and I cannot reproduce it. It must be someting with usb3 traffic, I have 3 ssds connected via a hub, combined with lvm, I must have massive usb traffic I guess.

— Reply to this email directly or view it on GitHub https://github.com/kaloz/mwlwifi/issues/41#issuecomment-172817536.

Chadster766 commented 8 years ago

Hi Everyone,

My WRT1900AC V2 runs the OS from a USB Key 64GB USB3.0

There has been zero wireless drops or glitches with .16 even on multiple BSSID's. This error doesn't seem to indicate a unrecoverable error and can probably be ignored IMO.

root@MCDEBIAN:~# journalctl |grep -c ampdu
289
root@MCDEBIAN:~# uptime
 09:11:02 up 2 days, 53 min,  1 user,  load average: 0.33, 0.23, 0.17
root@MCDEBIAN:~#
Chadster766 commented 8 years ago

I stuck with "mdelay(1)" because it though it was a better choice than an undetermined delay of such short duration. This seems to be very stable regardless of the error.

Maybe the delay on 1ms is just not enough. What do you think would happen if I increased it to mdelay(10)?

balintkozma commented 8 years ago

I removed my comment, because samba shares still become inaccessible after a couple of hours, so it is not the root cause of my problem. I can list the files, but cannot play them. I think the same would happen with 10ms, because mdelay blocks, msleep doesn't.

bmork commented 8 years ago

balintkozma notifications@github.com writes:

I haven't seen the error since this:

--- a/fwcmd.c +++ b/fwcmd.c @@ -132,7 +132,7 @@ static int mwl_fwcmd_wait_complete(struct mwl_priv _priv, unsigned short cmd) int_code = le16_tocpu(((le16 _)&priv->pcmd_buf[2])); else int_code = le16_tocpu(((le16 *)&priv->pcmd_buf[0]));

  • mdelay(1);
  • msleep(1); } while ((int_code != cmd) && (--curr_iteration)); . if (curr_iteration == 0) {

Sometimes it just cannot complete any command it is waiting for, because mdelay() blocks the system. It can block for two seconds, then result in several errors, like this and issue #60

Great observation! Yes, there doesn't seem to be any reason for this code to use mdelay. The longish busy-loop could definitely be a problem.

Quoting from Documentation/timers/timers-howto.txt :

   "In general, use of mdelay is discouraged and code should
    be refactored to allow for the use of msleep."

And in this case the code doesn't even need refactoring, so replacing those mdelays with msleep looks like an obvious win-win.

Chadster766 commented 8 years ago

I don't agree because if you read a little further down that same document you will see mention of cases were msleep is discouraged due to excessive delays which are undefined. Where mdelay will only block for exactly the time set.

In this procedure there is a variable that limits the number of times it loops.

balintkozma commented 8 years ago

IMHO It's better to sleep for uncertain 1-20ms without blocking (the command is very likely finish during the first loop), than to block for exactly1ms x 2000. The blocking delay blocks the executing command too, so it is waiting for nothing. That poor command can only steal a few usec-s to run between two blocking mdelays.

Chadster766 commented 8 years ago

I'm still using mdelay and the error occurs which means it loops to the set limit regardless.

What happens with all the queued msleeps in that case for comparison?

balintkozma commented 8 years ago

I think they won't queue up at all, because much less iterations will be done without blocking. But I will instrument the code, and let's see.

balintkozma commented 8 years ago

No significant difference. mdelay: during startup 1-8 iterations, then always 1 msleep: always 1, but less printouts overall. Might be problem when they queue up. The worst is that the -22 error appeared both cases. :( msleep is not the solution.

Chadster766 commented 8 years ago

What happens if you increase mdelay to 5ms does the error -22 still occur?

Chadster766 commented 8 years ago

I'm starting to think that the mdelay(1) should stay as is and msleep not be used since IMO it's not a good fit for the driver process.

The first log error we see the Block Acknowledgment fails:

ieee80211 phy1: check ba result error 1

This occurs in "fwcmd.c" subroutine:

mwl_fwcmd_check_ba

What's odd is no other errors appear in the log prior to the BA error. Which means that the call to the mwl_fwcmd_exec_cmd was successful but pcmd->cmd_hdr.result is returning command failed.

 if (mwl_fwcmd_exec_cmd(priv, HOSTCMD_CMD_BASTREAM)) {
                spin_unlock_bh(&priv->fwcmd_lock);
                wiphy_err(hw->wiphy, "check ba failed execution\n");
                return -EIO;
}

if (pcmd->cmd_hdr.result != 0) {
                spin_unlock_bh(&priv->fwcmd_lock);
                wiphy_err(hw->wiphy, "check ba result error %d\n",
                          le16_to_cpu(pcmd->cmd_hdr.result));
                return -EINVAL;
}
balintkozma commented 8 years ago

Agree. Today I noticed a command execution with 14 iterations with msleep. No difference. Yes, it never timeouts, but the result is not ok. It mislead me, that the -22 errors come in bursts, that are often exactly 2 seconds long. It is also very hard to test, sometimes the error just doesn't occur, than I start to believe that my last desperate attempt to fix it was successful.

Chadster766 commented 8 years ago

I've check over every other call to mwl_fwcmd_exec_cmd in "fwcmd.c" and "pcmd->cmd_hdr.result" is never check. Instead if the execution was successful the spinlock was released and a return of 0 as shown below.

spin_unlock_bh(&priv->fwcmd_lock);

return 0;

I think the secondary check of "pcmd->cmd_hdr.result" a debugging left over and should be removed.

balintkozma commented 8 years ago

I removed cmd_hdr.result check from both check_ba and create_ba, and started testing.

Chadster766 commented 8 years ago

Awesome i look forward to your test results.

Chadster766 commented 8 years ago

I also recommend the changes in the attached patch files. I changed the file extension from patch to txt for file upload to this thread. Best viewed in vim or wordpad.

main.c.txt fwdl.c.txt fwcmd.c.txt dev.h.txt

In fwcmd.c there is a call to might_sleep(); which I can't find anywhere. Is it a bad function call?

The other patch files just reverses mutex use back to spinlock. IMO spinlock is a better choice for drivers.

bmork commented 8 years ago

Chad McCue notifications@github.com writes:

I also recommend the changes in the attached patch files.

main.c.txt fwdl.c.txt fwcmd.c.txt dev.h.txt

In fwcmd.c there is a call to might_sleep(); which I can't find anywhere. Is it a bad function call?

It's a macro defined in include/linux/kernel.h. Mostly a debugging thingy, documenting that the calling function might sleep and dumping a stack trace if executed in an atomic context.

The other patch files just reverses mutex use back to spinlock. IMO spinlock is a better choice for drivers.

Not at all. They have different uses. You definitely want to use a mutex for anything that needs to wait for milliseconds with the lock held.

In general, you want to use them whenever you can. Quoting from Documentation/locking/mutex-design.txt :

When to use mutexes


Unless the strict semantics of mutexes are unsuitable and/or the critical region prevents the lock from being shared, always prefer them to any other locking primitive.

Bjørn

balintkozma commented 8 years ago

So far, the no-hdr.result-check patch seems stable. It would be good to know the poet's intention there. Maybe its a debug leftover as you suggested, or the only case when that result matters? But seems stable without that check.

For me the two problems:

It might be that they are connected somehow, with the no-hdr.result-check patch, the reduced speed problem seems gone. But it needs confirmation after 1-2 days more testing.

Chadster766 commented 8 years ago

@bmork doesn't or the critical region prevents the lock from being shared state that mutex is unsuitable for the process since the locks shouldn't be shared.

Also wasn't the commit for spinlock to mutex change just a shot in the dark solution?

johnnysl commented 8 years ago

It was requested for by the upstream Linux team reviewing the driver.

Chadster766 commented 8 years ago

That seems odd. The whole driver is basically using spinlock why would they request just this one section be changed? I don't see the point.

johnnysl commented 8 years ago

http://www.spinics.net/lists/linux-wireless/msg144187.html

[quote] This seems like a terrible idea. Spinning for 3 milliseconds (and more) while blocking local soft-irqs is really bad for general latency on the system. I don't like it at all.

And there doesn't really seem to be much reason for it either as far as I can tell - almost all places can (as I pointed out before) live with this being a mutex, you just need special handling in very few places that really do want to send a command while not being able to sleep. [/quote]

Chadster766 commented 8 years ago

Interesting, thanks for the link. I guess we will be able to compare because I'm sticking with spinlock :smile:

balintkozma commented 8 years ago

@Chadster766 I haven't experienced any problem since I removed the pcmd->cmd_hdr.result checks, neither the random slowness.

Chadster766 commented 8 years ago

That's great thanks for the update :smile:

johnnysl commented 8 years ago

Have been looking at that code section, and sitting on my hands a bit not to yank those if-statements out as well, and start testing. Currently i'm still rebooting the thing each night as performance will else come crashing down after a day and a half.

Chadster766 commented 8 years ago

I'm not seeing the delayed performance issue with mdelay and spinlock. I recommend you test with those changes to confirm if it solves the issue.

root@MCDEBIAN:/etc/udev/rules.d# uptime 12:20:47 up 9 days, 4:03, 1 user, load average: 0.04, 0.04, 0.05

balintkozma commented 8 years ago

@johnnysl : right after I read your comment, mine failed too. I rebooted a few times during my test, didn't have at least one day uptime.