[OpenWrt-Devel] ath9k: fix dynack in IBSS mode

Lorenzo Bianconi lorenzo.bianconi at redhat.com
Tue Jun 4 06:18:29 EDT 2019


> On Thu, Apr 4, 2019 at 12:20 AM Lorenzo Bianconi
> <lorenzo.bianconi at redhat.com> wrote:
> >
> > > On Wed, Apr 3, 2019 at 7:40 AM Lorenzo Bianconi
> > > <lorenzo.bianconi at redhat.com> wrote:
> > > >
> > > > >
> > > > > On Tue, Apr 2, 2019 at 11:45 PM Lorenzo Bianconi
> > > > > <lorenzo.bianconi at redhat.com> wrote:
> > > > > >
> > > > > > >
> > > > > > > On Sun, Mar 31, 2019 at 11:49 PM Lorenzo Bianconi
> > > > > > > <lorenzo.bianconi at redhat.com> wrote:
> > > > > > > >
> > > > > > > > >
> > > > > > > > > On Sun, Mar 31, 2019 at 12:15 PM Lorenzo Bianconi
> > > > > > > > > <lorenzo.bianconi at redhat.com> wrote:
> > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Sun, Mar 31, 2019 at 6:45 AM Lorenzo Bianconi
> > > > > > > > > > > <lorenzo.bianconi at redhat.com> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > bump.
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Joe,
> > > > > > > > > > > >
> > > > > > > > > > > > sorry for the delay
> > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Mon, Mar 18, 2019 at 10:59 PM Joe Ayers <joe at ayerscasa.com> wrote:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Lorenzo,  I have tested dynack on a (real distance apart) ~60km link
> > > > > > > > > > > > >> with some success.   This is the code change made:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> --- a/drivers/net/wireless/ath/ath9k/dynack.c
> > > > > > > > > > > > >> +++ b/drivers/net/wireless/ath/ath9k/dynack.c
> > > > > > > > > > > > >> @@ -20,8 +20,9 @@
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>  #define COMPUTE_TO (5 * HZ)
> > > > > > > > > > > > >>  #define LATEACK_DELAY (10 * HZ)
> > > > > > > > > > > > >> -#define LATEACK_TO 256
> > > > > > > > > > > > >> -#define MAX_DELAY 300
> > > > > > > > > > > > >> +#define LATEACK_TO 1054
> > > > > > > > > > > > >> +/* AREDN max distance set to 150km */
> > > > > > > > > > > > >> +#define MAX_DELAY 1054
> > > > > > > > > > > > >>  #define EWMA_LEVEL 96
> > > > > > > > > > > > >>  #define EWMA_DIV 128
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> @@ -293,7 +294,8 @@
> > > > > > > > > > > > >>  void ath_dynack_node_init(struct ath_hw *ah, struct ath_node *an)
> > > > > > > > > > > > >>  {
> > > > > > > > > > > > >>   /* ackto = slottime + sifs + air delay */
> > > > > > > > > > > > >> - u32 ackto = 9 + 16 + 64;
> > > > > > > > > > > > >> + /* AREDN starting point is 20km */
> > > > > > > > > > > > >> + u32 ackto = 9 + 16 + 171;
> > > > > > > > > > > > >>   struct ath_dynack *da = &ah->dynack;
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>   an->ackto = ackto;
> > > > > > > > > > > > >> @@ -328,7 +330,8 @@
> > > > > > > > > > > > >>  void ath_dynack_reset(struct ath_hw *ah)
> > > > > > > > > > > > >>  {
> > > > > > > > > > > > >>   /* ackto = slottime + sifs + air delay */
> > > > > > > > > > > > >> - u32 ackto = 9 + 16 + 64;
> > > > > > > > > > > > >> + /* AREDN starting point is 20km */
> > > > > > > > > > > > >> + u32 ackto = 9 + 16 + 171;
> > > > > > > > > > > > >>   struct ath_dynack *da = &ah->dynack;
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>   da->lto = jiffies;
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Notes:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> 1) The stations are showing ack_to between 525 up to 575 A.  When
> > > > > > > > > > > > >> static set at 60k distance, the timeout is set to 460 S.
> > > > > > > > > > > > >> 2) significant performance improvement between these settings with
> > > > > > > > > > > > >> iperf3 and back to back runs with reboot in the middle:
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > > > could you please try to attached patch? The max distance the hw can
> > > > > > > > > > > > support depends of channel width:
> > > > > > > > > > > > e.g @20MHz (HT20, 5GHz)
> > > > > > > > > > > >
> > > > > > > > > > > > max distance is ~ 61Km
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Could these max distance specs be what the manufacture tested, not
> > > > > > > > > > > necessarily a hardware limitation -- just not known?
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > https://github.com/torvalds/linux/blob/master/drivers/net/wireless/ath/ath9k/hw.c#L1006
> > > > > > > > > >
> > > > > > > > > > max timeout you can set is AR_TIME_OUT_ACK (0x3fff) / clock_rate
> > > > > > > > > >
> > > > > > > > > > > I suspect in the calculation for max_to, if the channel is 10MHz, the
> > > > > > > > > > > max distance can be doubled for the hardware--do the specs only give
> > > > > > > > > > > 20MHz values?   This would be consistent with, for example, the symbol
> > > > > > > > > > > lengths are doubled when cutting the bandwidth in half, hence half the
> > > > > > > > > > > rates and still 64 bins or 64 point fft squeezed in the channel.  SNR
> > > > > > > > > > > is also 3dB higher given same energy in half the bandwidth.  We don't
> > > > > > > > > > > see 20MHz channels working at these long distances, rather use 10MHz
> > > > > > > > > > > for it to work.  Intuitively, as I understand it, more time is needed
> > > > > > > > > > > with increased distance for reflection signals to not be received past
> > > > > > > > > > > the symbol time and increased inter-symbol interference.
> > > > > > > > > >
> > > > > > > > > > yes, but it is already done in ath9k_hw_set_clockrate()
> > > > > > > > > > https://github.com/torvalds/linux/blob/master/drivers/net/wireless/ath/ath9k/hw.c#L61
> > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > @Koen: do you have any chance to test the attached patch in your
> > > > > > > > > > > > environment? Thx
> > > > > > > > > > > >
> > > > > > > > > > > > >> run 1 @ static 60km:
> > > > > > > > > > > > >> [  5]   0.00-10.00  sec  7.31 MBytes  6.13 Mbits/sec    0             sender
> > > > > > > > > > > > >> [  5]   0.00-10.08  sec  7.16 MBytes  5.95 Mbits/sec                  receiver
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> run 2 @ static 60km:
> > > > > > > > > > > > >> [  5]   0.00-10.00  sec  5.88 MBytes  4.93 Mbits/sec    0             sender
> > > > > > > > > > > > >> [  5]   0.00-10.04  sec  5.77 MBytes  4.81 Mbits/sec                  receiver
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> run 1 and 2 @ auto distance -- goes up to ~575us with data flow,
> > > > > > > > > > > > >> floats back to ~525 otherwise:
> > > > > > > > > > > > >> [  5]   0.00-10.00  sec  20.0 MBytes  16.8 Mbits/sec    0             sender
> > > > > > > > > > > > >> [  5]   0.00-10.07  sec  19.8 MBytes  16.5 Mbits/sec                  receiver
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> [  5]   0.00-10.00  sec  21.4 MBytes  18.0 Mbits/sec    0             sender
> > > > > > > > > > > > >> [  5]   0.00-10.04  sec  21.2 MBytes  17.7 Mbits/sec                  receiver
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> 3) running wpa_supplicant and psk2
> > > > > > > > > > > > >> 4) running ibss on ch 176 with AREDN channels on top of 18.06.2
> > > > > > > > > > > > >> 5) on one reboot, one of the stations stayed down at initial 196, then
> > > > > > > > > > > > >> bumped up to ~250 range and stayed there, link not functional.  Not
> > > > > > > > > > > > >> sure how to explain this value...
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Question,  can this condition be true periodically while the link is
> > > > > > > > > > > > >> live or only at initial 802.11 adhoc link setup?:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>                 if (ieee80211_is_assoc_req(hdr->frame_control) ||
> > > > > > > > > > > > >>                     ieee80211_is_assoc_resp(hdr->frame_control) ||
> > > > > > > > > > > > >>                     ieee80211_is_auth(hdr->frame_control)) {
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > > > I do not think so since AFAIK auth frames are sent just during ibss join
> > > > > > > > > > > >
> > > > > > > > > > > > >> 6)  Auto distance stayed at initial 196 when turning off encryption.
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> Any ideas of alternative options of packets to key off in late ack
> > > > > > > > > > > > >> situation?   running wpad-mini is ~500k file size and RAM consumer.
> > > > > > > > > > > > >> It would be beneficial to take wpa_supplicant out of the equation if
> > > > > > > > > > > > >> at all possible.
> > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > > > > What is mandatory are unicast frames during joining phase, maybe you can
> > > > > > > > > > > > develop an userspace daemon for this purpose
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > I see where you're going with this.   I'd have to learn a lot to do
> > > > > > > > > > > this.  Possibly a simpler approach, if it doesn't add too much
> > > > > > > > > > > penalty.  What if the initial ack_to is at max, it quickly settles
> > > > > > > > > > > down to measured, then after some criteria, time or # acks received,
> > > > > > > > > > > say ~15 seconds has elapsed  a cycle is triggered back to max ack_to.
> > > > > > > > > > >  This should catch new stations joining at farther distances when wpad
> > > > > > > > > > > is not used.
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > I am a little bit concerned about short/medium distance links with high LER.
> > > > > > > > > > Is the attached patch working?
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > Lorenzo
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > I did not have success on the patch on 60km link @ 10MHz channel with
> > > > > > > > > encryption.  I need to double-check, tomorrow, to have confidence
> > > > > > > > > something wasn't overlooked.   After I turned on debug, here's what
> > > > > > > > > the log looked like, ack_to stayed too short (from memory) "89 A".
> > > > > > > >
> > > > > > > > Are you sure wpa_supplicant is running properly? I can't see any
> > > > > > > > 'late_ack' in the log.
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Lorenzo
> > > > > > > >
> > > > > > >
> > > > > > > OK, double checked everything and have success this time.   Summary of results:
> > > > > > >
> > > > > > > * ~60km link is working with your code changes.
> > > > > > > * The max_to in 10MHz channel is determined to be 744 (we will be
> > > > > > > pushing this limit...)
> > > > > > > * I probably didn't  wait long enough before...   Would making initial
> > > > > > > ack_to = max_to solve wait time, if it doesn't cause issues for
> > > > > > > short/medium distances?
> > > > > > >
> > > > > >
> > > > > > I do not agree, it is just a way to disable 'late ack' tracking
> > > > > >
> > > > > > > both stations booted same time, turn on debugging, all is OK and stable
> > > > > > > [  339.340507] ath: phy0: 44:d9:e7:c0:15:4d to 520 [522]
> > > > > > > [  339.817825] ath: phy0: rx sample 299300118 [h 36-t 37]
> > > > > > > [  339.817905] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 299299549 [dur
> > > > > > > 48][h 21-t 22]
> > > > > > > [  339.817923] ath: phy0: ack_ts 299300118 st_ts 299299549 st_dur 48
> > > > > > > [36-21] max_to 744
> > > > > > > [  339.817959] ath: phy0: 44:d9:e7:c0:15:4d to 520 [521]
> > > > > > >
> > > > > > > remote sta rebooted at this point and  auto distance flipped to static
> > > > > > > back to auto here
> > > > > > > waiting for reboot...
> > > > > > > waiting even longer...
> > > > > > >
> > > > > >
> > > > > > What do you mean with 'even longer'? How long does it take to converge
> > > > > > to the correct value?
> > > > > > If the delay is 600s something will not work properly.
> > > > > > Is the link working every time with the patch I attached?
> > > > > >
> > > > > > Regards,
> > > > > > Lorenzo
> > > > > >
> > > > >
> > > > > Remote station was rebooted and last debug log of received data was [
> > > > > 339.817959].
> > > > > ~30 seconds to reboot, then next debug log of received data was [  644.262302]
> > > > >
> > > > > The configuration is using OLSR to set routing tables.  There would
> > > > > not be a route for unicast IP
> > > > > traffic at the timing of the 802.11n adhoc layer establishing a
> > > > > connection. Then, OLSR is udp broadcasting
> > > > > to discover a neighbor station, followed by an exchange of routing
> > > > > information.  With  ~1000 route table entries,
> > > > > it can take a ~minute to get all the route information settled down.
> > > > > The wifi interface has static IP definition.
> > > > >
> > > > > I will do more testing to determine if behavior is consistent.
> > > > >
> > > >
> > > > ack, if you confirm it works, I will post the patch
> > > >
> > >
> > > Lorenzo,  not good news.   When both nodes are booted at the same
> > > time, they sometime connect and ack_to correctly synced in the ~525
> > > range on both sides.  But there are instances where one or both sides
> > > stay at "89 A", then might jump to "2xx A" and stays there.     If
> > > they are booted and working properly, if one side is rebooted, ack_to
> > > stays at "89 A" or "2xx A"  -- at least 6 tests of this.   The same
> > > result occurs if distance is set static then back to auto on a live
> > > node.
> >
> > Hi,
> >
> > first of all thx a lot for testing :)
> > Could you please provide me the dynack log output when the system is not
> > working? (when the ack timeout does not converge, 89 A or 2xx A)
> >
> > Regards,
> > Lorenzo
> >
> 

