aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt
diff options
context:
space:
mode:
authorSimon Barber <simon.barber@meraki.net>2017-09-12 15:35:47 -0700
committerMichael Mann <mmann78@netscape.net>2017-09-15 20:59:04 +0000
commit7cc677e561b9e40e87f9fbeb64b443ce5f1b52e4 (patch)
tree6954a79515f79affe70fb4de9df1a869ec5e0aec /ui/qt
parentde1798aefc5233c6980ef45ec1eb027e2541a135 (diff)
wireless-timeline: handle generators that report incorrect MCS for some frames
Macbook and QCA generators sometimes report the minimum MCS for subframes in an aggregate that have FCS errors. Change-Id: I77d1a81f5b3d0e3d0755adcb889f1237b0257814 Reviewed-on: https://code.wireshark.org/review/23521 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'ui/qt')
-rw-r--r--ui/qt/wireless_timeline.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/ui/qt/wireless_timeline.cpp b/ui/qt/wireless_timeline.cpp
index 1bcfea5bbf..4f16159026 100644
--- a/ui/qt/wireless_timeline.cpp
+++ b/ui/qt/wireless_timeline.cpp
@@ -61,6 +61,15 @@
#include "ui/main_statusbar.h"
+/* we start rendering this number of microseconds left of the left edge - to ensure
+ * NAV lines are drawn correctly, and that small errors in time order don't prevent some
+ * frames from being rendered.
+ * These errors in time order can come from generators that record PHY rate incorrectly
+ * in some circumstances.
+ */
+#define RENDER_EARLY 40000
+
+
const float fraction = 0.8F;
const float base = 0.1F;
class pcolor : public QColor
@@ -277,7 +286,7 @@ void WirelessTimeline::captureFileReadFinished()
statusbar_push_temporary_msg("Packet number %u does not include TSF timestamp, not showing timeline.", n);
return;
}
- if (w->ifs < -15000) {
+ if (w->ifs < -RENDER_EARLY) {
statusbar_push_temporary_msg("Packet number %u has large negative jump in TSF, not showing timeline. Perhaps TSF reference point is set wrong?", n);
return;
}
@@ -525,7 +534,7 @@ WirelessTimeline::paintEvent(QPaintEvent *qpe)
}
QGraphicsScene qs;
- for (packet = find_packet_tsf(start_tsf + left/zoom - 40000); packet <= cfile.count; packet++) {
+ for (packet = find_packet_tsf(start_tsf + left/zoom - RENDER_EARLY); packet <= cfile.count; packet++) {
frame_data *fdata = frame_data_sequence_find(cfile.frames, packet);
struct wlan_radio *ri = get_wlan_radio(fdata->num);
float x, width, red, green, blue;