[OpenWrt-Devel] ath9k: fix dynack in IBSS mode
Joe Ayers
joe at ayerscasa.com
Wed Apr 3 09:44:34 EDT 2019
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.
question:
ack_ts = timestamp of the received 'ack'
st_ts = timestamp sending data to the remote station?
st_dur = length of time processing beyond air time?
How could ack_ts be before st_ts on many log entries?. Not the same
round trip pair?
> > [ 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
_______________________________________________
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