Vadim Yanitskiy
5252e545ed
samples: add Interactive Debug listings for MD300
2024-05-02 01:58:47 +02:00
Vadim Yanitskiy
0c15e0baac
DbgMuxConnHandler: accumulate DataBlockCount
...
Looking at samples/k800_tems.pcapng.gz I noticed that the client
side (TEMS Investigation) is accumulating the FlowControl credits.
Below is an extract from it, showing the client sending three
data blocks in one go:
Record #0031 @ 1674591313.020628 Tx 42421000070e6f00940900022c0104690103a2bd
DebugMux Tx frame (Ns=007, Nr=014, fcs=0xbda2) ConnData 00940900022c0104690103
Container:
ConnRef = 0x9400
Data = hexundump("""
0000 09 00 02 2C 01 04 69 01 03 ...,..i..
""")
Record #0032 @ 1674591313.020628 Tx 42421000080e6f00940900022c0105da0103db5b
DebugMux Tx frame (Ns=008, Nr=014, fcs=0x5bdb) ConnData 00940900022c0105da0103
Container:
ConnRef = 0x9400
Data = hexundump("""
0000 09 00 02 2C 01 05 DA 01 03 ...,.....
""")
Record #0033 @ 1674591313.036228 Tx 42421000090e6f00940900022c01069300034c83
DebugMux Tx frame (Ns=009, Nr=014, fcs=0x834c) ConnData 00940900022c0106930003
Container:
ConnRef = 0x9400
Data = hexundump("""
0000 09 00 02 2C 01 06 93 00 03 ...,.....
""")
2024-05-02 01:47:45 +02:00
Vadim Yanitskiy
3f1aa65e72
DbgMux{Frame,ConnHandler}: DataBlockLimit != DataBlockCount
...
DataBlockLimit seems to be the maximum ConnData block size, which
has nothing to do with the flow control. At least because we
always get a non-zero value even for Rx-only DPs.
2024-05-02 01:42:03 +02:00
Vadim Yanitskiy
c19f21798e
sedbgmux: remove Python shebang and executable flags
2024-04-22 19:35:56 +07:00
Vadim Yanitskiy
174471744e
README.md: fix a typo
2024-04-22 19:34:28 +07:00
Vadim Yanitskiy
c69ba9bd3f
Make 'pyshark' an optional dependency
2024-04-16 03:04:02 +07:00
Vadim Yanitskiy
5b18cded95
Add setup.py and pyproject.toml
2024-04-16 02:43:21 +07:00
Vadim Yanitskiy
75453e11b8
contrib: add DebugMux LUA dissector for Wireshark
2024-04-16 02:37:05 +07:00
Vadim Yanitskiy
066bff8fb1
samples: add enquiry dumps for some A2 phones
2024-04-13 00:54:19 +07:00
Vadim Yanitskiy
24559b8b5c
samples: add Interactive Debug listings for M600 and EC400
2024-04-13 00:46:55 +07:00
Vadim Yanitskiy
aa3637db05
README.md: edit list of known Interactive Debug DPs
2024-04-13 00:46:55 +07:00
Vadim Yanitskiy
12c622ca2e
README.md: mention G705 (R1FA035) in the list of unknown DPs
2024-04-13 00:18:18 +07:00
Vadim Yanitskiy
887e1bec33
README.md: add Other DebugMux Software
2024-04-10 03:51:49 +07:00
Vadim Yanitskiy
1588e96c79
README.md: fix 'Usage' showing up in its own section
2024-04-10 03:11:04 +07:00
Vadim Yanitskiy
c6052ac360
README.md: more notes for Interactive Debug DPs
2024-04-10 03:10:07 +07:00
Vadim Yanitskiy
e39eeea4a1
README.md: document Interactive Debug DPs
2024-04-10 02:28:31 +07:00
Vadim Yanitskiy
eb11b94d02
README.md: project description and documentation
2024-04-10 01:50:16 +07:00
Vadim Yanitskiy
8141a67371
sedbgmux-shell.py: allow running Python shell
...
Allow running Python shell using the 'py' command.
Give the shell access to the DbgMuxClient instance.
https://cmd2.readthedocs.io/en/latest/features/embedded_python_shells.html
2024-04-04 15:31:19 +07:00
Vadim Yanitskiy
9e90916c91
samples: add Interactive Debug listing for K610 (DEV FW)
2024-04-04 15:31:19 +07:00
Vadim Yanitskiy
f4065426fc
samples: add Interactive Debug listings for T700 (DEV FW)
2024-04-04 15:31:19 +07:00
Vadim Yanitskiy
30fa140a86
samples: add Interactive Debug listings for SE MD400[g]
2023-09-25 19:02:44 +07:00
Vadim Yanitskiy
c3c55e8aec
samples: add Interactive Debug listings for f3607gw and f5521gw
2023-09-11 18:39:03 +07:00
Vadim Yanitskiy
05ec89f5eb
DbgMuxConnHandler: new handler 'DbgMuxConnWalker'
2023-09-11 18:39:03 +07:00
Vadim Yanitskiy
9a45680e18
Rework logging: use module-level loggers
2023-04-29 15:58:15 +07:00
Vadim Yanitskiy
73c644a2f3
sedbgmux-dump.py: add option to show only ConnData messages
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
8c44290e7c
sedbgmux-dump.py: parse: hierarchical output formatting
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
61302bf5ee
DumpIONative: use Default instead of Rebuild in DumpRecord
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
66580927bf
DbgMuxPingPong: make logging messages consistent
...
[INFO] ping_pong.py:38 Tx Ping with payload 'Knock, knock!'
[INFO] ping_pong.py:51 Rx Pong with payload 'Knock, knock!'
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
e9c6a37b94
DbgMuxFrame: use HexDump decorator in MsgConnData
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
8d276bd9dc
DbgMuxFrame: use Hex decorator for DPRef and ConnRef fields
2023-01-27 04:14:45 +07:00
Vadim Yanitskiy
507ee24424
DbgMuxFrame: use Struct in definition of MsgPingPong
...
... for consistency with the other message definitions.
2023-01-27 02:13:41 +07:00
Vadim Yanitskiy
02c499e2a1
samples: add a PCAP with Tvp frames (TEMS Investigation)
...
This is basically a recording of the communication between a Sony
Ericsson K800i (TEMS firmware) and TEMS Investigation, which can
be analyzed using the sedbgmux-dump.py.
TEMS Investigation is a mobile network testing solution, which supports
a variety of mobile equipment, including some [Sony] Ericsson devices.
It does use a special protocol for obtaining the necessary traces,
which is exposed as a DebugMux Data Provider with name 'Tvp'.
The TVP (Test and Verification Platform) is a proprietary Ericsson's
framework for debugging and testing of their products. There is
nearly no information about this framework on the internet.
Let's see what we can learn about it from this packet capture.
2023-01-26 07:07:56 +07:00
Vadim Yanitskiy
6d88d94ebe
sedbgmux-dump.py: support parsing PCAPs with BT RFCOMM packets
...
One of the approaches for sniffing serial port communication on Windows
is using USBPcap, an open-source USB sniffer. When using Bluetooth as
the transport for DebugMux, the resulting PCAP contains RFCOMM frames,
which can later be analyzed using Wireshark.
This patch adds a new read-only DumpIO interface for sedbgmux-dump.py,
which allows one to parse and convert PCAPs containing DebugMux frames
encapsulated into BT RFCOMM packets.
PCAP parsing is easy thanks to pyshark [1] (new dependency).
[1] https://github.com/KimiNewt/pyshark
2023-01-26 06:40:46 +07:00
Vadim Yanitskiy
877015cf57
sedbgmux-dump.py: allow limiting number of records to parse/convert
2023-01-26 05:37:25 +07:00
Vadim Yanitskiy
168ace9da5
sedbgmux-dump.py: calculate FCS, abort parsing on mismatch
2023-01-26 05:37:04 +07:00
Vadim Yanitskiy
de939b373a
SEDbgMuxApp: tab-completion for DPRef and ConnRef values
2023-01-22 23:53:17 +06:00
Vadim Yanitskiy
97f3de3564
DbgMuxClient: client role implementation
2023-01-22 23:20:02 +06:00
Vadim Yanitskiy
afed084c77
DbgMuxConnHandler: proper handling of the FlowControl message
...
A FlowControl message basically indicates how many data blocks the
remote side is able to receive from us. Whenever the block limit is
reached, we should queue outgoing data blocks until the remote side
has given us a new quote by sending another FlowControl message.
2023-01-22 22:36:36 +06:00
Vadim Yanitskiy
fa71a8a40d
DbgMuxConnHandler: implement DbgMuxConnFileLogger
2023-01-22 22:36:34 +06:00
Vadim Yanitskiy
27f6cf8f31
DbgMuxConnHandler: implement DbgMuxConnTerminal
2023-01-22 22:36:20 +06:00
Vadim Yanitskiy
23dec6fac7
DbgMuxConnHandler: implement DbgMuxConnUdpProxy
2023-01-22 22:36:08 +06:00
Vadim Yanitskiy
23b560197f
DbgMuxConnHandler: new abstract class for connection handlers
2023-01-22 22:34:42 +06:00
Vadim Yanitskiy
2b0342d29b
DbgMuxPeer: spawn two threads for handling Rx/Tx messages
2023-01-18 01:44:38 +06:00
Vadim Yanitskiy
cf22e4a697
sedbgmux-shell.py: print all logging messages with CR
...
Let the logging messages overwrite the cmd2 prompt!
2023-01-18 01:44:35 +06:00
Vadim Yanitskiy
55665460b8
sedbgmux-shell.py: enable cmd2.debug if -v is passed
2023-01-17 03:15:28 +06:00
Vadim Yanitskiy
1269ebc098
sedbgmux-shell.py: do not employ ArgumentDefaultsHelpFormatter
2023-01-17 02:53:23 +06:00
Vadim Yanitskiy
efaaaa1a7d
sedbgmux-shell.py: cosmetic: use lowercase in help strings
2023-01-17 02:29:53 +06:00
Vadim Yanitskiy
2557e130f6
sedbgmux-shell.py: remove unneeded import of enum
2023-01-17 02:22:11 +06:00
Vadim Yanitskiy
b8b4f4838d
DbgMuxPeer: fix recv(): Ack shall not increment Nr counter
...
I was aware that sending an Ack shall not increment the Ns counter,
but somehow didn't take into account that the Nr counter shall not
be incremented on receipt of an Ack either.
2023-01-16 22:12:03 +06:00
Vadim Yanitskiy
7eb8444912
sedbgmux-shell.py: add -v/--verbose for debug logging
2023-01-16 22:10:34 +06:00