Bug #649

Experiencing very slow browsing at times (atheros wireless)

Added by elekktretterr over 7 years ago. Updated over 7 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

I recently purchased a new atheros based WIFI card.

I am using no encryption at the moment. I can ping all websites and the
ping times are fine.

64 bytes from 192.168.1.1: icmp_seq=0 ttl=128 time=0.731 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=0.735 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=0.737 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=1.620 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=128 time=0.738 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=128 time=0.732 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=128 time=0.736 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=128 time=0.736 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=128 time=0.731 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=128 time=0.728 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=128 time=0.818 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=128 time=0.729 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=128 time=0.729 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=128 time=0.733 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=128 time=0.730 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=128 time=0.733 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=128 time=0.734 ms

[elevator] ~% ping www.google.com.au
PING www.l.google.com (72.14.253.99): 56 data bytes
64 bytes from 72.14.253.99: icmp_seq=0 ttl=236 time=369.645 ms
64 bytes from 72.14.253.99: icmp_seq=1 ttl=236 time=356.193 ms
64 bytes from 72.14.253.99: icmp_seq=2 ttl=236 time=361.215 ms
64 bytes from 72.14.253.99: icmp_seq=3 ttl=236 time=362.085 ms
64 bytes from 72.14.253.99: icmp_seq=4 ttl=236 time=362.198 ms
64 bytes from 72.14.253.99: icmp_seq=5 ttl=236 time=361.109 ms
64 bytes from 72.14.253.99: icmp_seq=6 ttl=236 time=361.947 ms

They are my normal ping.

However, browsing web pages often slows down to 0kb/s (i can still ping
though).

ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.50 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::20f:b5ff:fefa:9196%ath0 prefixlen 64 scopeid 0x1
ether 00:0f:b5:fa:91:96
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid homenetwork channel 11 bssid 00:19:db:0a:39:e6
authmode OPEN privacy OFF txpowmax 37 bmiss 7 protmode CTS burst
bintval 100

Speed is almost always 54 or 48Mbps.

Any ideas what might be happening? Before someone says DNS, no its not
DNS, my DNS and host configuration has been working for 2 years now on
DragonFly (only recentely i moved to wireless). It's not upstream
connectivity either because all other non dragonfly boxes work even when
this box is experiencing the slowness.

Thanks,
petr

History

#1 Updated by sepherosa over 7 years ago

Please gether some tcpdump information, when this happens:
tcpdump -s 0 -ni ath0 -w dump

802.11 and radio tap tcpdump information will be helpfull too:
tcpdump -s 0 -ni ath0 -y ieee802_11 -w dump80211
tcpdump -s 0 -ni ath0 -y ieee802_11_radio -w dumpradio

That's the TX rate.

What's the output of 'ifconfig ath0 up scan'?

Best Regards,
sephe

#2 Updated by dillon over 7 years ago

I'll just interject another data point, which is that TCP connections
often seem to 'die in the middle' when downloading large browser pages
when the server tries to send you maximally sized TCP segments,
and then hits some sort of MTU issue somewhere along the hops. The
symptom is that small pages will appear to work fine, but large pages
will come to a grinding halt.

-Matt

#3 Updated by elekktretterr over 7 years ago

elevator# ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
homenetwork 00:19:db:0a:39:e6 11 54M 31:0 100 E

Next time it happens i shall try to get some tcpdump for you.

Petr

#4 Updated by elekktretterr over 7 years ago

Hi Matt, and thank you for your comment into this issue.

I should also add, that it seems that the connection seems to die in the
middle, and then 10 minutes later it comes up as quick as expected only
to start dieing again 10 minutes later. Could this be perhaps due to
some caching? It's extremely annoying.

Petr

#5 Updated by elekktretterr over 7 years ago

Hi Sephe,
Just a few moments ago another slowness was happening so i ran the 2
tcpdump commands. After about 1-2 minutes it came back to normal speed
so i tcpdump.

You/whoever wants can get the dumps here:

http://www.punchyouremployer.com/files/tcpdump.tgz

Please have a look and tell me if you can see something wrong.

Petr

#6 Updated by dillon over 7 years ago

:Just a few moments ago another slowness was happening so i ran the 2
:tcpdump commands. After about 1-2 minutes it came back to normal speed
:so i tcpdump.
:
:You/whoever wants can get the dumps here:
:
:http://www.punchyouremployer.com/files/tcpdump.tgz
:
:Please have a look and tell me if you can see something wrong.
:
:Petr

