| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the following warnings:
monitor/analyze.c:381:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:382:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:398:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*evt);
^ ~~~~~~~~~~~~
monitor/analyze.c:399:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*evt);
^ ~~~~~~~~~~~~
monitor/analyze.c:418:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*evt);
^ ~~~~~~~~~~~~
monitor/analyze.c:419:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*evt);
^ ~~~~~~~~~~~~
monitor/analyze.c:527:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(subtype);
^ ~~~~~~~~~~~~~~~
monitor/analyze.c:528:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(subtype);
^ ~~~~~~~~~~~~~~~
monitor/analyze.c:629:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:630:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:646:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:647:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:710:2: warning: Value stored to 'data' is never read
[deadcode.DeadStores]
data += sizeof(*hdr);
^ ~~~~~~~~~~~~
monitor/analyze.c:711:2: warning: Value stored to 'size' is never read
[deadcode.DeadStores]
size -= sizeof(*hdr);
^ ~~~~~~~~~~~~
|
|
|
|
| |
time_t is 64 bit (long long) on many 32 bit platforms (e.g. ARM) now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a connection without outgoing traffic, conn->tx_num will remain 0.
In this case, conn->tx_pkt_med should be simply 0 without calculating
"conn->tx_bytes / conn->tx_num".
This was likely to happen, for example, when "btmon -w btsnoop.log"
was launched in the middle of a LE mouse connection, and a number of
incoming ACL Data RX were received as the mouse movements. When
running "btmon -a btsnoop.log", it would encounter this error.
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Yun-Hao Chung <howardchung@chromium.org>
Reviewed-by: Shuo-Peng Liao <deanliao@chromium.org>
|
| |
|
| |
|
|
|
|
|
| |
This makes analyze.c use packet_print_addr which does take care of
decoding OUI portion of the address.
|
|
|
|
|
|
|
| |
Milisecconds is probably the best unit to have since it is unlikely that
the controller can respond in under 1 msec as well as most time
sensitive connection e.g. A2DP, HFP, etc, also don't expect the
latencies to be over 1 sec.
|
|
|
|
|
|
|
| |
Analyze code was not accounting for the fact that multiple outstanding
packets could be pending which will cause the last_tx to be overwritten
but its latency would be calculated against the very first packet
complete.
|
|
|
|
|
|
| |
It seems timer_sub can produce negative values leading to median packet
latency to be negative e.g conn->last_tx_compl is ahead of
conn->last_tx, in which case it should be discarded.
|
|
|
|
|
|
|
|
| |
Calculating the median packet based on the current median + size / 2
does not account for last packet could smaller e.g. opp transfer could
end with just 1 byte which would cut the median in a half, so this
switch to more traditional means of calculating by doing total bytes
sent / num of packets so each an every packet has the same weight.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds SPDX License Identifier and removes the license text.
-------------------------------------
License COUNT
-------------------------------------
LGPL-2.1-or-later : 47
License: LGPL-2.1-or-later
monitor/bt.h
monitor/hcidump.h
monitor/avdtp.h
monitor/crc.c
monitor/sdp.c
monitor/hwdb.c
monitor/intel.h
monitor/avctp.c
monitor/control.h
monitor/display.c
monitor/a2dp.c
monitor/ll.c
monitor/ll.h
monitor/jlink.h
monitor/broadcom.h
monitor/lmp.c
monitor/keys.c
monitor/ellisys.c
monitor/main.c
monitor/ellisys.h
monitor/hwdb.h
monitor/display.h
monitor/jlink.c
monitor/rfcomm.h
monitor/packet.c
monitor/crc.h
monitor/keys.h
monitor/sdp.h
monitor/rfcomm.c
monitor/avdtp.c
monitor/a2dp.h
monitor/avctp.h
monitor/vendor.h
monitor/hcidump.c
monitor/intel.c
monitor/tty.h
monitor/control.c
monitor/lmp.h
monitor/analyze.c
monitor/bnep.c
monitor/l2cap.c
monitor/vendor.c
monitor/packet.h
monitor/broadcom.c
monitor/analyze.h
monitor/l2cap.h
monitor/bnep.h
|
|
|
|
| |
new0 and queue_new cannot fail.
|
|
|
|
|
| |
Count unknown opcodes and print them in summary instead of failing
to analyze btsnoop file.
|
|
|
|
| |
This add support for counting all event types in analyze.
|
|
|
|
| |
Will now show vendor name if it was provided in snoop file.
|
| |
|
| |
|
|
|
|
| |
Fixes issues with junk packets.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes following memory leak:
...
==14887== 24 bytes in 1 blocks are definitely lost in loss record 2 of 4
==14887== at 0x4C2CC70: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14887== by 0x425B6C: btsnoop_open (btsnoop.c:83)
==14887== by 0x424837: analyze_trace (analyze.c:262)
==14887== by 0x40249A: main (main.c:189)
...
|
|
|
|
| |
Since btsnoop_read_hci() is used from src/shared.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|