Hi Joe,

> Lorenzo,  I deployed an ath9k auto distance solution in April that is
> working for the AREDN community http://www.arednmesh.org .
> 
> https://github.com/aredn/aredn_ar71xx/blob/develop/patches/712-auto-distance-settings.patch
> 
> Summary of solution:
> 
> * no dependency on wpa_supplicant
> * initial ack_to is set to max,  to not enter late ack conditions
> * User level trigger to flip distance setting to static and back to
> auto when new 802.11 adhoc neighbor joins. (we archive and chart SNR
> values for neighbors and natural to hook in this trigger).

Have you initialized the ackto to the max value to remove wpa_supplicant
dependency or because the system is not able to trigger the 'late ack'?
I did not get why you need to flip the algo off/on when new 802.11 adhoc
neighbor joins

Regards,
Lorenzo

> 
> Findings:
> 
> 1) Throughput of P2P links greatly improved, by upwards of 50% iperf
> results. ack_to value increases by ~20% under load and floats back
> down closer to physical distance value under lite load.  From prior
> tests, the throughput on a ~60km link compares directly with AirOS
> TDMA P2P, although needs confirmation.   Best Value use case.
> 
> 2) P2MP thoughput has mixed results.  Negative influencing factor
> appears to be if there are low SNR neighbors.  The symptom is a wide
> range of ack_to values, sometimes double the ack_to value, between
> successive values from the same neighbor.  Auto Distance may or may
> not improve over static.
> 
> 3) short distance (inside the home) ack_to values are 5km+.
> Throughput is lower than setting to a static value.  Auto distance
> does not add value.
> 
> 4) Low SNR neighbors may not change from initial ack_to setting.
> Added code change to ignore neighbors at max ack_to when determining
> farthest distance to set ack_to.
> 
> 5) mobile environment not yet tested, but will in time.
> 
> Joe AE6XE
> 
> > >
> > > > > question:
> > > > > ack_ts = timestamp of the received 'ack'
> > > >
> > > > yes
> > > >
> > > > > st_ts = timestamp sending data to the remote station?
> > > >
> > > > yes
> > > >
> > > > > st_dur = length of time processing beyond air time?
> > > >
> > > > frame tx time
> > > >
> > > > >
> > > > > How could ack_ts be before st_ts on many log entries?.  Not the same
> > > > > round trip pair?
> > > >
> > > >  ack timeout was too low for that frame
> > > >
> > > > Regards,
> > > > Lorenzo
> > > >
> > > > >
> > > > > > > [  644.262302] ath: phy0: rx sample 603744259 [h 0-t 1]
> > > > > > > [  644.264031] ath: phy0: rx sample 603746028 [h 0-t 2]
> > > > > > > [  644.267114] ath: phy0: rx sample 603749107 [h 0-t 3]
> > > > > > > [  644.278900] ath: phy0: rx sample 603760863 [h 0-t 4]
> > > > > > > [  644.299039] ath: phy0: rx sample 603780986 [h 0-t 5]
> > > > > > > [  644.342403] ath: phy0: rx sample 603824358 [h 0-t 6]
> > > > > > > [  644.375579] ath: phy0: rx sample 603857539 [h 0-t 7]
> > > > > > > [  644.401691] ath: phy0: rx sample 603883636 [h 0-t 8]
> > > > > > > [  644.409212] ath: phy0: rx sample 603891183 [h 0-t 9]
> > > > > > > [  645.264002] ath: phy0: rx sample 604745956 [h 0-t 10]
> > > > > > > [  645.266158] ath: phy0: rx sample 604748155 [h 0-t 11]
> > > > > > > [  645.269178] ath: phy0: rx sample 604751171 [h 0-t 12]
> > > > > > > [  645.272616] ath: phy0: rx sample 604754574 [h 0-t 13]
> > > > > > > [  645.274497] ath: phy0: rx sample 604756481 [h 0-t 14]
> > > > > > > [  645.289603] ath: phy0: rx sample 604771574 [h 0-t 15]
> > > > > > > [  645.317443] ath: phy0: rx sample 604799361 [h 0-t 16]
> > > > > > > [  645.342753] ath: phy0: rx sample 604824675 [h 0-t 17]
> > > > > > > [  645.380092] ath: phy0: rx sample 604862005 [h 0-t 18]
> > > > > > > [  645.382277] ath: phy0: rx sample 604864222 [h 0-t 19]
> > > > > > > [  646.361902] ath: phy0: rx sample 605843815 [h 0-t 20]
> > > > > > > [  646.379173] ath: phy0: rx sample 605861106 [h 0-t 21]
> > > > > > > [  647.267357] ath: phy0: rx sample 606749284 [h 0-t 22]
> > > > > > > [  647.270280] ath: phy0: rx sample 606752217 [h 0-t 23]
> > > > > > > [  647.271846] ath: phy0: rx sample 606753815 [h 0-t 24]
> > > > > > > [  647.281800] ath: phy0: rx sample 606763721 [h 0-t 25]
> > > > > > > [  647.295926] ath: phy0: rx sample 606777865 [h 0-t 26]
> > > > > > > [  647.306798] ath: phy0: rx sample 606788726 [h 0-t 27]
> > > > > > > [  647.328574] ath: phy0: rx sample 606810510 [h 0-t 28]
> > > > > > > [  647.341512] ath: phy0: rx sample 606823450 [h 0-t 29]
> > > > > > > [  647.359945] ath: phy0: rx sample 606841877 [h 0-t 30]
> > > > > > > [  648.268526] ath: phy0: rx sample 607750431 [h 0-t 31]
> > > > > > > [  648.270315] ath: phy0: rx sample 607752248 [h 0-t 32]
> > > > > > > [  648.273354] ath: phy0: rx sample 607755322 [h 0-t 33]
> > > > > > > [  648.276563] ath: phy0: rx sample 607758531 [h 0-t 34]
> > > > > > > [  648.298305] ath: phy0: rx sample 607780232 [h 0-t 35]
> > > > > > > [  648.333118] ath: phy0: rx sample 607815048 [h 0-t 36]
> > > > > > > [  648.360147] ath: phy0: rx sample 607842085 [h 0-t 37]
> > > > > > > [  648.368375] ath: phy0: rx sample 607850318 [h 0-t 38]
> > > > > > > [  648.383082] ath: phy0: rx sample 607865002 [h 0-t 39]
> > > > > > > [  658.403020] ath: phy0: rx sample 617884931 [h 0-t 40]
> > > > > > > [  658.403811] ath: phy0: rx sample 617885784 [h 0-t 41]
> > > > > > > [  658.404643] ath: phy0: rx sample 617886788 [h 0-t 42]
> > > > > > > [  658.407379] ath: phy0: rx sample 617889332 [h 0-t 43]
> > > > > > > [  658.419606] ath: phy0: rx sample 617901545 [h 0-t 44]
> > > > > > > [  658.421322] ath: phy0: rx sample 617903258 [h 0-t 45]
> > > > > > > [  658.466056] ath: phy0: rx sample 617947993 [h 0-t 46]
> > > > > > > [  658.494433] ath: phy0: rx sample 617976380 [h 0-t 47]
> > > > > > > [  658.497675] ath: phy0: rx sample 617979642 [h 0-t 48]
> > > > > > > [  658.520552] ath: phy0: late ack
> > > > > > > [  658.521240] ath: phy0: rx sample 618003158 [h 0-t 49]
> > > > > > > [  658.524545] ath: phy0: rx sample 618006759 [h 0-t 50]
> > > > > > > [  658.524589] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 618005837 [dur
> > > > > > > 232][h 0-t 1]
> > > > > > > [  658.524607] ath: phy0: ack_ts 603744259 st_ts 618005837 st_dur 232
> > > > > > > [0-0] max_to 744
> > > > > > > [  658.524624] ath: phy0: ack_ts 603746028 st_ts 618005837 st_dur 232
> > > > > > > [1-0] max_to 744
> > > > > > > [  658.524640] ath: phy0: ack_ts 603749107 st_ts 618005837 st_dur 232
> > > > > > > [2-0] max_to 744
> > > > > > > [  658.524657] ath: phy0: ack_ts 603760863 st_ts 618005837 st_dur 232
> > > > > > > [3-0] max_to 744
> > > > > > > [  658.524674] ath: phy0: ack_ts 603780986 st_ts 618005837 st_dur 232
> > > > > > > [4-0] max_to 744
> > > > > > > [  658.524690] ath: phy0: ack_ts 603824358 st_ts 618005837 st_dur 232
> > > > > > > [5-0] max_to 744
> > > > > > > [  658.524707] ath: phy0: ack_ts 603857539 st_ts 618005837 st_dur 232
> > > > > > > [6-0] max_to 744
> > > > > > > [  658.524724] ath: phy0: ack_ts 603883636 st_ts 618005837 st_dur 232
> > > > > > > [7-0] max_to 744
> > > > > > > [  658.524741] ath: phy0: ack_ts 603891183 st_ts 618005837 st_dur 232
> > > > > > > [8-0] max_to 744
> > > > > > > [  658.524757] ath: phy0: ack_ts 604745956 st_ts 618005837 st_dur 232
> > > > > > > [9-0] max_to 744
> > > > > > > [  658.524774] ath: phy0: ack_ts 604748155 st_ts 618005837 st_dur 232
> > > > > > > [10-0] max_to 744
> > > > > > > [  658.524791] ath: phy0: ack_ts 604751171 st_ts 618005837 st_dur 232
> > > > > > > [11-0] max_to 744
> > > > > > > [  658.524808] ath: phy0: ack_ts 604754574 st_ts 618005837 st_dur 232
> > > > > > > [12-0] max_to 744
> > > > > > > [  658.524825] ath: phy0: ack_ts 604756481 st_ts 618005837 st_dur 232
> > > > > > > [13-0] max_to 744
> > > > > > > [  658.524841] ath: phy0: ack_ts 604771574 st_ts 618005837 st_dur 232
> > > > > > > [14-0] max_to 744
> > > > > > > [  658.524858] ath: phy0: ack_ts 604799361 st_ts 618005837 st_dur 232
> > > > > > > [15-0] max_to 744
> > > > > > > [  658.524875] ath: phy0: ack_ts 604824675 st_ts 618005837 st_dur 232
> > > > > > > [16-0] max_to 744
> > > > > > > [  658.524892] ath: phy0: ack_ts 604862005 st_ts 618005837 st_dur 232
> > > > > > > [17-0] max_to 744
> > > > > > > [  658.524908] ath: phy0: ack_ts 604864222 st_ts 618005837 st_dur 232
> > > > > > > [18-0] max_to 744
> > > > > > > [  658.524925] ath: phy0: ack_ts 605843815 st_ts 618005837 st_dur 232
> > > > > > > [19-0] max_to 744
> > > > > > > [  658.524942] ath: phy0: ack_ts 605861106 st_ts 618005837 st_dur 232
> > > > > > > [20-0] max_to 744
> > > > > > > [  658.524959] ath: phy0: ack_ts 606749284 st_ts 618005837 st_dur 232
> > > > > > > [21-0] max_to 744
> > > > > > > [  658.524975] ath: phy0: ack_ts 606752217 st_ts 618005837 st_dur 232
> > > > > > > [22-0] max_to 744
> > > > > > > [  658.524992] ath: phy0: ack_ts 606753815 st_ts 618005837 st_dur 232
> > > > > > > [23-0] max_to 744
> > > > > > > [  658.525009] ath: phy0: ack_ts 606763721 st_ts 618005837 st_dur 232
> > > > > > > [24-0] max_to 744
> > > > > > > [  658.525026] ath: phy0: ack_ts 606777865 st_ts 618005837 st_dur 232
> > > > > > > [25-0] max_to 744
> > > > > > > [  658.525042] ath: phy0: ack_ts 606788726 st_ts 618005837 st_dur 232
> > > > > > > [26-0] max_to 744
> > > > > > > [  658.525059] ath: phy0: ack_ts 606810510 st_ts 618005837 st_dur 232
> > > > > > > [27-0] max_to 744
> > > > > > > [  658.525076] ath: phy0: ack_ts 606823450 st_ts 618005837 st_dur 232
> > > > > > > [28-0] max_to 744
> > > > > > > [  658.525093] ath: phy0: ack_ts 606841877 st_ts 618005837 st_dur 232
> > > > > > > [29-0] max_to 744
> > > > > > > [  658.525110] ath: phy0: ack_ts 607750431 st_ts 618005837 st_dur 232
> > > > > > > [30-0] max_to 744
> > > > > > > [  658.525126] ath: phy0: ack_ts 607752248 st_ts 618005837 st_dur 232
> > > > > > > [31-0] max_to 744
> > > > > > > [  658.525143] ath: phy0: ack_ts 607755322 st_ts 618005837 st_dur 232
> > > > > > > [32-0] max_to 744
> > > > > > > [  658.525160] ath: phy0: ack_ts 607758531 st_ts 618005837 st_dur 232
> > > > > > > [33-0] max_to 744
> > > > > > > [  658.525177] ath: phy0: ack_ts 607780232 st_ts 618005837 st_dur 232
> > > > > > > [34-0] max_to 744
> > > > > > > [  658.525194] ath: phy0: ack_ts 607815048 st_ts 618005837 st_dur 232
> > > > > > > [35-0] max_to 744
> > > > > > > [  658.525210] ath: phy0: ack_ts 607842085 st_ts 618005837 st_dur 232
> > > > > > > [36-0] max_to 744
> > > > > > > [  658.525227] ath: phy0: ack_ts 607850318 st_ts 618005837 st_dur 232
> > > > > > > [37-0] max_to 744
> > > > > > > [  658.525244] ath: phy0: ack_ts 607865002 st_ts 618005837 st_dur 232
> > > > > > > [38-0] max_to 744
> > > > > > > [  658.525260] ath: phy0: ack_ts 617884931 st_ts 618005837 st_dur 232
> > > > > > > [39-0] max_to 744
> > > > > > > [  658.525277] ath: phy0: ack_ts 617885784 st_ts 618005837 st_dur 232
> > > > > > > [40-0] max_to 744
> > > > > > > [  658.525294] ath: phy0: ack_ts 617886788 st_ts 618005837 st_dur 232
> > > > > > > [41-0] max_to 744
> > > > > > > [  658.525311] ath: phy0: ack_ts 617889332 st_ts 618005837 st_dur 232
> > > > > > > [42-0] max_to 744
> > > > > > > [  658.525328] ath: phy0: ack_ts 617901545 st_ts 618005837 st_dur 232
> > > > > > > [43-0] max_to 744
> > > > > > > [  658.525344] ath: phy0: ack_ts 617903258 st_ts 618005837 st_dur 232
> > > > > > > [44-0] max_to 744
> > > > > > > [  658.525361] ath: phy0: ack_ts 617947993 st_ts 618005837 st_dur 232
> > > > > > > [45-0] max_to 744
> > > > > > > [  658.525378] ath: phy0: ack_ts 617976380 st_ts 618005837 st_dur 232
> > > > > > > [46-0] max_to 744
> > > > > > > [  658.525394] ath: phy0: ack_ts 617979642 st_ts 618005837 st_dur 232
> > > > > > > [47-0] max_to 744
> > > > > > > [  658.525411] ath: phy0: ack_ts 618003158 st_ts 618005837 st_dur 232
> > > > > > > [48-0] max_to 744
> > > > > > > [  658.525428] ath: phy0: ack_ts 618006759 st_ts 618005837 st_dur 232
> > > > > > > [49-0] max_to 744
> > > > > > > [  658.525441] ath: phy0: 44:d9:e7:c0:15:4d to 690 [690]
> > > > > > > [  658.535536] ath: phy0: rx sample 618017698 [h 50-t 51]
> > > > > > > [  658.535619] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 618016720 [dur
> > > > > > > 256][h 1-t 2]
> > > > > > > [  658.535636] ath: phy0: ack_ts 618017698 st_ts 618016720 st_dur 256
> > > > > > > [50-1] max_to 744
> > > > > > > [  658.535649] ath: phy0: 44:d9:e7:c0:15:4d to 698 [722]
> > > > > > > [  658.542894] ath: phy0: rx sample 618025043 [h 51-t 52]
> > > > > > > [  658.542985] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 618023968 [dur
> > > > > > > 304][h 2-t 3]
> > > > > > > [  658.543002] ath: phy0: ack_ts 618025043 st_ts 618023968 st_dur 304
> > > > > > > [51-2] max_to 744
> > > > > > > [  658.548405] ath: phy0: rx sample 618030575 [h 51-t 53]
> > > > > > > [  658.548479] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 618029652 [dur
> > > > > > > 232][h 3-t 4]
> > > > > > > [  658.548496] ath: phy0: ack_ts 618025043 st_ts 618029652 st_dur 232
> > > > > > > [51-3] max_to 744
> > > > > > > [  658.548513] ath: phy0: ack_ts 618030575 st_ts 618029652 st_dur 232
> > > > > > > [52-3] max_to 744
> > > > > > > [  658.548527] ath: phy0: 44:d9:e7:c0:15:4d to 696 [691]
> > > > > > > [  675.473873] ath: phy0: rx sample 634956047 [h 53-t 54]
> > > > > > > [  675.473948] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 634955445 [dur
> > > > > > > 56][h 4-t 5]
> > > > > > > [  675.473966] ath: phy0: ack_ts 634956047 st_ts 634955445 st_dur 56
> > > > > > > [53-4] max_to 744
> > > > > > > [  675.473979] ath: phy0: 44:d9:e7:c0:15:4d to 658 [546]
> > > > > > > [  675.473990] ath: phy0: ACK timeout 658 slottime 327
> > > > > > > [  675.479661] ath: phy0: rx sample 634961869 [h 54-t 55]
> > > > > > > [  675.479712] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 634961211 [dur
> > > > > > > 96][h 5-t 6]
> > > > > > > [  675.479729] ath: phy0: ack_ts 634961869 st_ts 634961211 st_dur 96
> > > > > > > [54-5] max_to 744
> > > > > > > [  675.479742] ath: phy0: 44:d9:e7:c0:15:4d to 634 [562]
> > > > > > > [  675.491078] ath: phy0: rx sample 634973253 [h 55-t 56]
> > > > > > > [  675.491155] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 634972643 [dur
> > > > > > > 64][h 6-t 7]
> > > > > > > [  675.491173] ath: phy0: ack_ts 634973253 st_ts 634972643 st_dur 64
> > > > > > > [55-6] max_to 744
> > > > > > > [  675.491186] ath: phy0: 44:d9:e7:c0:15:4d to 612 [546]
> > > > > > > [  675.528756] ath: phy0: rx sample 635010935 [h 56-t 57]
> > > > > > > [  675.528818] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 635009773 [dur
> > > > > > > 320][h 7-t 8]
> > > > > > > [  675.528836] ath: phy0: ack_ts 635010935 st_ts 635009773 st_dur 320
> > > > > > > [56-7] max_to 744
> > > > > > > [  675.937714] ath: phy0: rx sample 635419888 [h 56-t 58]
> > > > > > > [  675.937790] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 635419319 [dur
> > > > > > > 48][h 8-t 9]
> > > > > > > [  675.937807] ath: phy0: ack_ts 635010935 st_ts 635419319 st_dur 48
> > > > > > > [56-8] max_to 744
> > > > > > > [  675.937824] ath: phy0: ack_ts 635419888 st_ts 635419319 st_dur 48
> > > > > > > [57-8] max_to 744
> > > > > > > [  675.937838] ath: phy0: 44:d9:e7:c0:15:4d to 589 [521]
> > > > > > > [  675.940082] ath: phy0: rx sample 635422211 [h 58-t 59]
> > > > > > > [  675.940152] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 635421555 [dur
> > > > > > > 96][h 9-t 10]
> > > > > > > [  675.940169] ath: phy0: ack_ts 635422211 st_ts 635421555 st_dur 96
> > > > > > > [58-9] max_to 744
> > > > > > > [  675.940182] ath: phy0: 44:d9:e7:c0:15:4d to 581 [560]
> > > > > > > [  676.324497] ath: phy0: rx sample 635806674 [h 59-t 60]
> > > > > > > [  676.324575] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 635806105 [dur
> > > > > > > 48][h 10-t 11]
> > > > > > > [  676.324593] ath: phy0: ack_ts 635806674 st_ts 635806105 st_dur 48
> > > > > > > [59-10] max_to 744
> > > > > > > [  676.324606] ath: phy0: 44:d9:e7:c0:15:4d to 566 [521]
> > > > > > > [  676.788108] ath: phy0: rx sample 636270284 [h 60-t 61]
> > > > > > > [  676.788185] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 636269715 [dur
> > > > > > > 48][h 11-t 12]
> > > > > > > [  676.788203] ath: phy0: ack_ts 636270284 st_ts 636269715 st_dur 48
> > > > > > > [60-11] max_to 744
> > > > > > > [  676.788217] ath: phy0: 44:d9:e7:c0:15:4d to 554 [521]
> > > > > > > [  676.845108] ath: phy0: rx sample 636327291 [h 61-t 62]
> > > > > > > [  676.845179] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 636326720 [dur
> > > > > > > 48][h 12-t 13]
> > > > > > > [  676.845197] ath: phy0: ack_ts 636327291 st_ts 636326720 st_dur 48
> > > > > > > [61-12] max_to 744
> > > > > > > [  676.845211] ath: phy0: 44:d9:e7:c0:15:4d to 546 [523]
> > > > > > > [  677.266082] ath: phy0: rx sample 636748260 [h 62-t 63]
> > > > > > > [  677.266181] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 636747689 [dur
> > > > > > > 48][h 13-t 14]
> > > > > > > [  677.266199] ath: phy0: ack_ts 636748260 st_ts 636747689 st_dur 48
> > > > > > > [62-13] max_to 744
> > > > > > > [  677.266212] ath: phy0: 44:d9:e7:c0:15:4d to 540 [523]
> > > > > > > [  678.517030] ath: phy0: rx sample 637999206 [h 63-t 0]
> > > > > > > [  678.517103] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 637998637 [dur
> > > > > > > 48][h 14-t 15]
> > > > > > > [  678.517120] ath: phy0: ack_ts 637999206 st_ts 637998637 st_dur 48
> > > > > > > [63-14] max_to 744
> > > > > > > [  678.517134] ath: phy0: 44:d9:e7:c0:15:4d to 535 [521]
> > > > > > > [  679.538900] ath: phy0: rx sample 639021067 [h 0-t 1]
> > > > > > > [  679.538984] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 639020497 [dur
> > > > > > > 48][h 15-t 16]
> > > > > > > [  679.539001] ath: phy0: ack_ts 639021067 st_ts 639020497 st_dur 48
> > > > > > > [0-15] max_to 744
> > > > > > > [  679.539014] ath: phy0: 44:d9:e7:c0:15:4d to 531 [522]
> > > > > > > [  679.864056] ath: phy0: rx sample 639346215 [h 1-t 2]
> > > > > > > [  679.864135] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 639345557 [dur
> > > > > > > 96][h 16-t 17]
> > > > > > > [  679.864153] ath: phy0: ack_ts 639346215 st_ts 639345557 st_dur 96
> > > > > > > [1-16] max_to 744
> > > > > > > [  679.864200] ath: phy0: 44:d9:e7:c0:15:4d to 538 [562]
> > > > > > > [  679.877200] ath: phy0: rx sample 639359366 [h 2-t 3]
> > > > > > > [  679.877277] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 639358795 [dur
> > > > > > > 48][h 17-t 18]
> > > > > > > [  679.877295] ath: phy0: ack_ts 639359366 st_ts 639358795 st_dur 48
> > > > > > > [2-17] max_to 744
> > > > > > > [  679.877308] ath: phy0: 44:d9:e7:c0:15:4d to 534 [523]
> > > > > > > [  679.880201] ath: phy0: rx sample 639362344 [h 3-t 4]
> > > > > > > [  679.880279] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 639361686 [dur
> > > > > > > 96][h 18-t 19]
> > > > > > > [  679.880296] ath: phy0: ack_ts 639362344 st_ts 639361686 st_dur 96
> > > > > > > [3-18] max_to 744
> > > > > > > [  679.880309] ath: phy0: 44:d9:e7:c0:15:4d to 541 [562]
> > > > > > > [  680.510777] ath: phy0: rx sample 639992947 [h 4-t 5]
> > > > > > > [  680.510853] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 639992377 [dur
> > > > > > > 48][h 19-t 20]
> > > > > > > [  680.510870] ath: phy0: ack_ts 639992947 st_ts 639992377 st_dur 48
> > > > > > > [4-19] max_to 744
> > > > > > > [  680.510883] ath: phy0: 44:d9:e7:c0:15:4d to 536 [522]
> > > > > > > [  680.510894] ath: phy0: ACK timeout 536 slottime 266
> > > > > > > [  680.510883] ath: phy0: 44:d9:e7:c0:15:4d to 536 [522]
> > > > > > > [  680.510894] ath: phy0: ACK timeout 536 slottime 266
> > > > > > > [  680.848227] ath: phy0: rx sample 640330408 [h 5-t 6]
> > > > > > > [  680.848308] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 640329837 [dur
> > > > > > > 48][h 20-t 21]
> > > > > > > [  680.848326] ath: phy0: ack_ts 640330408 st_ts 640329837 st_dur 48
> > > > > > > [5-20] max_to 744
> > > > > > > [  680.848339] ath: phy0: 44:d9:e7:c0:15:4d to 532 [523]
> > > > > > > [  681.455324] ath: phy0: rx sample 640937504 [h 6-t 7]
> > > > > > > [  681.455401] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 640936934 [dur
> > > > > > > 48][h 21-t 22]
> > > > > > > [  681.455418] ath: phy0: ack_ts 640937504 st_ts 640936934 st_dur 48
> > > > > > > [6-21] max_to 744
> > > > > > > [  681.455432] ath: phy0: 44:d9:e7:c0:15:4d to 529 [522]
> > > > > > > [  681.654238] ath: phy0: rx sample 641136419 [h 7-t 8]
> > > > > > > [  681.654313] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 641135817 [dur
> > > > > > > 64][h 22-t 23]
> > > > > > > [  681.654331] ath: phy0: ack_ts 641136419 st_ts 641135817 st_dur 64
> > > > > > > [7-22] max_to 744
> > > > > > > [  681.654344] ath: phy0: 44:d9:e7:c0:15:4d to 531 [538]
> > > > > > > [  682.170862] ath: phy0: rx sample 641653035 [h 8-t 9]
> > > > > > > [  682.170944] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 641652465 [dur
> > > > > > > 48][h 23-t 24]
> > > > > > > [  682.170962] ath: phy0: ack_ts 641653035 st_ts 641652465 st_dur 48
> > > > > > > [8-23] max_to 744
> > > > > > > [  682.170975] ath: phy0: 44:d9:e7:c0:15:4d to 528 [522]
> > > > > > > [  682.225275] ath: phy0: rx sample 641707445 [h 9-t 10]
> > > > > > > [  682.225355] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 641706876 [dur
> > > > > > > 48][h 24-t 25]
> > > > > > > [  682.225373] ath: phy0: ack_ts 641707445 st_ts 641706876 st_dur 48
> > > > > > > [9-24] max_to 744
> > > > > > > [  682.225386] ath: phy0: 44:d9:e7:c0:15:4d to 526 [521]
> > > > > > > [  682.609319] ath: phy0: rx sample 642091496 [h 10-t 11]
> > > > > > > [  682.609397] ath: phy0: {44:d9:e7:c0:15:4d} tx sample 642090926 [dur
> > > > > > > 48][h 25-t 26]
> > > > > > > [  682.609415] ath: phy0: ack_ts 642091496 st_ts 642090926 st_dur 48
> > > > > > > [10-25] max_to 744
> > > > > > > [  682.609428] ath: phy0: 44:d9:e7:c0:15:4d to 525 [522]
> > > > > > > ...
> > > > > > >
> > > > > > > Joe AE6XE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20190604/59ab346d/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list