It looks like you have a ton of packet loss somewhere. What
machine was the tcpdump run on? It looks like you ran it on
the web server. I think what you want to do is run it on
the client running the browser, not on the server.

I am going to post an excerpt (open a wide xterm to view) from:
tcpdump -n -s 4096 -r dump80211 | fgrep .80 | fgrep 2568 | less

The web server, 140.211.166.170, is trying to transmit a
full-sized TCP packet over and over again because it isn't
getting an ack from the client. See all the 7001:8401 packets?

It's sending the same payload over and over again and it is
backing off. Either the large tcp packet is not making it to
the client, or the client's ACK is not making it back to the
server.

It does NOT look like an MTU problem, because the client had
no problem ack numerous full-sized TCP packets beforehand.

It does look like a radio transmit/receive issue, but I don't
think it is really possible to tell from the web server side.
What we really need are the signal levels on the client side.

One thing you couldtry would be to force the transmit rate
way way down, and maybe try using a long preamble instead
of a short preamble (if it is possible to set the preamble).
A short preamble might not be enough to train the receiver
DSP for the longer packets.

-Matt
Matthew Dillon
<>

09:58:02.547654 IP 192.168.1.50.2568 > 140.211.166.170.80: . ack 4201 win 57728 <nop,nop,timestamp 4940337 3127766652>
09:58:02.774822 IP 140.211.166.170.80 > 192.168.1.50.2568: . 4201:5601(1400) ack 691 win 15 <nop,nop,timestamp 3127766731 4940337>
09:58:02.776813 IP 140.211.166.170.80 > 192.168.1.50.2568: . 5601:7001(1400) ack 691 win 15 <nop,nop,timestamp 3127766731 4940337>
09:58:02.776859 IP 192.168.1.50.2568 > 140.211.166.170.80: . ack 4201 win 57728 <nop,nop,timestamp 4940359 3127766652,nop,nop,sack 1 {5601:7001}>
09:58:03.003406 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127766789 4940359>
09:58:03.455055 IP 140.211.166.170.80 > 192.168.1.50.2568: . 4201:5601(1400) ack 691 win 15 <nop,nop,timestamp 3127766902 4940359>
09:58:04.822746 IP 140.211.166.170.80 > 192.168.1.50.2568: . 4201:5601(1400) ack 691 win 15 <nop,nop,timestamp 3127767244 4940359>
09:58:04.822798 IP 192.168.1.50.2568 > 140.211.166.170.80: . ack 7001 win 54928 <nop,nop,timestamp 4940564 3127767244>
09:58:05.048597 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127767300 4940564>
09:58:05.052042 IP 140.211.166.170.80 > 192.168.1.50.2568: . 8401:9801(1400) ack 691 win 15 <nop,nop,timestamp 3127767300 4940564>
09:58:05.702975 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127767464 4940564>
09:58:07.015773 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127767792 4940564>
09:58:09.638984 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127768448 4940564>
09:58:14.887620 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 691 win 15 <nop,nop,timestamp 3127769760 4940564>
09:58:24.728513 IP 192.168.1.50.2568 > 140.211.166.170.80: F 691:691(0) ack 7001 win 57728 <nop,nop,timestamp 4942555 3127767244>
09:58:24.951122 IP 140.211.166.170.80 > 192.168.1.50.2568: . ack 692 win 15 <nop,nop,timestamp 3127772278 4942555>
09:58:25.380812 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 692 win 15 <nop,nop,timestamp 3127772384 4942555>
09:58:46.370675 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 692 win 15 <nop,nop,timestamp 3127777632 4942555>
09:59:28.353154 IP 140.211.166.170.80 > 192.168.1.50.2568: . 7001:8401(1400) ack 692 win 15 <nop,nop,timestamp 3127788128 4942555>
09:59:28.353206 IP 192.168.1.50.2568 > 140.211.166.170.80: R 257286875:257286875(0) win 0

#7 Updated by elekktretterr over 7 years ago

It was run on the client. 192.168.1.50 is my DF workstation which i ran
tcpdump on. 192.168.1.40 is my server (punchyouremployer.com).
192.168.1.1 is my default gateway, 220.233.111.100 is my public IP.
There is DMZ configured on the router pointing to 192.168.1.40

Petr

#8 Updated by dillon over 7 years ago

:It was run on the client. 192.168.1.50 is my DF workstation which i ran
:tcpdump on. 192.168.1.40 is my server (punchyouremployer.com).
:192.168.1.1 is my default gateway, 220.233.111.100 is my public IP.
:There is DMZ configured on the router pointing to 192.168.1.40
:
:Petr

There's something very not right. If tcpdump was run on your
client then the client DID receive the big packets, but didn't
ack them. WTF ? Why isn't it acking them?

Maybe there is a checksum problem or something. Do you have any
hardware accel features turned on on your client? Do 'ifconfig' and
dump the output. Try turning them off.

Maybe also try turning off TCP sack and window scaling
(net.inet.tcp.sack=0, net.inet.tcp.rfc1323=0), in case there's an
issue there. I noticed that the server is using both, and there
could be a bug on the server (or in DragonFly, but more likely on the
server if that turns out to be the problem).

-Matt
Matthew Dillon
<>

#9 Updated by elekktretterr over 7 years ago

[elevator] ~% ifconfig
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.50 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::20f:b5ff:fefa:9196%ath0 prefixlen 64 scopeid 0x1
ether 00:0f:b5:fa:91:96
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid homenetwork channel 11 bssid 00:19:db:0a:39:e6
authmode OPEN privacy OFF txpowmax 37 bmiss 7 protmode CTS burst
bintval 100
fxp0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:02:b3:0b:9e:0f
media: Ethernet autoselect (none)
status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500

I'm going to wait for the next slowness and then I'll change the sysctl's.

Im not aware of any hardware accel features. The ifconfig looks quite
ordinary to me.

Petr

#10 Updated by elekktretterr over 7 years ago

With both of them set 0 it is still happening. How can we debug it?

Petr

#11 Updated by sepherosa over 7 years ago

Do non-802.11 tcpdump and 802.11 tcpdump (not radio), so we can see
what ether_input() gets. Also turn on sysctl
net.wlan0.debug=0x08000000. Looks like most of packets sent by AP
need mac level retry ...

Best Regards,
sephe

#12 Updated by justin over 7 years ago

Just as a sanity check - is is possible to check and see if there's more
transmitters in the same part of the spectrum? i.e. neighbors with a
similar router, wireless phones, other equipment.

#13 Updated by sepherosa over 7 years ago

Roaming is not supported in current 802.11 stack (i.e. once you are
associated, you will not change BSS, except that the current
associated BSS vanishes), and Petr's scan result only shows one BSS in
his area.

Best Regards,
sephe

#14 Updated by dillon over 7 years ago

:I'm going to wait for the next slowness and then I'll change the sysctl's.
:
:Im not aware of any hardware accel features. The ifconfig looks quite
:ordinary to me.
:
:Petr

I'd just turn them off now and see if it makes a difference. I would
also try forcing it to transmit at a lower data rate. I assume
that can be done with an ifconfig but I don't know.

Another thing... this may sound strange, but is there is a microwave
anywhere nearby that could be interfering with the wireless?

Matthew Dillon
<>

#15 Updated by jason over 7 years ago

There may also be someone with a 2.4Ghz cordless phone near you. 802.11b
and 802.11g share the same frequencies with these phones.

<http://www.wi-fiplanet.com/tutorials/article.php/2191241>

- Jason

#16 Updated by elekktretterr over 7 years ago

Hey,
No no microwave or cordless phones, other than my mobile phone. Ok, I'll
see what I can do with ifconfig and i'll get some more tcpdump as Sephe
said...

Im 90% this is DF related because when I reboot the same machine into
Windows and use wireless theres no slowdowns and its 100% stable.

Petr

#17 Updated by sepherosa over 7 years ago

Please turn off the two sysctls as Matt said during your next round
testing. Thanks.

Best Regards,
sephe

#18 Updated by elekktretterr over 7 years ago

Turning them off didn't fix it.

I have switched to 802.11b:

ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.50 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::20f:b5ff:fefa:9196%ath0 prefixlen 64 scopeid 0x1
ether 00:0f:b5:fa:91:96
media: IEEE 802.11 Wireless Ethernet autoselect (DS/5.5Mbps)
status: associated
ssid homenetwork channel 11 bssid 00:19:db:0a:39:e6
authmode OPEN privacy OFF txpowmax 37 bmiss 7 protmode CTS burst
bintval 100

Sometimes it goes to 11Mbps, but usually stays at 5.5. Guess what,
browsing has been much better now. Even though slowness occured a couple
of times in the last 16 hours on 802.11b, it hasnt actually halted
completly once.

What does it indicate?

#19 Updated by elekktretterr over 7 years ago

I looked in ifconfig but couldnt find anything that would allow me to
force a lower data rate.

Perhaps Sephe could provide a definte answer here?

Petr

#20 Updated by elekktretterr over 7 years ago

I assume a non-802.11 dump will will be the same but with you -y switch
right ?

Petr

#21 Updated by elekktretterr over 7 years ago

correction: same but without the -y switch.

#22 Updated by sepherosa over 7 years ago

That's for TX, and is for packets whose size <= 250bytes.

One thing that's is very strange is the NIC did recv mac frames sent
by 11g mode AP. I would suspect they were discarded by upper layer
because of csum error.

Best Regards,
sephe

#23 Updated by sepherosa over 7 years ago

ifconfig ath0 media DS5

to force TX at DSSS 5.5Mbps

Please refer ifmedia(4) for more information.

Best Regards,
sephe

#24 Updated by sepherosa over 7 years ago

Yeah

Best Regards,
sephe

#25 Updated by elekktretterr over 7 years ago

with the net.wlan.0.debug sysctl, i get these messages every now and then:

[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <895,1524>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <908,1527>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <979,2633>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1059,2877>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1061,2879>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1195,2924>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1280,2968>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1332,3221>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1380,3986>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1586,1586>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2545,2545>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2661,2661>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2663,2663>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2672,2672>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2983,2983>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2989,2989>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2993,2993>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3044,3835>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3059,3841>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3063,3843>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3064,3843>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3119,3874>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3517,3797>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <188,2048>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <189,2048>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <307,2073>
fragno <0,0> tid 0

Is it normal?

The tcpdump is coming soon...

Petr

#26 Updated by sepherosa over 7 years ago

All of the above lines are not normal

This group is normal.

And this group is abnormal too.

I suspect something happened to your AP periodically. How often did
above messages appear?

Best Regards,
sephe

#27 Updated by elekktretterr over 7 years ago

I turned the debug sysctl on during a a slowness, from there on just let
it go on.

Since i sent last email to bugs@ there has been more of them. (it
started on about 10 msg a minute)

[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <54,2016> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <206,2041>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <212,2042>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <337,2056>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <349,2059>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <422,2069>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <645,2120>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <705,2133>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1303,2319>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2111,2460>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2223,2488>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2963,2963>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2974,2974>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3054,3054>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3091,3091>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3143,3143>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3152,3152>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3159,3159>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3182,3182>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3186,3186>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3188,3188>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <0,611> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <633,4013>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <680,680> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <761,761> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <778,4047>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <805,4052>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <832,832> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <836,4057>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <841,841> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <844,844> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <850,850> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <864,864> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <867,867> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <869,869> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <874,874> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <876,4065>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <880,880> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <895,895> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <915,915> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <921,921> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <922,922> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <927,927> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <949,949> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1013,1013>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1043,1043>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1044,1044>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1052,1052>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1068,1068>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1074,1074>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1088,1088>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1107,1107>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1128,1128>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1131,1131>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1152,1152>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1166,1166>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1167,1167>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1170,1170>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1184,1184>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1187,1187>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1193,1193>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1196,1196>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1196,1196>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1206,1206>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1214,1214>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1280,1280>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1284,1284>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1292,1292>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1302,1302>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1316,1316>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1316,1316>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1331,1331>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1333,1333>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1346,1346>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1364,1364>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1370,1370>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1384,1384>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1402,1402>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1412,1412>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1435,1435>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1453,1453>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1474,1474>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1485,1485>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1493,1493>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1504,1504>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1544,1544>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1547,1547>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1573,1573>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1582,1582>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1616,1616>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1626,1626>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1652,1652>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1668,1668>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1681,1681>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1716,1716>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1719,1719>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1747,1747>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1762,1762>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1771,1771>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1772,1772>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1774,1774>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1789,1789>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1793,1793>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1811,1811>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1820,1820>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1847,1847>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1848,1848>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1870,1870>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1872,1872>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2528,2528>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2533,2533>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2541,2541>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2555,2555>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2571,2571>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2573,2573>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2606,2606>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2609,2609>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2622,2622>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2644,2644>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2660,2660>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2664,2664>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2683,2683>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2699,2699>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2702,2702>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2712,2712>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2731,2731>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <0,0> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2743,2743>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2751,2751>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2756,2756>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2758,2758>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2763,2763>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2786,2786>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2837,2837>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2864,2864>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2868,2868>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2874,2874>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2889,2889>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2920,2920>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2947,2947>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2971,2971>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2976,2976>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <2996,2996>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3007,3007>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3025,3025>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3049,3049>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3068,3068>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3097,3097>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3101,3101>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3148,3148>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3153,3153>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3201,3201>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3236,3236>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3267,3267>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3282,3282>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3306,3306>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3311,3311>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3320,3320>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3329,3329>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3332,3332>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3368,3368>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3370,3370>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <0,0> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3423,3423>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3425,3425>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3448,3448>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3480,3480>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3481,3481>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3489,3489>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3512,3512>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3533,3533>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3548,3548>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3569,3569>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3583,3583>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3610,3610>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <3625,3625>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard frame, multicast echo
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <0,0> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <4057,4057>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1,317> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <4,331> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <5,356> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <9,391> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <11,399> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <12,404> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <26,498> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <45,45> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <95,685> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <100,100> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <110,110> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <141,141> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <173,936> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <179,940> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <180,940> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <181,940> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <182,940> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <186,942> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <190,945> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <191,945> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <203,203> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <228,228> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <234,234> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <237,237> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <243,1099>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <248,248> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <274,1280>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <283,1322>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <286,1335>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <293,1360>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <294,1360>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <295,1363>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <296,1368>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <325,325> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <330,330> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <363,363> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <368,1613>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <369,1615>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <382,1629>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <384,1630>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <385,1633>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <388,1644>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <391,1651>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <395,1661>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <396,1661>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <399,1665>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <417,1684>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <418,1684>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <420,1701>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <421,1727>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <429,1766>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <430,1766>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <443,1774>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <444,1774>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <447,1777>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <448,1778>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <456,1785>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <495,495> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <515,515> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <524,524> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <530,530> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <533,533> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <553,553> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <554,554> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <556,556> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <563,563> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <564,564> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <569,569> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <581,581> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <591,591> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <594,594> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <0,0> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <598,598> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <619,619> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <625,625> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <649,649> fragno
<0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <748,2736>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <749,2736>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <750,2742>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <751,2751>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <756,2766>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <845,3356>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <849,3361>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <852,3368>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <876,3382>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <882,3387>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <889,3397>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <897,3403>
fragno <0,0> tid 0
[ath0:00:19:db:0a:39:e6] discard duplicate frame, seqno <1068,3648>
fragno <0,0> tid 0

As I said, in Windows there are no slowdowns even at 54Mbit

Petr

#28 Updated by sepherosa over 7 years ago

Following lines look interesting. AP seems to uniformly increase its
TX seq, but somehow our RX seq is mis-updated. Can you give me the
tcpdump (with -y ieee802_11) and log file (with time stamp)?

Best Regards,
sephe

#29 Updated by elekktretterr over 7 years ago

Do you need a tcpdump from during a slowdown or just any?

#30 Updated by sepherosa over 7 years ago

Does the "duplicate frame" log happen anytime? If it does, then you
can give me a log at anytime.

Best Regards,
sephe

#31 Updated by elekktretterr over 7 years ago

It happens everytime I try to browse websites, interestingly it seems
not to happen when i ping those sites.

http://www.punchyouremployer.com/files/dump80211.tgz (11mb)

and these 2 contain the wlan debug messages with timestamps:

http://www.punchyouremployer.com/files/messages.0.gz

http://www.punchyouremployer.com/files/messages.tgz (note the tar)

Cheers,
and let me know what you think.

Petr

#32 Updated by sepherosa over 7 years ago

Haha, the AP is broken. Its does not use single TX seq (as required
by 802.11-1999 R2003, same as 802.11e for non-Qos data and bcast mgt)
for data and mgt packets. Your AP seems to use one TX seq for beacon
(99% of mgt packets) and another TX seq for data. That also explains
why using lower rate will have better result: number of retries is
reduced and duplication detection is performed only on retried
packets.

Please test following patch and see whether it makes the situation
better in 11g mode:
http://leaf.dragonflybsd.org/~sephe/skip_beacon.diff

Best Regards,
sephe

#33 Updated by elekktretterr over 7 years ago

Testing now, will let you know of success or failure within the next day
or two. If this worked out to be the fix, I shall call you Sir Genius
from now on :D

Thanks!!!
Petr

#34 Updated by netslists over 7 years ago

Hopefully that will fix it. I'm a little puzzled by the tcp
conversations here. The remote server advertises an mss of 1420 (which
indicates an MTU of 1440) but the packets you receive is of size 1452
(which translates to mss 1432) indicating that mss is adjusted along the
way and that the path-mtu is lower than 1500. I'm not sure you're in the
clear with fragmentation/mtu related problems yet, but a TX seq problem
would definitely aggravate such a problem.

OTOH i might be misreading, misunderstanding or just plain stupid :)

#35 Updated by sepherosa over 7 years ago

Mmm, I think the MTU advertised by the remote server is 1460 (mss +
ip_hdr + tcp_hdr)

mss indicates that advertiser wants to receive in that size. It is
used to limit the segment size of other side. The mss advertised by
us is larger than server's mss, then I think whether the server want
to contraint the segment size to its own mss depends on server's TCP
implementation.

Best Regards,
sephe

#36 Updated by elekktretterr over 7 years ago

Hi Sephe/Sten/Matt and whoever has been so helpful,
Well Ive got good news. So far browsing has been pretty good.I havent
noticed any slowdowns to zero.

I think its safe to commit this fix.

Again, thanks so much, last couple of weeks made it almost impossible to
get through a day without going nuts over not being to reach data i needed.
If anymore problems arise I shall let you know.

Petr

#37 Updated by netslists over 7 years ago

yes
I forgot to mention that i was referring to the conversation between
192.168.1.50 <-> 140.211.166.170 found in "dumpradio.pcap".

Adjusting mss along the path is also common practice among internet
service providers who need to reduce path-mtu, to reduce or avoid
fragmentation. Unfortunately sometimes the provider will unconditionally
reset mss and not just adjust it to a lower value when it's too high.
Which is why i mentioned it.

#38 Updated by sepherosa over 7 years ago

Would you please tell me your AP's model? I suspect some of our NICs
hostap operation mode will show same symptom of your AP :(
I probably need to add a per iface sysctl to control whether we should
update our RX seq for beacons. Maybe it can be adaptive ...

Best Regards,
sephe

#40 Updated by elekktretterr over 7 years ago

Sephe,
Are you going to commit this fix?

Petr

#41 Updated by sepherosa over 7 years ago

Nuke the original patch and please test following one:
http://leaf.dragonflybsd.org/~sephe/ignore_bcnseq.diff

NOTE:
This time you need to
sysctl net.wlan.0.ignore_bcnseq=1

You probably want to put that in /etc/sysctl.conf

Best Regards,
sephe

#42 Updated by elekktretterr over 7 years ago

Hi, will try it soon.

Just out of curiosity, how is this patch better than the one before and
why is it better to use a sysctl: if there are other people with same
problem who do not necessarily browse the mailing list, they would have
hard time finding the sysctl which would fix the problem.

Thank you very much,

Petr

#43 Updated by sepherosa over 7 years ago

I have reread the related subclause, it seems standards allow STA to
ignore mcast/bcast's TX seq when detecting duplicated MAC frames; this
also means the sysctl may not be necessary at all.

Please nuke all old patches and test a new patch :)
http://leaf.dragonflybsd.org/~sephe/skip_multi.diff

No extra sysctl tuning is needed for this patch. And please make a
quickkernel at least, since in the last patch I changed layout of
ieee80211com and I reverted it in the above patch.

I will wait a week for your to test it.

Best Regards,
sephe

#44 Updated by sepherosa over 7 years ago

Does it work for you?

Best Regards,
sephe

#45 Updated by elekktretterr over 7 years ago

Seems to work fine ;)
Please commit.

Thank you lots again!

Petr

#46 Updated by elekktretterr over 7 years ago

In case you havent got my last email from a few days ago, yes you can
commit this fix.

Petr

#47 Updated by sepherosa over 7 years ago

I received your last email; I was just too lazy to commit it in time :P

Cheers,
sephe

Also available in: Atom PDF