Compare commits

...

57 Commits

Author SHA1 Message Date
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
Vadim Yanitskiy d0ba77eb00 Add dump samples for F3607gw, F5521gw, and SE K800i 2023-01-16 13:53:53 +06:00
Vadim Yanitskiy e0538ea1c3 sedbgmux-dump.py: automatic dump format detection 2023-01-16 13:53:53 +06:00
Vadim Yanitskiy a378018178 sedbgmux-dump.py: add support for parsing socat hexdumps 2023-01-16 13:53:53 +06:00
Vadim Yanitskiy 4c8c1a1734 sedbgmux-dump.py: new tool for managing DebugMux dumps 2023-01-16 13:53:53 +06:00
Vadim Yanitskiy 56b0ad8e6e Implement optional dumping of DebugMux frames to file 2023-01-16 13:53:25 +06:00
Vadim Yanitskiy 5b2c57422d DbgMuxIO: separate modem I/O into its own file 2023-01-16 13:53:25 +06:00
Vadim Yanitskiy ca57d7c6c5 Rework project hierarchy: group core files into a module 2023-01-14 21:58:19 +06:00
Vadim Yanitskiy a806eea9ad DbgMuxIO: drop unused 'opts' argument of connect() 2023-01-14 02:59:57 +06:00
Vadim Yanitskiy f9d571ee70 Rename Transport[Modem,IOError] to DbgMuxIO[Modem,Error] 2023-01-14 02:59:17 +06:00
Vadim Yanitskiy cb24ec5a2d Rename sedbgmux.py to sedbgmux-shell.py 2023-01-14 02:52:00 +06:00
Vadim Yanitskiy 569e5d3e9c SEDbgMuxApp: use cmd2.Fg instead of deprecated cmd2.fg
In v2.3.0 both cmd2.{fg,bg} have been deprecated in favour of cmd2.{Fg,Bg}.
In v2.4.0 both cmd2.{fg,bg} have been removed.

See https://github.com/python-cmd2/cmd2/blob/master/CHANGELOG.md
2022-07-14 18:25:45 +07:00
Vadim Yanitskiy 530975eff2 SEDbgMuxApp: properly handle peer.recv() returning None
In 2990cc14b8 I introduced a regression,
which affects the 'establish' command: if no data is received from a
Data Provider during 500 ms, the application crashes:

    File "sedbgmux.py", line 151, in do_establish
      if f['MsgType'] != DbgMuxFrame.MsgType.ConnData:
  TypeError: 'NoneType' object is not subscriptable

This is happening because peer.recv() is returning None.
2022-07-14 17:55:29 +07:00
48 changed files with 11741 additions and 229 deletions

229
README.md Normal file
View File

@ -0,0 +1,229 @@
sedbgmux - DebugMux client for [Sony] Ericsson phones and modems
================================================================
```
_____ ______ _____ _ __ __
/ ____| ____| __ \| | | \/ |
| (___ | |__ | | | | |__ __ _| \ / |_ ___ __
\___ \| __| | | | | '_ \ / _` | |\/| | | | \ \/ /
____) | |____| |__| | |_) | (_| | | | | |_| |> <
|_____/|______|_____/|_.__/ \__, |_| |_|\__,_/_/\_\
__/ |
|___/
```
This repository contains an implementation of DebugMux client in Python, which
can be used to communicate with a DebugMux server. The goal of this project
is purely educational; it's mostly driven by my curiosity to understand how
TEMS Investigation software (which is also using DebugMux) does its job.
All the knowledge about DebugMux obtained by analysing the protocol traces
and looking at format strings found in the firmware images. Not all parts
of the protocol are understood yet, but the current implementation is mature
enough to be used and can be considered 90% complete.
### Usage
The following uilities are currently available:
- `sedbgmux-shell.py` - interactive shell. Can be used to activate DebugMux
mode, identify the target device, and establish connections with DPs.
- `sedbgmux-dump.py` - dump management utility. Can be used to analyze
DebugMux frame captures and convert between various dump formats.
Below is an example of using `sedbgmux-shell.py`:
```
$ ./sedbgmux-shell.py -p /dev/ttyACM0
Welcome to DebugMux client for [Sony] Ericsson phones and modems!
DebugMux ('/dev/ttyACM0')> connect
DebugMux ('/dev/ttyACM0')> enquiry
[INFO] client.py:185 Identified target: 'Sony Ericsson C510', IMEI=354008032409208
[INFO] client.py:191 Data Provider available (DPRef=0xe494): 'OSEGW! 100 1'
[INFO] client.py:191 Data Provider available (DPRef=0xe495): 'Tvp'
[INFO] client.py:191 Data Provider available (DPRef=0xe496): 'ACC - Print Server Channel'
[INFO] client.py:191 Data Provider available (DPRef=0xe497): 'APP - Print Server Channel'
[INFO] client.py:191 Data Provider available (DPRef=0xe498): 'SDKSERVER'
DebugMux ('/dev/ttyACM0')> show target-info
Name: Sony Ericsson C510
IMEI: 354008032409208
DebugMux ('/dev/ttyACM0')> establish 0xe496 terminal
[INFO] base.py:78 Establishing connection with DPRef=0xe496
[INFO] client.py:199 Rx ConnEstablished: ConnRef=0x3d00, DPRef=0xe496
[INFO] base.py:94 Connection established: DPRef=0xe496, ConnRef=0x3d00, DataBlockLimit=256
... Hit Ctrl + C to escape and terminate connection
[INFO] base.py:87 Terminating connection ConnRef=0x3d00 with DPRef=0xe496
[INFO] client.py:220 Rx ConnTerminated: ConnRef=0x3d00, DPRef=0xe496
[INFO] base.py:104 Connection terminated: DPRef=0xe496, ConnRef=0x3d00
[INFO] client.py:191 Data Provider available (DPRef=0xe499): 'ACC - Print Server Channel'
```
The following connection handlers are currently available:
- `terminal` - interactive terminal (using stdin/stdout),
- `file-logger` - log received data to the specified file,
- `udp-proxy` - send/received data via a UDP socket,
- `walker` - recursively list available entries in `Interactive Debug` DPs.
DebugMux Basics
---------------
DebugMux is a vendor specific interface/protocol exposed by Sony Ericsson
phones (A1 DB2xxx, A2 DB3xxxx) and Ericsson modems. Similar to QMI (Qualcomm
MSM Interface), it allows debugging various firmware subsystems at run-time.
```
Host side : Target side (phone/modem)
:
+---------------------------+ : +---------------------------+
| Client Applications (CAs) | : | Data Providers (DPs) |
+---------------------------+ : +---------------------------+
| DebugMux Client | : | DebugMux Server |
+---------------------------+ : +---------------------------+
| Transport Layer | : | Transport Layer |
|---------------------------| : |---------------------------|
| USB | IrDA | BT |<----->| USB | IrDA | BT |
+---------------------------+ : +---------------------------+
```
The above diagram illustrates the client and server components. Various
subsystems of the phone/modem firmware can register as `Data providers`.
The host side `Client Applications` can establish one-to-one connections
with the registered `Data Providers`. DebugMux basically provides means
for `CAs` and `DPs` to communicate with each other, multiplexing their
connections over a certain transport (such as USB, IrDA, or Bluetooth).
DebugMux communication is usually established from the client by sending
`AT*EDEBUGMUX` command to the AT interpreter. This command switches the
modem connection into binary mode and transfers control over the channel
to the `DebugMux Server`. It's yet unknown how to switch the channel
back to the command interpreter mode (neither sending `+++` nor setting
the modem status likes works), but forcing disconnection of the
`Transport Layer` (e.g. by unplugging the USB cable) works.
Data Providers
--------------
Below is the list of known DPs:
| **Name** | **Mode** | **Description** |
|----------|----------|-----------------|
| `Tvp` | Binary | Test and Verification Protocol |
| `Print Server Channel` | ASCII (Rx only) | APP/ACC CPU debug logging |
| `ACC - Print Server Channel` | ASCII (Rx only) | ACC (access) CPU debug logging |
| `APP - Print Server Channel` | ASCII (Rx only) | APP (application) CPU debug logging |
| `Interactive Debug` | ASCII (Rx/Rx) | APP/ACC CPU interactive debug |
| `ACC - Interactive Debug` | ASCII (Rx/Tx) | ACC (access) CPU interactive debug |
| `APP - Interactive Debug` | ASCII (Rx/Tx) | APP (application) CPU interactive debug |
| `UI Debug - Print Server Channel` | ASCII (Rx only) | UI (User Interface) debug logging |
| `AT channel (NUM)` | ASCII (Rx/Tx) | AT command interpreter |
Below is the list of DPs with unknown purpose:
| **Name** | **Comments** |
|----------|-----------------|
| `SDKSERVER` | seen mostly on all A2 phones |
| `OSEGW! 100 1` | seen on C510 (R1HA035), C905 (R1FA035), F5521gw (R2A07), G705 (R1FA035) |
| `Host Interface Test File Transfer` | OBEX? seen on W595 (R3EA037), K850 (R1FA035) |
| `Turning Torso` | A skyscraper in Sweden? seen on T700 (R3CA017), K850 (R1FA035) |
### `Interactive Debug` DPs
Sony Ericsson phones flashed with development firmware builds and some Ericsson
modems running the "normal" consumer firmware expose `Interactive Debug` DPs.
These DPs offer a command prompt and give access to a virtual filesystem
with lots of hidden parameters.
```
DebugMux ('/dev/ttyACM0')> establish 0x9b42 terminal
[INFO] base.py:78 Establishing connection with DPRef=0x9b42
[INFO] client.py:199 Rx ConnEstablished: ConnRef=0x3200, DPRef=0x9b42
[INFO] base.py:94 Connection established: DPRef=0x9b42, ConnRef=0x3200, DataBlockLimit=300
Welcome to Interactive Debug
[root]
```
The following UNIX-like commands are available:
- `.` - repeat the last command,
- `ls` / `dir` - directory listing,
- `cd` - change directory (CWD displayed in prompt),
- `r` / `w` - read / write a variable.
All input is case sensitive. Tab-completion is available, but not working
properly with the existing connection handlers (should I add telnet for that?).
You can find directory listings for some phones/modems in `samples` folder:
| **Device** | **Firmware (AT+CGMR)** | **File** |
|------------|------------------------|----------|
| Ericsson F3607gw | R1K06 | `samples/f3607gw_acc_interactive_debug.list` |
| Ericsson F3607gw | R1K06 | `samples/f3607gw_app_interactive_debug.list` |
| Ericsson F5521gw | R2A07 | `samples/f5521gw_acc_interactive_debug.list` |
| Ericsson F5521gw | R2A07 | `samples/f5521gw_app_interactive_debug.list` |
| Ericsson MD400 | R4A009 | `samples/md400_acc_interactive_debug.list` |
| Ericsson MD400 | R4A009 | `samples/md400_app_interactive_debug.list` |
| Ericsson MD400g | R6A001 | `samples/md400g_acc_interactive_debug.list` |
| Ericsson MD400g | R6A001 | `samples/md400g_app_interactive_debug.list` |
| Sony Ericsson T700 | R3CA017 | `samples/t700_dev_acc_interactive_debug.list` |
| Sony Ericsson T700 | R3CA017 | `samples/t700_dev_app_interactive_debug.list` |
| Sony Ericsson K610 | R1BA022 | `samples/k610_dev_interactive_debug.list` |
| Sony Ericsson M600 | R9F011 | `samples/M600_R9F011_interactive_debug.list` |
| Sony Ericsson EC400 | R3A002 | `samples/EC400_R3A002_acc_interactive_debug.list` |
| Sony Ericsson EC400 | R3A002 | `samples/EC400_R3A002_app_interactive_debug.list` |
Contributions are welcome! Use the 'walker' handler to generate such listings.
DebugMux Protocol
-----------------
The protocol is relatively simple and shares some similarities with HDLC.
DebugMux peers communicate using frames, which have the following structure:
```
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Marker (\x42\x42) | Length (LE) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TxCount | RxCount | MsgType | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| MsgData |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | FCS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
```
The following message types are known:
| **Value** | **Direction** | **Name** | **Description** |
|--------------|---------------|----------|-----------------|
| `0x65 ('e')` | -> | Enquiry | Enquiry the target info and available DPs |
| `0x66 ('f')` | <- | Ident | Target info (model, IMEI) |
| `0x67 ('g')` | -> | Ping | Used for connection testing |
| `0x68 ('h')` | <- | Pong | Used for connection testing |
| `0x69 ('i')` | <- | DPAnnounce | `Data Provider` availability announce |
| `0x6b ('k')` | -> | ConnEstablish | Connection establishment command |
| `0x6c ('l')` | <- | ConnEstablished | Connection establishment result |
| `0x6d ('m')` | -> | ConnTerminate | Connection termination command |
| `0x6e ('n')` | <- | ConnTerminated | Connection termination result |
| `0x6f ('o')` | <-> | ConnData | Connection data |
| `0x70 ('p')` | <- | FlowControl | Connection flow control |
| `0x71 ('q')` | <-> | Ack | Acknowledge |
Other DebugMux Software
-----------------------
The following software is known to "speak" DebugMux protocol:
- "DbgMuxLogger" by Ericsson Mobile Platforms AB
- "DbgMuxServer" by Ericsson Mobile Platforms AB
- "EMBLA Logger" by Ericsson AB
- "TEMS Investigation" by Ericsson/Ascom/Infovista
- "TSCom/TSProbe/TSTool" by Ericsson Mobile Platforms AB (?)
Those are all proprietary, black-box binaries for MS Windows.

246
contrib/sedbgmux.lua Normal file
View File

@ -0,0 +1,246 @@
-- Wireshark LUA dissector for the [Sony] Ericsson's DebugMux protocol
-- (C) 2024 by Vadim Yanitskiy <fixeria@osmocom.org>
-- SPDX-License-Identifier: GPL-2.0+
--
-- Usage: Move this file to your "personal lua plugins" folder that
-- can be found in the Wireshark Help->About Wireshark->Folders tab
-- Windows: %APPDATA%\Wireshark\plugins.
-- Unix-like systems: ~/.local/lib/wireshark/plugins.
sedbgmux_proto = Proto("SEDbgMux", "[Sony] Ericsson's DebugMux protocol")
sedbgmux_proto.prefs["check_fcs"] =
Pref.bool("Validate FCS (Frame Check Sequence)", true,
"Enable/disable FCS (Frame Check Sequence) validation")
local FCS16Lookup = {
0x0000,0x1189,0x2312,0x329B,0x4624,0x57AD,0x6536,0x74BF,
0x8C48,0x9DC1,0xAF5A,0xBED3,0xCA6C,0xDBE5,0xE97E,0xF8F7,
0x1081,0x0108,0x3393,0x221A,0x56A5,0x472C,0x75B7,0x643E,
0x9CC9,0x8D40,0xBFDB,0xAE52,0xDAED,0xCB64,0xF9FF,0xE876,
0x2102,0x308B,0x0210,0x1399,0x6726,0x76AF,0x4434,0x55BD,
0xAD4A,0xBCC3,0x8E58,0x9FD1,0xEB6E,0xFAE7,0xC87C,0xD9F5,
0x3183,0x200A,0x1291,0x0318,0x77A7,0x662E,0x54B5,0x453C,
0xBDCB,0xAC42,0x9ED9,0x8F50,0xFBEF,0xEA66,0xD8FD,0xC974,
0x4204,0x538D,0x6116,0x709F,0x0420,0x15A9,0x2732,0x36BB,
0xCE4C,0xDFC5,0xED5E,0xFCD7,0x8868,0x99E1,0xAB7A,0xBAF3,
0x5285,0x430C,0x7197,0x601E,0x14A1,0x0528,0x37B3,0x263A,
0xDECD,0xCF44,0xFDDF,0xEC56,0x98E9,0x8960,0xBBFB,0xAA72,
0x6306,0x728F,0x4014,0x519D,0x2522,0x34AB,0x0630,0x17B9,
0xEF4E,0xFEC7,0xCC5C,0xDDD5,0xA96A,0xB8E3,0x8A78,0x9BF1,
0x7387,0x620E,0x5095,0x411C,0x35A3,0x242A,0x16B1,0x0738,
0xFFCF,0xEE46,0xDCDD,0xCD54,0xB9EB,0xA862,0x9AF9,0x8B70,
0x8408,0x9581,0xA71A,0xB693,0xC22C,0xD3A5,0xE13E,0xF0B7,
0x0840,0x19C9,0x2B52,0x3ADB,0x4E64,0x5FED,0x6D76,0x7CFF,
0x9489,0x8500,0xB79B,0xA612,0xD2AD,0xC324,0xF1BF,0xE036,
0x18C1,0x0948,0x3BD3,0x2A5A,0x5EE5,0x4F6C,0x7DF7,0x6C7E,
0xA50A,0xB483,0x8618,0x9791,0xE32E,0xF2A7,0xC03C,0xD1B5,
0x2942,0x38CB,0x0A50,0x1BD9,0x6F66,0x7EEF,0x4C74,0x5DFD,
0xB58B,0xA402,0x9699,0x8710,0xF3AF,0xE226,0xD0BD,0xC134,
0x39C3,0x284A,0x1AD1,0x0B58,0x7FE7,0x6E6E,0x5CF5,0x4D7C,
0xC60C,0xD785,0xE51E,0xF497,0x8028,0x91A1,0xA33A,0xB2B3,
0x4A44,0x5BCD,0x6956,0x78DF,0x0C60,0x1DE9,0x2F72,0x3EFB,
0xD68D,0xC704,0xF59F,0xE416,0x90A9,0x8120,0xB3BB,0xA232,
0x5AC5,0x4B4C,0x79D7,0x685E,0x1CE1,0x0D68,0x3FF3,0x2E7A,
0xE70E,0xF687,0xC41C,0xD595,0xA12A,0xB0A3,0x8238,0x93B1,
0x6B46,0x7ACF,0x4854,0x59DD,0x2D62,0x3CEB,0x0E70,0x1FF9,
0xF78F,0xE606,0xD49D,0xC514,0xB1AB,0xA022,0x92B9,0x8330,
0x7BC7,0x6A4E,0x58D5,0x495C,0x3DE3,0x2C6A,0x1EF1,0x0F78,
}
function calc_fcs(buffer)
local crc = 0xffff
for i = 0, buffer:len() - 1 do
local val = buffer(i, 1):uint()
local idx = bit32.bxor(val, bit32.band(crc, 0xff)) + 1
crc = bit32.bxor(FCS16Lookup[idx], bit32.rshift(crc, 8))
end
return bit32.bxor(crc, 0xffff)
end
local MsgType_vs = {
[0x65] = "Enquiry",
[0x66] = "Ident",
[0x67] = "Ping",
[0x68] = "Pong",
[0x69] = "DPAnnounce",
-- [0x6a] = "UNKNOWN",
[0x6b] = "ConnEstablish",
[0x6c] = "ConnEstablished",
[0x6d] = "ConnTerminate",
[0x6e] = "ConnTerminated",
[0x6f] = "ConnData",
[0x70] = "FlowControl",
[0x71] = "Ack",
}
local f = sedbgmux_proto.fields
-- DebugMux frame fields
f.Marker = ProtoField.bytes("sedbgmux.marker", "Frame Marker")
f.Length = ProtoField.uint16("sedbgmux.length", "Frame Length", base.DEC)
f.TxCount = ProtoField.uint8("sedbgmux.tx_count", "Tx Count", base.DEC)
f.RxCount = ProtoField.uint8("sedbgmux.rx_count", "Rx Count", base.DEC)
f.MsgType = ProtoField.uint8("sedbgmux.msg_type", "Message Type", base.HEX_DEC, MsgType_vs)
f.MsgData = ProtoField.bytes("sedbgmux.msg_data", "Message Data")
f.FCS = ProtoField.uint16("sedbgmux.fcs", "Frame Check Sequence")
-- Ident fields
f.IdentMagic = ProtoField.bytes("sedbgmux.ident_magic", "Magic")
f.IdentLength = ProtoField.uint8("sedbgmux.ident_length", "Identity Length")
f.IdentString = ProtoField.string("sedbgmux.ident_string", "Identity String")
-- Ping/Pong fields
f.PingPongLength = ProtoField.uint8("sedbgmux.ping_length", "Payload Length")
f.PingPongString = ProtoField.string("sedbgmux.ping_string", "Payload String")
-- DP related fields
f.DPRef = ProtoField.uint16("sedbgmux.dpref", "Data Provider Reference", base.HEX_DEC)
f.DPNameLength = ProtoField.uint8("sedbgmux.dpname_length", "Data Provider Name Length")
f.DPNameString = ProtoField.string("sedbgmux.dpname_string", "Data Provider Name String")
-- Conn related fields
f.ConnRef = ProtoField.uint16("sedbgmux.connref", "Connection Reference", base.HEX_DEC)
f.ConnData = ProtoField.bytes("sedbgmux.conn_data", "Connection Data")
f.DataBlockLimit = ProtoField.uint8("sedbgmux.data_block_limit", "Data Block Limit")
function dis_ident(buffer, pinfo, subtree)
subtree:add(f.IdentMagic, buffer(0, 4))
subtree:add(f.IdentLength, buffer(4, 1))
subtree:add(f.IdentString, buffer(5))
end
function dis_ping_pong(buffer, pinfo, subtree)
subtree:add(f.PingPongLength, buffer(0, 1))
subtree:add(f.PingPongString, buffer(1))
end
function dis_dp_announce(buffer, pinfo, subtree)
subtree:add_le(f.DPRef, buffer(0, 2))
subtree:add(f.DPNameLength, buffer(2, 1))
subtree:add(f.DPNameString, buffer(3))
end
function dis_conn_establish(buffer, pinfo, subtree)
subtree:add_le(f.DPRef, buffer(0, 2))
end
function dis_conn_established(buffer, pinfo, subtree)
subtree:add_le(f.DPRef, buffer(0, 2))
subtree:add_le(f.ConnRef, buffer(2, 2))
end
function dis_conn_terminate(buffer, pinfo, subtree)
subtree:add_le(f.ConnRef, buffer(0, 2))
end
function dis_conn_terminated(buffer, pinfo, subtree)
subtree:add_le(f.DPRef, buffer(0, 2))
subtree:add_le(f.ConnRef, buffer(2, 2))
end
function dis_conn_data(buffer, pinfo, subtree)
subtree:add_le(f.ConnRef, buffer(0, 2))
subtree:add(f.ConnData, buffer(2))
end
function dis_flow_control(buffer, pinfo, subtree)
subtree:add_le(f.ConnRef, buffer(0, 2))
subtree:add(f.DataBlockLimit, buffer(2, 1))
end
local MsgType_func = {
[0x66] = dis_ident,
[0x67] = dis_ping_pong,
[0x68] = dis_ping_pong,
[0x69] = dis_dp_announce,
[0x6b] = dis_conn_establish,
[0x6c] = dis_conn_established,
[0x6d] = dis_conn_terminate,
[0x6e] = dis_conn_terminated,
[0x6f] = dis_conn_data,
[0x70] = dis_flow_control,
}
-- Last dissected frame number
local last_fn = nil
function sedbgmux_proto.dissector(buffer, pinfo, tree)
-- Ensure the minimum length (Marker + Length)
if buffer:len() < (2 + 2) then
return
end
-- Check the frame marker
if buffer(0, 2):uint() ~= 0x4242 then
return
end
pinfo.cols.protocol = sedbgmux_proto.name
local subtree = tree:add(sedbgmux_proto, buffer(), "SEDbgMux Frame")
local ti -- Tree Item
-- Frame Marker
subtree:add(f.Marker, buffer(0, 2))
-- Frame Length
ti = subtree:add_le(f.Length, buffer(2, 2))
local length = buffer(2, 2):le_uint()
local msg_len = length - (2 + 2 + 1) -- Length + {Tx,Rx}Count + MsgType
if msg_len < 0 then
ti:add_expert_info(PI_MALFORMED, PI_ERROR, "Malformed length (too low)")
return
end
subtree:set_len(length + 2 + 2) -- Marker + Length
-- Tx/Rx Count
subtree:add(f.TxCount, buffer(4, 1))
subtree:add(f.RxCount, buffer(5, 1))
-- Message type
subtree:add(f.MsgType, buffer(6, 1))
local msg_type = buffer(6, 1):uint()
-- Update the subtree and info column text
local info = string.format("(Ns=%03u, Nr=%03u) %s",
buffer(4, 1):uint(),
buffer(5, 1):uint(),
MsgType_vs[msg_type])
subtree:append_text(": " .. info)
if last_fn == pinfo.number then
pinfo.cols.info:append(", " .. MsgType_vs[msg_type])
else
pinfo.cols.info:set(info)
end
last_fn = pinfo.number
-- (Optional) Message Data
if msg_len > 0 then
local msg_data = buffer(7, msg_len)
ti = subtree:add(f.MsgData, msg_data)
if MsgType_func[msg_type] then
MsgType_func[msg_type](msg_data, pinfo, ti)
end
end
-- Frame Check Sequence
ti = subtree:add_le(f.FCS, buffer(7 + msg_len, 2))
-- (Optional) FCS validation
if sedbgmux_proto.prefs.check_fcs then
local fcs = buffer(7 + msg_len, 2):le_uint()
local fcs_calc = calc_fcs(buffer(0, length + 2))
if fcs == fcs_calc then
ti:append_text(" [valid]")
else
ti:append_text(" [invalid]")
ti:add_expert_info(PI_CHECKSUM, PI_ERROR, "FCS mismatch, expected " .. fcs_calc)
end
else
ti:append_text(" [validation disabled]")
end
-- Dissect pending DebugMux frames in the given buffer
if buffer:len() > (length + 2 + 2) then
sedbgmux_proto.dissector(buffer(length + 2 + 2):tvb("test"), pinfo, tree)
end
end
-- vim:set ts=4 sw=4 et:

2
pyproject.toml Normal file
View File

@ -0,0 +1,2 @@
[build-system]
requires = ["setuptools"]

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,582 @@
# Sony Ericsson EC400 Mobile Broadband ExpressCard 34 Modem, FW R3A002
<DIR> /OSDEBUG
<DIR> /OSDEBUG/ProcessLoad
<CMD> /OSDEBUG/ProcessLoad/ShowIdleTime
<CMD> /OSDEBUG/ProcessLoad/StopIdleTime
<CMD> /OSDEBUG/ProcessLoad/InitFlow
<CMD> /OSDEBUG/ProcessLoad/StartFlow
<CMD> /OSDEBUG/ProcessLoad/EndFlow
<CMD> /OSDEBUG/ProcessLoad/Trig1
<DIR> /OSDEBUG/Speed
(u4) /OSDEBUG/Speed/VerboseOutput
(u4) /OSDEBUG/Speed/SpeedUpLimit
(u4) /OSDEBUG/Speed/SpeedDownLimit
(u4) /OSDEBUG/Speed/SpeedUpCounter
(u4) /OSDEBUG/Speed/SpeedDownCounter
<CMD> /OSDEBUG/Speed/GetSpeed
<CMD> /OSDEBUG/Speed/RequestSpeed
<CMD> /OSDEBUG/Speed/ReleaseSpeed
<CMD> /OSDEBUG/Speed/GetSpeedLock
<CMD> /OSDEBUG/Speed/RequestLowLatencyMode
<CMD> /OSDEBUG/Speed/ReleaseLowLatencyMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorInfo
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMax
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMin
<CMD> /OSDEBUG/Speed/ReleaseSpeedRegulator
<CMD> /OSDEBUG/Speed/SpeedRegulatorCurrentMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorChangeMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOn
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOff
<CMD> /OSDEBUG/Speed/ModeTest
<CMD> /OSDEBUG/Speed/AbortModeTest
<DIR> /OSDEBUG/Utils
<CMD> /OSDEBUG/Utils/Dhrystone
<CMD> /OSDEBUG/Utils/StopDhrystone
<CMD> /OSDEBUG/Utils/GetTicks
<CMD> /OSDEBUG/Utils/GetTicksLoop
<CMD> /OSDEBUG/Utils/GetTicksLoopDelay
<CMD> /OSDEBUG/Utils/Work
<CMD> /OSDEBUG/Utils/StopWork
<CMD> /OSDEBUG/Utils/WDog
<DIR> /OSDEBUG/LMTools
<CMD> /OSDEBUG/LMTools/PgTypeList
<CMD> /OSDEBUG/LMTools/PgTypeInfo
<CMD> /OSDEBUG/LMTools/LmList
<CMD> /OSDEBUG/LMTools/LmInfo
<CMD> /OSDEBUG/LMTools/LmGetConf
<CMD> /OSDEBUG/LMTools/LmInstall
<CMD> /OSDEBUG/LMTools/LmUninstall
<CMD> /OSDEBUG/LMTools/PgCreate
<CMD> /OSDEBUG/LMTools/PgStart
<CMD> /OSDEBUG/LMTools/PgList
<CMD> /OSDEBUG/LMTools/PgInfo
<CMD> /OSDEBUG/LMTools/PgGetConf
<CMD> /OSDEBUG/LMTools/PgKill
<DIR> /OSDEBUG/Memory
<CMD> /OSDEBUG/Memory/lpool
<CMD> /OSDEBUG/Memory/lheap
<CMD> /OSDEBUG/Memory/domlist
<CMD> /OSDEBUG/Memory/memalyze
<DIR> /OSDEBUG/Memory/toolbox
<CMD> /OSDEBUG/Memory/toolbox/MemoryTest
<CMD> /OSDEBUG/Memory/toolbox/WriteRead
<CMD> /OSDEBUG/Memory/toolbox/MemSpeed
<CMD> /OSDEBUG/Memory/toolbox/AccessMemory
<CMD> /OSDEBUG/Memory/toolbox/SemiSpeed
<CMD> /OSDEBUG/Memory/toolbox/SetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/GetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/AbortMemoryTest
<CMD> /OSDEBUG/lproc
<CMD> /OSDEBUG/biosls
<CMD> /OSDEBUG/sysinfo
<CMD> /OSDEBUG/what
<DIR> /USB
<DIR> /USB/Bus
<CMD> /USB/Bus/BusWriteDevice
<CMD> /USB/Bus/BusGetDevice
<CMD> /USB/Bus/BusReadDevice
<CMD> /USB/Bus/BusState
<CMD> /USB/Bus/ReAttach
<CMD> /USB/Bus/Strings
<DIR> /USB/MassStorage
<CMD> /USB/MassStorage/Unmount
<CMD> /USB/MassStorage/Unmount_V2
<CMD> /USB/MassStorage/Mount
<CMD> /USB/MassStorage/Mount_V2
<CMD> /USB/MassStorage/StorageState
<CMD> /USB/MassStorage/StorageState_V2
<CMD> /USB/MassStorage/ListFSUVolumeNames
<CMD> /USB/MassStorage/FsuUnmount
<DIR> /USB/Trace
<CMD> /USB/Trace/GetDbgState
<CMD> /USB/Trace/EnableDbg
<CMD> /USB/Trace/DisableDbg
<CMD> /USB/Trace/SetDbgLevel
<CMD> /USB/Trace/EventChannel
<CMD> /USB/Trace/SendBreak
<CMD> /USB/Trace/SetDCEPin
<CMD> /USB/Trace/AppSubscribe
<CMD> /USB/Trace/AppUnsubscribe
<DIR> /USB/Ethernet
<CMD> /USB/Ethernet/Subscribe
<CMD> /USB/Ethernet/Unsubscribe
<CMD> /USB/Ethernet/MAC_Addresses_Get
<CMD> /USB/Ethernet/BridgeFilter_Configure
<CMD> /USB/Ethernet/Bridge_Connect
<CMD> /USB/Ethernet/Bridge_Disconnect
<DIR> /LD_GPS
<DIR> /LD_GPS/Test
<CMD> /LD_GPS/Test/SetSingleSatTestMode_PRN
<CMD> /LD_GPS/Test/StartTestMode_SingleSat
<CMD> /LD_GPS/Test/StartTestMode_GetVersion
<CMD> /LD_GPS/Test/StopTestMode
<DIR> /LD_GPS/Log
<CMD> /LD_GPS/Log/glSetLogPriMask
<CMD> /LD_GPS/Log/glSetLogFacMask
<CMD> /LD_GPS/Log/glLogEnable
<CMD> /LD_GPS/Log/glLogDisable
<CMD> /LD_GPS/Log/glGetVersion
<DIR> /LD_GPS/Fix
<CMD> /LD_GPS/Fix/StartLocationReporting
<CMD> /LD_GPS/Fix/GetLocation
<CMD> /LD_GPS/Fix/AbortCurrentProcedure
<CMD> /LD_GPS/SetPowerPolicy
<CMD> /LD_GPS/SendPowerHint
<CMD> /LD_GPS/ResetNVRAM
<CMD> /LD_GPS/ResetNVRAM_OffState
<CMD> /LD_GPS/ForceUL_FTA
<CMD> /LD_GPS/glSetAlmanac_NULL_OxFF
<CMD> /LD_GPS/glSetNavOnly
<CMD> /LD_GPS/DeleteFixInfoFile
<DIR> /DebugMux
<DIR> /DebugMux/Channels
(u2) /DebugMux/Channels/EPReservation
(u1) /DebugMux/Channels/EndpointId
(u2) /DebugMux/Channels/nTxSize
(u1) /DebugMux/Channels/fTxFlowIsStopped
(u1) /DebugMux/Channels/fRxHeader
(u2) /DebugMux/Channels/RxNeeded
(u4) /DebugMux/Channels/TxDropNumber
(u4) /DebugMux/Channels/TxDropInterval
(u4) /DebugMux/Channels/TxDropCount
(u4) /DebugMux/Channels/TxDropLeft
(u4) /DebugMux/Channels/RxDropNumber
(u4) /DebugMux/Channels/RxDropInterval
(u4) /DebugMux/Channels/RxDropCount
(u4) /DebugMux/Channels/RxDropLeft
<CMD> /DebugMux/Channels/Status
<CMD> /DebugMux/Channels/IgnoreCRCErrors
<CMD> /DebugMux/Channels/LogChannels
<CMD> /DebugMux/Channels/LogRx
<CMD> /DebugMux/Channels/LogTx
<CMD> /DebugMux/Channels/LogStats
<DIR> /DebugMux/TransportLayer
(u1) /DebugMux/TransportLayer/fConnected
(u1) /DebugMux/TransportLayer/fMayTransmit
(u1) /DebugMux/TransportLayer/fTxIsOngoing
(u1) /DebugMux/TransportLayer/InQueueCount
(u1) /DebugMux/TransportLayer/NextToSendCounter(Vs)
(u1) /DebugMux/TransportLayer/NextToReceiveCounter(Vr)
(u1) /DebugMux/TransportLayer/LastSent_Vr
(u1) /DebugMux/TransportLayer/TransmitWindow
(u1) /DebugMux/TransportLayer/NextToStoreInTransmissionQueue(Vx)
<CMD> /DebugMux/TransportLayer/Log
<CMD> /DebugMux/TransportLayer/LogTimer
<CMD> /DebugMux/TransportLayer/Status
<DIR> /DebugMux/DataLayer
(u4) /DebugMux/DataLayer/fTxAllowed
(u4) /DebugMux/DataLayer/WaitingProcsCount
(u4) /DebugMux/DataLayer/ConnectedDPsCount
(u2) /DebugMux/DataLayer/NextDPRefNr
(u1) /DebugMux/DataLayer/NextConnRefNr
(u1) /DebugMux/DataLayer/fConnected
(u1) /DebugMux/DataLayer/InitialCredits
<CMD> /DebugMux/DataLayer/Connected
<CMD> /DebugMux/DataLayer/Disconnected
<CMD> /DebugMux/DataLayer/TxAllowed
<CMD> /DebugMux/DataLayer/Status
<CMD> /DebugMux/DataLayer/LogErrors
<CMD> /DebugMux/DataLayer/LogControl
<CMD> /DebugMux/DataLayer/LogRcvdMsgs
<CMD> /DebugMux/DataLayer/LogRx
<CMD> /DebugMux/DataLayer/LogTx
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /WAS_L2
<DIR> /WAS_L2/PrintControl
<CMD> /WAS_L2/PrintControl/RemoveAllPrints
<CMD> /WAS_L2/PrintControl/ResetAllPrints
<CMD> /WAS_L2/PrintControl/SetAllPrints
<CMD> /WAS_L2/PrintControl/MacSetPrintGroup
<CMD> /WAS_L2/PrintControl/MacClrPrintGroup
<CMD> /WAS_L2/PrintControl/MacViewActivePrints
<CMD> /WAS_L2/PrintControl/RlcSetPrintGroup
<CMD> /WAS_L2/PrintControl/RlcClrPrintGroup
<CMD> /WAS_L2/PrintControl/RlcViewActivePrints
<CMD> /WAS_L2/PrintControl/PdcpSetPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpClrPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpViewActivePrints
<CMD> /WAS_L2/PrintControl/BmcSetPrintGroup
<CMD> /WAS_L2/PrintControl/BmcClrPrintGroup
<CMD> /WAS_L2/PrintControl/BmcViewActivePrints
<CMD> /WAS_L2/PrintControl/WhamSetPrintGroup
<CMD> /WAS_L2/PrintControl/WhamClrPrintGroup
<CMD> /WAS_L2/PrintControl/WhamViewActivePrints
<DIR> /WAS_L2/RLC
<CMD> /WAS_L2/RLC/ChangeAvoidDump
<CMD> /WAS_L2/RLC/ChangeSUFI_Type
<CMD> /WAS_L2/RLC/StatisticsOfMemoryManager
<CMD> /WAS_L2/RLC/ToggleTransferMode
<CMD> /WAS_L2/RLC/ToggleLI_History
<CMD> /WAS_L2/RLC/ToggleIP_Length
<CMD> /WAS_L2/RLC/ToggleDumpOnLargeSDU
<CMD> /WAS_L2/RLC/ToggleDumpOnInvalidLI
<CMD> /WAS_L2/RLC/ToggleDumpOnRxBufferStart
(u2) /WAS_L2/RLC/VideoLatencyTime
(u4) /WAS_L2/RLC/MCRAM_EndianSwap
<DIR> /WAS_L2/MAC
(u4) /WAS_L2/MAC/PowerManipulationMode
(u4) /WAS_L2/MAC/RB_IdToPrintDL
(u4) /WAS_L2/MAC/RB_IdToPrintUL
(u4) /WAS_L2/MAC/ShowHFN_Update
(u4) /WAS_L2/MAC/ShowTM_Signaling
(u4) /WAS_L2/MAC/DumpHS_Header
(u4) /WAS_L2/MAC/DumpHS_RLC_DeliverInfo
(u4) /WAS_L2/MAC/DumpHS_T1_Info
(u4) /WAS_L2/MAC/DumpHS_DiscardedTSN
(u4) /WAS_L2/MAC/DumpHS_GarbageCollect
(u4) /WAS_L2/MAC/CollectHS_Stats
(u4) /WAS_L2/MAC/HS_FramesToCollect
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Clear
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Print
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Pos
<CMD> /WAS_L2/MAC/EUL_AGCHvalue
<CMD> /WAS_L2/MAC/EUL_AlwaysUnhappy
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_MaxAllowedETFCI
<CMD> /WAS_L2/MAC/EUL_PeriodicMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_TxPowerMeas_toggle
<CMD> /WAS_L2/MAC/EUL_SGTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHappyBitDelayCondition
<CMD> /WAS_L2/MAC/EUL_SetSiTrigger
<CMD> /WAS_L2/MAC/EUL_RGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_MaxNrRetransmission
<CMD> /WAS_L2/MAC/EUL_RSN_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SING_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SIG_toggle
<CMD> /WAS_L2/MAC/EUL_SI_Trace_toggle
<CMD> /WAS_L2/MAC/EUL_SI_PreDefinedFields_toggle
<CMD> /WAS_L2/MAC/EUL_ETFCI_RestTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHARQoffset
<CMD> /WAS_L2/MAC/EUL_ETFCI_SelectTrace_toggle
<CMD> /WAS_L2/MAC/EUL_DisableETFCI_Quant_toggle
<CMD> /WAS_L2/MAC/EUL_UnHappyDuration
<CMD> /WAS_L2/MAC/EUL_RlcWindowTrace
<CMD> /WAS_L2/MAC/EUL_SetUL_DPCCH_Power
<CMD> /WAS_L2/MAC/EUL_nonsRGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_T32_threshold
(u4) /WAS_L2/MAC/ShowCrestCompDetails
(u4) /WAS_L2/MAC/TvpProbeId
<CMD> /WAS_L2/MAC/TvpMacTrChBitrate
(u4) /WAS_L2/MAC/ShowTxPowerDetails
(u4) /WAS_L2/MAC/ShowHsDpcchDetails
(u4) /WAS_L2/MAC/ShowMacRlcUlDetails
<CMD> /WAS_L2/MAC/MacWrite6bitTest
(u4) /WAS_L2/MAC/CipherBlockId74EUL_30nonEUL
<DIR> /WAS_L2/PDCP
<CMD> /WAS_L2/PDCP/PrintActiveNSAPIs
<CMD> /WAS_L2/PDCP/UPSettings
<DIR> /WAS_L2/BMC
<CMD> /WAS_L2/BMC/TriggerActivate
<CMD> /WAS_L2/BMC/TriggerDeactivate
<CMD> /WAS_L2/BMC/TriggerSuspend
<CMD> /WAS_L2/BMC/TriggerResume
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell1
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell2
<CMD> /WAS_L2/BMC/TriggerCtchNotAvailable
<CMD> /WAS_L2/BMC/TriggerCBS_Message0
<CMD> /WAS_L2/BMC/TriggerCBS_Message0_Swapped
<CMD> /WAS_L2/BMC/TriggerCBS_Message1
<CMD> /WAS_L2/BMC/TriggerCBS_Message1_Swapped
<CMD> /WAS_L2/BMC/TriggerScheduleMessage
<CMD> /WAS_L2/BMC/TriggerScheduleMessageSwapped
<CMD> /WAS_L2/BMC/ToggleBMC
(u4) /WAS_L2/BMC/MessageTypesToReadBitmap
(u1) /WAS_L2/BMC/ScheduleLengthMod
(u1) /WAS_L2/BMC/OffsetMod
(u1) /WAS_L2/BMC/Lev2_Activated
<DIR> /WAS_L2/WHAM_L2
(u4) /WAS_L2/WHAM_L2/DMA_PrintDetails
(u4) /WAS_L2/WHAM_L2/PrintDataLength
(u4) /WAS_L2/WHAM_L2/CipheringCfgPrintDetails
<DIR> /WAS_L2/WHAM_RRC
(u4) /WAS_L2/WHAM_RRC/SupervisionTimerLengthInSec
(u4) /WAS_L2/WHAM_RRC/RespondToStatus
<DIR> /WAS_RRC
<CMD> /WAS_RRC/MaxTxPowerComp
<CMD> /WAS_RRC/SetHS_DSCH_PhysicalLayerCategory
<CMD> /WAS_RRC/SetE_DCH_PhysicalLayerCategory
<CMD> /WAS_RRC/ToggleAckOnConnSetCmpl
<CMD> /WAS_RRC/ToggleCipheringCapability
<CMD> /WAS_RRC/ToggleDetectedCellsHandling
<CMD> /WAS_RRC/ToggleHSDPA_Capabilties
<CMD> /WAS_RRC/ToggleHSUPA_Capabilties
<CMD> /WAS_RRC/ToggleNeedOfCM
<CMD> /WAS_RRC/ToggleInterFreqEventsHandling
<CMD> /WAS_RRC/ToggleResetWandaFlag
<CMD> /WAS_RRC/ToggleRFC_2507_Capability
<CMD> /WAS_RRC/ToggleRRC_CapabilitiesR99_OR_REL5
<CMD> /WAS_RRC/ToggleCM_EUL_Capability
<DIR> /WAS_RRC/PrintControl
<CMD> /WAS_RRC/PrintControl/RemoveAllPrints
<CMD> /WAS_RRC/PrintControl/ResetAllPrints
<CMD> /WAS_RRC/PrintControl/SetAllPrints
<CMD> /WAS_RRC/PrintControl/CfgSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgViewActivePrints
<CMD> /WAS_RRC/PrintControl/MeasSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasViewActivePrints
<CMD> /WAS_RRC/PrintControl/MbmsSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsViewActivePrints
<CMD> /WAS_RRC/PrintControl/TaskSetPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskClrPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskViewActivePrints
<CMD> /WAS_RRC/PrintControl/SysSetPrintGroup
<CMD> /WAS_RRC/PrintControl/SysClrPrintGroup
<CMD> /WAS_RRC/PrintControl/SysViewActivePrints
<CMD> /WAS_RRC/PrintControl/CellSelSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelViewActivePrints
<CMD> /WAS_RRC/PrintControl/IntegritySetPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityClrPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityViewActivePrints
<CMD> /WAS_RRC/PrintControl/CPlaneSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneViewActivePrints
<CMD> /WAS_RRC/PrintControl/MainSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MainClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MainViewActivePrints
<DIR> /WAS_RRC/RRC_C_PlaneDataCtrl_cap
(u2) /WAS_RRC/RRC_C_PlaneDataCtrl_cap/MAX_RRC_Message_Print_Length
<DIR> /WAS_RRC/RRC_ConfigurationCtrl_cap
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SignalChannelFailure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CM_Error
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CFG_SeqTimeout
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/TriggerSynchLost
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SetMeasFreq
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/DXCH_Failure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/StopUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ContinueUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/InjectControlSignal
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ToggleFlagFor_SendPHY_SYNCH_LOST_IND
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/Log_MBMS_Cfg_Params
(u2) /WAS_RRC/BLER
<DIR> /Channels
<CMD> /Channels/EndpointsInfo
<CMD> /Channels/ActiveChannels
<CMD> /Channels/ShowEndpointData
<CMD> /Channels/ChannelDetails
<CMD> /Channels/TraceEndpoint
<CMD> /Channels/PinTrace
<CMD> /Channels/Profile
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /SNDCP
<CMD> /SNDCP/DebugTrace
<CMD> /SNDCP/List
<CMD> /SNDCP/PrintCompressionRatios
<CMD> /SNDCP/PrintNPDU_Header
<CMD> /SNDCP/SetAQM_DownCounter
<CMD> /SNDCP/SetAQM_MaxThreshold
<CMD> /SNDCP/SetAQM_MinThreshold
<CMD> /SNDCP/SetMaxUplinkFlowCtrlCredits
<DIR> /AT
<DIR> /AT/CMD_STRINGS
<CMD> /AT/CMD_STRINGS/SendString
<CMD> /AT/CMD_STRINGS/StartATLog
<CMD> /AT/CMD_STRINGS/StopATLog
<DIR> /AT/DISPATCHES
<CMD> /AT/DISPATCHES/RingDisp
<CMD> /AT/DISPATCHES/MSConnectDisp
<DIR> /AT/CALL_HANDLER
(e1) /AT/CALL_HANDLER/CallState[0]
(e1) /AT/CALL_HANDLER/CallState[1]
(e1) /AT/CALL_HANDLER/CallState[2]
(e1) /AT/CALL_HANDLER/CallState[3]
(e1) /AT/CALL_HANDLER/CallState[4]
(e1) /AT/CALL_HANDLER/CallState[5]
(e1) /AT/CALL_HANDLER/CallState[6]
(e1) /AT/CALL_HANDLER/CallState[7]
<DIR> /AT/CHANNELS_TRAFFIC
<CMD> /AT/CHANNELS_TRAFFIC/DumpTrafficRegs
<CMD> /AT/CHANNELS_TRAFFIC/FlushTrafficRegs
<DIR> /AT/CFS
<CMD> /AT/CFS/SendResponse
<CMD> /AT/CFS/CommandResult
<CMD> /AT/CFS/GetStateOfActiveChannels
<CMD> /AT/CFS/GetNumericParameter
<CMD> /AT/CFS/SetNumericParameter
(u1) /AT/CFS/ApplicationHasRegistered
<CMD> /AT/CFS/ListCmdsInFwdFile
<CMD> /AT/LocalChannelMode
<CMD> /AT/DebugTrace
<CMD> /AT/RemoteEndpointType
<CMD> /AT/PinSetting
<CMD> /AT/AssociateChannel
<CMD> /AT/TransferType
(u4) /AT/ATH_GuardMs
<DIR> /DSPIF
<CMD> /DSPIF/G_ToggleDspSleepPrint
<DIR> /WCDMA_L1
<DIR> /WCDMA_L1/PrintControl
<CMD> /WCDMA_L1/PrintControl/RemoveAllPrints
<CMD> /WCDMA_L1/PrintControl/ResetAllPrints
<CMD> /WCDMA_L1/PrintControl/SetAllPrints
<CMD> /WCDMA_L1/PrintControl/CellSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Cell2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/CtrlSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Ctrl2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/RadioSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioViewActivePrints
<CMD> /WCDMA_L1/PrintControl/SlotSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotViewActivePrints
<DIR> /WCDMA_L1/Test
<CMD> /WCDMA_L1/Test/Offline
<CMD> /WCDMA_L1/Test/PHYReset
<CMD> /WCDMA_L1/Test/DRXReset
<DIR> /WCDMA_L1/Configuration
<CMD> /WCDMA_L1/Configuration/GrakeToggle
<CMD> /WCDMA_L1/Configuration/RXdivToggle
<DIR> /GAS
<DIR> /GAS/Measurement
<CMD> /GAS/Measurement/RemoveAllPrints
<CMD> /GAS/Measurement/ResetAllPrints
<CMD> /GAS/Measurement/SetAllPrints
<CMD> /GAS/Measurement/SetPrintGroup
<CMD> /GAS/Measurement/ClrPrintGroup
<CMD> /GAS/Measurement/ViewActivePrints
<DIR> /GAS/NeighbourCellId
<CMD> /GAS/NeighbourCellId/RemoveAllPrints
<CMD> /GAS/NeighbourCellId/ResetAllPrints
<CMD> /GAS/NeighbourCellId/SetAllPrints
<CMD> /GAS/NeighbourCellId/SetPrintGroup
<CMD> /GAS/NeighbourCellId/ClrPrintGroup
<CMD> /GAS/NeighbourCellId/ViewActivePrints
<DIR> /GAS/NSGAS_DSP
<CMD> /GAS/NSGAS_DSP/RemoveAllPrints
<CMD> /GAS/NSGAS_DSP/ResetAllPrints
<CMD> /GAS/NSGAS_DSP/SetAllPrints
<CMD> /GAS/NSGAS_DSP/SetPrintGroup
<CMD> /GAS/NSGAS_DSP/ClrPrintGroup
<CMD> /GAS/NSGAS_DSP/ViewActivePrints
<DIR> /GAS/GSM
<CMD> /GAS/GSM/RemoveAllPrints
<CMD> /GAS/GSM/ResetAllPrints
<CMD> /GAS/GSM/SetAllPrints
<CMD> /GAS/GSM/SetPrintGroup
<CMD> /GAS/GSM/ClrPrintGroup
<CMD> /GAS/GSM/ViewActivePrints
<DIR> /GAS/GPRS
<CMD> /GAS/GPRS/RemoveAllPrints
<CMD> /GAS/GPRS/ResetAllPrints
<CMD> /GAS/GPRS/SetAllPrints
<CMD> /GAS/GPRS/SetPrintGroup
<CMD> /GAS/GPRS/ClrPrintGroup
<CMD> /GAS/GPRS/ViewActivePrints
<DIR> /GAS/IratMeasurement
<CMD> /GAS/IratMeasurement/RemoveAllPrints
<CMD> /GAS/IratMeasurement/ResetAllPrints
<CMD> /GAS/IratMeasurement/SetAllPrints
<CMD> /GAS/IratMeasurement/SetPrintGroup
<CMD> /GAS/IratMeasurement/ClrPrintGroup
<CMD> /GAS/IratMeasurement/ViewActivePrints
<DIR> /GAS/GSM_IdleModeScheduling
<CMD> /GAS/GSM_IdleModeScheduling/RemoveAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/ResetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ClrPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ViewActivePrints
<DIR> /GAS/AMR
<CMD> /GAS/AMR/RemoveAllPrints
<CMD> /GAS/AMR/ResetAllPrints
<CMD> /GAS/AMR/SetAllPrints
<CMD> /GAS/AMR/SetPrintGroup
<CMD> /GAS/AMR/ClrPrintGroup
<CMD> /GAS/AMR/ViewActivePrints
<DIR> /GAS/DTX
<CMD> /GAS/DTX/RemoveAllPrints
<CMD> /GAS/DTX/ResetAllPrints
<CMD> /GAS/DTX/SetAllPrints
<CMD> /GAS/DTX/SetPrintGroup
<CMD> /GAS/DTX/ClrPrintGroup
<CMD> /GAS/DTX/ViewActivePrints
<DIR> /GAS/AFC
<CMD> /GAS/AFC/RemoveAllPrints
<CMD> /GAS/AFC/ResetAllPrints
<CMD> /GAS/AFC/SetAllPrints
<CMD> /GAS/AFC/SetPrintGroup
<CMD> /GAS/AFC/ClrPrintGroup
<CMD> /GAS/AFC/ViewActivePrints
<DIR> /GAS/IDLE
<CMD> /GAS/IDLE/RemoveAllPrints
<CMD> /GAS/IDLE/ResetAllPrints
<CMD> /GAS/IDLE/SetAllPrints
<CMD> /GAS/IDLE/SetPrintGroup
<CMD> /GAS/IDLE/ClrPrintGroup
<CMD> /GAS/IDLE/ViewActivePrints
<DIR> /GAS/Sleep
<CMD> /GAS/Sleep/RemoveAllPrints
<CMD> /GAS/Sleep/ResetAllPrints
<CMD> /GAS/Sleep/SetAllPrints
<CMD> /GAS/Sleep/SetPrintGroup
<CMD> /GAS/Sleep/ClrPrintGroup
<CMD> /GAS/Sleep/ViewActivePrints
<DIR> /GAS/RFACCH
<CMD> /GAS/RFACCH/RemoveAllPrints
<CMD> /GAS/RFACCH/ResetAllPrints
<CMD> /GAS/RFACCH/SetAllPrints
<CMD> /GAS/RFACCH/SetPrintGroup
<CMD> /GAS/RFACCH/ClrPrintGroup
<CMD> /GAS/RFACCH/ViewActivePrints
<DIR> /GAS/RSACCH
<CMD> /GAS/RSACCH/RemoveAllPrints
<CMD> /GAS/RSACCH/ResetAllPrints
<CMD> /GAS/RSACCH/SetAllPrints
<CMD> /GAS/RSACCH/SetPrintGroup
<CMD> /GAS/RSACCH/ClrPrintGroup
<CMD> /GAS/RSACCH/ViewActivePrints

View File

@ -0,0 +1,335 @@
# Sony Ericsson EC400 Mobile Broadband ExpressCard 34 Modem, FW R3A002
<DIR> /RS232
<DIR> /RS232/RequestFunctions
<CMD> /RS232/RequestFunctions/GetCapabilities
<CMD> /RS232/RequestFunctions/ExpectATcmd
<CMD> /RS232/ChannelsFlowStatus
<CMD> /RS232/CurrentRS232State
<CMD> /RS232/TraceOn
<CMD> /RS232/TraceOff
<CMD> /RS232/GenerateLongBreak
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /AUPIPE
<CMD> /AUPIPE/Open
<CMD> /AUPIPE/Close
<CMD> /AUPIPE/Cmd
<CMD> /AUPIPE/Connect
<CMD> /AUPIPE/GetFormatConfig
<CMD> /AUPIPE/SetFormatConfig
<CMD> /AUPIPE/SetPipeConfig
<CMD> /AUPIPE/Start
<CMD> /AUPIPE/Pause
<CMD> /AUPIPE/Stop
<CMD> /AUPIPE/Disconnect
<CMD> /AUPIPE/GetEndpointInfo
<CMD> /AUPIPE/StartMixedAsic
<CMD> /AUPIPE/StopMixedAsic
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /LLRS232
<CMD> /LLRS232/Status
<CMD> /LLRS232/DetectPnP
<CMD> /LLRS232/SetPin
<CMD> /LLRS232/GenerateBreak
<CMD> /LLRS232/AutoDetect
<CMD> /LLRS232/Receive
<CMD> /LLRS232/Transmit
<CMD> /LLRS232/SetFlowControl
<CMD> /LLRS232/SetLogicInversion
<CMD> /LLRS232/SetFlowControlOutputPin
<CMD> /LLRS232/ToggleEnableDebugMux
<CMD> /LLRS232/SetCommParams
<CMD> /LLRS232/Capabilities
<CMD> /LLRS232/SetDebugMode
<CMD> /LLRS232/AbortAutodetect
<CMD> /LLRS232/SetSpeedRange
<DIR> /SysCtrl
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<CMD> /SysCtrl/ITP
<DIR> /OBEX
<CMD> /OBEX/C_State
<CMD> /OBEX/S_State
<CMD> /OBEX/S_PrintRegisterProfiles
<CMD> /OBEX/L_SetDebugMode
<CMD> /OBEX/Session_SetDebugMode
<CMD> /OBEX/SetDebugMode
<CMD> /OBEX/SetShowSize
<CMD> /OBEX/Trace
<DIR> /BattMgr
<CMD> /BattMgr/Test
<CMD> /BattMgr/PauseCharging
<CMD> /BattMgr/ResumeCharging
<CMD> /BattMgr/SetMaxUSBCurrent
<CMD> /BattMgr/SetTemperature
<CMD> /BattMgr/ResetTemperature
<DIR> /PD_I2C
<CMD> /PD_I2C/Rd
<CMD> /PD_I2C/SRd
<CMD> /PD_I2C/Wr
<CMD> /PD_I2C/DE
<CMD> /PD_I2C/Du
<CMD> /PD_I2C/ToggleNAK
<CMD> /PD_I2C/ToggleBE
<CMD> /PD_I2C/ToggleTO
<CMD> /PD_I2C/ToggleSF
<CMD> /PD_I2C/ERd
<CMD> /PD_I2C/ESRd
<CMD> /PD_I2C/EWr
<CMD> /PD_I2C/EDE
<CMD> /PD_I2C/EDu
<DIR> /HTTP
(u4) /HTTP/Tcp_RcvBuf
(u4) /HTTP/Tcp_SndBuf
(u4) /HTTP/Udp_RcvBuf
(u4) /HTTP/Udp_SndBuf
<CMD> /HTTP/State
<CMD> /HTTP/DebugTrace
<CMD> /HTTP/ClearDb
<CMD> /HTTP/CacheUsage
<CMD> /HTTP/SetSecAlg
<CMD> /HTTP/PIN_Handling
<CMD> /HTTP/SecClearDb
<DIR> /HTTP/CertHandling
<CMD> /HTTP/CertHandling/Store
<CMD> /HTTP/CertHandling/List
<DIR> /SIP
<CMD> /SIP/CreateProfile
<CMD> /SIP/DeleteProfile
<CMD> /SIP/CreateUserAgent
<CMD> /SIP/DeleteUserAgent
<CMD> /SIP/SetCredentials
<CMD> /SIP/AddresOfRecord
<CMD> /SIP/IMSIAddressOfRecord
<CMD> /SIP/Proxy
<CMD> /SIP/Options
<CMD> /SIP/ReInvite
<CMD> /SIP/Host
<CMD> /SIP/LocalProxy
<CMD> /SIP/PoCProxy
<CMD> /SIP/PoCSettings
<CMD> /SIP/GroupAd
<CMD> /SIP/Subscribe
<CMD> /SIP/ToggleUseDomainName
<CMD> /SIP/State
<CMD> /SIP/PrintSignalIntervals
<CMD> /SIP/PrintProfiles
<CMD> /SIP/ClearAuthorizations
<CMD> /SIP/Authorizations
<CMD> /SIP/RadioOn
<CMD> /SIP/EncodeDecode
<CMD> /SIP/SetTimer
<CMD> /SIP/Trace
<CMD> /SIP/Memory
<CMD> /SIP/RandomVia
<DIR> /SIP/API
<CMD> /SIP/API/CreateUserAgent
<CMD> /SIP/API/DeleteUserAgent
<CMD> /SIP/API/AddRegisterHeader
<CMD> /SIP/API/AddRegisterHeaderParams
<CMD> /SIP/API/GetLocalAddress
<CMD> /SIP/API/GetLocalAddress_v2
<CMD> /SIP/API/CreateProfile
<CMD> /SIP/API/DeleteProfile
<CMD> /SIP/API/SetPublicUserIdentity
<CMD> /SIP/API/SetPrivateUserIdentity
<CMD> /SIP/API/SetHomeNetworkDomainName
<CMD> /SIP/API/GetRegisteredPublicUserIdentity
<CMD> /SIP/API/OpenRequest
<CMD> /SIP/API/SetProxyCSCF
<CMD> /SIP/API/SetAccessNetworkInfoPolicy
<CMD> /SIP/API/SetRegEventSubscriptionPolicy
<CMD> /SIP/API/SetConnection
<CMD> /SIP/API/SetTimer
<CMD> /SIP/API/CreateTransaction
<CMD> /SIP/API/DestroyTransaction
<CMD> /SIP/API/InitRequest
<CMD> /SIP/API/SetRequestURI
<CMD> /SIP/API/SetHeader
<CMD> /SIP/API/AddHeader
<CMD> /SIP/API/RemoveHeader
<CMD> /SIP/API/GetHeader_v3
<CMD> /SIP/API/AddHeaderParams
<CMD> /SIP/API/Send
<CMD> /SIP/API/AcceptResponse
<CMD> /SIP/API/GetStatusCode
<CMD> /SIP/API/GetReasonPhrase
<CMD> /SIP/API/GetRequestURI
<CMD> /SIP/API/GetMethod
<CMD> /SIP/API/TransactionGetState
<CMD> /SIP/API/InitResponse
<CMD> /SIP/API/InitCancel
<CMD> /SIP/API/InitAck
<CMD> /SIP/API/SetReasonPhrase
<CMD> /SIP/API/SetCredentials
<CMD> /SIP/API/GetDialog
<CMD> /SIP/API/Release
<CMD> /SIP/API/NewTransaction
<CMD> /SIP/API/IsSameDialog
<CMD> /SIP/API/GetState
<CMD> /SIP/API/AddressGetHost
<CMD> /SIP/API/AddressGetPort
<CMD> /SIP/API/OutOfMemory
<CMD> /SIP/API/SetSigCompMemorySizes
<CMD> /SIP/API/GetSigCompMemorySizes
<CMD> /SIP/API/ImsRegister
<CMD> /SIP/API/SetSIM
<CMD> /SIP/API/SetLocalServerPort
<DIR> /SIP/CSI
<CMD> /SIP/CSI/CreateAgent
<CMD> /SIP/CSI/DestroyAgent
<CMD> /SIP/CSI/Register
<CMD> /SIP/CSI/DeRegister
<CMD> /SIP/CSI/ExCaps
<CMD> /SIP/CSI/Invite
<CMD> /SIP/CSI/Respond
<CMD> /SIP/CSI/ReleaseSession
<CMD> /SIP/CSI/TxFile
<CMD> /SIP/CSI/TxMotion
<CMD> /SIP/CSI/RxFile
<CMD> /SIP/CSI/RxMotion
<CMD> /SIP/CSI/Abort
<CMD> /SIP/CSI/Progress
<CMD> /SIP/CSI/GetUPP
<CMD> /SIP/CSI/SetUPC
<DIR> /SIP/POC
(u1) /SIP/POC/autoSIPRegister
(u1) /SIP/POC/acceptPersonalAlerts
(u1) /SIP/POC/acceptGroupAdvertisements
(u1) /SIP/POC/autoAnswer
(u1) /SIP/POC/acceptIncomingInvites
<CMD> /SIP/POC/CreateAgent
<CMD> /SIP/POC/DestroyAgent
<CMD> /SIP/POC/RegisterAgent
<CMD> /SIP/POC/DeRegisterAgent
<CMD> /SIP/POC/PublishSettings
<CMD> /SIP/POC/SetTCBPTimers
<CMD> /SIP/POC/SendPA
<CMD> /SIP/POC/SendGA
<CMD> /SIP/POC/AddParticipant
<CMD> /SIP/POC/Invite
<CMD> /SIP/POC/MMInvite
<CMD> /SIP/POC/Respond
<CMD> /SIP/POC/Release
<CMD> /SIP/POC/GetInfo
<CMD> /SIP/POC/SubscribeCI
<CMD> /SIP/POC/RefreshCISubscr
<CMD> /SIP/POC/UnSubscribeCI
<CMD> /SIP/POC/AddUsers
<CMD> /SIP/POC/Talk
<CMD> /SIP/POC/RxInit
<CMD> /SIP/POC/TxInit
<CMD> /SIP/POC/RxStart
<CMD> /SIP/POC/TxStart
<CMD> /SIP/POC/OnHold
<CMD> /SIP/POC/LockIn
<CMD> /SIP/POC/SetPriority
<CMD> /SIP/POC/GetUPP
<CMD> /SIP/POC/SetUPC
<CMD> /SIP/POC/SetSessionHandleForTalk
<CMD> /SIP/POC/z
<CMD> /SIP/POC/x
<CMD> /SIP/POC/TurnOnMSLog
<CMD> /SIP/POC/TurnOffMSLog
<CMD> /SIP/POC/JbDelays
<CMD> /SIP/POC/TTL
<DIR> /SIP/SIMPLE
<CMD> /SIP/SIMPLE/Register
<CMD> /SIP/SIMPLE/UnRegister
<CMD> /SIP/SIMPLE/Subscribe
<CMD> /SIP/SIMPLE/ReSubscribe
<CMD> /SIP/SIMPLE/UnSubscribe
<CMD> /SIP/SIMPLE/Publish
<CMD> /SIP/SIMPLE/RePublish
<CMD> /SIP/SIMPLE/UnPublish
<DIR> /SIP/XDMC
<CMD> /SIP/XDMC/PopHood
<CMD> /SIP/XDMC/RegisterAgent
<CMD> /SIP/XDMC/DeregisterAgent
<CMD> /SIP/XDMC/Authenticate
<CMD> /SIP/XDMC/OpenDocument
<CMD> /SIP/XDMC/CloseDocument
<CMD> /SIP/XDMC/DeleteDocument
<CMD> /SIP/XDMC/GetData
<CMD> /SIP/XDMC/PutData
<CMD> /SIP/XDMC/DeleteData
<CMD> /SIP/XDMC/EnumerateDocuments
<DIR> /SIP/GLM
<CMD> /SIP/GLM/PopHood
<CMD> /SIP/GLM/SetValue
<CMD> /SIP/GLM/RegisterAgent
<CMD> /SIP/GLM/DeregisterAgent
<CMD> /SIP/GLM/Authenticate
<CMD> /SIP/GLM/ChangeConnection
<CMD> /SIP/GLM/GetLists
<CMD> /SIP/GLM/CreateList
<CMD> /SIP/GLM/OpenList
<CMD> /SIP/GLM/CloseList
<CMD> /SIP/GLM/DeleteList
<CMD> /SIP/GLM/GetMembers
<CMD> /SIP/GLM/GetSettings
<CMD> /SIP/GLM/SetGroupSettings
<CMD> /SIP/GLM/BeginMemberSequence
<CMD> /SIP/GLM/BeginSequence
<CMD> /SIP/GLM/EndSequence
<CMD> /SIP/GLM/SetMember
<CMD> /SIP/GLM/SetLink
<CMD> /SIP/GLM/SetLinkedMember
<CMD> /SIP/GLM/GetRules
<CMD> /SIP/GLM/GetList
<CMD> /SIP/GLM/CancelAgent
<CMD> /SIP/GLM/CancelList
<CMD> /SIP/GLM/BeginConditionSequence
<CMD> /SIP/GLM/BeginManySequence
<CMD> /SIP/GLM/SetManyException
<CMD> /SIP/GLM/SetOneCondition
<CMD> /SIP/GLM/SetGroupRuleActions
<CMD> /SIP/GLM/SetPresenceRuleActions
<CMD> /SIP/GLM/SetPresenceRuleComponent
<CMD> /SIP/GLM/SetPresenceRuleAttributes
<CMD> /SIP/GLM/SetPresenceUnknownAttribute
<CMD> /SIP/GLM/SetPresenceSettings
<CMD> /SIP/GLM/SetGroupAccessActions

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,521 @@
<DIR> /USB
<DIR> /USB/Bus
<CMD> /USB/Bus/BusSubscribe
<CMD> /USB/Bus/BusWriteDevice
<CMD> /USB/Bus/BusGetDevice
<CMD> /USB/Bus/BusReadDevice
<CMD> /USB/Bus/ConfiguraitonSetByHostRead
<CMD> /USB/Bus/BusState
<CMD> /USB/Bus/Test_Soft_Attach
<CMD> /USB/Bus/Soft_Attach
<CMD> /USB/Bus/Soft_Detach
<CMD> /USB/Bus/AutoPullup_Read
<CMD> /USB/Bus/AutoPullup_Write
<DIR> /USB/Trace
<CMD> /USB/Trace/GetDbgState
<CMD> /USB/Trace/EnableDbg
<CMD> /USB/Trace/DisableDbg
<CMD> /USB/Trace/SetDbgLevel
<CMD> /USB/Trace/EventChannel
<CMD> /USB/Trace/SendBreak
<CMD> /USB/Trace/SetDCEPin
<CMD> /USB/Trace/AppSubscribe
<CMD> /USB/Trace/AppUnsubscribe
<DIR> /USB/Ethernet
<CMD> /USB/Ethernet/Subscribe
<CMD> /USB/Ethernet/Unsubscribe
<CMD> /USB/Ethernet/ClosePsock
<CMD> /USB/Ethernet/MAC_Addresses_Get
<CMD> /USB/Ethernet/BridgeFilter_Configure
<CMD> /USB/Ethernet/Bridge_Connect
<CMD> /USB/Ethernet/Bridge_Disconnect
<DIR> /USBLD
<CMD> /USBLD/DebugParam
<CMD> /USBLD/SetSerialNum
<CMD> /USBLD/Resume
<CMD> /USBLD/GetDbgState
<CMD> /USBLD/EnableDbg
<CMD> /USBLD/DisableDbg
<CMD> /USBLD/SetDbgLevel
<CMD> /USBLD/ReadConfigStruct
<CMD> /USBLD/WriteConfigStruct
<CMD> /USBLD/PrintSigtokenStatus
<DIR> /USBLD/Ethernet
<CMD> /USBLD/Ethernet/NotifyNetwork
<CMD> /USBLD/Ethernet/ListStatus
<DIR> /ASYNC_SYNC_TRACE
<CMD> /ASYNC_SYNC_TRACE/SetTraceLevel
<CMD> /ASYNC_SYNC_TRACE/ControlACCM
<CMD> /ASYNC_SYNC_TRACE/ControlBitReverse
<CMD> /ASYNC_SYNC_TRACE/TraceDiscardedFrames
<CMD> /ASYNC_SYNC_TRACE/GetNbrDiscardedFrames
<DIR> /DebugMux
<DIR> /DebugMux/Channels
(u4) /DebugMux/Channels/EPReservation
(u1) /DebugMux/Channels/EndpointId
(u2) /DebugMux/Channels/nTxSize
(u1) /DebugMux/Channels/fTxFlowIsStopped
(u1) /DebugMux/Channels/fRxHeader
(u2) /DebugMux/Channels/RxNeeded
(u4) /DebugMux/Channels/TxDropNumber
(u4) /DebugMux/Channels/TxDropInterval
(u4) /DebugMux/Channels/TxDropCount
(u4) /DebugMux/Channels/TxDropLeft
(u4) /DebugMux/Channels/RxDropNumber
(u4) /DebugMux/Channels/RxDropInterval
(u4) /DebugMux/Channels/RxDropCount
(u4) /DebugMux/Channels/RxDropLeft
<CMD> /DebugMux/Channels/Status
<CMD> /DebugMux/Channels/IgnoreCRCErrors
<CMD> /DebugMux/Channels/LogChannels
<CMD> /DebugMux/Channels/LogRx
<CMD> /DebugMux/Channels/LogTx
<CMD> /DebugMux/Channels/LogStats
<DIR> /DebugMux/TransportLayer
(u1) /DebugMux/TransportLayer/fConnected
(u1) /DebugMux/TransportLayer/fMayTransmit
(u1) /DebugMux/TransportLayer/fTxIsOngoing
(u1) /DebugMux/TransportLayer/InQueueCount
(u1) /DebugMux/TransportLayer/NextToSendCounter(Vs)
(u1) /DebugMux/TransportLayer/NextToReceiveCounter(Vr)
(u1) /DebugMux/TransportLayer/LastSent_Vr
(u1) /DebugMux/TransportLayer/TransmitWindow
(u1) /DebugMux/TransportLayer/NextToStoreInTransmissionQueue(Vx)
<CMD> /DebugMux/TransportLayer/Log
<CMD> /DebugMux/TransportLayer/LogTimer
<CMD> /DebugMux/TransportLayer/Status
<DIR> /DebugMux/DataLayer
(u4) /DebugMux/DataLayer/fTxAllowed
(u4) /DebugMux/DataLayer/WaitingProcsCount
(u4) /DebugMux/DataLayer/ConnectedDPsCount
(u2) /DebugMux/DataLayer/NextDPRefNr
(u1) /DebugMux/DataLayer/NextConnRefNr
(u1) /DebugMux/DataLayer/fConnected
(u1) /DebugMux/DataLayer/InitialCredits
<CMD> /DebugMux/DataLayer/Connected
<CMD> /DebugMux/DataLayer/Disconnected
<CMD> /DebugMux/DataLayer/TxAllowed
<CMD> /DebugMux/DataLayer/Status
<CMD> /DebugMux/DataLayer/LogErrors
<CMD> /DebugMux/DataLayer/LogControl
<CMD> /DebugMux/DataLayer/LogRcvdMsgs
<CMD> /DebugMux/DataLayer/LogRx
<CMD> /DebugMux/DataLayer/LogTx
<DIR> /ExecPltfSrv
<CMD> /ExecPltfSrv/SetWatchdog
<CMD> /ExecPltfSrv/RestartWatchdog
<CMD> /ExecPltfSrv/SetWatchdogType
<CMD> /ExecPltfSrv/SetTasksupervisorCheckPeriod
<CMD> /ExecPltfSrv/ForceWatchdogInterrupt
<CMD> /ExecPltfSrv/PrintFile
<DIR> /Channels
<CMD> /Channels/EndpointsInfo
<CMD> /Channels/ActiveChannels
<CMD> /Channels/ShowEndpointData
<CMD> /Channels/ChannelDetails
<CMD> /Channels/TraceEndpoint
<CMD> /Channels/PinTrace
<CMD> /Channels/Profile
<DIR> /AT
<DIR> /AT/CMD_STRINGS
<CMD> /AT/CMD_STRINGS/SendString
<CMD> /AT/CMD_STRINGS/StartATLog
<CMD> /AT/CMD_STRINGS/StopATLog
<DIR> /AT/DISPATCHES
<CMD> /AT/DISPATCHES/RingDisp
<CMD> /AT/DISPATCHES/MSConnectDisp
<DIR> /AT/CALL_HANDLER
(e1) /AT/CALL_HANDLER/CallState[0]
(e1) /AT/CALL_HANDLER/CallState[1]
(e1) /AT/CALL_HANDLER/CallState[2]
(e1) /AT/CALL_HANDLER/CallState[3]
(e1) /AT/CALL_HANDLER/CallState[4]
(e1) /AT/CALL_HANDLER/CallState[5]
(e1) /AT/CALL_HANDLER/CallState[6]
(e1) /AT/CALL_HANDLER/CallState[7]
<DIR> /AT/CHANNELS_TRAFFIC
<CMD> /AT/CHANNELS_TRAFFIC/DumpTrafficRegs
<CMD> /AT/CHANNELS_TRAFFIC/FlushTrafficRegs
<DIR> /AT/CFS
<CMD> /AT/CFS/SendResponse
<CMD> /AT/CFS/CommandResult
<CMD> /AT/CFS/GetStateOfActiveChannels
<CMD> /AT/CFS/GetNumericParameter
<CMD> /AT/CFS/SetNumericParameter
(u1) /AT/CFS/ApplicationHasRegistered
<CMD> /AT/CFS/ListCmdsInFwdFile
<CMD> /AT/LocalChannelMode
<CMD> /AT/DebugTrace
<CMD> /AT/RemoteEndpointType
<CMD> /AT/PinSetting
<CMD> /AT/AssociateChannel
<CMD> /AT/TransferType
(u4) /AT/ATH_GuardMs
<DIR> /DSPIF
<CMD> /DSPIF/G_ToggleDspSleepPrint
<DIR> /WCDMA_L1
<DIR> /WCDMA_L1/PrintControl
<CMD> /WCDMA_L1/PrintControl/RemoveAllPrints
<CMD> /WCDMA_L1/PrintControl/ResetAllPrints
<CMD> /WCDMA_L1/PrintControl/SetAllPrints
<CMD> /WCDMA_L1/PrintControl/CellSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Cell2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/CtrlSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Ctrl2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/RadioSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioViewActivePrints
<CMD> /WCDMA_L1/PrintControl/SlotSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotViewActivePrints
<CMD> /WCDMA_L1/PrintControl/FrameSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/FrameClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/FrameViewActivePrints
<DIR> /WCDMA_L1/Test
<CMD> /WCDMA_L1/Test/Offline
<CMD> /WCDMA_L1/Test/PHYReset
<CMD> /WCDMA_L1/Test/DRXReset
<CMD> /WCDMA_L1/Test/Show_Clk_Req
<DIR> /WCDMA_L1/Configuration
<CMD> /WCDMA_L1/Configuration/GrakeToggle
<CMD> /WCDMA_L1/Configuration/RXdivToggle
<DIR> /WAS_L2
<DIR> /WAS_L2/PrintControl
<CMD> /WAS_L2/PrintControl/RemoveAllPrints
<CMD> /WAS_L2/PrintControl/ResetAllPrints
<CMD> /WAS_L2/PrintControl/SetAllPrints
<CMD> /WAS_L2/PrintControl/MacSetPrintGroup
<CMD> /WAS_L2/PrintControl/MacClrPrintGroup
<CMD> /WAS_L2/PrintControl/MacViewActivePrints
<CMD> /WAS_L2/PrintControl/RlcSetPrintGroup
<CMD> /WAS_L2/PrintControl/RlcClrPrintGroup
<CMD> /WAS_L2/PrintControl/RlcViewActivePrints
<CMD> /WAS_L2/PrintControl/PdcpSetPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpClrPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpViewActivePrints
<CMD> /WAS_L2/PrintControl/BmcSetPrintGroup
<CMD> /WAS_L2/PrintControl/BmcClrPrintGroup
<CMD> /WAS_L2/PrintControl/BmcViewActivePrints
<CMD> /WAS_L2/PrintControl/WhamSetPrintGroup
<CMD> /WAS_L2/PrintControl/WhamClrPrintGroup
<CMD> /WAS_L2/PrintControl/WhamViewActivePrints
<DIR> /WAS_L2/RLC
<CMD> /WAS_L2/RLC/ChangeAvoidDump
<CMD> /WAS_L2/RLC/ChangeSUFI_Type
<CMD> /WAS_L2/RLC/StatisticsOfMemoryManager
<CMD> /WAS_L2/RLC/ToggleTransferMode
<CMD> /WAS_L2/RLC/ToggleLI_History
<CMD> /WAS_L2/RLC/ToggleIP_Length
<CMD> /WAS_L2/RLC/ToggleDumpOnLargeSDU
<CMD> /WAS_L2/RLC/ToggleDumpOnInvalidLI
<CMD> /WAS_L2/RLC/ToggleDumpOnRxBufferStart
<CMD> /WAS_L2/RLC/ToggleUM_SN_DropStat
(u2) /WAS_L2/RLC/VideoLatencyTime
<DIR> /WAS_L2/MAC
(u4) /WAS_L2/MAC/PowerManipulationMode
(u4) /WAS_L2/MAC/RB_IdToPrintDL
(u4) /WAS_L2/MAC/RB_IdToPrintUL
(u4) /WAS_L2/MAC/ShowHFN_Update
(u4) /WAS_L2/MAC/ShowTM_Signaling
(u4) /WAS_L2/MAC/DumpHS_Header
(u4) /WAS_L2/MAC/DumpHS_RLC_DeliverInfo
(u4) /WAS_L2/MAC/DumpHS_T1_Info
(u4) /WAS_L2/MAC/DumpHS_DiscardedTSN
(u4) /WAS_L2/MAC/DumpHS_GarbageCollect
(u4) /WAS_L2/MAC/CollectHS_Stats
(u4) /WAS_L2/MAC/HS_FramesToCollect
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Clear
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Print
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Pos
<CMD> /WAS_L2/MAC/EUL_AGCHvalue
<CMD> /WAS_L2/MAC/EUL_AlwaysUnhappy
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_MaxAllowedETFCI
<CMD> /WAS_L2/MAC/EUL_PeriodicMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_TxPowerMeas_toggle
<CMD> /WAS_L2/MAC/EUL_SGTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHappyBitDelayCondition
<CMD> /WAS_L2/MAC/EUL_SetSiTrigger
<CMD> /WAS_L2/MAC/EUL_RGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_MaxNrRetransmission
<CMD> /WAS_L2/MAC/EUL_RSN_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SING_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SIG_toggle
<CMD> /WAS_L2/MAC/EUL_SI_Trace_toggle
<CMD> /WAS_L2/MAC/EUL_ETFCI_RestTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHARQoffset
<CMD> /WAS_L2/MAC/EUL_ETFCI_SelectTrace_toggle
<CMD> /WAS_L2/MAC/EUL_DisableETFCI_Quant_toggle
<CMD> /WAS_L2/MAC/EUL_UnHappyDuration
<CMD> /WAS_L2/MAC/EUL_RlcWindowTrace
<CMD> /WAS_L2/MAC/EUL_SetUL_DPCCH_Power
<CMD> /WAS_L2/MAC/EUL_nonsRGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_T32_threshold
<CMD> /WAS_L2/MAC/EUL_SG_AutoIncrease
<CMD> /WAS_L2/MAC/EUL_EDPCCH_Set
<CMD> /WAS_L2/MAC/EUL_noCMdata_toggle
<CMD> /WAS_L2/MAC/EUL_decreaseSG_afterNrMaxRetrans
<CMD> /WAS_L2/MAC/EUL_TC_5_2B_WO_toggle
(u4) /WAS_L2/MAC/ShowCrestCompDetails
(u4) /WAS_L2/MAC/TvpProbeId
<CMD> /WAS_L2/MAC/TvpMacTrChBitrate
(u4) /WAS_L2/MAC/ShowTxPowerDetails
(u4) /WAS_L2/MAC/ShowHsDpcchDetails
(u4) /WAS_L2/MAC/ShowMacRlcUlDetails
<CMD> /WAS_L2/MAC/MacWrite6bitTest
(u4) /WAS_L2/MAC/CipherBlockId74EUL_30nonEUL
<DIR> /WAS_L2/PDCP
<CMD> /WAS_L2/PDCP/ShowActivePdcpSettings
<CMD> /WAS_L2/PDCP/ChangeUserPlaneSettings
<CMD> /WAS_L2/PDCP/AQM_MaxQueueSize
<DIR> /WAS_L2/BMC
<CMD> /WAS_L2/BMC/TriggerActivate
<CMD> /WAS_L2/BMC/TriggerDeactivate
<CMD> /WAS_L2/BMC/TriggerSuspend
<CMD> /WAS_L2/BMC/TriggerResume
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell1
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell2
<CMD> /WAS_L2/BMC/TriggerCtchNotAvailable
<CMD> /WAS_L2/BMC/TriggerCBS_Message0
<CMD> /WAS_L2/BMC/TriggerCBS_Message0_Swapped
<CMD> /WAS_L2/BMC/TriggerCBS_Message1
<CMD> /WAS_L2/BMC/TriggerCBS_Message1_Swapped
<CMD> /WAS_L2/BMC/TriggerScheduleMessage
<CMD> /WAS_L2/BMC/TriggerScheduleMessageSwapped
<CMD> /WAS_L2/BMC/ToggleBMC
(u4) /WAS_L2/BMC/MessageTypesToReadBitmap
(u1) /WAS_L2/BMC/ScheduleLengthMod
(u1) /WAS_L2/BMC/OffsetMod
(u1) /WAS_L2/BMC/Lev2_Activated
<DIR> /WAS_L2/WHAM_L2
(u4) /WAS_L2/WHAM_L2/DMA_PrintDetails
(u4) /WAS_L2/WHAM_L2/PrintDataLength
(u4) /WAS_L2/WHAM_L2/CipheringCfgPrintDetails
<CMD> /WAS_L2/WHAM_L2/TestCipheringCfg1
<DIR> /WAS_L2/WHAM_RRC
(u4) /WAS_L2/WHAM_RRC/SupervisionTimerLengthInSec
(u4) /WAS_L2/WHAM_RRC/RespondToStatus
<DIR> /SNDCP
<CMD> /SNDCP/DebugTrace
<CMD> /SNDCP/List
<CMD> /SNDCP/PrintCompressionRatios
<CMD> /SNDCP/PrintNPDU_Header
<CMD> /SNDCP/SetAQM_DownCounter
<CMD> /SNDCP/SetAQM_MaxThreshold
<CMD> /SNDCP/SetAQM_MinThreshold
<CMD> /SNDCP/SetMaxUplinkFlowCtrlCredits
<DIR> /GAS
<DIR> /GAS/Measurement
<CMD> /GAS/Measurement/RemoveAllPrints
<CMD> /GAS/Measurement/ResetAllPrints
<CMD> /GAS/Measurement/SetAllPrints
<CMD> /GAS/Measurement/SetPrintGroup
<CMD> /GAS/Measurement/ClrPrintGroup
<CMD> /GAS/Measurement/ViewActivePrints
<DIR> /GAS/NeighbourCellId
<CMD> /GAS/NeighbourCellId/RemoveAllPrints
<CMD> /GAS/NeighbourCellId/ResetAllPrints
<CMD> /GAS/NeighbourCellId/SetAllPrints
<CMD> /GAS/NeighbourCellId/SetPrintGroup
<CMD> /GAS/NeighbourCellId/ClrPrintGroup
<CMD> /GAS/NeighbourCellId/ViewActivePrints
<DIR> /GAS/NSGAS_DSP
<CMD> /GAS/NSGAS_DSP/RemoveAllPrints
<CMD> /GAS/NSGAS_DSP/ResetAllPrints
<CMD> /GAS/NSGAS_DSP/SetAllPrints
<CMD> /GAS/NSGAS_DSP/SetPrintGroup
<CMD> /GAS/NSGAS_DSP/ClrPrintGroup
<CMD> /GAS/NSGAS_DSP/ViewActivePrints
<DIR> /GAS/GSM
<CMD> /GAS/GSM/RemoveAllPrints
<CMD> /GAS/GSM/ResetAllPrints
<CMD> /GAS/GSM/SetAllPrints
<CMD> /GAS/GSM/SetPrintGroup
<CMD> /GAS/GSM/ClrPrintGroup
<CMD> /GAS/GSM/ViewActivePrints
<DIR> /GAS/GPRS
<CMD> /GAS/GPRS/RemoveAllPrints
<CMD> /GAS/GPRS/ResetAllPrints
<CMD> /GAS/GPRS/SetAllPrints
<CMD> /GAS/GPRS/SetPrintGroup
<CMD> /GAS/GPRS/ClrPrintGroup
<CMD> /GAS/GPRS/ViewActivePrints
<DIR> /GAS/IratMeasurement
<CMD> /GAS/IratMeasurement/RemoveAllPrints
<CMD> /GAS/IratMeasurement/ResetAllPrints
<CMD> /GAS/IratMeasurement/SetAllPrints
<CMD> /GAS/IratMeasurement/SetPrintGroup
<CMD> /GAS/IratMeasurement/ClrPrintGroup
<CMD> /GAS/IratMeasurement/ViewActivePrints
<DIR> /GAS/GSM_IdleModeScheduling
<CMD> /GAS/GSM_IdleModeScheduling/RemoveAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/ResetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ClrPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ViewActivePrints
<DIR> /GAS/AMR
<CMD> /GAS/AMR/RemoveAllPrints
<CMD> /GAS/AMR/ResetAllPrints
<CMD> /GAS/AMR/SetAllPrints
<CMD> /GAS/AMR/SetPrintGroup
<CMD> /GAS/AMR/ClrPrintGroup
<CMD> /GAS/AMR/ViewActivePrints
<DIR> /GAS/DTX
<CMD> /GAS/DTX/RemoveAllPrints
<CMD> /GAS/DTX/ResetAllPrints
<CMD> /GAS/DTX/SetAllPrints
<CMD> /GAS/DTX/SetPrintGroup
<CMD> /GAS/DTX/ClrPrintGroup
<CMD> /GAS/DTX/ViewActivePrints
<DIR> /GAS/AFC
<CMD> /GAS/AFC/RemoveAllPrints
<CMD> /GAS/AFC/ResetAllPrints
<CMD> /GAS/AFC/SetAllPrints
<CMD> /GAS/AFC/SetPrintGroup
<CMD> /GAS/AFC/ClrPrintGroup
<CMD> /GAS/AFC/ViewActivePrints
<DIR> /GAS/IDLE
<CMD> /GAS/IDLE/RemoveAllPrints
<CMD> /GAS/IDLE/ResetAllPrints
<CMD> /GAS/IDLE/SetAllPrints
<CMD> /GAS/IDLE/SetPrintGroup
<CMD> /GAS/IDLE/ClrPrintGroup
<CMD> /GAS/IDLE/ViewActivePrints
<DIR> /GAS/Sleep
<CMD> /GAS/Sleep/RemoveAllPrints
<CMD> /GAS/Sleep/ResetAllPrints
<CMD> /GAS/Sleep/SetAllPrints
<CMD> /GAS/Sleep/SetPrintGroup
<CMD> /GAS/Sleep/ClrPrintGroup
<CMD> /GAS/Sleep/ViewActivePrints
<DIR> /GAS/MCLKSEC
<CMD> /GAS/MCLKSEC/EnableMclkSec
<CMD> /GAS/MCLKSEC/DisableMclkSec
<DIR> /GAS/RFACCH
<CMD> /GAS/RFACCH/RemoveAllPrints
<CMD> /GAS/RFACCH/ResetAllPrints
<CMD> /GAS/RFACCH/SetAllPrints
<CMD> /GAS/RFACCH/SetPrintGroup
<CMD> /GAS/RFACCH/ClrPrintGroup
<CMD> /GAS/RFACCH/ViewActivePrints
<DIR> /GAS/RSACCH
<CMD> /GAS/RSACCH/RemoveAllPrints
<CMD> /GAS/RSACCH/ResetAllPrints
<CMD> /GAS/RSACCH/SetAllPrints
<CMD> /GAS/RSACCH/SetPrintGroup
<CMD> /GAS/RSACCH/ClrPrintGroup
<CMD> /GAS/RSACCH/ViewActivePrints
<DIR> /PD_I2C
<CMD> /PD_I2C/Rd
<CMD> /PD_I2C/SRd
<CMD> /PD_I2C/Wr
<CMD> /PD_I2C/DE
<CMD> /PD_I2C/Du
<CMD> /PD_I2C/ToggleNAK
<CMD> /PD_I2C/ToggleBE
<CMD> /PD_I2C/ToggleTO
<CMD> /PD_I2C/ToggleSF
<DIR> /CAS
<CMD> /CAS/IDLE_MS_OPERATION_MODE
<DIR> /NTCSD
<DIR> /NTCSD/L2RCOP
<CMD> /NTCSD/L2RCOP/debug_print_control
<CMD> /NTCSD/L2RCOP/all_print_commands
<CMD> /NTCSD/L2RCOP/channels_flow
<CMD> /NTCSD/L2RCOP/l2rcop_flow
<CMD> /NTCSD/L2RCOP/print_flowcontrol_status
<CMD> /NTCSD/L2RCOP/print_postchannelsbuffer_status
<CMD> /NTCSD/L2RCOP/print_receivebuffer_status
<CMD> /NTCSD/L2RCOP/print_transmitbuffer_status
<CMD> /NTCSD/L2RCOP/send_Channels_Data_Ind
<CMD> /NTCSD/L2RCOP/send_CompletePDU
<CMD> /NTCSD/L2RCOP/send_RLP_Data_Ind
<DIR> /NTCSD/RLP
<CMD> /NTCSD/RLP/debug_print_control
<CMD> /NTCSD/RLP/frame_drop
<CMD> /NTCSD/RLP/frame_dump
<CMD> /NTCSD/RLP/read_state
<CMD> /NTCSD/RLP/srej_status
(u1) /NTCSD/RLP/RLP_DelayIplusS_InitValue
(u1) /NTCSD/RLP/RLP_State1Delay
(u1) /NTCSD/RLP/RLP_TA_TEST_WorkaroundActive
<CMD> /NTCSD/dump
<CMD> /NTCSD/get_process_name
<CMD> /NTCSD/hangup
<CMD> /NTCSD/ntcsd_call_statistics
<DIR> /WAS_RRC
<CMD> /WAS_RRC/MaxTxPowerComp
<CMD> /WAS_RRC/SetHS_DSCH_PhysicalLayerCategory
<CMD> /WAS_RRC/SetE_DCH_PhysicalLayerCategory
<CMD> /WAS_RRC/ToggleAckOnConnSetCmpl
<CMD> /WAS_RRC/ToggleCipheringCapability
<CMD> /WAS_RRC/ToggleDetectedCellsHandling
<CMD> /WAS_RRC/ToggleHSDPA_Capabilties
<CMD> /WAS_RRC/ToggleHSUPA_Capabilties
<CMD> /WAS_RRC/ToggleNeedOfCM
<CMD> /WAS_RRC/ToggleInterFreqEventsHandling
<CMD> /WAS_RRC/ToggleResetWandaFlag
<CMD> /WAS_RRC/ToggleRFC_2507_Capability
<CMD> /WAS_RRC/ToggleCM_EUL_Capability
<DIR> /WAS_RRC/PrintControl
<CMD> /WAS_RRC/PrintControl/RemoveAllPrints
<CMD> /WAS_RRC/PrintControl/ResetAllPrints
<CMD> /WAS_RRC/PrintControl/SetAllPrints
<CMD> /WAS_RRC/PrintControl/CfgSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgViewActivePrints
<CMD> /WAS_RRC/PrintControl/MeasSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasViewActivePrints
<CMD> /WAS_RRC/PrintControl/MbmsSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsViewActivePrints
<CMD> /WAS_RRC/PrintControl/TaskSetPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskClrPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskViewActivePrints
<CMD> /WAS_RRC/PrintControl/SysSetPrintGroup
<CMD> /WAS_RRC/PrintControl/SysClrPrintGroup
<CMD> /WAS_RRC/PrintControl/SysViewActivePrints
<CMD> /WAS_RRC/PrintControl/CellSelSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelViewActivePrints
<CMD> /WAS_RRC/PrintControl/IntegritySetPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityClrPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityViewActivePrints
<CMD> /WAS_RRC/PrintControl/CPlaneSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneViewActivePrints
<CMD> /WAS_RRC/PrintControl/MainSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MainClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MainViewActivePrints
<DIR> /WAS_RRC/RRC_C_PlaneDataCtrl_cap
(u2) /WAS_RRC/RRC_C_PlaneDataCtrl_cap/MAX_RRC_Message_Print_Length
<DIR> /WAS_RRC/RRC_ConfigurationCtrl_cap
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SignalChannelFailure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CM_Error
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CFG_SeqTimeout
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/TriggerSynchLost
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SetMeasFreq
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/DXCH_Failure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/StopUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ContinueUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/InjectControlSignal
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ToggleFlagFor_SendPHY_SYNCH_LOST_IND
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/Log_MBMS_Cfg_Params
(u2) /WAS_RRC/BLER
<DIR> /DHCPC
<CMD> /DHCPC/RebindTestCmd
<DIR> /ICA
<CMD> /ICA/query_connections
<CMD> /ICA/sigtokenPrintStatus
<CMD> /ICA/startlog
<CMD> /ICA/stoplog

Binary file not shown.

View File

@ -0,0 +1,193 @@
<DIR> /RS232
<DIR> /RS232/RequestFunctions
<CMD> /RS232/RequestFunctions/GetCapabilities
<CMD> /RS232/RequestFunctions/ExpectATcmd
<CMD> /RS232/ChannelsFlowStatus
<CMD> /RS232/CurrentRS232State
<CMD> /RS232/TraceOn
<CMD> /RS232/TraceOff
<CMD> /RS232/GenerateLongBreak
<DIR> /LLRS232
<CMD> /LLRS232/Status
<CMD> /LLRS232/DetectPnP
<CMD> /LLRS232/SetPin
<CMD> /LLRS232/GenerateBreak
<CMD> /LLRS232/AutoDetect
<CMD> /LLRS232/Receive
<CMD> /LLRS232/Transmit
<CMD> /LLRS232/SetFlowControl
<CMD> /LLRS232/SetLogicInversion
<CMD> /LLRS232/SetFlowControlOutputPin
<CMD> /LLRS232/ToggleEnableDebugMux
<CMD> /LLRS232/SetCommParams
<CMD> /LLRS232/Capabilities
<CMD> /LLRS232/SetDebugMode
<CMD> /LLRS232/AbortAutodetect
<CMD> /LLRS232/SetSpeedRange
<DIR> /AUPIPE
<CMD> /AUPIPE/Open
<CMD> /AUPIPE/Close
<CMD> /AUPIPE/Cmd
<CMD> /AUPIPE/Connect
<CMD> /AUPIPE/GetFormatConfig
<CMD> /AUPIPE/SetFormatConfig
<CMD> /AUPIPE/SetPipeConfig
<CMD> /AUPIPE/Start
<CMD> /AUPIPE/Pause
<CMD> /AUPIPE/Stop
<CMD> /AUPIPE/Disconnect
<CMD> /AUPIPE/GetEndpointInfo
<CMD> /AUPIPE/StartMixedAsic
<CMD> /AUPIPE/StopMixedAsic
<DIR> /ExecPltfSrv
<CMD> /ExecPltfSrv/SetWatchdog
<CMD> /ExecPltfSrv/RestartWatchdog
<CMD> /ExecPltfSrv/SetWatchdogType
<CMD> /ExecPltfSrv/SetTasksupervisorCheckPeriod
<CMD> /ExecPltfSrv/ForceWatchdogInterrupt
<CMD> /ExecPltfSrv/PrintFile
<DIR> /LD_GPS
<DIR> /LD_GPS/Test
<CMD> /LD_GPS/Test/SetSingleSatTestMode_PRN
<CMD> /LD_GPS/Test/StartTestMode_SingleSat
<CMD> /LD_GPS/Test/StartTestMode_GetVersion
<CMD> /LD_GPS/Test/StopTestMode
<DIR> /LD_GPS/Log
<CMD> /LD_GPS/Log/glSetLogPriMask
<CMD> /LD_GPS/Log/glSetLogFacMask
<CMD> /LD_GPS/Log/glLogEnable
<CMD> /LD_GPS/Log/glLogDisable
<DIR> /LD_GPS/Fix
<CMD> /LD_GPS/Fix/StartLocationReporting
<CMD> /LD_GPS/Fix/GetLocation
<CMD> /LD_GPS/Fix/AbortCurrentProcedure
<DIR> /LD_GPS/Settings
<CMD> /LD_GPS/Settings/ColdStartOnly
<CMD> /LD_GPS/Settings/ForceUL_FTA
<CMD> /LD_GPS/Settings/DisableCNTIN
<CMD> /LD_GPS/Settings/DisableDL_FTA
<CMD> /LD_GPS/Settings/DisableUL_FTA
<CMD> /LD_GPS/Settings/AlternateFTA_CapabilitesPerFix
<CMD> /LD_GPS/Settings/ResetGPS_Settings
<DIR> /LD_GPS/NMEA
<CMD> /LD_GPS/NMEA/EnableNMEA
<CMD> /LD_GPS/NMEA/DisableNMEA
<CMD> /LD_GPS/NMEA/DefineNMEA_SentenceTypeFilter
<CMD> /LD_GPS/NMEA/ClearNMEA_Filter
<CMD> /LD_GPS/NMEA/GetNMEA_SupportedSentences
<CMD> /LD_GPS/NMEA/GetCurrentNMEA_SentenceTypeFilter
<CMD> /LD_GPS/SetPowerPolicy
<CMD> /LD_GPS/SendPowerHint
<CMD> /LD_GPS/SendStartup
<CMD> /LD_GPS/SendShutdown
<CMD> /LD_GPS/ResetNVRAM
<CMD> /LD_GPS/ResetNavDataNVRAM
<CMD> /LD_GPS/glSetAlmanac_NULL_OxFF
<CMD> /LD_GPS/glSetNavOnly
<CMD> /LD_GPS/glGetVersion
<CMD> /LD_GPS/glSetRfType_OnlyCallOnceAfterStartUp
<CMD> /LD_GPS/glcb_ExceptionAssert
<DIR> /HTTP
(u4) /HTTP/Tcp_RcvBuf
(u4) /HTTP/Tcp_SndBuf
(u4) /HTTP/Udp_RcvBuf
(u4) /HTTP/Udp_SndBuf
<CMD> /HTTP/State
<CMD> /HTTP/DebugTrace
<CMD> /HTTP/ClearDb
<CMD> /HTTP/CacheUsage
<CMD> /HTTP/SetSecAlg
<CMD> /HTTP/PIN_Handling
<CMD> /HTTP/SecClearDb
<DIR> /HTTP/CertHandling
<CMD> /HTTP/CertHandling/Store
<CMD> /HTTP/CertHandling/List
<DIR> /HTTP/GBA
<CMD> /HTTP/GBA/BSF_Host
<CMD> /HTTP/GBA/ClearKsNafCache
<DIR> /FOTA
<CMD> /FOTA/Update
<CMD> /FOTA/Erase
<CMD> /FOTA/EraseGraphics
<CMD> /FOTA/Delta
<CMD> /FOTA/Graphics
<CMD> /FOTA/Initiate
<CMD> /FOTA/GetConfig
<CMD> /FOTA/DumpStatusBlock
<DIR> /SysCtrl
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<DIR> /POSAPPL
<CMD> /POSAPPL/enable_debug
<CMD> /POSAPPL/disable_debug
<DIR> /POSAPPL/POSSUPL
<CMD> /POSAPPL/POSSUPL/toggle_debug
<DIR> /POSAPPL/POSSUPL/AssistanceData
<CMD> /POSAPPL/POSSUPL/AssistanceData/clear_req_ass_data
<CMD> /POSAPPL/POSSUPL/AssistanceData/set_req_ass_data
<CMD> /POSAPPL/POSSUPL/AssistanceData/reset
<DIR> /POSAPPL/POSSUPL/ChangePorts
<CMD> /POSAPPL/POSSUPL/ChangePorts/set_sms_port
<CMD> /POSAPPL/POSSUPL/ChangePorts/set_tcp_port
<DIR> /POSAPPL/POSSUPL/DataLog
<CMD> /POSAPPL/POSSUPL/DataLog/toggle_data_log
<DIR> /POSAPPL/POSSUPL/LocationPlatformAddr
<CMD> /POSAPPL/POSSUPL/LocationPlatformAddr/clear_slp_addr
<CMD> /POSAPPL/POSSUPL/LocationPlatformAddr/set_slp_addr
<DIR> /POSAPPL/POSSUPL/PositioningMethod
<CMD> /POSAPPL/POSSUPL/PositioningMethod/clear_preferred_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/set_preferred_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/clear_supported_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/set_supported_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/disable_nmr
<CMD> /POSAPPL/POSSUPL/PositioningMethod/enable_nmr
<DIR> /POSAPPL/POSSUPL/RefLocation
<CMD> /POSAPPL/POSSUPL/RefLocation/clear_ref_loc
<CMD> /POSAPPL/POSSUPL/RefLocation/set_ref_loc
<DIR> /POSAPPL/POSSUPL/Security
<CMD> /POSAPPL/POSSUPL/Security/clear_transport_security
<CMD> /POSAPPL/POSSUPL/Security/set_transport_security
<CMD> /POSAPPL/POSSUPL/Security/toggle_cert_log
<DIR> /POSAPPL/POSSUPL/Timers
<CMD> /POSAPPL/POSSUPL/Timers/set_client_timer
<CMD> /POSAPPL/POSSUPL/Timers/set_socket_timer
<CMD> /POSAPPL/POSSUPL/Timers/set_message_timer
<DIR> /POSAPPL/POSSVR
<CMD> /POSAPPL/POSSVR/enable_debug
<CMD> /POSAPPL/POSSVR/disable_debug
<CMD> /POSAPPL/POSSVR/read_state
<DIR> /POSAPPL/POSNMEA
<CMD> /POSAPPL/POSNMEA/enable_nmea
<CMD> /POSAPPL/POSNMEA/disable_nmea
<DIR> /POSAPPL/POSNS
<CMD> /POSAPPL/POSNS/enable_debug
<CMD> /POSAPPL/POSNS/disable_debug
<CMD> /POSAPPL/POSNS/read_state
<CMD> /POSAPPL/POSNS/set_classmark_capability
<DIR> /POSAPPL/POSGPS
<CMD> /POSAPPL/POSGPS/enable_debug
<CMD> /POSAPPL/POSGPS/disable_debug
<CMD> /POSAPPL/POSGPS/read_state
<DIR> /BattMgr
<CMD> /BattMgr/Test
<CMD> /BattMgr/PauseCharging
<CMD> /BattMgr/ResumeCharging
<CMD> /BattMgr/SetMaxUSBCurrent
<CMD> /BattMgr/SetTemperature
<CMD> /BattMgr/ResetTemperature
<DIR> /PD_I2C
<CMD> /PD_I2C/Rd
<CMD> /PD_I2C/SRd
<CMD> /PD_I2C/Wr
<CMD> /PD_I2C/DE
<CMD> /PD_I2C/Du
<CMD> /PD_I2C/ToggleNAK
<CMD> /PD_I2C/ToggleBE
<CMD> /PD_I2C/ToggleTO
<CMD> /PD_I2C/ToggleSF
<CMD> /PD_I2C/ERd
<CMD> /PD_I2C/ESRd
<CMD> /PD_I2C/EWr
<CMD> /PD_I2C/XWr
<CMD> /PD_I2C/EDE
<CMD> /PD_I2C/EDu

Binary file not shown.

View File

@ -0,0 +1,965 @@
<DIR> /printserver
<CMD> /printserver/Status
<CMD> /printserver/SetSize
<CMD> /printserver/Disable
<CMD> /printserver/Enable
<CMD> /printserver/PrintDirect
<CMD> /printserver/Print2File
<CMD> /printserver/Burst
<DIR> /MCMA
<CMD> /MCMA/PrintAll
<CMD> /MCMA/Test1NodeA
<CMD> /MCMA/Test1NodeB
<CMD> /MCMA/Test2NodeA
<CMD> /MCMA/Test2NodeB
<CMD> /MCMA/Test3
<CMD> /MCMA/Test4
<CMD> /MCMA/Test5
<CMD> /MCMA/Alloc
<CMD> /MCMA/Free
<CMD> /MCMA/GetSize
<CMD> /MCMA/SetFreeListSize
<DIR> /PD_HSI
<DIR> /PD_HSI/Debug
<CMD> /PD_HSI/Debug/SetDbgLevel
<DIR> /PD_HSI/Test
<CMD> /PD_HSI/Test/RunTest
<CMD> /PD_HSI/Test/LoopTest
<CMD> /PD_HSI/Test/PrintTests
<CMD> /PD_HSI/Test/ShowConfig
<CMD> /PD_HSI/Test/SetTxConfig
<CMD> /PD_HSI/Test/SetRxConfig
<CMD> /PD_HSI/Test/SetTestConfig
<CMD> /PD_HSI/Test/RandomizeConfig
<DIR> /OSDEBUG
<DIR> /OSDEBUG/Utils
<CMD> /OSDEBUG/Utils/Dhrystone
<CMD> /OSDEBUG/Utils/StopDhrystone
<CMD> /OSDEBUG/Utils/GetTicks
<CMD> /OSDEBUG/Utils/GetTicksLoop
<CMD> /OSDEBUG/Utils/GetTicksLoopDelay
<CMD> /OSDEBUG/Utils/Work
<CMD> /OSDEBUG/Utils/StopWork
<CMD> /OSDEBUG/Utils/WDog
<CMD> /OSDEBUG/Utils/OptimaHeapDebug
<CMD> /OSDEBUG/Utils/ShowIdleTime
<CMD> /OSDEBUG/Utils/StopIdleTime
<DIR> /OSDEBUG/LMTools
<CMD> /OSDEBUG/LMTools/PgTypeList
<CMD> /OSDEBUG/LMTools/PgTypeInfo
<CMD> /OSDEBUG/LMTools/LmList
<CMD> /OSDEBUG/LMTools/LmInfo
<CMD> /OSDEBUG/LMTools/LmGetConf
<CMD> /OSDEBUG/LMTools/LmInstall
<CMD> /OSDEBUG/LMTools/LmUninstall
<CMD> /OSDEBUG/LMTools/PgCreate
<CMD> /OSDEBUG/LMTools/PgStart
<CMD> /OSDEBUG/LMTools/PgList
<CMD> /OSDEBUG/LMTools/PgInfo
<CMD> /OSDEBUG/LMTools/PgGetConf
<CMD> /OSDEBUG/LMTools/PgKill
<CMD> /OSDEBUG/LMTools/PagerInfo
<DIR> /OSDEBUG/Memory
<CMD> /OSDEBUG/Memory/lpool
<CMD> /OSDEBUG/Memory/lheap
<CMD> /OSDEBUG/Memory/physmem
<CMD> /OSDEBUG/Memory/domlist
<CMD> /OSDEBUG/Memory/memalyze
<DIR> /OSDEBUG/Memory/toolbox
<CMD> /OSDEBUG/Memory/toolbox/MemoryTest
<CMD> /OSDEBUG/Memory/toolbox/WriteRead
<CMD> /OSDEBUG/Memory/toolbox/MemSpeed
<CMD> /OSDEBUG/Memory/toolbox/AccessMemory
<CMD> /OSDEBUG/Memory/toolbox/AbortMemoryTest
<CMD> /OSDEBUG/lproc
<CMD> /OSDEBUG/biosls
<CMD> /OSDEBUG/sysinfo
<CMD> /OSDEBUG/what
<DIR> /BMC_Counter
<CMD> /BMC_Counter/Start
<CMD> /BMC_Counter/Stop
<CMD> /BMC_Counter/Help
(u4) /BMC_Counter/EveryMS
(e4) /BMC_Counter/Cumulative
(e4) /BMC_Counter/Counter0
(e4) /BMC_Counter/Counter1
<DIR> /L2Cache
<CMD> /L2Cache/Start
<CMD> /L2Cache/Stop
<CMD> /L2Cache/Help
<CMD> /L2Cache/Measure_INSTR_READ
<CMD> /L2Cache/Measure_DATA_READ
<CMD> /L2Cache/Measure_DATA_WRITE
<CMD> /L2Cache/Measure_DATA_WRITE_THROUGH
<CMD> /L2Cache/Measure_ALLOCATION_EVICTION
<CMD> /L2Cache/CumulativeModeOn
<CMD> /L2Cache/CumulativeModeOff
(u4) /L2Cache/EveryMS
<DIR> /pd_wdog
<CMD> /pd_wdog/Status
<CMD> /pd_wdog/s
<CMD> /pd_wdog/Enable
<CMD> /pd_wdog/Disable
<CMD> /pd_wdog/Feed
<CMD> /pd_wdog/ForceInterrupt
<CMD> /pd_wdog/SetTimeOut
<DIR> /SysCtrl
<CMD> /SysCtrl/StartUpCause
<CMD> /SysCtrl/Status
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<CMD> /SysCtrl/RestartServiceMode
<CMD> /SysCtrl/SetWatchDogAction
<CMD> /SysCtrl/SetSoftServiceMode
<DIR> /MISCCON
<DIR> /MISCCON/Spinlock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_AllocateSpinLock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_FreeSpinLock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_SetSpinLockValue
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_GetSpinLockValue
<CMD> /MISCCON/Spinlock/ShowSpinLocks
<DIR> /MISCCON/DC_On
<CMD> /MISCCON/DC_On/Do_PD_MISCCON_GetDC_On
<CMD> /MISCCON/DC_On/Do_PD_MISCCON_SetDC_On
<DIR> /MISCCON/Pins
<CMD> /MISCCON/Pins/Do_PD_MISCCON_AllocAndConfigurePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ReConfigurePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ReleasePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ConfigPinPullControl
<CMD> /MISCCON/Pins/GetPullTypeForPin
<CMD> /MISCCON/Pins/GetMM_ForPin
<CMD> /MISCCON/Pins/CDF
<CMD> /MISCCON/Pins/CL
<CMD> /MISCCON/Pins/CDL
<CMD> /MISCCON/Pins/PowerSaveON
<CMD> /MISCCON/Pins/PowerSaveOFF
<CMD> /MISCCON/Pins/Test
<CMD> /MISCCON/Pins/HELP
<CMD> /MISCCON/Pins/HELPSYNTAX
<CMD> /MISCCON/Do_PD_MISCCON_GetCurrentHost
<CMD> /MISCCON/Do_PD_MISCCON_ReadChipId
<DIR> /SYSCON
<CMD> /SYSCON/Get
<CMD> /SYSCON/Set
<CMD> /SYSCON/HWStatus
<CMD> /SYSCON/DomainStatus
<CMD> /SYSCON/BlockStatus
<CMD> /SYSCON/SpeedGroupStatus
<CMD> /SYSCON/ObservabilityCore
<CMD> /SYSCON/ObservabilityBridges
<CMD> /SYSCON/DutyCount
<CMD> /SYSCON/DutyCountAutomatic
<CMD> /SYSCON/Int
<CMD> /SYSCON/SetInternalReset
<CMD> /SYSCON/SetExternalReset
<CMD> /SYSCON/ConfigureSysClk
<CMD> /SYSCON/SysClkEnable
<CMD> /SYSCON/SetClockStabilityCounterValue
<CMD> /SYSCON/GetStabilityCounterValue
<CMD> /SYSCON/RegisterStabilityCounterCallback
<CMD> /SYSCON/ClockRequest
<CMD> /SYSCON/GetClockCapabilities
<CMD> /SYSCON/PLL_Enable
<CMD> /SYSCON/IsPLL_Locked
<CMD> /SYSCON/EnableM_ClockBased
<CMD> /SYSCON/ConfigureClockRequest
<CMD> /SYSCON/PowerRequestOn
<CMD> /SYSCON/PowerRequestOff
<CMD> /SYSCON/PowerRequest
<CMD> /SYSCON/IsSupplyVoltageStable
<CMD> /SYSCON/IsBlockCompromised
<CMD> /SYSCON/GetActualClockMode
<CMD> /SYSCON/SetClockSympathyForCPU
<CMD> /SYSCON/SetClockSympathyForAccDMA
<CMD> /SYSCON/SetClockSympathyForAppDMA
<CMD> /SYSCON/SetClockSympathyForDSP
<CMD> /SYSCON/ConfigurePowerSympathy
<CMD> /SYSCON/SetBootAddressRegisterAppCPU
<CMD> /SYSCON/SetBootAddressRegisterAccCPU
<CMD> /SYSCON/GetBootAddressRegisterAppCPU
<CMD> /SYSCON/GetBootAddressRegisterAccCPU
<CMD> /SYSCON/GetPSEL_Number
<CMD> /SYSCON/ReadServicePin
<CMD> /SYSCON/EnjoyHigherFrequencyFromOtherCPU
<CMD> /SYSCON/SetSystemBlockFrequency
<CMD> /SYSCON/SetDebugBootRegister
<CMD> /SYSCON/GetDebugBootRegister
<CMD> /SYSCON/SetDebugEMU_Mask
<CMD> /SYSCON/GetDebugEMU_Mask
<CMD> /SYSCON/SetDebugEMU_Control
<CMD> /SYSCON/GetDebugEMU_Control
<CMD> /SYSCON/WaitUntilSystemReset
<CMD> /SYSCON/SetSpeedLimit
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<CMD> /TaskSupervisor/ForceWatchdogInterrupt
<DIR> /LLRS232
<CMD> /LLRS232/SetRS232Mode
<CMD> /LLRS232/SetDebugMode
<DIR> /RS232
<DIR> /RS232/RequestFunctions
<CMD> /RS232/RequestFunctions/GetCapabilities
<CMD> /RS232/RequestFunctions/ExpectATcmd
<CMD> /RS232/ChannelsFlowStatus
<CMD> /RS232/CurrentRS232State
<CMD> /RS232/TraceOn
<CMD> /RS232/TraceOff
<CMD> /RS232/GenerateLongBreak
<DIR> /DebugMux
<DIR> /DebugMux/Channels
(u4) /DebugMux/Channels/EPReservation
(u1) /DebugMux/Channels/EndpointId
(u2) /DebugMux/Channels/nTxSize
(u1) /DebugMux/Channels/fTxFlowIsStopped
(u1) /DebugMux/Channels/fRxHeader
(u2) /DebugMux/Channels/RxNeeded
(u4) /DebugMux/Channels/UsePSock
(u4) /DebugMux/Channels/TxDropNumber
(u4) /DebugMux/Channels/TxDropInterval
(u4) /DebugMux/Channels/TxDropCount
(u4) /DebugMux/Channels/TxDropLeft
(u4) /DebugMux/Channels/RxDropNumber
(u4) /DebugMux/Channels/RxDropInterval
(u4) /DebugMux/Channels/RxDropCount
(u4) /DebugMux/Channels/RxDropLeft
<CMD> /DebugMux/Channels/Status
<CMD> /DebugMux/Channels/IgnoreCRCErrors
<CMD> /DebugMux/Channels/LogChannels
<CMD> /DebugMux/Channels/LogRx
<CMD> /DebugMux/Channels/LogTx
<CMD> /DebugMux/Channels/LogStats
<DIR> /DebugMux/TransportLayer
(u1) /DebugMux/TransportLayer/fConnected
(u1) /DebugMux/TransportLayer/fMayTransmit
(u1) /DebugMux/TransportLayer/fTxIsOngoing
(u1) /DebugMux/TransportLayer/InQueueCount
(u1) /DebugMux/TransportLayer/NextToSendCounter(Vs)
(u1) /DebugMux/TransportLayer/NextToReceiveCounter(Vr)
(u1) /DebugMux/TransportLayer/LastSent_Vr
(u1) /DebugMux/TransportLayer/TransmitWindow
(u1) /DebugMux/TransportLayer/NextToStoreInTransmissionQueue(Vx)
<CMD> /DebugMux/TransportLayer/Log
<CMD> /DebugMux/TransportLayer/LogTimer
<CMD> /DebugMux/TransportLayer/Status
<DIR> /DebugMux/DataLayer
(u4) /DebugMux/DataLayer/fTxAllowed
(u4) /DebugMux/DataLayer/WaitingProcsCount
(u4) /DebugMux/DataLayer/ConnectedDPsCount
(u2) /DebugMux/DataLayer/NextDPRefNr
(u1) /DebugMux/DataLayer/NextConnRefNr
(u1) /DebugMux/DataLayer/fConnected
(u1) /DebugMux/DataLayer/InitialCredits
<CMD> /DebugMux/DataLayer/Connected
<CMD> /DebugMux/DataLayer/Disconnected
<CMD> /DebugMux/DataLayer/TxAllowed
<CMD> /DebugMux/DataLayer/Status
<CMD> /DebugMux/DataLayer/LogErrors
<CMD> /DebugMux/DataLayer/LogControl
<CMD> /DebugMux/DataLayer/LogRcvdMsgs
<CMD> /DebugMux/DataLayer/LogRx
<CMD> /DebugMux/DataLayer/LogTx
<DIR> /Channels
<CMD> /Channels/EndpointsInfo
<CMD> /Channels/ActiveChannels
<CMD> /Channels/ShowEndpointData
<CMD> /Channels/ChannelDetails
<CMD> /Channels/TraceEndpoint
<CMD> /Channels/PinTrace
<CMD> /Channels/Profile
<DIR> /USB
<DIR> /USB/Bus
<CMD> /USB/Bus/BusSubscribe
<CMD> /USB/Bus/BusWriteDevice
<CMD> /USB/Bus/BusGetDevice
<CMD> /USB/Bus/BusReadDevice
<CMD> /USB/Bus/ConfiguraitonSetByHostRead
<CMD> /USB/Bus/BusState
<CMD> /USB/Bus/ChargerStatusGet
<CMD> /USB/Bus/Test_Soft_Attach
<CMD> /USB/Bus/Soft_Attach
<CMD> /USB/Bus/Soft_Detach
<CMD> /USB/Bus/AutoPullup_Read
<CMD> /USB/Bus/AutoPullup_Write
<CMD> /USB/Bus/GetSerialNo
<DIR> /USB/MassStorage
<CMD> /USB/MassStorage/Subscribe
<CMD> /USB/MassStorage/Unsubscribe
<CMD> /USB/MassStorage/Unmount
<CMD> /USB/MassStorage/UnmountVolume
<CMD> /USB/MassStorage/UnmountDevice
<CMD> /USB/MassStorage/Mount
<CMD> /USB/MassStorage/MountVolume
<CMD> /USB/MassStorage/MountDevice
<CMD> /USB/MassStorage/State
<CMD> /USB/MassStorage/StateV2
<CMD> /USB/MassStorage/InfoGet
<CMD> /USB/MassStorage/ConfigurationsGet
<CMD> /USB/MassStorage/ListFSUVolumeNames
<CMD> /USB/MassStorage/FsuUnmount
<CMD> /USB/MassStorage/CustomScsiCommandEnable
<CMD> /USB/MassStorage/CustomScsiCommandConfig
<CMD> /USB/MassStorage/CustomScsiCommandDisable
<CMD> /USB/MassStorage/CustomScsiCommandStatusSend
<DIR> /USB/Trace
<CMD> /USB/Trace/GetDbgState
<CMD> /USB/Trace/EnableDbg
<CMD> /USB/Trace/DisableDbg
<CMD> /USB/Trace/SetDbgLevel
<CMD> /USB/Trace/EventChannel
<CMD> /USB/Trace/SendBreak
<CMD> /USB/Trace/SetDCEPin
<CMD> /USB/Trace/AppSubscribe
<CMD> /USB/Trace/AppUnsubscribe
<DIR> /USB/Ethernet
<CMD> /USB/Ethernet/EventSubscribe
<CMD> /USB/Ethernet/Subscribe
<CMD> /USB/Ethernet/Unsubscribe
<CMD> /USB/Ethernet/PsockClose
<CMD> /USB/Ethernet/MAC_AddressesGet
<CMD> /USB/Ethernet/BridgeConnect
<CMD> /USB/Ethernet/BridgeDisconnect
<CMD> /USB/Ethernet/FilterCreate
<CMD> /USB/Ethernet/FilterDestroy
<CMD> /USB/Ethernet/FilterGet
<CMD> /USB/Ethernet/FilterSet
<CMD> /USB/ToggleIdbgInfo
<DIR> /DataPump
(u2) /DataPump/WantedPacketSize
<CMD> /DataPump/Status
<DIR> /DataPump/ExtIfsPump
<CMD> /DataPump/ExtIfsPump/Status
<CMD> /DataPump/ExtIfsPump/Create
<CMD> /DataPump/ExtIfsPump/Destroy
<CMD> /DataPump/ExtIfsPump/Write
<CMD> /DataPump/ExtIfsPump/Flush
<CMD> /DataPump/ExtIfsPump/SetPin
<CMD> /DataPump/ExtIfsPump/ControlReceiveFlow
<CMD> /DataPump/ExtIfsPump/SetEarlyWarningLevel
<CMD> /DataPump/ExtIfsPump/LocalDestroy
<CMD> /DataPump/ExtIfsPump/Handover
<CMD> /DataPump/ExtIfsPump/WriteBreak
<CMD> /DataPump/ExtIfsPump/TxPause
<CMD> /DataPump/ExtIfsPump/RxPause
<CMD> /DataPump/ExtIfsPump/Loopback
(u1) /DataPump/ExtIfsPump/VerboseRead
(u1) /DataPump/ExtIfsPump/VerboseWrite
(u1) /DataPump/ExtIfsPump/VerboseFlowCtrl
(u1) /DataPump/ExtIfsPump/VerbosePins
(u1) /DataPump/ExtIfsPump/VerboseTxPause
(u1) /DataPump/ExtIfsPump/VerboseRxPause
(u4) /DataPump/ExtIfsPump/DefaultEarlyWarningLevel
(u1) /DataPump/ExtIfsPump/AutoFlush
<DIR> /DataPump/Bridge
<CMD> /DataPump/Bridge/Status
<DIR> /AT
<DIR> /AT/CMD_STRINGS
<CMD> /AT/CMD_STRINGS/SendString
<CMD> /AT/CMD_STRINGS/StartATLog
<CMD> /AT/CMD_STRINGS/StopATLog
<DIR> /AT/DISPATCHES
<CMD> /AT/DISPATCHES/RingDisp
<CMD> /AT/DISPATCHES/MSConnectDisp
<DIR> /AT/CALL_HANDLER
(e1) /AT/CALL_HANDLER/CallState[0]
(e1) /AT/CALL_HANDLER/CallState[1]
(e1) /AT/CALL_HANDLER/CallState[2]
(e1) /AT/CALL_HANDLER/CallState[3]
(e1) /AT/CALL_HANDLER/CallState[4]
(e1) /AT/CALL_HANDLER/CallState[5]
(e1) /AT/CALL_HANDLER/CallState[6]
(e1) /AT/CALL_HANDLER/CallState[7]
<DIR> /AT/CHANNELS_TRAFFIC
<CMD> /AT/CHANNELS_TRAFFIC/DumpTrafficRegs
<CMD> /AT/CHANNELS_TRAFFIC/FlushTrafficRegs
<DIR> /AT/CFS
<CMD> /AT/CFS/SendResponse
<CMD> /AT/CFS/CommandResult
<CMD> /AT/CFS/GetStateOfActiveChannels
<CMD> /AT/CFS/GetNumericParameter
<CMD> /AT/CFS/SetNumericParameter
(u1) /AT/CFS/ApplicationHasRegistered
<CMD> /AT/CFS/ListCmdsInFwdFile
<DIR> /AT/FWD
<CMD> /AT/FWD/TraceAll
<CMD> /AT/FWD/SetTraceLevel
<DIR> /AT/FWD/REG
<CMD> /AT/FWD/REG/RegisterCommandHandler
<CMD> /AT/FWD/REG/DeregisterCommandHandler
<CMD> /AT/FWD/REG/RegisterCommandDesc
<CMD> /AT/FWD/REG/RegisterCommandParameter
<CMD> /AT/FWD/REG/ListAllRegisteredCommands
<DIR> /AT/FWD/CLIENTS
<CMD> /AT/FWD/CLIENTS/ESMODE_Set_ControlStub
<CMD> /AT/LocalChannelMode
<CMD> /AT/DebugTrace
<CMD> /AT/RemoteEndpointType
<CMD> /AT/PinSetting
<CMD> /AT/AssociateChannel
<CMD> /AT/TransferType
(u4) /AT/ATH_GuardMs
<DIR> /DHCPC
<CMD> /DHCPC/RebindTestCmd
<DIR> /USBLD
<CMD> /USBLD/SendChargerSignal
<CMD> /USBLD/DebugParam
<CMD> /USBLD/SerialNumSet
<CMD> /USBLD/Resume
<CMD> /USBLD/MaxCurr
<CMD> /USBLD/DbgStateGet
<CMD> /USBLD/DbgEnable
<CMD> /USBLD/DbgDisable
<CMD> /USBLD/DbgLevelSet
<CMD> /USBLD/PrintSigtokenStatus
<DIR> /USBLD/MassStorage
<CMD> /USBLD/MassStorage/StatusList
<CMD> /USBLD/MassStorage/TPTestStart
<CMD> /USBLD/MassStorage/TPTestStop
<CMD> /USBLD/MassStorage/MscThroughput
<CMD> /USBLD/MassStorage/ReadErrorForce
<CMD> /USBLD/MassStorage/MaxSignalsSet
<DIR> /USBLD/Ethernet
<CMD> /USBLD/Ethernet/StatusList
<CMD> /USBLD/Ethernet/NetworkSpeedSet
<CMD> /USBLD/Ethernet/DbgLevelSet
<CMD> /USBLD/Ethernet/DbgLevelGet
<CMD> /USBLD/ULPI
<CMD> /USBLD/VBUS
<CMD> /USBLD/USBPWR
<DIR> /LD_GPS
<DIR> /LD_GPS/HW
<CMD> /LD_GPS/HW/StartSession
<CMD> /LD_GPS/HW/StopSession
<CMD> /LD_GPS/HW/OpenIO
<CMD> /LD_GPS/HW/CloseIO
<CMD> /LD_GPS/HW/EnableRefClock
<CMD> /LD_GPS/HW/DisableRefClock
<CMD> /LD_GPS/HW/OpenDebugFiles
<CMD> /LD_GPS/HW/CloseDebugFiles
<CMD> /LD_GPS/HW/PrintNext
<DIR> /LD_GPS/NMEA
<CMD> /LD_GPS/NMEA/EnableNMEA
<CMD> /LD_GPS/NMEA/DisableNMEA
<CMD> /LD_GPS/NMEA/DefineNMEA_SentenceTypeFilter
<CMD> /LD_GPS/NMEA/ClearNMEA_Filter
<CMD> /LD_GPS/NMEA/GetNMEA_SupportedSentences
<CMD> /LD_GPS/NMEA/GetCurrentNMEA_SentenceTypeFilter
<DIR> /LD_GPS/HAL
<CMD> /LD_GPS/HAL/GetLocation
<CMD> /LD_GPS/HAL/DoSendStartUpCommand
<CMD> /LD_GPS/HAL/SetRefTime
<CMD> /LD_GPS/HAL/SetRefLoc
<CMD> /LD_GPS/HAL/GetStatus
<CMD> /LD_GPS/HAL/DoSendPowerHint
<CMD> /LD_GPS/HAL/PowerHint
<CMD> /LD_GPS/HAL/DoSendSetProcedure
<CMD> /LD_GPS/HAL/SetProcedure
<CMD> /LD_GPS/HAL/GetProgress
<CMD> /LD_GPS/HAL/ReqShutdown
<CMD> /LD_GPS/HAL/DoResetNVRAM
<CMD> /LD_GPS/HAL/GPSModuleStateTest
<CMD> /LD_GPS/HAL/SetTestModeConfig
<DIR> /LD_GPS/Fix
<CMD> /LD_GPS/Fix/StartLocationReporting
<CMD> /LD_GPS/Fix/GetLocation
<CMD> /LD_GPS/Fix/AbortCurrentProcedure
<DIR> /LD_GPS/Test
<CMD> /LD_GPS/Test/SetSingleSatTestMode_PRN
<CMD> /LD_GPS/Test/SetSingleSatTestMode_Duration
<CMD> /LD_GPS/Test/StartTestMode_SingleSat
<CMD> /LD_GPS/Test/StopTestMode
<CMD> /LD_GPS/Test/StartCWTest
<CMD> /LD_GPS/Test/StopCWTest
<DIR> /LD_GPS/Settings
<CMD> /LD_GPS/Settings/ForceColdStartOnly
<CMD> /LD_GPS/Settings/RestoreDefaultGPSSettings
<CMD> /LD_GPS/Settings/ConfigureGPSResetSettings
<DIR> /WAS_L2
<DIR> /WAS_L2/PrintControl
<CMD> /WAS_L2/PrintControl/RemoveAllPrints
<CMD> /WAS_L2/PrintControl/ResetAllPrints
<CMD> /WAS_L2/PrintControl/SetAllPrints
<CMD> /WAS_L2/PrintControl/MacSetPrintGroup
<CMD> /WAS_L2/PrintControl/MacClrPrintGroup
<CMD> /WAS_L2/PrintControl/MacViewActivePrints
<CMD> /WAS_L2/PrintControl/RlcSetPrintGroup
<CMD> /WAS_L2/PrintControl/RlcClrPrintGroup
<CMD> /WAS_L2/PrintControl/RlcViewActivePrints
<CMD> /WAS_L2/PrintControl/L2CommonSetPrintGroup
<CMD> /WAS_L2/PrintControl/L2CommonClrPrintGroup
<CMD> /WAS_L2/PrintControl/L2CommonViewActivePrints
<CMD> /WAS_L2/PrintControl/PdcpSetPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpClrPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpViewActivePrints
<CMD> /WAS_L2/PrintControl/BmcSetPrintGroup
<CMD> /WAS_L2/PrintControl/BmcClrPrintGroup
<CMD> /WAS_L2/PrintControl/BmcViewActivePrints
<CMD> /WAS_L2/PrintControl/WhamV2SetPrintGroup
<CMD> /WAS_L2/PrintControl/WhamV2ClrPrintGroup
<CMD> /WAS_L2/PrintControl/WhamV2ViewActivePrints
<DIR> /WAS_L2/RLC
<CMD> /WAS_L2/RLC/ChangeAvoidDump
<CMD> /WAS_L2/RLC/ChangeSUFI_Type
<CMD> /WAS_L2/RLC/StatisticsOfMemoryManager
<CMD> /WAS_L2/RLC/ToggleTransferMode
<CMD> /WAS_L2/RLC/ToggleLI_History
<CMD> /WAS_L2/RLC/ToggleIP_Length
<CMD> /WAS_L2/RLC/ToggleDumpOnLargeSDU
<CMD> /WAS_L2/RLC/ToggleDumpOnInvalidLI
<CMD> /WAS_L2/RLC/ToggleDumpOnRxBufferStart
<CMD> /WAS_L2/RLC/ToggleUM_SN_DropStat
<CMD> /WAS_L2/RLC/ToggleDropOnFD_CRC_Error
<CMD> /WAS_L2/RLC/ToggleRLC_TransferTooLong
<CMD> /WAS_L2/RLC/ToggleSpecialHE
<CMD> /WAS_L2/RLC/Toggle_memcpy_15bitLI
<CMD> /WAS_L2/RLC/ToggleHardwareHeaderWriting
<CMD> /WAS_L2/RLC/SetUseCipheringOverlay
(u1) /WAS_L2/RLC/RLC_AM_CipheringOverlayCache_ElemSize
(u2) /WAS_L2/RLC/RLC_AM_CipheringOverlayCache_BufferSize
(u1) /WAS_L2/RLC/RLC_AM_CipheringOverlayCache_UtilizationThreshold
(u2) /WAS_L2/RLC/VideoLatencyTime
(u1) /WAS_L2/RLC/ResetHFN_Mismatch
(u1) /WAS_L2/RLC/RxBuffer_AdjustmentIndex
<DIR> /WAS_L2/MAC
(u4) /WAS_L2/MAC/PowerManipulationMode
(u4) /WAS_L2/MAC/RB_IdToPrintDL
(u4) /WAS_L2/MAC/RB_IdToPrintUL
(u4) /WAS_L2/MAC/ShowHFN_Update
(u4) /WAS_L2/MAC/ShowTM_Signaling
(u4) /WAS_L2/MAC/HSDSCH_StatPeriodicity
(u4) /WAS_L2/MAC/HSDSCH_EnableOptimizations
(u4) /WAS_L2/MAC/MCRAM_FIFO_Margin
<CMD> /WAS_L2/MAC/EUL_AGCHvalue
<CMD> /WAS_L2/MAC/EUL_AlwaysUnhappy
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_MaxAllowedETFCI
<CMD> /WAS_L2/MAC/EUL_PeriodicMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SGTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHappyBitDelayCondition
<CMD> /WAS_L2/MAC/EUL_SetSiTrigger
<CMD> /WAS_L2/MAC/EUL_RGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_ServingRGCH_Filter_toggle
<CMD> /WAS_L2/MAC/EUL_MaxNrRetransmission
<CMD> /WAS_L2/MAC/EUL_RSN_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SING_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SIG_toggle
<CMD> /WAS_L2/MAC/EUL_SI_Trace_toggle
<CMD> /WAS_L2/MAC/EUL_ETFCI_RestTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHARQoffset
<CMD> /WAS_L2/MAC/EUL_ETFCI_SelectTrace_toggle
<CMD> /WAS_L2/MAC/EUL_DisableETFCI_Quant_toggle
<CMD> /WAS_L2/MAC/EUL_UnHappyDuration
<CMD> /WAS_L2/MAC/EUL_RlcWindowTrace
<CMD> /WAS_L2/MAC/EUL_SetUL_DPCCH_Power
<CMD> /WAS_L2/MAC/EUL_nonsRGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_T32_threshold
<CMD> /WAS_L2/MAC/EUL_SG_AutoIncrease
<CMD> /WAS_L2/MAC/TTI2ms
<CMD> /WAS_L2/MAC/ShowEDCH_RTS_IND_info
<CMD> /WAS_L2/MAC/EUL_EDPCCH_Set
<CMD> /WAS_L2/MAC/EUL_noCMdata_toggle
<CMD> /WAS_L2/MAC/EUL_decreaseSG_afterNrMaxRetrans
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggleEXT
<CMD> /WAS_L2/MAC/EUL_ShowBlockedETFCIs
<CMD> /WAS_L2/MAC/EUL_ShowCM_TwoMS_Info
<CMD> /WAS_L2/MAC/MAC_EHS_DisableT1_Timer
(u4) /WAS_L2/MAC/ShowEUL_Cfg_Details
(u4) /WAS_L2/MAC/ShowEUL_Details
(u4) /WAS_L2/MAC/NbrOfEDCH_DataBytesDumped
<CMD> /WAS_L2/MAC/EUL_ShowHICH_ACK
(u4) /WAS_L2/MAC/EUL_SG_LimitedTrace
(u4) /WAS_L2/MAC/EUL_MACeTraceMode
<CMD> /WAS_L2/MAC/EUL_SendMAX_TEBS_Value
(u4) /WAS_L2/MAC/TvpProbeId
<CMD> /WAS_L2/MAC/TvpMacTrChBitrate
<CMD> /WAS_L2/MAC/Enable_Throughput_Logging
(u4) /WAS_L2/MAC/ShowTxPowerDetails
(u4) /WAS_L2/MAC/ShowMacRlcUlDetails
<CMD> /WAS_L2/MAC/MacWrite6bitTest
<CMD> /WAS_L2/MAC/TTI_syncExec
<CMD> /WAS_L2/MAC/SetPDCP_AsyncExec
<CMD> /WAS_L2/MAC/SetPDCP_SyncExec
<CMD> /WAS_L2/MAC/ToggleSyncTest
<CMD> /WAS_L2/MAC/ToggleTTI_Transfer
<CMD> /WAS_L2/MAC/ToggleLeaveHS_DataInMCRAM
<CMD> /WAS_L2/MAC/SetDownlinkPollInterval
<CMD> /WAS_L2/MAC/SetDownlinkPollEnable
(u4) /WAS_L2/MAC/AmrRateAdapt
(u4) /WAS_L2/MAC/AmrUpDelay
(u4) /WAS_L2/MAC/ShowMacTvmDetails
(u4) /WAS_L2/MAC/ShowCipherDetails
<DIR> /WAS_L2/PDCP
<CMD> /WAS_L2/PDCP/ShowActivePdcpSettings
<CMD> /WAS_L2/PDCP/ModifyNewAqmSettings
<CMD> /WAS_L2/PDCP/AQM_MaxQueueSize
<CMD> /WAS_L2/PDCP/ModifySigToken
<CMD> /WAS_L2/PDCP/ModifyStatisticsReportInterval
<DIR> /WAS_L2/BMC
<CMD> /WAS_L2/BMC/TriggerActivate
<CMD> /WAS_L2/BMC/TriggerDeactivate
<CMD> /WAS_L2/BMC/TriggerSuspend
<CMD> /WAS_L2/BMC/TriggerResume
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell1
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell2
<CMD> /WAS_L2/BMC/TriggerCtchNotAvailable
<CMD> /WAS_L2/BMC/TriggerCBS_Message0
<CMD> /WAS_L2/BMC/TriggerCBS_Message0_Swapped
<CMD> /WAS_L2/BMC/TriggerCBS_Message1
<CMD> /WAS_L2/BMC/TriggerCBS_Message1_Swapped
<CMD> /WAS_L2/BMC/TriggerScheduleMessage
<CMD> /WAS_L2/BMC/TriggerScheduleMessageSwapped
<CMD> /WAS_L2/BMC/SetBMC_Mode
(u4) /WAS_L2/BMC/MessageTypesToReadBitmap
(u1) /WAS_L2/BMC/ScheduleLengthMod
(u1) /WAS_L2/BMC/OffsetMod
(u1) /WAS_L2/BMC/Lev2_Activated
<DIR> /WAS_L2/WHAM_L2
<CMD> /WAS_L2/WHAM_L2/RegressionTest
<CMD> /WAS_L2/WHAM_L2/Ciphering
<CMD> /WAS_L2/WHAM_L2/DMA
<DIR> /WAS_L2/WHAM_RRC
<CMD> /WAS_L2/WHAM_RRC/Integrity
<DIR> /CAS
<CMD> /CAS/IDLE_MS_OPERATION_MODE
<DIR> /SNDCP
<CMD> /SNDCP/DebugTrace
<CMD> /SNDCP/List
<CMD> /SNDCP/PrintCompressionRatios
<CMD> /SNDCP/PrintNPDU_Header
<CMD> /SNDCP/SetAQM_DownCounter
<CMD> /SNDCP/SetAQM_MaxThreshold
<CMD> /SNDCP/SetAQM_MinThreshold
<CMD> /SNDCP/SetMaxUplinkFlowCtrlCredits
<DIR> /WAS_RRC
<CMD> /WAS_RRC/MaxTxPowerComp
<CMD> /WAS_RRC/SetHS_DSCH_PhysicalLayerCategory
<CMD> /WAS_RRC/SetE_DCH_PhysicalLayerCategory
<CMD> /WAS_RRC/ToggleAckOnConnSetCmpl
<CMD> /WAS_RRC/SetCipheringSupportLevel
<CMD> /WAS_RRC/SetIntegritySupportLevel
<CMD> /WAS_RRC/ToggleAMRLinkAdaptationSupported
<CMD> /WAS_RRC/ToggleHSDPA_Capabilties
<CMD> /WAS_RRC/ToggleHSUPA_Capabilties
<CMD> /WAS_RRC/ToggleNeedOfCM
<CMD> /WAS_RRC/ToggleInterFreqEventsHandling
<CMD> /WAS_RRC/ToggleResetWandaFlag
<CMD> /WAS_RRC/ToggleRFC_2507_Capability
<DIR> /WAS_RRC/PrintControl
<CMD> /WAS_RRC/PrintControl/RemoveAllPrints
<CMD> /WAS_RRC/PrintControl/ResetAllPrints
<CMD> /WAS_RRC/PrintControl/SetAllPrints
<CMD> /WAS_RRC/PrintControl/CfgSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgViewActivePrints
<CMD> /WAS_RRC/PrintControl/MeasSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasViewActivePrints
<CMD> /WAS_RRC/PrintControl/MbmsSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsViewActivePrints
<CMD> /WAS_RRC/PrintControl/TaskSetPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskClrPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskViewActivePrints
<CMD> /WAS_RRC/PrintControl/SysSetPrintGroup
<CMD> /WAS_RRC/PrintControl/SysClrPrintGroup
<CMD> /WAS_RRC/PrintControl/SysViewActivePrints
<CMD> /WAS_RRC/PrintControl/CellSelSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelViewActivePrints
<CMD> /WAS_RRC/PrintControl/IntegritySetPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityClrPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityViewActivePrints
<CMD> /WAS_RRC/PrintControl/CPlaneSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneViewActivePrints
<CMD> /WAS_RRC/PrintControl/MainSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MainClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MainViewActivePrints
<CMD> /WAS_RRC/PrintControl/WasCtrlSetPrintGroup
<CMD> /WAS_RRC/PrintControl/WasCtrlClrPrintGroup
<CMD> /WAS_RRC/PrintControl/WasCtrlViewActivePrints
<DIR> /WAS_RRC/RRC_C_PlaneDataCtrl_cap
(u2) /WAS_RRC/RRC_C_PlaneDataCtrl_cap/MAX_RRC_Message_Print_Length
<DIR> /WAS_RRC/RRC_ConfigurationCtrl_cap
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SignalChannelFailure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CM_Error
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CFG_SeqTimeout
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/TriggerSynchLost
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SetMeasFreq
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/DXCH_Failure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/StopUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ContinueUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/InjectControlSignal
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ToggleFlagFor_SendPHY_SYNCH_LOST_IND
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/Log_MBMS_Cfg_Params
<DIR> /WAS_RRC/RRC_TaskCtrl_cap
<CMD> /WAS_RRC/RRC_TaskCtrl_cap/DoCellUpdate
<CMD> /WAS_RRC/RRC_TaskCtrl_cap/DoDynPowerReduction
(u2) /WAS_RRC/BLER
<DIR> /DSPIF
<CMD> /DSPIF/F_ToggleInternalSleep
<CMD> /DSPIF/G_ToggleDspSleepPrint
<CMD> /DSPIF/I_ReqDspInitReset
<CMD> /DSPIF/J_VoteForSleep
<CMD> /DSPIF/K_WakeUpWCDMA
<CMD> /DSPIF/L_WakeUpEGG
<DIR> /NS
<CMD> /NS/EmergencyCall
<CMD> /NS/Call
<CMD> /NS/Redial
<CMD> /NS/Answer
<CMD> /NS/End
<CMD> /NS/AutoAnswer
<CMD> /NS/RadioOn
<CMD> /NS/RadioOff
<CMD> /NS/Activate
<CMD> /NS/Deactivate
<CMD> /NS/ServingCell
<CMD> /NS/Search
<CMD> /NS/Set
<CMD> /NS/SimPowerOn
<CMD> /NS/Dump
<DIR> /WCDMA_L1
<DIR> /WCDMA_L1/PrintControl
<CMD> /WCDMA_L1/PrintControl/RemoveAllPrints
<CMD> /WCDMA_L1/PrintControl/ResetAllPrints
<CMD> /WCDMA_L1/PrintControl/SetAllPrints
<CMD> /WCDMA_L1/PrintControl/CellSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Cell2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/CtrlSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Ctrl2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/RadioSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioViewActivePrints
<CMD> /WCDMA_L1/PrintControl/SlotSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotViewActivePrints
<CMD> /WCDMA_L1/PrintControl/FrameSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/FrameClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/FrameViewActivePrints
<CMD> /WCDMA_L1/PrintControl/PhyHSSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/PhyHSClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/PhyHSViewActivePrints
<DIR> /WCDMA_L1/Test
<CMD> /WCDMA_L1/Test/Offline
<CMD> /WCDMA_L1/Test/PHYReset
<CMD> /WCDMA_L1/Test/DRXReset
<CMD> /WCDMA_L1/Test/Show_Clk_Req
<CMD> /WCDMA_L1/Test/TestSleepHW
<CMD> /WCDMA_L1/Test/SlotIDBGFunc
<CMD> /WCDMA_L1/Test/FrameIDBGFunc
<CMD> /WCDMA_L1/Test/PHYHsIDBGFunc
<CMD> /WCDMA_L1/Test/DumpRFIC_Reg
<DIR> /WCDMA_L1/Configuration
<CMD> /WCDMA_L1/Configuration/GrakeToggle
<CMD> /WCDMA_L1/Configuration/SchCancellationToggle
<CMD> /WCDMA_L1/Configuration/RXdivToggle
<DIR> /WCDMA_L1/BUSMON
<CMD> /WCDMA_L1/BUSMON/BusmonEnable
<CMD> /WCDMA_L1/BUSMON/BusmonDisable
<CMD> /WCDMA_L1/BUSMON/BusmonInterface
<CMD> /WCDMA_L1/BUSMON/BusmonMCRAM_SetRange
<CMD> /WCDMA_L1/BUSMON/BusmonAHB_SetRange
<CMD> /WCDMA_L1/BUSMON/BusmonWSS_MCRAM_SRC
<DIR> /GAS
<DIR> /GAS/Measurement
<CMD> /GAS/Measurement/RemoveAllPrints
<CMD> /GAS/Measurement/ResetAllPrints
<CMD> /GAS/Measurement/SetAllPrints
<CMD> /GAS/Measurement/SetPrintGroup
<CMD> /GAS/Measurement/ClrPrintGroup
<CMD> /GAS/Measurement/ViewActivePrints
<DIR> /GAS/NeighbourCellId
<CMD> /GAS/NeighbourCellId/RemoveAllPrints
<CMD> /GAS/NeighbourCellId/ResetAllPrints
<CMD> /GAS/NeighbourCellId/SetAllPrints
<CMD> /GAS/NeighbourCellId/SetPrintGroup
<CMD> /GAS/NeighbourCellId/ClrPrintGroup
<CMD> /GAS/NeighbourCellId/ViewActivePrints
<DIR> /GAS/NSGAS_DSP
<CMD> /GAS/NSGAS_DSP/RemoveAllPrints
<CMD> /GAS/NSGAS_DSP/ResetAllPrints
<CMD> /GAS/NSGAS_DSP/SetAllPrints
<CMD> /GAS/NSGAS_DSP/SetPrintGroup
<CMD> /GAS/NSGAS_DSP/ClrPrintGroup
<CMD> /GAS/NSGAS_DSP/ViewActivePrints
<DIR> /GAS/GSM
<CMD> /GAS/GSM/RemoveAllPrints
<CMD> /GAS/GSM/ResetAllPrints
<CMD> /GAS/GSM/SetAllPrints
<CMD> /GAS/GSM/SetPrintGroup
<CMD> /GAS/GSM/ClrPrintGroup
<CMD> /GAS/GSM/ViewActivePrints
<DIR> /GAS/GPRS
<CMD> /GAS/GPRS/RemoveAllPrints
<CMD> /GAS/GPRS/ResetAllPrints
<CMD> /GAS/GPRS/SetAllPrints
<CMD> /GAS/GPRS/SetPrintGroup
<CMD> /GAS/GPRS/ClrPrintGroup
<CMD> /GAS/GPRS/ViewActivePrints
<DIR> /GAS/IratMeasurement
<CMD> /GAS/IratMeasurement/RemoveAllPrints
<CMD> /GAS/IratMeasurement/ResetAllPrints
<CMD> /GAS/IratMeasurement/SetAllPrints
<CMD> /GAS/IratMeasurement/SetPrintGroup
<CMD> /GAS/IratMeasurement/ClrPrintGroup
<CMD> /GAS/IratMeasurement/ViewActivePrints
<DIR> /GAS/GSM_IdleModeScheduling
<CMD> /GAS/GSM_IdleModeScheduling/RemoveAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/ResetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ClrPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ViewActivePrints
<DIR> /GAS/AMR
<CMD> /GAS/AMR/RemoveAllPrints
<CMD> /GAS/AMR/ResetAllPrints
<CMD> /GAS/AMR/SetAllPrints
<CMD> /GAS/AMR/SetPrintGroup
<CMD> /GAS/AMR/ClrPrintGroup
<CMD> /GAS/AMR/ViewActivePrints
<DIR> /GAS/DTX
<CMD> /GAS/DTX/RemoveAllPrints
<CMD> /GAS/DTX/ResetAllPrints
<CMD> /GAS/DTX/SetAllPrints
<CMD> /GAS/DTX/SetPrintGroup
<CMD> /GAS/DTX/ClrPrintGroup
<CMD> /GAS/DTX/ViewActivePrints
<DIR> /GAS/AFC
<CMD> /GAS/AFC/RemoveAllPrints
<CMD> /GAS/AFC/ResetAllPrints
<CMD> /GAS/AFC/SetAllPrints
<CMD> /GAS/AFC/SetPrintGroup
<CMD> /GAS/AFC/ClrPrintGroup
<CMD> /GAS/AFC/ViewActivePrints
<DIR> /GAS/IDLE
<CMD> /GAS/IDLE/RemoveAllPrints
<CMD> /GAS/IDLE/ResetAllPrints
<CMD> /GAS/IDLE/SetAllPrints
<CMD> /GAS/IDLE/SetPrintGroup
<CMD> /GAS/IDLE/ClrPrintGroup
<CMD> /GAS/IDLE/ViewActivePrints
<DIR> /GAS/Sleep
<CMD> /GAS/Sleep/RemoveAllPrints
<CMD> /GAS/Sleep/ResetAllPrints
<CMD> /GAS/Sleep/SetAllPrints
<CMD> /GAS/Sleep/SetPrintGroup
<CMD> /GAS/Sleep/ClrPrintGroup
<CMD> /GAS/Sleep/ViewActivePrints
<DIR> /GAS/RFACCH
<CMD> /GAS/RFACCH/RemoveAllPrints
<CMD> /GAS/RFACCH/ResetAllPrints
<CMD> /GAS/RFACCH/SetAllPrints
<CMD> /GAS/RFACCH/SetPrintGroup
<CMD> /GAS/RFACCH/ClrPrintGroup
<CMD> /GAS/RFACCH/ViewActivePrints
<DIR> /GAS/RSACCH
<CMD> /GAS/RSACCH/RemoveAllPrints
<CMD> /GAS/RSACCH/ResetAllPrints
<CMD> /GAS/RSACCH/SetAllPrints
<CMD> /GAS/RSACCH/SetPrintGroup
<CMD> /GAS/RSACCH/ClrPrintGroup
<CMD> /GAS/RSACCH/ViewActivePrints
<DIR> /POSAPPL
<CMD> /POSAPPL/enable_debug
<CMD> /POSAPPL/disable_debug
<DIR> /POSAPPL/POSSUPL
<CMD> /POSAPPL/POSSUPL/toggle_debug
<DIR> /POSAPPL/POSSUPL/AssistanceData
<CMD> /POSAPPL/POSSUPL/AssistanceData/clear_req_ass_data
<CMD> /POSAPPL/POSSUPL/AssistanceData/set_req_ass_data
<CMD> /POSAPPL/POSSUPL/AssistanceData/reset
<DIR> /POSAPPL/POSSUPL/DataLog
<CMD> /POSAPPL/POSSUPL/DataLog/toggle_data_log
<DIR> /POSAPPL/POSSUPL/ChangePorts
<CMD> /POSAPPL/POSSUPL/ChangePorts/set_sms_port
<CMD> /POSAPPL/POSSUPL/ChangePorts/set_tcp_port
<DIR> /POSAPPL/POSSUPL/Connect
<CMD> /POSAPPL/POSSUPL/Connect/clear_transport_security
<CMD> /POSAPPL/POSSUPL/Connect/set_transport_security
<CMD> /POSAPPL/POSSUPL/Connect/toggle_cert_log
<DIR> /POSAPPL/POSSUPL/PositioningMethod
<CMD> /POSAPPL/POSSUPL/PositioningMethod/clear_preferred_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/set_preferred_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/clear_supported_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/set_supported_methods
<CMD> /POSAPPL/POSSUPL/PositioningMethod/disable_nmr
<CMD> /POSAPPL/POSSUPL/PositioningMethod/enable_nmr
<DIR> /POSAPPL/POSSUPL/RefLocation
<CMD> /POSAPPL/POSSUPL/RefLocation/clear_ref_loc
<CMD> /POSAPPL/POSSUPL/RefLocation/set_ref_loc
<DIR> /POSAPPL/POSSUPL/Security
<CMD> /POSAPPL/POSSUPL/Security/toggle_hmac
<DIR> /POSAPPL/POSSUPL/Timers
<CMD> /POSAPPL/POSSUPL/Timers/set_client_timer
<CMD> /POSAPPL/POSSUPL/Timers/set_socket_timer
<CMD> /POSAPPL/POSSUPL/Timers/set_message_timer
<DIR> /POSAPPL/POSSVR
<CMD> /POSAPPL/POSSVR/enable_debug
<CMD> /POSAPPL/POSSVR/disable_debug
<CMD> /POSAPPL/POSSVR/read_state
<DIR> /POSAPPL/POSNMEA
<CMD> /POSAPPL/POSNMEA/enable_nmea
<CMD> /POSAPPL/POSNMEA/disable_nmea
<DIR> /POSAPPL/POSNS
<CMD> /POSAPPL/POSNS/enable_debug
<CMD> /POSAPPL/POSNS/disable_debug
<CMD> /POSAPPL/POSNS/read_state
<CMD> /POSAPPL/POSNS/set_classmark_capability
<DIR> /POSAPPL/POSGPS
<CMD> /POSAPPL/POSGPS/enable_debug
<CMD> /POSAPPL/POSGPS/disable_debug
<CMD> /POSAPPL/POSGPS/read_state
<DIR> /NTCSD
<DIR> /NTCSD/L2RCOP
<CMD> /NTCSD/L2RCOP/debug_print_control
<CMD> /NTCSD/L2RCOP/all_print_commands
<CMD> /NTCSD/L2RCOP/channels_flow
<CMD> /NTCSD/L2RCOP/l2rcop_flow
<CMD> /NTCSD/L2RCOP/print_flowcontrol_status
<CMD> /NTCSD/L2RCOP/print_postchannelsbuffer_status
<CMD> /NTCSD/L2RCOP/print_receivebuffer_status
<CMD> /NTCSD/L2RCOP/print_transmitbuffer_status
<CMD> /NTCSD/L2RCOP/send_Channels_Data_Ind
<CMD> /NTCSD/L2RCOP/send_CompletePDU
<CMD> /NTCSD/L2RCOP/send_RLP_Data_Ind
<DIR> /NTCSD/RLP
<CMD> /NTCSD/RLP/debug_print_control
<CMD> /NTCSD/RLP/frame_drop
<CMD> /NTCSD/RLP/frame_dump
<CMD> /NTCSD/RLP/read_state
<CMD> /NTCSD/RLP/srej_status
(u1) /NTCSD/RLP/RLP_DelayIplusS_InitValue
(u1) /NTCSD/RLP/RLP_State1Delay
(u1) /NTCSD/RLP/RLP_TA_TEST_WorkaroundActive
(u2) /NTCSD/RLP/RLP_IWS
(u2) /NTCSD/RLP/RLP_MWS
(u2) /NTCSD/RLP/RLP_T1
(u2) /NTCSD/RLP/RLP_T4
(u2) /NTCSD/RLP/RLP_N2
<CMD> /NTCSD/dump
<CMD> /NTCSD/get_process_name
<CMD> /NTCSD/hangup
<CMD> /NTCSD/ntcsd_call_statistics
<DIR> /IP
<DIR> /IP/ICA
<CMD> /IP/ICA/debugtrace
<CMD> /IP/ICA/syslog
<CMD> /IP/ICA/query_connections
<CMD> /IP/ICA/startlog
<CMD> /IP/ICA/stoplog
<DIR> /IP/Debug
<CMD> /IP/Debug/debugtrace
<CMD> /IP/query_connections
<CMD> /IP/startlog
<CMD> /IP/stoplog
<CMD> /IP/sigtokenPrintStatus

View File

@ -0,0 +1,231 @@
<DIR> /printserver
<CMD> /printserver/Status
<CMD> /printserver/SetSize
<CMD> /printserver/Disable
<CMD> /printserver/Enable
<CMD> /printserver/PrintDirect
<CMD> /printserver/Print2File
<CMD> /printserver/Burst
<DIR> /MCMA
<CMD> /MCMA/PrintAll
<CMD> /MCMA/Test1NodeA
<CMD> /MCMA/Test1NodeB
<CMD> /MCMA/Test2NodeA
<CMD> /MCMA/Test2NodeB
<CMD> /MCMA/Test3
<CMD> /MCMA/Test4
<CMD> /MCMA/Test5
<CMD> /MCMA/Alloc
<CMD> /MCMA/Free
<CMD> /MCMA/GetSize
<CMD> /MCMA/SetFreeListSize
<DIR> /BMC_Counter
<CMD> /BMC_Counter/Start
<CMD> /BMC_Counter/Stop
<CMD> /BMC_Counter/Help
(u4) /BMC_Counter/EveryMS
(e4) /BMC_Counter/Cumulative
(e4) /BMC_Counter/Counter0
(e4) /BMC_Counter/Counter1
<DIR> /L2Cache
<CMD> /L2Cache/Start
<CMD> /L2Cache/Stop
<CMD> /L2Cache/Help
<CMD> /L2Cache/Measure_INSTR_READ
<CMD> /L2Cache/Measure_DATA_READ
<CMD> /L2Cache/Measure_DATA_WRITE
<CMD> /L2Cache/Measure_DATA_WRITE_THROUGH
<CMD> /L2Cache/Measure_ALLOCATION_EVICTION
<CMD> /L2Cache/CumulativeModeOn
<CMD> /L2Cache/CumulativeModeOff
(u4) /L2Cache/EveryMS
<DIR> /pd_wdog
<CMD> /pd_wdog/Status
<CMD> /pd_wdog/s
<CMD> /pd_wdog/Enable
<CMD> /pd_wdog/Disable
<CMD> /pd_wdog/Feed
<CMD> /pd_wdog/ForceInterrupt
<CMD> /pd_wdog/SetTimeOut
<DIR> /SysCtrl
<CMD> /SysCtrl/StartUpCause
<CMD> /SysCtrl/Status
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<CMD> /SysCtrl/RestartServiceMode
<CMD> /SysCtrl/SetWatchDogAction
<CMD> /SysCtrl/SetSoftServiceMode
<DIR> /OSDEBUG
<DIR> /OSDEBUG/Utils
<CMD> /OSDEBUG/Utils/Dhrystone
<CMD> /OSDEBUG/Utils/StopDhrystone
<CMD> /OSDEBUG/Utils/GetTicks
<CMD> /OSDEBUG/Utils/GetTicksLoop
<CMD> /OSDEBUG/Utils/GetTicksLoopDelay
<CMD> /OSDEBUG/Utils/Work
<CMD> /OSDEBUG/Utils/StopWork
<CMD> /OSDEBUG/Utils/WDog
<CMD> /OSDEBUG/Utils/OptimaHeapDebug
<CMD> /OSDEBUG/Utils/ShowIdleTime
<CMD> /OSDEBUG/Utils/StopIdleTime
<DIR> /OSDEBUG/LMTools
<CMD> /OSDEBUG/LMTools/PgTypeList
<CMD> /OSDEBUG/LMTools/PgTypeInfo
<CMD> /OSDEBUG/LMTools/LmList
<CMD> /OSDEBUG/LMTools/LmInfo
<CMD> /OSDEBUG/LMTools/LmGetConf
<CMD> /OSDEBUG/LMTools/LmInstall
<CMD> /OSDEBUG/LMTools/LmUninstall
<CMD> /OSDEBUG/LMTools/PgCreate
<CMD> /OSDEBUG/LMTools/PgStart
<CMD> /OSDEBUG/LMTools/PgList
<CMD> /OSDEBUG/LMTools/PgInfo
<CMD> /OSDEBUG/LMTools/PgGetConf
<CMD> /OSDEBUG/LMTools/PgKill
<CMD> /OSDEBUG/LMTools/PagerInfo
<DIR> /OSDEBUG/Memory
<CMD> /OSDEBUG/Memory/lpool
<CMD> /OSDEBUG/Memory/lheap
<CMD> /OSDEBUG/Memory/physmem
<CMD> /OSDEBUG/Memory/domlist
<CMD> /OSDEBUG/Memory/memalyze
<DIR> /OSDEBUG/Memory/toolbox
<CMD> /OSDEBUG/Memory/toolbox/MemoryTest
<CMD> /OSDEBUG/Memory/toolbox/WriteRead
<CMD> /OSDEBUG/Memory/toolbox/MemSpeed
<CMD> /OSDEBUG/Memory/toolbox/AccessMemory
<CMD> /OSDEBUG/Memory/toolbox/AbortMemoryTest
<CMD> /OSDEBUG/lproc
<CMD> /OSDEBUG/biosls
<CMD> /OSDEBUG/sysinfo
<CMD> /OSDEBUG/what
<DIR> /MISCCON
<DIR> /MISCCON/Spinlock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_AllocateSpinLock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_FreeSpinLock
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_SetSpinLockValue
<CMD> /MISCCON/Spinlock/Do_PD_MISCCON_GetSpinLockValue
<CMD> /MISCCON/Spinlock/ShowSpinLocks
<DIR> /MISCCON/DC_On
<CMD> /MISCCON/DC_On/Do_PD_MISCCON_GetDC_On
<CMD> /MISCCON/DC_On/Do_PD_MISCCON_SetDC_On
<DIR> /MISCCON/Pins
<CMD> /MISCCON/Pins/Do_PD_MISCCON_AllocAndConfigurePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ReConfigurePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ReleasePadmux
<CMD> /MISCCON/Pins/Do_PD_MISCCON_ConfigPinPullControl
<CMD> /MISCCON/Pins/GetPullTypeForPin
<CMD> /MISCCON/Pins/GetMM_ForPin
<CMD> /MISCCON/Pins/CDF
<CMD> /MISCCON/Pins/CL
<CMD> /MISCCON/Pins/CDL
<CMD> /MISCCON/Pins/PowerSaveON
<CMD> /MISCCON/Pins/PowerSaveOFF
<CMD> /MISCCON/Pins/Test
<CMD> /MISCCON/Pins/HELP
<CMD> /MISCCON/Pins/HELPSYNTAX
<CMD> /MISCCON/Do_PD_MISCCON_GetCurrentHost
<CMD> /MISCCON/Do_PD_MISCCON_ReadChipId
<DIR> /SYSCON
<CMD> /SYSCON/Get
<CMD> /SYSCON/Set
<CMD> /SYSCON/HWStatus
<CMD> /SYSCON/DomainStatus
<CMD> /SYSCON/BlockStatus
<CMD> /SYSCON/SpeedGroupStatus
<CMD> /SYSCON/ObservabilityCore
<CMD> /SYSCON/ObservabilityBridges
<CMD> /SYSCON/DutyCount
<CMD> /SYSCON/DutyCountAutomatic
<CMD> /SYSCON/Int
<CMD> /SYSCON/SetInternalReset
<CMD> /SYSCON/SetExternalReset
<CMD> /SYSCON/ConfigureSysClk
<CMD> /SYSCON/SysClkEnable
<CMD> /SYSCON/SetClockStabilityCounterValue
<CMD> /SYSCON/GetStabilityCounterValue
<CMD> /SYSCON/RegisterStabilityCounterCallback
<CMD> /SYSCON/ClockRequest
<CMD> /SYSCON/GetClockCapabilities
<CMD> /SYSCON/PLL_Enable
<CMD> /SYSCON/IsPLL_Locked
<CMD> /SYSCON/EnableM_ClockBased
<CMD> /SYSCON/ConfigureClockRequest
<CMD> /SYSCON/PowerRequestOn
<CMD> /SYSCON/PowerRequestOff
<CMD> /SYSCON/PowerRequest
<CMD> /SYSCON/IsSupplyVoltageStable
<CMD> /SYSCON/IsBlockCompromised
<CMD> /SYSCON/GetActualClockMode
<CMD> /SYSCON/SetClockSympathyForCPU
<CMD> /SYSCON/SetClockSympathyForAccDMA
<CMD> /SYSCON/SetClockSympathyForAppDMA
<CMD> /SYSCON/SetClockSympathyForDSP
<CMD> /SYSCON/ConfigurePowerSympathy
<CMD> /SYSCON/SetBootAddressRegisterAppCPU
<CMD> /SYSCON/SetBootAddressRegisterAccCPU
<CMD> /SYSCON/GetBootAddressRegisterAppCPU
<CMD> /SYSCON/GetBootAddressRegisterAccCPU
<CMD> /SYSCON/GetPSEL_Number
<CMD> /SYSCON/ReadServicePin
<CMD> /SYSCON/EnjoyHigherFrequencyFromOtherCPU
<CMD> /SYSCON/SetSystemBlockFrequency
<CMD> /SYSCON/SetDebugBootRegister
<CMD> /SYSCON/GetDebugBootRegister
<CMD> /SYSCON/SetDebugEMU_Mask
<CMD> /SYSCON/GetDebugEMU_Mask
<CMD> /SYSCON/SetDebugEMU_Control
<CMD> /SYSCON/GetDebugEMU_Control
<CMD> /SYSCON/WaitUntilSystemReset
<CMD> /SYSCON/SetSpeedLimit
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<CMD> /TaskSupervisor/ForceWatchdogInterrupt
<DIR> /MITAKEYS
<CMD> /MITAKEYS/Y
<CMD> /MITAKEYS/H
<CMD> /MITAKEYS/G
<CMD> /MITAKEYS/J
<CMD> /MITAKEYS/T
<CMD> /MITAKEYS/U
<CMD> /MITAKEYS/S
<DIR> /HTTP
(u4) /HTTP/Tcp_RcvBuf
(u4) /HTTP/Tcp_SndBuf
(u4) /HTTP/Udp_RcvBuf
(u4) /HTTP/Udp_SndBuf
<CMD> /HTTP/State
<CMD> /HTTP/DebugTrace
<CMD> /HTTP/ClearDb
<CMD> /HTTP/CacheUsage
<CMD> /HTTP/SetSecAlg
<CMD> /HTTP/PIN_Handling
<CMD> /HTTP/SecClearDb
<DIR> /HTTP/CertHandling
<CMD> /HTTP/CertHandling/Store
<CMD> /HTTP/CertHandling/List
<DIR> /HTTP/GBA
<CMD> /HTTP/GBA/BSF_Host
<CMD> /HTTP/GBA/ClearKsNafCache
<DIR> /GDFS
<CMD> /GDFS/chksum
<CMD> /GDFS/close
<CMD> /GDFS/delete
<CMD> /GDFS/fill
<CMD> /GDFS/fillunits
<CMD> /GDFS/format
<CMD> /GDFS/list
<CMD> /GDFS/open
<CMD> /GDFS/read
<CMD> /GDFS/readpart
<CMD> /GDFS/readarray
<CMD> /GDFS/seed
<CMD> /GDFS/size
<CMD> /GDFS/wipe
<CMD> /GDFS/write
<CMD> /GDFS/writepart
<CMD> /GDFS/writearray
<CMD> /GDFS/gdfsPrnCtrl
<CMD> /GDFS/readperf

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
samples/k800_enquiry.dump Normal file

Binary file not shown.

BIN
samples/k800_tems.pcapng.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,582 @@
# Sony Ericsson MD400, FW R4A009
<DIR> /OSDEBUG
<DIR> /OSDEBUG/ProcessLoad
<CMD> /OSDEBUG/ProcessLoad/ShowIdleTime
<CMD> /OSDEBUG/ProcessLoad/StopIdleTime
<CMD> /OSDEBUG/ProcessLoad/InitFlow
<CMD> /OSDEBUG/ProcessLoad/StartFlow
<CMD> /OSDEBUG/ProcessLoad/EndFlow
<CMD> /OSDEBUG/ProcessLoad/Trig1
<DIR> /OSDEBUG/Speed
(u4) /OSDEBUG/Speed/VerboseOutput
(u4) /OSDEBUG/Speed/SpeedUpLimit
(u4) /OSDEBUG/Speed/SpeedDownLimit
(u4) /OSDEBUG/Speed/SpeedUpCounter
(u4) /OSDEBUG/Speed/SpeedDownCounter
<CMD> /OSDEBUG/Speed/GetSpeed
<CMD> /OSDEBUG/Speed/RequestSpeed
<CMD> /OSDEBUG/Speed/ReleaseSpeed
<CMD> /OSDEBUG/Speed/GetSpeedLock
<CMD> /OSDEBUG/Speed/RequestLowLatencyMode
<CMD> /OSDEBUG/Speed/ReleaseLowLatencyMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorInfo
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMax
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMin
<CMD> /OSDEBUG/Speed/ReleaseSpeedRegulator
<CMD> /OSDEBUG/Speed/SpeedRegulatorCurrentMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorChangeMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOn
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOff
<CMD> /OSDEBUG/Speed/ModeTest
<CMD> /OSDEBUG/Speed/AbortModeTest
<DIR> /OSDEBUG/Utils
<CMD> /OSDEBUG/Utils/Dhrystone
<CMD> /OSDEBUG/Utils/StopDhrystone
<CMD> /OSDEBUG/Utils/GetTicks
<CMD> /OSDEBUG/Utils/GetTicksLoop
<CMD> /OSDEBUG/Utils/GetTicksLoopDelay
<CMD> /OSDEBUG/Utils/Work
<CMD> /OSDEBUG/Utils/StopWork
<CMD> /OSDEBUG/Utils/WDog
<DIR> /OSDEBUG/LMTools
<CMD> /OSDEBUG/LMTools/PgTypeList
<CMD> /OSDEBUG/LMTools/PgTypeInfo
<CMD> /OSDEBUG/LMTools/LmList
<CMD> /OSDEBUG/LMTools/LmInfo
<CMD> /OSDEBUG/LMTools/LmGetConf
<CMD> /OSDEBUG/LMTools/LmInstall
<CMD> /OSDEBUG/LMTools/LmUninstall
<CMD> /OSDEBUG/LMTools/PgCreate
<CMD> /OSDEBUG/LMTools/PgStart
<CMD> /OSDEBUG/LMTools/PgList
<CMD> /OSDEBUG/LMTools/PgInfo
<CMD> /OSDEBUG/LMTools/PgGetConf
<CMD> /OSDEBUG/LMTools/PgKill
<DIR> /OSDEBUG/Memory
<CMD> /OSDEBUG/Memory/lpool
<CMD> /OSDEBUG/Memory/lheap
<CMD> /OSDEBUG/Memory/domlist
<CMD> /OSDEBUG/Memory/memalyze
<DIR> /OSDEBUG/Memory/toolbox
<CMD> /OSDEBUG/Memory/toolbox/MemoryTest
<CMD> /OSDEBUG/Memory/toolbox/WriteRead
<CMD> /OSDEBUG/Memory/toolbox/MemSpeed
<CMD> /OSDEBUG/Memory/toolbox/AccessMemory
<CMD> /OSDEBUG/Memory/toolbox/SemiSpeed
<CMD> /OSDEBUG/Memory/toolbox/SetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/GetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/AbortMemoryTest
<CMD> /OSDEBUG/lproc
<CMD> /OSDEBUG/biosls
<CMD> /OSDEBUG/sysinfo
<CMD> /OSDEBUG/what
<DIR> /USB
<DIR> /USB/Bus
<CMD> /USB/Bus/BusWriteDevice
<CMD> /USB/Bus/BusGetDevice
<CMD> /USB/Bus/BusReadDevice
<CMD> /USB/Bus/BusState
<CMD> /USB/Bus/ReAttach
<CMD> /USB/Bus/Strings
<DIR> /USB/MassStorage
<CMD> /USB/MassStorage/Unmount
<CMD> /USB/MassStorage/Unmount_V2
<CMD> /USB/MassStorage/Mount
<CMD> /USB/MassStorage/Mount_V2
<CMD> /USB/MassStorage/StorageState
<CMD> /USB/MassStorage/StorageState_V2
<CMD> /USB/MassStorage/ListFSUVolumeNames
<CMD> /USB/MassStorage/FsuUnmount
<DIR> /USB/Trace
<CMD> /USB/Trace/GetDbgState
<CMD> /USB/Trace/EnableDbg
<CMD> /USB/Trace/DisableDbg
<CMD> /USB/Trace/SetDbgLevel
<CMD> /USB/Trace/EventChannel
<CMD> /USB/Trace/SendBreak
<CMD> /USB/Trace/SetDCEPin
<CMD> /USB/Trace/AppSubscribe
<CMD> /USB/Trace/AppUnsubscribe
<DIR> /USB/Ethernet
<CMD> /USB/Ethernet/Subscribe
<CMD> /USB/Ethernet/Unsubscribe
<CMD> /USB/Ethernet/MAC_Addresses_Get
<CMD> /USB/Ethernet/BridgeFilter_Configure
<CMD> /USB/Ethernet/Bridge_Connect
<CMD> /USB/Ethernet/Bridge_Disconnect
<DIR> /LD_GPS
<DIR> /LD_GPS/Test
<CMD> /LD_GPS/Test/SetSingleSatTestMode_PRN
<CMD> /LD_GPS/Test/StartTestMode_SingleSat
<CMD> /LD_GPS/Test/StartTestMode_GetVersion
<CMD> /LD_GPS/Test/StopTestMode
<DIR> /LD_GPS/Log
<CMD> /LD_GPS/Log/glSetLogPriMask
<CMD> /LD_GPS/Log/glSetLogFacMask
<CMD> /LD_GPS/Log/glLogEnable
<CMD> /LD_GPS/Log/glLogDisable
<CMD> /LD_GPS/Log/glGetVersion
<DIR> /LD_GPS/Fix
<CMD> /LD_GPS/Fix/StartLocationReporting
<CMD> /LD_GPS/Fix/GetLocation
<CMD> /LD_GPS/Fix/AbortCurrentProcedure
<CMD> /LD_GPS/SetPowerPolicy
<CMD> /LD_GPS/SendPowerHint
<CMD> /LD_GPS/ResetNVRAM
<CMD> /LD_GPS/ResetNVRAM_OffState
<CMD> /LD_GPS/ForceUL_FTA
<CMD> /LD_GPS/glSetAlmanac_NULL_OxFF
<CMD> /LD_GPS/glSetNavOnly
<CMD> /LD_GPS/DeleteFixInfoFile
<DIR> /DebugMux
<DIR> /DebugMux/Channels
(u2) /DebugMux/Channels/EPReservation
(u1) /DebugMux/Channels/EndpointId
(u2) /DebugMux/Channels/nTxSize
(u1) /DebugMux/Channels/fTxFlowIsStopped
(u1) /DebugMux/Channels/fRxHeader
(u2) /DebugMux/Channels/RxNeeded
(u4) /DebugMux/Channels/TxDropNumber
(u4) /DebugMux/Channels/TxDropInterval
(u4) /DebugMux/Channels/TxDropCount
(u4) /DebugMux/Channels/TxDropLeft
(u4) /DebugMux/Channels/RxDropNumber
(u4) /DebugMux/Channels/RxDropInterval
(u4) /DebugMux/Channels/RxDropCount
(u4) /DebugMux/Channels/RxDropLeft
<CMD> /DebugMux/Channels/Status
<CMD> /DebugMux/Channels/IgnoreCRCErrors
<CMD> /DebugMux/Channels/LogChannels
<CMD> /DebugMux/Channels/LogRx
<CMD> /DebugMux/Channels/LogTx
<CMD> /DebugMux/Channels/LogStats
<DIR> /DebugMux/TransportLayer
(u1) /DebugMux/TransportLayer/fConnected
(u1) /DebugMux/TransportLayer/fMayTransmit
(u1) /DebugMux/TransportLayer/fTxIsOngoing
(u1) /DebugMux/TransportLayer/InQueueCount
(u1) /DebugMux/TransportLayer/NextToSendCounter(Vs)
(u1) /DebugMux/TransportLayer/NextToReceiveCounter(Vr)
(u1) /DebugMux/TransportLayer/LastSent_Vr
(u1) /DebugMux/TransportLayer/TransmitWindow
(u1) /DebugMux/TransportLayer/NextToStoreInTransmissionQueue(Vx)
<CMD> /DebugMux/TransportLayer/Log
<CMD> /DebugMux/TransportLayer/LogTimer
<CMD> /DebugMux/TransportLayer/Status
<DIR> /DebugMux/DataLayer
(u4) /DebugMux/DataLayer/fTxAllowed
(u4) /DebugMux/DataLayer/WaitingProcsCount
(u4) /DebugMux/DataLayer/ConnectedDPsCount
(u2) /DebugMux/DataLayer/NextDPRefNr
(u1) /DebugMux/DataLayer/NextConnRefNr
(u1) /DebugMux/DataLayer/fConnected
(u1) /DebugMux/DataLayer/InitialCredits
<CMD> /DebugMux/DataLayer/Connected
<CMD> /DebugMux/DataLayer/Disconnected
<CMD> /DebugMux/DataLayer/TxAllowed
<CMD> /DebugMux/DataLayer/Status
<CMD> /DebugMux/DataLayer/LogErrors
<CMD> /DebugMux/DataLayer/LogControl
<CMD> /DebugMux/DataLayer/LogRcvdMsgs
<CMD> /DebugMux/DataLayer/LogRx
<CMD> /DebugMux/DataLayer/LogTx
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /WAS_L2
<DIR> /WAS_L2/PrintControl
<CMD> /WAS_L2/PrintControl/RemoveAllPrints
<CMD> /WAS_L2/PrintControl/ResetAllPrints
<CMD> /WAS_L2/PrintControl/SetAllPrints
<CMD> /WAS_L2/PrintControl/MacSetPrintGroup
<CMD> /WAS_L2/PrintControl/MacClrPrintGroup
<CMD> /WAS_L2/PrintControl/MacViewActivePrints
<CMD> /WAS_L2/PrintControl/RlcSetPrintGroup
<CMD> /WAS_L2/PrintControl/RlcClrPrintGroup
<CMD> /WAS_L2/PrintControl/RlcViewActivePrints
<CMD> /WAS_L2/PrintControl/PdcpSetPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpClrPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpViewActivePrints
<CMD> /WAS_L2/PrintControl/BmcSetPrintGroup
<CMD> /WAS_L2/PrintControl/BmcClrPrintGroup
<CMD> /WAS_L2/PrintControl/BmcViewActivePrints
<CMD> /WAS_L2/PrintControl/WhamSetPrintGroup
<CMD> /WAS_L2/PrintControl/WhamClrPrintGroup
<CMD> /WAS_L2/PrintControl/WhamViewActivePrints
<DIR> /WAS_L2/RLC
<CMD> /WAS_L2/RLC/ChangeAvoidDump
<CMD> /WAS_L2/RLC/ChangeSUFI_Type
<CMD> /WAS_L2/RLC/StatisticsOfMemoryManager
<CMD> /WAS_L2/RLC/ToggleTransferMode
<CMD> /WAS_L2/RLC/ToggleLI_History
<CMD> /WAS_L2/RLC/ToggleIP_Length
<CMD> /WAS_L2/RLC/ToggleDumpOnLargeSDU
<CMD> /WAS_L2/RLC/ToggleDumpOnInvalidLI
<CMD> /WAS_L2/RLC/ToggleDumpOnRxBufferStart
(u2) /WAS_L2/RLC/VideoLatencyTime
(u4) /WAS_L2/RLC/MCRAM_EndianSwap
<DIR> /WAS_L2/MAC
(u4) /WAS_L2/MAC/PowerManipulationMode
(u4) /WAS_L2/MAC/RB_IdToPrintDL
(u4) /WAS_L2/MAC/RB_IdToPrintUL
(u4) /WAS_L2/MAC/ShowHFN_Update
(u4) /WAS_L2/MAC/ShowTM_Signaling
(u4) /WAS_L2/MAC/DumpHS_Header
(u4) /WAS_L2/MAC/DumpHS_RLC_DeliverInfo
(u4) /WAS_L2/MAC/DumpHS_T1_Info
(u4) /WAS_L2/MAC/DumpHS_DiscardedTSN
(u4) /WAS_L2/MAC/DumpHS_GarbageCollect
(u4) /WAS_L2/MAC/CollectHS_Stats
(u4) /WAS_L2/MAC/HS_FramesToCollect
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Clear
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Print
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Pos
<CMD> /WAS_L2/MAC/EUL_AGCHvalue
<CMD> /WAS_L2/MAC/EUL_AlwaysUnhappy
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_MaxAllowedETFCI
<CMD> /WAS_L2/MAC/EUL_PeriodicMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_TxPowerMeas_toggle
<CMD> /WAS_L2/MAC/EUL_SGTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHappyBitDelayCondition
<CMD> /WAS_L2/MAC/EUL_SetSiTrigger
<CMD> /WAS_L2/MAC/EUL_RGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_MaxNrRetransmission
<CMD> /WAS_L2/MAC/EUL_RSN_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SING_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SIG_toggle
<CMD> /WAS_L2/MAC/EUL_SI_Trace_toggle
<CMD> /WAS_L2/MAC/EUL_SI_PreDefinedFields_toggle
<CMD> /WAS_L2/MAC/EUL_ETFCI_RestTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHARQoffset
<CMD> /WAS_L2/MAC/EUL_ETFCI_SelectTrace_toggle
<CMD> /WAS_L2/MAC/EUL_DisableETFCI_Quant_toggle
<CMD> /WAS_L2/MAC/EUL_UnHappyDuration
<CMD> /WAS_L2/MAC/EUL_RlcWindowTrace
<CMD> /WAS_L2/MAC/EUL_SetUL_DPCCH_Power
<CMD> /WAS_L2/MAC/EUL_nonsRGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_T32_threshold
(u4) /WAS_L2/MAC/ShowCrestCompDetails
(u4) /WAS_L2/MAC/TvpProbeId
<CMD> /WAS_L2/MAC/TvpMacTrChBitrate
(u4) /WAS_L2/MAC/ShowTxPowerDetails
(u4) /WAS_L2/MAC/ShowHsDpcchDetails
(u4) /WAS_L2/MAC/ShowMacRlcUlDetails
<CMD> /WAS_L2/MAC/MacWrite6bitTest
(u4) /WAS_L2/MAC/CipherBlockId74EUL_30nonEUL
<DIR> /WAS_L2/PDCP
<CMD> /WAS_L2/PDCP/PrintActiveNSAPIs
<CMD> /WAS_L2/PDCP/UPSettings
<DIR> /WAS_L2/BMC
<CMD> /WAS_L2/BMC/TriggerActivate
<CMD> /WAS_L2/BMC/TriggerDeactivate
<CMD> /WAS_L2/BMC/TriggerSuspend
<CMD> /WAS_L2/BMC/TriggerResume
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell1
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell2
<CMD> /WAS_L2/BMC/TriggerCtchNotAvailable
<CMD> /WAS_L2/BMC/TriggerCBS_Message0
<CMD> /WAS_L2/BMC/TriggerCBS_Message0_Swapped
<CMD> /WAS_L2/BMC/TriggerCBS_Message1
<CMD> /WAS_L2/BMC/TriggerCBS_Message1_Swapped
<CMD> /WAS_L2/BMC/TriggerScheduleMessage
<CMD> /WAS_L2/BMC/TriggerScheduleMessageSwapped
<CMD> /WAS_L2/BMC/ToggleBMC
(u4) /WAS_L2/BMC/MessageTypesToReadBitmap
(u1) /WAS_L2/BMC/ScheduleLengthMod
(u1) /WAS_L2/BMC/OffsetMod
(u1) /WAS_L2/BMC/Lev2_Activated
<DIR> /WAS_L2/WHAM_L2
(u4) /WAS_L2/WHAM_L2/DMA_PrintDetails
(u4) /WAS_L2/WHAM_L2/PrintDataLength
(u4) /WAS_L2/WHAM_L2/CipheringCfgPrintDetails
<DIR> /WAS_L2/WHAM_RRC
(u4) /WAS_L2/WHAM_RRC/SupervisionTimerLengthInSec
(u4) /WAS_L2/WHAM_RRC/RespondToStatus
<DIR> /WAS_RRC
<CMD> /WAS_RRC/MaxTxPowerComp
<CMD> /WAS_RRC/SetHS_DSCH_PhysicalLayerCategory
<CMD> /WAS_RRC/SetE_DCH_PhysicalLayerCategory
<CMD> /WAS_RRC/ToggleAckOnConnSetCmpl
<CMD> /WAS_RRC/ToggleCipheringCapability
<CMD> /WAS_RRC/ToggleDetectedCellsHandling
<CMD> /WAS_RRC/ToggleHSDPA_Capabilties
<CMD> /WAS_RRC/ToggleHSUPA_Capabilties
<CMD> /WAS_RRC/ToggleNeedOfCM
<CMD> /WAS_RRC/ToggleInterFreqEventsHandling
<CMD> /WAS_RRC/ToggleResetWandaFlag
<CMD> /WAS_RRC/ToggleRFC_2507_Capability
<CMD> /WAS_RRC/ToggleRRC_CapabilitiesR99_OR_REL5
<CMD> /WAS_RRC/ToggleCM_EUL_Capability
<DIR> /WAS_RRC/PrintControl
<CMD> /WAS_RRC/PrintControl/RemoveAllPrints
<CMD> /WAS_RRC/PrintControl/ResetAllPrints
<CMD> /WAS_RRC/PrintControl/SetAllPrints
<CMD> /WAS_RRC/PrintControl/CfgSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgViewActivePrints
<CMD> /WAS_RRC/PrintControl/MeasSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasViewActivePrints
<CMD> /WAS_RRC/PrintControl/MbmsSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsViewActivePrints
<CMD> /WAS_RRC/PrintControl/TaskSetPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskClrPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskViewActivePrints
<CMD> /WAS_RRC/PrintControl/SysSetPrintGroup
<CMD> /WAS_RRC/PrintControl/SysClrPrintGroup
<CMD> /WAS_RRC/PrintControl/SysViewActivePrints
<CMD> /WAS_RRC/PrintControl/CellSelSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelViewActivePrints
<CMD> /WAS_RRC/PrintControl/IntegritySetPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityClrPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityViewActivePrints
<CMD> /WAS_RRC/PrintControl/CPlaneSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneViewActivePrints
<CMD> /WAS_RRC/PrintControl/MainSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MainClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MainViewActivePrints
<DIR> /WAS_RRC/RRC_C_PlaneDataCtrl_cap
(u2) /WAS_RRC/RRC_C_PlaneDataCtrl_cap/MAX_RRC_Message_Print_Length
<DIR> /WAS_RRC/RRC_ConfigurationCtrl_cap
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SignalChannelFailure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CM_Error
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CFG_SeqTimeout
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/TriggerSynchLost
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SetMeasFreq
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/DXCH_Failure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/StopUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ContinueUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/InjectControlSignal
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ToggleFlagFor_SendPHY_SYNCH_LOST_IND
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/Log_MBMS_Cfg_Params
(u2) /WAS_RRC/BLER
<DIR> /Channels
<CMD> /Channels/EndpointsInfo
<CMD> /Channels/ActiveChannels
<CMD> /Channels/ShowEndpointData
<CMD> /Channels/ChannelDetails
<CMD> /Channels/TraceEndpoint
<CMD> /Channels/PinTrace
<CMD> /Channels/Profile
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /SNDCP
<CMD> /SNDCP/DebugTrace
<CMD> /SNDCP/List
<CMD> /SNDCP/PrintCompressionRatios
<CMD> /SNDCP/PrintNPDU_Header
<CMD> /SNDCP/SetAQM_DownCounter
<CMD> /SNDCP/SetAQM_MaxThreshold
<CMD> /SNDCP/SetAQM_MinThreshold
<CMD> /SNDCP/SetMaxUplinkFlowCtrlCredits
<DIR> /AT
<DIR> /AT/CMD_STRINGS
<CMD> /AT/CMD_STRINGS/SendString
<CMD> /AT/CMD_STRINGS/StartATLog
<CMD> /AT/CMD_STRINGS/StopATLog
<DIR> /AT/DISPATCHES
<CMD> /AT/DISPATCHES/RingDisp
<CMD> /AT/DISPATCHES/MSConnectDisp
<DIR> /AT/CALL_HANDLER
(e1) /AT/CALL_HANDLER/CallState[0]
(e1) /AT/CALL_HANDLER/CallState[1]
(e1) /AT/CALL_HANDLER/CallState[2]
(e1) /AT/CALL_HANDLER/CallState[3]
(e1) /AT/CALL_HANDLER/CallState[4]
(e1) /AT/CALL_HANDLER/CallState[5]
(e1) /AT/CALL_HANDLER/CallState[6]
(e1) /AT/CALL_HANDLER/CallState[7]
<DIR> /AT/CHANNELS_TRAFFIC
<CMD> /AT/CHANNELS_TRAFFIC/DumpTrafficRegs
<CMD> /AT/CHANNELS_TRAFFIC/FlushTrafficRegs
<DIR> /AT/CFS
<CMD> /AT/CFS/SendResponse
<CMD> /AT/CFS/CommandResult
<CMD> /AT/CFS/GetStateOfActiveChannels
<CMD> /AT/CFS/GetNumericParameter
<CMD> /AT/CFS/SetNumericParameter
(u1) /AT/CFS/ApplicationHasRegistered
<CMD> /AT/CFS/ListCmdsInFwdFile
<CMD> /AT/LocalChannelMode
<CMD> /AT/DebugTrace
<CMD> /AT/RemoteEndpointType
<CMD> /AT/PinSetting
<CMD> /AT/AssociateChannel
<CMD> /AT/TransferType
(u4) /AT/ATH_GuardMs
<DIR> /DSPIF
<CMD> /DSPIF/G_ToggleDspSleepPrint
<DIR> /WCDMA_L1
<DIR> /WCDMA_L1/PrintControl
<CMD> /WCDMA_L1/PrintControl/RemoveAllPrints
<CMD> /WCDMA_L1/PrintControl/ResetAllPrints
<CMD> /WCDMA_L1/PrintControl/SetAllPrints
<CMD> /WCDMA_L1/PrintControl/CellSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Cell2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/CtrlSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Ctrl2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/RadioSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioViewActivePrints
<CMD> /WCDMA_L1/PrintControl/SlotSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotViewActivePrints
<DIR> /WCDMA_L1/Test
<CMD> /WCDMA_L1/Test/Offline
<CMD> /WCDMA_L1/Test/PHYReset
<CMD> /WCDMA_L1/Test/DRXReset
<DIR> /WCDMA_L1/Configuration
<CMD> /WCDMA_L1/Configuration/GrakeToggle
<CMD> /WCDMA_L1/Configuration/RXdivToggle
<DIR> /GAS
<DIR> /GAS/Measurement
<CMD> /GAS/Measurement/RemoveAllPrints
<CMD> /GAS/Measurement/ResetAllPrints
<CMD> /GAS/Measurement/SetAllPrints
<CMD> /GAS/Measurement/SetPrintGroup
<CMD> /GAS/Measurement/ClrPrintGroup
<CMD> /GAS/Measurement/ViewActivePrints
<DIR> /GAS/NeighbourCellId
<CMD> /GAS/NeighbourCellId/RemoveAllPrints
<CMD> /GAS/NeighbourCellId/ResetAllPrints
<CMD> /GAS/NeighbourCellId/SetAllPrints
<CMD> /GAS/NeighbourCellId/SetPrintGroup
<CMD> /GAS/NeighbourCellId/ClrPrintGroup
<CMD> /GAS/NeighbourCellId/ViewActivePrints
<DIR> /GAS/NSGAS_DSP
<CMD> /GAS/NSGAS_DSP/RemoveAllPrints
<CMD> /GAS/NSGAS_DSP/ResetAllPrints
<CMD> /GAS/NSGAS_DSP/SetAllPrints
<CMD> /GAS/NSGAS_DSP/SetPrintGroup
<CMD> /GAS/NSGAS_DSP/ClrPrintGroup
<CMD> /GAS/NSGAS_DSP/ViewActivePrints
<DIR> /GAS/GSM
<CMD> /GAS/GSM/RemoveAllPrints
<CMD> /GAS/GSM/ResetAllPrints
<CMD> /GAS/GSM/SetAllPrints
<CMD> /GAS/GSM/SetPrintGroup
<CMD> /GAS/GSM/ClrPrintGroup
<CMD> /GAS/GSM/ViewActivePrints
<DIR> /GAS/GPRS
<CMD> /GAS/GPRS/RemoveAllPrints
<CMD> /GAS/GPRS/ResetAllPrints
<CMD> /GAS/GPRS/SetAllPrints
<CMD> /GAS/GPRS/SetPrintGroup
<CMD> /GAS/GPRS/ClrPrintGroup
<CMD> /GAS/GPRS/ViewActivePrints
<DIR> /GAS/IratMeasurement
<CMD> /GAS/IratMeasurement/RemoveAllPrints
<CMD> /GAS/IratMeasurement/ResetAllPrints
<CMD> /GAS/IratMeasurement/SetAllPrints
<CMD> /GAS/IratMeasurement/SetPrintGroup
<CMD> /GAS/IratMeasurement/ClrPrintGroup
<CMD> /GAS/IratMeasurement/ViewActivePrints
<DIR> /GAS/GSM_IdleModeScheduling
<CMD> /GAS/GSM_IdleModeScheduling/RemoveAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/ResetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ClrPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ViewActivePrints
<DIR> /GAS/AMR
<CMD> /GAS/AMR/RemoveAllPrints
<CMD> /GAS/AMR/ResetAllPrints
<CMD> /GAS/AMR/SetAllPrints
<CMD> /GAS/AMR/SetPrintGroup
<CMD> /GAS/AMR/ClrPrintGroup
<CMD> /GAS/AMR/ViewActivePrints
<DIR> /GAS/DTX
<CMD> /GAS/DTX/RemoveAllPrints
<CMD> /GAS/DTX/ResetAllPrints
<CMD> /GAS/DTX/SetAllPrints
<CMD> /GAS/DTX/SetPrintGroup
<CMD> /GAS/DTX/ClrPrintGroup
<CMD> /GAS/DTX/ViewActivePrints
<DIR> /GAS/AFC
<CMD> /GAS/AFC/RemoveAllPrints
<CMD> /GAS/AFC/ResetAllPrints
<CMD> /GAS/AFC/SetAllPrints
<CMD> /GAS/AFC/SetPrintGroup
<CMD> /GAS/AFC/ClrPrintGroup
<CMD> /GAS/AFC/ViewActivePrints
<DIR> /GAS/IDLE
<CMD> /GAS/IDLE/RemoveAllPrints
<CMD> /GAS/IDLE/ResetAllPrints
<CMD> /GAS/IDLE/SetAllPrints
<CMD> /GAS/IDLE/SetPrintGroup
<CMD> /GAS/IDLE/ClrPrintGroup
<CMD> /GAS/IDLE/ViewActivePrints
<DIR> /GAS/Sleep
<CMD> /GAS/Sleep/RemoveAllPrints
<CMD> /GAS/Sleep/ResetAllPrints
<CMD> /GAS/Sleep/SetAllPrints
<CMD> /GAS/Sleep/SetPrintGroup
<CMD> /GAS/Sleep/ClrPrintGroup
<CMD> /GAS/Sleep/ViewActivePrints
<DIR> /GAS/RFACCH
<CMD> /GAS/RFACCH/RemoveAllPrints
<CMD> /GAS/RFACCH/ResetAllPrints
<CMD> /GAS/RFACCH/SetAllPrints
<CMD> /GAS/RFACCH/SetPrintGroup
<CMD> /GAS/RFACCH/ClrPrintGroup
<CMD> /GAS/RFACCH/ViewActivePrints
<DIR> /GAS/RSACCH
<CMD> /GAS/RSACCH/RemoveAllPrints
<CMD> /GAS/RSACCH/ResetAllPrints
<CMD> /GAS/RSACCH/SetAllPrints
<CMD> /GAS/RSACCH/SetPrintGroup
<CMD> /GAS/RSACCH/ClrPrintGroup
<CMD> /GAS/RSACCH/ViewActivePrints

View File

@ -0,0 +1,335 @@
# Sony Ericsson MD400, FW R4A009
<DIR> /RS232
<DIR> /RS232/RequestFunctions
<CMD> /RS232/RequestFunctions/GetCapabilities
<CMD> /RS232/RequestFunctions/ExpectATcmd
<CMD> /RS232/ChannelsFlowStatus
<CMD> /RS232/CurrentRS232State
<CMD> /RS232/TraceOn
<CMD> /RS232/TraceOff
<CMD> /RS232/GenerateLongBreak
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /AUPIPE
<CMD> /AUPIPE/Open
<CMD> /AUPIPE/Close
<CMD> /AUPIPE/Cmd
<CMD> /AUPIPE/Connect
<CMD> /AUPIPE/GetFormatConfig
<CMD> /AUPIPE/SetFormatConfig
<CMD> /AUPIPE/SetPipeConfig
<CMD> /AUPIPE/Start
<CMD> /AUPIPE/Pause
<CMD> /AUPIPE/Stop
<CMD> /AUPIPE/Disconnect
<CMD> /AUPIPE/GetEndpointInfo
<CMD> /AUPIPE/StartMixedAsic
<CMD> /AUPIPE/StopMixedAsic
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /LLRS232
<CMD> /LLRS232/Status
<CMD> /LLRS232/DetectPnP
<CMD> /LLRS232/SetPin
<CMD> /LLRS232/GenerateBreak
<CMD> /LLRS232/AutoDetect
<CMD> /LLRS232/Receive
<CMD> /LLRS232/Transmit
<CMD> /LLRS232/SetFlowControl
<CMD> /LLRS232/SetLogicInversion
<CMD> /LLRS232/SetFlowControlOutputPin
<CMD> /LLRS232/ToggleEnableDebugMux
<CMD> /LLRS232/SetCommParams
<CMD> /LLRS232/Capabilities
<CMD> /LLRS232/SetDebugMode
<CMD> /LLRS232/AbortAutodetect
<CMD> /LLRS232/SetSpeedRange
<DIR> /SysCtrl
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<CMD> /SysCtrl/ITP
<DIR> /OBEX
<CMD> /OBEX/C_State
<CMD> /OBEX/S_State
<CMD> /OBEX/S_PrintRegisterProfiles
<CMD> /OBEX/L_SetDebugMode
<CMD> /OBEX/Session_SetDebugMode
<CMD> /OBEX/SetDebugMode
<CMD> /OBEX/SetShowSize
<CMD> /OBEX/Trace
<DIR> /BattMgr
<CMD> /BattMgr/Test
<CMD> /BattMgr/PauseCharging
<CMD> /BattMgr/ResumeCharging
<CMD> /BattMgr/SetMaxUSBCurrent
<CMD> /BattMgr/SetTemperature
<CMD> /BattMgr/ResetTemperature
<DIR> /PD_I2C
<CMD> /PD_I2C/Rd
<CMD> /PD_I2C/SRd
<CMD> /PD_I2C/Wr
<CMD> /PD_I2C/DE
<CMD> /PD_I2C/Du
<CMD> /PD_I2C/ToggleNAK
<CMD> /PD_I2C/ToggleBE
<CMD> /PD_I2C/ToggleTO
<CMD> /PD_I2C/ToggleSF
<CMD> /PD_I2C/ERd
<CMD> /PD_I2C/ESRd
<CMD> /PD_I2C/EWr
<CMD> /PD_I2C/EDE
<CMD> /PD_I2C/EDu
<DIR> /HTTP
(u4) /HTTP/Tcp_RcvBuf
(u4) /HTTP/Tcp_SndBuf
(u4) /HTTP/Udp_RcvBuf
(u4) /HTTP/Udp_SndBuf
<CMD> /HTTP/State
<CMD> /HTTP/DebugTrace
<CMD> /HTTP/ClearDb
<CMD> /HTTP/CacheUsage
<CMD> /HTTP/SetSecAlg
<CMD> /HTTP/PIN_Handling
<CMD> /HTTP/SecClearDb
<DIR> /HTTP/CertHandling
<CMD> /HTTP/CertHandling/Store
<CMD> /HTTP/CertHandling/List
<DIR> /SIP
<CMD> /SIP/CreateProfile
<CMD> /SIP/DeleteProfile
<CMD> /SIP/CreateUserAgent
<CMD> /SIP/DeleteUserAgent
<CMD> /SIP/SetCredentials
<CMD> /SIP/AddresOfRecord
<CMD> /SIP/IMSIAddressOfRecord
<CMD> /SIP/Proxy
<CMD> /SIP/Options
<CMD> /SIP/ReInvite
<CMD> /SIP/Host
<CMD> /SIP/LocalProxy
<CMD> /SIP/PoCProxy
<CMD> /SIP/PoCSettings
<CMD> /SIP/GroupAd
<CMD> /SIP/Subscribe
<CMD> /SIP/ToggleUseDomainName
<CMD> /SIP/State
<CMD> /SIP/PrintSignalIntervals
<CMD> /SIP/PrintProfiles
<CMD> /SIP/ClearAuthorizations
<CMD> /SIP/Authorizations
<CMD> /SIP/RadioOn
<CMD> /SIP/EncodeDecode
<CMD> /SIP/SetTimer
<CMD> /SIP/Trace
<CMD> /SIP/Memory
<CMD> /SIP/RandomVia
<DIR> /SIP/API
<CMD> /SIP/API/CreateUserAgent
<CMD> /SIP/API/DeleteUserAgent
<CMD> /SIP/API/AddRegisterHeader
<CMD> /SIP/API/AddRegisterHeaderParams
<CMD> /SIP/API/GetLocalAddress
<CMD> /SIP/API/GetLocalAddress_v2
<CMD> /SIP/API/CreateProfile
<CMD> /SIP/API/DeleteProfile
<CMD> /SIP/API/SetPublicUserIdentity
<CMD> /SIP/API/SetPrivateUserIdentity
<CMD> /SIP/API/SetHomeNetworkDomainName
<CMD> /SIP/API/GetRegisteredPublicUserIdentity
<CMD> /SIP/API/OpenRequest
<CMD> /SIP/API/SetProxyCSCF
<CMD> /SIP/API/SetAccessNetworkInfoPolicy
<CMD> /SIP/API/SetRegEventSubscriptionPolicy
<CMD> /SIP/API/SetConnection
<CMD> /SIP/API/SetTimer
<CMD> /SIP/API/CreateTransaction
<CMD> /SIP/API/DestroyTransaction
<CMD> /SIP/API/InitRequest
<CMD> /SIP/API/SetRequestURI
<CMD> /SIP/API/SetHeader
<CMD> /SIP/API/AddHeader
<CMD> /SIP/API/RemoveHeader
<CMD> /SIP/API/GetHeader_v3
<CMD> /SIP/API/AddHeaderParams
<CMD> /SIP/API/Send
<CMD> /SIP/API/AcceptResponse
<CMD> /SIP/API/GetStatusCode
<CMD> /SIP/API/GetReasonPhrase
<CMD> /SIP/API/GetRequestURI
<CMD> /SIP/API/GetMethod
<CMD> /SIP/API/TransactionGetState
<CMD> /SIP/API/InitResponse
<CMD> /SIP/API/InitCancel
<CMD> /SIP/API/InitAck
<CMD> /SIP/API/SetReasonPhrase
<CMD> /SIP/API/SetCredentials
<CMD> /SIP/API/GetDialog
<CMD> /SIP/API/Release
<CMD> /SIP/API/NewTransaction
<CMD> /SIP/API/IsSameDialog
<CMD> /SIP/API/GetState
<CMD> /SIP/API/AddressGetHost
<CMD> /SIP/API/AddressGetPort
<CMD> /SIP/API/OutOfMemory
<CMD> /SIP/API/SetSigCompMemorySizes
<CMD> /SIP/API/GetSigCompMemorySizes
<CMD> /SIP/API/ImsRegister
<CMD> /SIP/API/SetSIM
<CMD> /SIP/API/SetLocalServerPort
<DIR> /SIP/CSI
<CMD> /SIP/CSI/CreateAgent
<CMD> /SIP/CSI/DestroyAgent
<CMD> /SIP/CSI/Register
<CMD> /SIP/CSI/DeRegister
<CMD> /SIP/CSI/ExCaps
<CMD> /SIP/CSI/Invite
<CMD> /SIP/CSI/Respond
<CMD> /SIP/CSI/ReleaseSession
<CMD> /SIP/CSI/TxFile
<CMD> /SIP/CSI/TxMotion
<CMD> /SIP/CSI/RxFile
<CMD> /SIP/CSI/RxMotion
<CMD> /SIP/CSI/Abort
<CMD> /SIP/CSI/Progress
<CMD> /SIP/CSI/GetUPP
<CMD> /SIP/CSI/SetUPC
<DIR> /SIP/POC
(u1) /SIP/POC/autoSIPRegister
(u1) /SIP/POC/acceptPersonalAlerts
(u1) /SIP/POC/acceptGroupAdvertisements
(u1) /SIP/POC/autoAnswer
(u1) /SIP/POC/acceptIncomingInvites
<CMD> /SIP/POC/CreateAgent
<CMD> /SIP/POC/DestroyAgent
<CMD> /SIP/POC/RegisterAgent
<CMD> /SIP/POC/DeRegisterAgent
<CMD> /SIP/POC/PublishSettings
<CMD> /SIP/POC/SetTCBPTimers
<CMD> /SIP/POC/SendPA
<CMD> /SIP/POC/SendGA
<CMD> /SIP/POC/AddParticipant
<CMD> /SIP/POC/Invite
<CMD> /SIP/POC/MMInvite
<CMD> /SIP/POC/Respond
<CMD> /SIP/POC/Release
<CMD> /SIP/POC/GetInfo
<CMD> /SIP/POC/SubscribeCI
<CMD> /SIP/POC/RefreshCISubscr
<CMD> /SIP/POC/UnSubscribeCI
<CMD> /SIP/POC/AddUsers
<CMD> /SIP/POC/Talk
<CMD> /SIP/POC/RxInit
<CMD> /SIP/POC/TxInit
<CMD> /SIP/POC/RxStart
<CMD> /SIP/POC/TxStart
<CMD> /SIP/POC/OnHold
<CMD> /SIP/POC/LockIn
<CMD> /SIP/POC/SetPriority
<CMD> /SIP/POC/GetUPP
<CMD> /SIP/POC/SetUPC
<CMD> /SIP/POC/SetSessionHandleForTalk
<CMD> /SIP/POC/z
<CMD> /SIP/POC/x
<CMD> /SIP/POC/TurnOnMSLog
<CMD> /SIP/POC/TurnOffMSLog
<CMD> /SIP/POC/JbDelays
<CMD> /SIP/POC/TTL
<DIR> /SIP/SIMPLE
<CMD> /SIP/SIMPLE/Register
<CMD> /SIP/SIMPLE/UnRegister
<CMD> /SIP/SIMPLE/Subscribe
<CMD> /SIP/SIMPLE/ReSubscribe
<CMD> /SIP/SIMPLE/UnSubscribe
<CMD> /SIP/SIMPLE/Publish
<CMD> /SIP/SIMPLE/RePublish
<CMD> /SIP/SIMPLE/UnPublish
<DIR> /SIP/XDMC
<CMD> /SIP/XDMC/PopHood
<CMD> /SIP/XDMC/RegisterAgent
<CMD> /SIP/XDMC/DeregisterAgent
<CMD> /SIP/XDMC/Authenticate
<CMD> /SIP/XDMC/OpenDocument
<CMD> /SIP/XDMC/CloseDocument
<CMD> /SIP/XDMC/DeleteDocument
<CMD> /SIP/XDMC/GetData
<CMD> /SIP/XDMC/PutData
<CMD> /SIP/XDMC/DeleteData
<CMD> /SIP/XDMC/EnumerateDocuments
<DIR> /SIP/GLM
<CMD> /SIP/GLM/PopHood
<CMD> /SIP/GLM/SetValue
<CMD> /SIP/GLM/RegisterAgent
<CMD> /SIP/GLM/DeregisterAgent
<CMD> /SIP/GLM/Authenticate
<CMD> /SIP/GLM/ChangeConnection
<CMD> /SIP/GLM/GetLists
<CMD> /SIP/GLM/CreateList
<CMD> /SIP/GLM/OpenList
<CMD> /SIP/GLM/CloseList
<CMD> /SIP/GLM/DeleteList
<CMD> /SIP/GLM/GetMembers
<CMD> /SIP/GLM/GetSettings
<CMD> /SIP/GLM/SetGroupSettings
<CMD> /SIP/GLM/BeginMemberSequence
<CMD> /SIP/GLM/BeginSequence
<CMD> /SIP/GLM/EndSequence
<CMD> /SIP/GLM/SetMember
<CMD> /SIP/GLM/SetLink
<CMD> /SIP/GLM/SetLinkedMember
<CMD> /SIP/GLM/GetRules
<CMD> /SIP/GLM/GetList
<CMD> /SIP/GLM/CancelAgent
<CMD> /SIP/GLM/CancelList
<CMD> /SIP/GLM/BeginConditionSequence
<CMD> /SIP/GLM/BeginManySequence
<CMD> /SIP/GLM/SetManyException
<CMD> /SIP/GLM/SetOneCondition
<CMD> /SIP/GLM/SetGroupRuleActions
<CMD> /SIP/GLM/SetPresenceRuleActions
<CMD> /SIP/GLM/SetPresenceRuleComponent
<CMD> /SIP/GLM/SetPresenceRuleAttributes
<CMD> /SIP/GLM/SetPresenceUnknownAttribute
<CMD> /SIP/GLM/SetPresenceSettings
<CMD> /SIP/GLM/SetGroupAccessActions

View File

@ -0,0 +1,582 @@
# Sony Ericsson MD400g (Rogers branded), FW R6A001
<DIR> /OSDEBUG
<DIR> /OSDEBUG/ProcessLoad
<CMD> /OSDEBUG/ProcessLoad/ShowIdleTime
<CMD> /OSDEBUG/ProcessLoad/StopIdleTime
<CMD> /OSDEBUG/ProcessLoad/InitFlow
<CMD> /OSDEBUG/ProcessLoad/StartFlow
<CMD> /OSDEBUG/ProcessLoad/EndFlow
<CMD> /OSDEBUG/ProcessLoad/Trig1
<DIR> /OSDEBUG/Speed
(u4) /OSDEBUG/Speed/VerboseOutput
(u4) /OSDEBUG/Speed/SpeedUpLimit
(u4) /OSDEBUG/Speed/SpeedDownLimit
(u4) /OSDEBUG/Speed/SpeedUpCounter
(u4) /OSDEBUG/Speed/SpeedDownCounter
<CMD> /OSDEBUG/Speed/GetSpeed
<CMD> /OSDEBUG/Speed/RequestSpeed
<CMD> /OSDEBUG/Speed/ReleaseSpeed
<CMD> /OSDEBUG/Speed/GetSpeedLock
<CMD> /OSDEBUG/Speed/RequestLowLatencyMode
<CMD> /OSDEBUG/Speed/ReleaseLowLatencyMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorInfo
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMax
<CMD> /OSDEBUG/Speed/RequestSpeedRegulatorMin
<CMD> /OSDEBUG/Speed/ReleaseSpeedRegulator
<CMD> /OSDEBUG/Speed/SpeedRegulatorCurrentMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorChangeMode
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOn
<CMD> /OSDEBUG/Speed/SpeedRegulatorRuntimeOff
<CMD> /OSDEBUG/Speed/ModeTest
<CMD> /OSDEBUG/Speed/AbortModeTest
<DIR> /OSDEBUG/Utils
<CMD> /OSDEBUG/Utils/Dhrystone
<CMD> /OSDEBUG/Utils/StopDhrystone
<CMD> /OSDEBUG/Utils/GetTicks
<CMD> /OSDEBUG/Utils/GetTicksLoop
<CMD> /OSDEBUG/Utils/GetTicksLoopDelay
<CMD> /OSDEBUG/Utils/Work
<CMD> /OSDEBUG/Utils/StopWork
<CMD> /OSDEBUG/Utils/WDog
<DIR> /OSDEBUG/LMTools
<CMD> /OSDEBUG/LMTools/PgTypeList
<CMD> /OSDEBUG/LMTools/PgTypeInfo
<CMD> /OSDEBUG/LMTools/LmList
<CMD> /OSDEBUG/LMTools/LmInfo
<CMD> /OSDEBUG/LMTools/LmGetConf
<CMD> /OSDEBUG/LMTools/LmInstall
<CMD> /OSDEBUG/LMTools/LmUninstall
<CMD> /OSDEBUG/LMTools/PgCreate
<CMD> /OSDEBUG/LMTools/PgStart
<CMD> /OSDEBUG/LMTools/PgList
<CMD> /OSDEBUG/LMTools/PgInfo
<CMD> /OSDEBUG/LMTools/PgGetConf
<CMD> /OSDEBUG/LMTools/PgKill
<DIR> /OSDEBUG/Memory
<CMD> /OSDEBUG/Memory/lpool
<CMD> /OSDEBUG/Memory/lheap
<CMD> /OSDEBUG/Memory/domlist
<CMD> /OSDEBUG/Memory/memalyze
<DIR> /OSDEBUG/Memory/toolbox
<CMD> /OSDEBUG/Memory/toolbox/MemoryTest
<CMD> /OSDEBUG/Memory/toolbox/WriteRead
<CMD> /OSDEBUG/Memory/toolbox/MemSpeed
<CMD> /OSDEBUG/Memory/toolbox/AccessMemory
<CMD> /OSDEBUG/Memory/toolbox/SemiSpeed
<CMD> /OSDEBUG/Memory/toolbox/SetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/GetSemiTestRange
<CMD> /OSDEBUG/Memory/toolbox/AbortMemoryTest
<CMD> /OSDEBUG/lproc
<CMD> /OSDEBUG/biosls
<CMD> /OSDEBUG/sysinfo
<CMD> /OSDEBUG/what
<DIR> /USB
<DIR> /USB/Bus
<CMD> /USB/Bus/BusWriteDevice
<CMD> /USB/Bus/BusGetDevice
<CMD> /USB/Bus/BusReadDevice
<CMD> /USB/Bus/BusState
<CMD> /USB/Bus/ReAttach
<CMD> /USB/Bus/Strings
<DIR> /USB/MassStorage
<CMD> /USB/MassStorage/Unmount
<CMD> /USB/MassStorage/Unmount_V2
<CMD> /USB/MassStorage/Mount
<CMD> /USB/MassStorage/Mount_V2
<CMD> /USB/MassStorage/StorageState
<CMD> /USB/MassStorage/StorageState_V2
<CMD> /USB/MassStorage/ListFSUVolumeNames
<CMD> /USB/MassStorage/FsuUnmount
<DIR> /USB/Trace
<CMD> /USB/Trace/GetDbgState
<CMD> /USB/Trace/EnableDbg
<CMD> /USB/Trace/DisableDbg
<CMD> /USB/Trace/SetDbgLevel
<CMD> /USB/Trace/EventChannel
<CMD> /USB/Trace/SendBreak
<CMD> /USB/Trace/SetDCEPin
<CMD> /USB/Trace/AppSubscribe
<CMD> /USB/Trace/AppUnsubscribe
<DIR> /USB/Ethernet
<CMD> /USB/Ethernet/Subscribe
<CMD> /USB/Ethernet/Unsubscribe
<CMD> /USB/Ethernet/MAC_Addresses_Get
<CMD> /USB/Ethernet/BridgeFilter_Configure
<CMD> /USB/Ethernet/Bridge_Connect
<CMD> /USB/Ethernet/Bridge_Disconnect
<DIR> /LD_GPS
<DIR> /LD_GPS/Test
<CMD> /LD_GPS/Test/SetSingleSatTestMode_PRN
<CMD> /LD_GPS/Test/StartTestMode_SingleSat
<CMD> /LD_GPS/Test/StartTestMode_GetVersion
<CMD> /LD_GPS/Test/StopTestMode
<DIR> /LD_GPS/Log
<CMD> /LD_GPS/Log/glSetLogPriMask
<CMD> /LD_GPS/Log/glSetLogFacMask
<CMD> /LD_GPS/Log/glLogEnable
<CMD> /LD_GPS/Log/glLogDisable
<CMD> /LD_GPS/Log/glGetVersion
<DIR> /LD_GPS/Fix
<CMD> /LD_GPS/Fix/StartLocationReporting
<CMD> /LD_GPS/Fix/GetLocation
<CMD> /LD_GPS/Fix/AbortCurrentProcedure
<CMD> /LD_GPS/SetPowerPolicy
<CMD> /LD_GPS/SendPowerHint
<CMD> /LD_GPS/ResetNVRAM
<CMD> /LD_GPS/ResetNVRAM_OffState
<CMD> /LD_GPS/ForceUL_FTA
<CMD> /LD_GPS/glSetAlmanac_NULL_OxFF
<CMD> /LD_GPS/glSetNavOnly
<CMD> /LD_GPS/DeleteFixInfoFile
<DIR> /DebugMux
<DIR> /DebugMux/Channels
(u2) /DebugMux/Channels/EPReservation
(u1) /DebugMux/Channels/EndpointId
(u2) /DebugMux/Channels/nTxSize
(u1) /DebugMux/Channels/fTxFlowIsStopped
(u1) /DebugMux/Channels/fRxHeader
(u2) /DebugMux/Channels/RxNeeded
(u4) /DebugMux/Channels/TxDropNumber
(u4) /DebugMux/Channels/TxDropInterval
(u4) /DebugMux/Channels/TxDropCount
(u4) /DebugMux/Channels/TxDropLeft
(u4) /DebugMux/Channels/RxDropNumber
(u4) /DebugMux/Channels/RxDropInterval
(u4) /DebugMux/Channels/RxDropCount
(u4) /DebugMux/Channels/RxDropLeft
<CMD> /DebugMux/Channels/Status
<CMD> /DebugMux/Channels/IgnoreCRCErrors
<CMD> /DebugMux/Channels/LogChannels
<CMD> /DebugMux/Channels/LogRx
<CMD> /DebugMux/Channels/LogTx
<CMD> /DebugMux/Channels/LogStats
<DIR> /DebugMux/TransportLayer
(u1) /DebugMux/TransportLayer/fConnected
(u1) /DebugMux/TransportLayer/fMayTransmit
(u1) /DebugMux/TransportLayer/fTxIsOngoing
(u1) /DebugMux/TransportLayer/InQueueCount
(u1) /DebugMux/TransportLayer/NextToSendCounter(Vs)
(u1) /DebugMux/TransportLayer/NextToReceiveCounter(Vr)
(u1) /DebugMux/TransportLayer/LastSent_Vr
(u1) /DebugMux/TransportLayer/TransmitWindow
(u1) /DebugMux/TransportLayer/NextToStoreInTransmissionQueue(Vx)
<CMD> /DebugMux/TransportLayer/Log
<CMD> /DebugMux/TransportLayer/LogTimer
<CMD> /DebugMux/TransportLayer/Status
<DIR> /DebugMux/DataLayer
(u4) /DebugMux/DataLayer/fTxAllowed
(u4) /DebugMux/DataLayer/WaitingProcsCount
(u4) /DebugMux/DataLayer/ConnectedDPsCount
(u2) /DebugMux/DataLayer/NextDPRefNr
(u1) /DebugMux/DataLayer/NextConnRefNr
(u1) /DebugMux/DataLayer/fConnected
(u1) /DebugMux/DataLayer/InitialCredits
<CMD> /DebugMux/DataLayer/Connected
<CMD> /DebugMux/DataLayer/Disconnected
<CMD> /DebugMux/DataLayer/TxAllowed
<CMD> /DebugMux/DataLayer/Status
<CMD> /DebugMux/DataLayer/LogErrors
<CMD> /DebugMux/DataLayer/LogControl
<CMD> /DebugMux/DataLayer/LogRcvdMsgs
<CMD> /DebugMux/DataLayer/LogRx
<CMD> /DebugMux/DataLayer/LogTx
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /WAS_L2
<DIR> /WAS_L2/PrintControl
<CMD> /WAS_L2/PrintControl/RemoveAllPrints
<CMD> /WAS_L2/PrintControl/ResetAllPrints
<CMD> /WAS_L2/PrintControl/SetAllPrints
<CMD> /WAS_L2/PrintControl/MacSetPrintGroup
<CMD> /WAS_L2/PrintControl/MacClrPrintGroup
<CMD> /WAS_L2/PrintControl/MacViewActivePrints
<CMD> /WAS_L2/PrintControl/RlcSetPrintGroup
<CMD> /WAS_L2/PrintControl/RlcClrPrintGroup
<CMD> /WAS_L2/PrintControl/RlcViewActivePrints
<CMD> /WAS_L2/PrintControl/PdcpSetPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpClrPrintGroup
<CMD> /WAS_L2/PrintControl/PdcpViewActivePrints
<CMD> /WAS_L2/PrintControl/BmcSetPrintGroup
<CMD> /WAS_L2/PrintControl/BmcClrPrintGroup
<CMD> /WAS_L2/PrintControl/BmcViewActivePrints
<CMD> /WAS_L2/PrintControl/WhamSetPrintGroup
<CMD> /WAS_L2/PrintControl/WhamClrPrintGroup
<CMD> /WAS_L2/PrintControl/WhamViewActivePrints
<DIR> /WAS_L2/RLC
<CMD> /WAS_L2/RLC/ChangeAvoidDump
<CMD> /WAS_L2/RLC/ChangeSUFI_Type
<CMD> /WAS_L2/RLC/StatisticsOfMemoryManager
<CMD> /WAS_L2/RLC/ToggleTransferMode
<CMD> /WAS_L2/RLC/ToggleLI_History
<CMD> /WAS_L2/RLC/ToggleIP_Length
<CMD> /WAS_L2/RLC/ToggleDumpOnLargeSDU
<CMD> /WAS_L2/RLC/ToggleDumpOnInvalidLI
<CMD> /WAS_L2/RLC/ToggleDumpOnRxBufferStart
(u2) /WAS_L2/RLC/VideoLatencyTime
(u4) /WAS_L2/RLC/MCRAM_EndianSwap
<DIR> /WAS_L2/MAC
(u4) /WAS_L2/MAC/PowerManipulationMode
(u4) /WAS_L2/MAC/RB_IdToPrintDL
(u4) /WAS_L2/MAC/RB_IdToPrintUL
(u4) /WAS_L2/MAC/ShowHFN_Update
(u4) /WAS_L2/MAC/ShowTM_Signaling
(u4) /WAS_L2/MAC/DumpHS_Header
(u4) /WAS_L2/MAC/DumpHS_RLC_DeliverInfo
(u4) /WAS_L2/MAC/DumpHS_T1_Info
(u4) /WAS_L2/MAC/DumpHS_DiscardedTSN
(u4) /WAS_L2/MAC/DumpHS_GarbageCollect
(u4) /WAS_L2/MAC/CollectHS_Stats
(u4) /WAS_L2/MAC/HS_FramesToCollect
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Clear
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Print
(u4) /WAS_L2/MAC/HsFlagsInMCRAM_Pos
<CMD> /WAS_L2/MAC/EUL_AGCHvalue
<CMD> /WAS_L2/MAC/EUL_AlwaysUnhappy
<CMD> /WAS_L2/MAC/EUL_MinMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_MaxAllowedETFCI
<CMD> /WAS_L2/MAC/EUL_PeriodicMACeTrace_toggle
<CMD> /WAS_L2/MAC/EUL_TxPowerMeas_toggle
<CMD> /WAS_L2/MAC/EUL_SGTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHappyBitDelayCondition
<CMD> /WAS_L2/MAC/EUL_SetSiTrigger
<CMD> /WAS_L2/MAC/EUL_RGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_MaxNrRetransmission
<CMD> /WAS_L2/MAC/EUL_RSN_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SING_toggle
<CMD> /WAS_L2/MAC/EUL_SI_T_SIG_toggle
<CMD> /WAS_L2/MAC/EUL_SI_Trace_toggle
<CMD> /WAS_L2/MAC/EUL_SI_PreDefinedFields_toggle
<CMD> /WAS_L2/MAC/EUL_ETFCI_RestTrace_toggle
<CMD> /WAS_L2/MAC/EUL_SetHARQoffset
<CMD> /WAS_L2/MAC/EUL_ETFCI_SelectTrace_toggle
<CMD> /WAS_L2/MAC/EUL_DisableETFCI_Quant_toggle
<CMD> /WAS_L2/MAC/EUL_UnHappyDuration
<CMD> /WAS_L2/MAC/EUL_RlcWindowTrace
<CMD> /WAS_L2/MAC/EUL_SetUL_DPCCH_Power
<CMD> /WAS_L2/MAC/EUL_nonsRGCH_Reception_toggle
<CMD> /WAS_L2/MAC/EUL_T32_threshold
(u4) /WAS_L2/MAC/ShowCrestCompDetails
(u4) /WAS_L2/MAC/TvpProbeId
<CMD> /WAS_L2/MAC/TvpMacTrChBitrate
(u4) /WAS_L2/MAC/ShowTxPowerDetails
(u4) /WAS_L2/MAC/ShowHsDpcchDetails
(u4) /WAS_L2/MAC/ShowMacRlcUlDetails
<CMD> /WAS_L2/MAC/MacWrite6bitTest
(u4) /WAS_L2/MAC/CipherBlockId74EUL_30nonEUL
<DIR> /WAS_L2/PDCP
<CMD> /WAS_L2/PDCP/PrintActiveNSAPIs
<CMD> /WAS_L2/PDCP/UPSettings
<DIR> /WAS_L2/BMC
<CMD> /WAS_L2/BMC/TriggerActivate
<CMD> /WAS_L2/BMC/TriggerDeactivate
<CMD> /WAS_L2/BMC/TriggerSuspend
<CMD> /WAS_L2/BMC/TriggerResume
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell1
<CMD> /WAS_L2/BMC/TriggerCtchAvailableCell2
<CMD> /WAS_L2/BMC/TriggerCtchNotAvailable
<CMD> /WAS_L2/BMC/TriggerCBS_Message0
<CMD> /WAS_L2/BMC/TriggerCBS_Message0_Swapped
<CMD> /WAS_L2/BMC/TriggerCBS_Message1
<CMD> /WAS_L2/BMC/TriggerCBS_Message1_Swapped
<CMD> /WAS_L2/BMC/TriggerScheduleMessage
<CMD> /WAS_L2/BMC/TriggerScheduleMessageSwapped
<CMD> /WAS_L2/BMC/ToggleBMC
(u4) /WAS_L2/BMC/MessageTypesToReadBitmap
(u1) /WAS_L2/BMC/ScheduleLengthMod
(u1) /WAS_L2/BMC/OffsetMod
(u1) /WAS_L2/BMC/Lev2_Activated
<DIR> /WAS_L2/WHAM_L2
(u4) /WAS_L2/WHAM_L2/DMA_PrintDetails
(u4) /WAS_L2/WHAM_L2/PrintDataLength
(u4) /WAS_L2/WHAM_L2/CipheringCfgPrintDetails
<DIR> /WAS_L2/WHAM_RRC
(u4) /WAS_L2/WHAM_RRC/SupervisionTimerLengthInSec
(u4) /WAS_L2/WHAM_RRC/RespondToStatus
<DIR> /WAS_RRC
<CMD> /WAS_RRC/MaxTxPowerComp
<CMD> /WAS_RRC/SetHS_DSCH_PhysicalLayerCategory
<CMD> /WAS_RRC/SetE_DCH_PhysicalLayerCategory
<CMD> /WAS_RRC/ToggleAckOnConnSetCmpl
<CMD> /WAS_RRC/ToggleCipheringCapability
<CMD> /WAS_RRC/ToggleDetectedCellsHandling
<CMD> /WAS_RRC/ToggleHSDPA_Capabilties
<CMD> /WAS_RRC/ToggleHSUPA_Capabilties
<CMD> /WAS_RRC/ToggleNeedOfCM
<CMD> /WAS_RRC/ToggleInterFreqEventsHandling
<CMD> /WAS_RRC/ToggleResetWandaFlag
<CMD> /WAS_RRC/ToggleRFC_2507_Capability
<CMD> /WAS_RRC/ToggleRRC_CapabilitiesR99_OR_REL5
<CMD> /WAS_RRC/ToggleCM_EUL_Capability
<DIR> /WAS_RRC/PrintControl
<CMD> /WAS_RRC/PrintControl/RemoveAllPrints
<CMD> /WAS_RRC/PrintControl/ResetAllPrints
<CMD> /WAS_RRC/PrintControl/SetAllPrints
<CMD> /WAS_RRC/PrintControl/CfgSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CfgViewActivePrints
<CMD> /WAS_RRC/PrintControl/MeasSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MeasViewActivePrints
<CMD> /WAS_RRC/PrintControl/MbmsSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MbmsViewActivePrints
<CMD> /WAS_RRC/PrintControl/TaskSetPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskClrPrintGroup
<CMD> /WAS_RRC/PrintControl/TaskViewActivePrints
<CMD> /WAS_RRC/PrintControl/SysSetPrintGroup
<CMD> /WAS_RRC/PrintControl/SysClrPrintGroup
<CMD> /WAS_RRC/PrintControl/SysViewActivePrints
<CMD> /WAS_RRC/PrintControl/CellSelSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CellSelViewActivePrints
<CMD> /WAS_RRC/PrintControl/IntegritySetPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityClrPrintGroup
<CMD> /WAS_RRC/PrintControl/IntegrityViewActivePrints
<CMD> /WAS_RRC/PrintControl/CPlaneSetPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneClrPrintGroup
<CMD> /WAS_RRC/PrintControl/CPlaneViewActivePrints
<CMD> /WAS_RRC/PrintControl/MainSetPrintGroup
<CMD> /WAS_RRC/PrintControl/MainClrPrintGroup
<CMD> /WAS_RRC/PrintControl/MainViewActivePrints
<DIR> /WAS_RRC/RRC_C_PlaneDataCtrl_cap
(u2) /WAS_RRC/RRC_C_PlaneDataCtrl_cap/MAX_RRC_Message_Print_Length
<DIR> /WAS_RRC/RRC_ConfigurationCtrl_cap
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SignalChannelFailure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CM_Error
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/CFG_SeqTimeout
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/TriggerSynchLost
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/SetMeasFreq
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/DXCH_Failure
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/StopUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ContinueUL
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/InjectControlSignal
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/ToggleFlagFor_SendPHY_SYNCH_LOST_IND
<CMD> /WAS_RRC/RRC_ConfigurationCtrl_cap/Log_MBMS_Cfg_Params
(u2) /WAS_RRC/BLER
<DIR> /Channels
<CMD> /Channels/EndpointsInfo
<CMD> /Channels/ActiveChannels
<CMD> /Channels/ShowEndpointData
<CMD> /Channels/ChannelDetails
<CMD> /Channels/TraceEndpoint
<CMD> /Channels/PinTrace
<CMD> /Channels/Profile
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /SNDCP
<CMD> /SNDCP/DebugTrace
<CMD> /SNDCP/List
<CMD> /SNDCP/PrintCompressionRatios
<CMD> /SNDCP/PrintNPDU_Header
<CMD> /SNDCP/SetAQM_DownCounter
<CMD> /SNDCP/SetAQM_MaxThreshold
<CMD> /SNDCP/SetAQM_MinThreshold
<CMD> /SNDCP/SetMaxUplinkFlowCtrlCredits
<DIR> /AT
<DIR> /AT/CMD_STRINGS
<CMD> /AT/CMD_STRINGS/SendString
<CMD> /AT/CMD_STRINGS/StartATLog
<CMD> /AT/CMD_STRINGS/StopATLog
<DIR> /AT/DISPATCHES
<CMD> /AT/DISPATCHES/RingDisp
<CMD> /AT/DISPATCHES/MSConnectDisp
<DIR> /AT/CALL_HANDLER
(e1) /AT/CALL_HANDLER/CallState[0]
(e1) /AT/CALL_HANDLER/CallState[1]
(e1) /AT/CALL_HANDLER/CallState[2]
(e1) /AT/CALL_HANDLER/CallState[3]
(e1) /AT/CALL_HANDLER/CallState[4]
(e1) /AT/CALL_HANDLER/CallState[5]
(e1) /AT/CALL_HANDLER/CallState[6]
(e1) /AT/CALL_HANDLER/CallState[7]
<DIR> /AT/CHANNELS_TRAFFIC
<CMD> /AT/CHANNELS_TRAFFIC/DumpTrafficRegs
<CMD> /AT/CHANNELS_TRAFFIC/FlushTrafficRegs
<DIR> /AT/CFS
<CMD> /AT/CFS/SendResponse
<CMD> /AT/CFS/CommandResult
<CMD> /AT/CFS/GetStateOfActiveChannels
<CMD> /AT/CFS/GetNumericParameter
<CMD> /AT/CFS/SetNumericParameter
(u1) /AT/CFS/ApplicationHasRegistered
<CMD> /AT/CFS/ListCmdsInFwdFile
<CMD> /AT/LocalChannelMode
<CMD> /AT/DebugTrace
<CMD> /AT/RemoteEndpointType
<CMD> /AT/PinSetting
<CMD> /AT/AssociateChannel
<CMD> /AT/TransferType
(u4) /AT/ATH_GuardMs
<DIR> /DSPIF
<CMD> /DSPIF/G_ToggleDspSleepPrint
<DIR> /WCDMA_L1
<DIR> /WCDMA_L1/PrintControl
<CMD> /WCDMA_L1/PrintControl/RemoveAllPrints
<CMD> /WCDMA_L1/PrintControl/ResetAllPrints
<CMD> /WCDMA_L1/PrintControl/SetAllPrints
<CMD> /WCDMA_L1/PrintControl/CellSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CellViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Cell2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Cell2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/CtrlSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/CtrlViewActivePrints
<CMD> /WCDMA_L1/PrintControl/Ctrl2SetPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/Ctrl2ViewActivePrints
<CMD> /WCDMA_L1/PrintControl/RadioSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/RadioViewActivePrints
<CMD> /WCDMA_L1/PrintControl/SlotSetPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotClrPrintGroup
<CMD> /WCDMA_L1/PrintControl/SlotViewActivePrints
<DIR> /WCDMA_L1/Test
<CMD> /WCDMA_L1/Test/Offline
<CMD> /WCDMA_L1/Test/PHYReset
<CMD> /WCDMA_L1/Test/DRXReset
<DIR> /WCDMA_L1/Configuration
<CMD> /WCDMA_L1/Configuration/GrakeToggle
<CMD> /WCDMA_L1/Configuration/RXdivToggle
<DIR> /GAS
<DIR> /GAS/Measurement
<CMD> /GAS/Measurement/RemoveAllPrints
<CMD> /GAS/Measurement/ResetAllPrints
<CMD> /GAS/Measurement/SetAllPrints
<CMD> /GAS/Measurement/SetPrintGroup
<CMD> /GAS/Measurement/ClrPrintGroup
<CMD> /GAS/Measurement/ViewActivePrints
<DIR> /GAS/NeighbourCellId
<CMD> /GAS/NeighbourCellId/RemoveAllPrints
<CMD> /GAS/NeighbourCellId/ResetAllPrints
<CMD> /GAS/NeighbourCellId/SetAllPrints
<CMD> /GAS/NeighbourCellId/SetPrintGroup
<CMD> /GAS/NeighbourCellId/ClrPrintGroup
<CMD> /GAS/NeighbourCellId/ViewActivePrints
<DIR> /GAS/NSGAS_DSP
<CMD> /GAS/NSGAS_DSP/RemoveAllPrints
<CMD> /GAS/NSGAS_DSP/ResetAllPrints
<CMD> /GAS/NSGAS_DSP/SetAllPrints
<CMD> /GAS/NSGAS_DSP/SetPrintGroup
<CMD> /GAS/NSGAS_DSP/ClrPrintGroup
<CMD> /GAS/NSGAS_DSP/ViewActivePrints
<DIR> /GAS/GSM
<CMD> /GAS/GSM/RemoveAllPrints
<CMD> /GAS/GSM/ResetAllPrints
<CMD> /GAS/GSM/SetAllPrints
<CMD> /GAS/GSM/SetPrintGroup
<CMD> /GAS/GSM/ClrPrintGroup
<CMD> /GAS/GSM/ViewActivePrints
<DIR> /GAS/GPRS
<CMD> /GAS/GPRS/RemoveAllPrints
<CMD> /GAS/GPRS/ResetAllPrints
<CMD> /GAS/GPRS/SetAllPrints
<CMD> /GAS/GPRS/SetPrintGroup
<CMD> /GAS/GPRS/ClrPrintGroup
<CMD> /GAS/GPRS/ViewActivePrints
<DIR> /GAS/IratMeasurement
<CMD> /GAS/IratMeasurement/RemoveAllPrints
<CMD> /GAS/IratMeasurement/ResetAllPrints
<CMD> /GAS/IratMeasurement/SetAllPrints
<CMD> /GAS/IratMeasurement/SetPrintGroup
<CMD> /GAS/IratMeasurement/ClrPrintGroup
<CMD> /GAS/IratMeasurement/ViewActivePrints
<DIR> /GAS/GSM_IdleModeScheduling
<CMD> /GAS/GSM_IdleModeScheduling/RemoveAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/ResetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetAllPrints
<CMD> /GAS/GSM_IdleModeScheduling/SetPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ClrPrintGroup
<CMD> /GAS/GSM_IdleModeScheduling/ViewActivePrints
<DIR> /GAS/AMR
<CMD> /GAS/AMR/RemoveAllPrints
<CMD> /GAS/AMR/ResetAllPrints
<CMD> /GAS/AMR/SetAllPrints
<CMD> /GAS/AMR/SetPrintGroup
<CMD> /GAS/AMR/ClrPrintGroup
<CMD> /GAS/AMR/ViewActivePrints
<DIR> /GAS/DTX
<CMD> /GAS/DTX/RemoveAllPrints
<CMD> /GAS/DTX/ResetAllPrints
<CMD> /GAS/DTX/SetAllPrints
<CMD> /GAS/DTX/SetPrintGroup
<CMD> /GAS/DTX/ClrPrintGroup
<CMD> /GAS/DTX/ViewActivePrints
<DIR> /GAS/AFC
<CMD> /GAS/AFC/RemoveAllPrints
<CMD> /GAS/AFC/ResetAllPrints
<CMD> /GAS/AFC/SetAllPrints
<CMD> /GAS/AFC/SetPrintGroup
<CMD> /GAS/AFC/ClrPrintGroup
<CMD> /GAS/AFC/ViewActivePrints
<DIR> /GAS/IDLE
<CMD> /GAS/IDLE/RemoveAllPrints
<CMD> /GAS/IDLE/ResetAllPrints
<CMD> /GAS/IDLE/SetAllPrints
<CMD> /GAS/IDLE/SetPrintGroup
<CMD> /GAS/IDLE/ClrPrintGroup
<CMD> /GAS/IDLE/ViewActivePrints
<DIR> /GAS/Sleep
<CMD> /GAS/Sleep/RemoveAllPrints
<CMD> /GAS/Sleep/ResetAllPrints
<CMD> /GAS/Sleep/SetAllPrints
<CMD> /GAS/Sleep/SetPrintGroup
<CMD> /GAS/Sleep/ClrPrintGroup
<CMD> /GAS/Sleep/ViewActivePrints
<DIR> /GAS/RFACCH
<CMD> /GAS/RFACCH/RemoveAllPrints
<CMD> /GAS/RFACCH/ResetAllPrints
<CMD> /GAS/RFACCH/SetAllPrints
<CMD> /GAS/RFACCH/SetPrintGroup
<CMD> /GAS/RFACCH/ClrPrintGroup
<CMD> /GAS/RFACCH/ViewActivePrints
<DIR> /GAS/RSACCH
<CMD> /GAS/RSACCH/RemoveAllPrints
<CMD> /GAS/RSACCH/ResetAllPrints
<CMD> /GAS/RSACCH/SetAllPrints
<CMD> /GAS/RSACCH/SetPrintGroup
<CMD> /GAS/RSACCH/ClrPrintGroup
<CMD> /GAS/RSACCH/ViewActivePrints

View File

@ -0,0 +1,335 @@
# Sony Ericsson MD400g (Rogers branded), FW R6A001
<DIR> /RS232
<DIR> /RS232/RequestFunctions
<CMD> /RS232/RequestFunctions/GetCapabilities
<CMD> /RS232/RequestFunctions/ExpectATcmd
<CMD> /RS232/ChannelsFlowStatus
<CMD> /RS232/CurrentRS232State
<CMD> /RS232/TraceOn
<CMD> /RS232/TraceOff
<CMD> /RS232/GenerateLongBreak
<DIR> /TupL2
<DIR> /TupL2/Channels
(u2) /TupL2/Channels/EPReservation
(u1) /TupL2/Channels/EndpointId
(u2) /TupL2/Channels/nTxSize
(u1) /TupL2/Channels/fTxFlowIsStopped
(u1) /TupL2/Channels/fRxHeader
(u2) /TupL2/Channels/RxNeeded
<CMD> /TupL2/Channels/Status
<CMD> /TupL2/Channels/IgnoreCRCErrors
<CMD> /TupL2/Channels/LogChannels
<CMD> /TupL2/Channels/LogRx
<CMD> /TupL2/Channels/LogTx
<CMD> /TupL2/Channels/LogStats
<DIR> /TupL2/TransportLayer
(u1) /TupL2/TransportLayer/VersionMajor
(u1) /TupL2/TransportLayer/VersionMinor
(u1) /TupL2/TransportLayer/TupL2State
(u4) /TupL2/TransportLayer/ReceivedIFrames
(u4) /TupL2/TransportLayer/SentIFrames
(u4) /TupL2/TransportLayer/ResentIFrames
(u4) /TupL2/TransportLayer/ReceivedUFrames
(u4) /TupL2/TransportLayer/SentUFrames
(u4) /TupL2/TransportLayer/ReceivedCFrames
(u4) /TupL2/TransportLayer/SentCFrames
(u4) /TupL2/TransportLayer/DroppedFrames
(u4) /TupL2/TransportLayer/CRCHeaderErrors
(u4) /TupL2/TransportLayer/CRCTailErrors
(u4) /TupL2/TransportLayer/ETXErrors
(u4) /TupL2/TransportLayer/LengthErrors
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_S
(u4) /TupL2/TransportLayer/FramesWithWrongSEQ_R
(u1) /TupL2/TransportLayer/MaxNrOfOutstandingFrames
(u4) /TupL2/TransportLayer/InternalErrors
(u4) /TupL2/TransportLayer/pingSupervisionTime
(u4) /TupL2/TransportLayer/responseAckTime
(u4) /TupL2/TransportLayer/frameOutstandingTime
(u1) /TupL2/TransportLayer/maxResend
(u1) /TupL2/TransportLayer/maxFramesOut
(u1) /TupL2/TransportLayer/frameTypeState
(u1) /TupL2/TransportLayer/CRC_Mode
<CMD> /TupL2/TransportLayer/Status
<DIR> /AUPIPE
<CMD> /AUPIPE/Open
<CMD> /AUPIPE/Close
<CMD> /AUPIPE/Cmd
<CMD> /AUPIPE/Connect
<CMD> /AUPIPE/GetFormatConfig
<CMD> /AUPIPE/SetFormatConfig
<CMD> /AUPIPE/SetPipeConfig
<CMD> /AUPIPE/Start
<CMD> /AUPIPE/Pause
<CMD> /AUPIPE/Stop
<CMD> /AUPIPE/Disconnect
<CMD> /AUPIPE/GetEndpointInfo
<CMD> /AUPIPE/StartMixedAsic
<CMD> /AUPIPE/StopMixedAsic
<DIR> /LLRS232
<CMD> /LLRS232/Status
<CMD> /LLRS232/DetectPnP
<CMD> /LLRS232/SetPin
<CMD> /LLRS232/GenerateBreak
<CMD> /LLRS232/AutoDetect
<CMD> /LLRS232/Receive
<CMD> /LLRS232/Transmit
<CMD> /LLRS232/SetFlowControl
<CMD> /LLRS232/SetLogicInversion
<CMD> /LLRS232/SetFlowControlOutputPin
<CMD> /LLRS232/ToggleEnableDebugMux
<CMD> /LLRS232/SetCommParams
<CMD> /LLRS232/Capabilities
<CMD> /LLRS232/SetDebugMode
<CMD> /LLRS232/AbortAutodetect
<CMD> /LLRS232/SetSpeedRange
<DIR> /TaskSupervisor
<CMD> /TaskSupervisor/SetWatchdog
<CMD> /TaskSupervisor/RestartWatchdog
<CMD> /TaskSupervisor/SetWatchdogType
<DIR> /SysCtrl
<CMD> /SysCtrl/ShutDown
<CMD> /SysCtrl/Restart
<CMD> /SysCtrl/ITP
<DIR> /OBEX
<CMD> /OBEX/C_State
<CMD> /OBEX/S_State
<CMD> /OBEX/S_PrintRegisterProfiles
<CMD> /OBEX/L_SetDebugMode
<CMD> /OBEX/Session_SetDebugMode
<CMD> /OBEX/SetDebugMode
<CMD> /OBEX/SetShowSize
<CMD> /OBEX/Trace
<DIR> /BattMgr
<CMD> /BattMgr/Test
<CMD> /BattMgr/PauseCharging
<CMD> /BattMgr/ResumeCharging
<CMD> /BattMgr/SetMaxUSBCurrent
<CMD> /BattMgr/SetTemperature
<CMD> /BattMgr/ResetTemperature
<DIR> /HTTP
(u4) /HTTP/Tcp_RcvBuf
(u4) /HTTP/Tcp_SndBuf
(u4) /HTTP/Udp_RcvBuf
(u4) /HTTP/Udp_SndBuf
<CMD> /HTTP/State
<CMD> /HTTP/DebugTrace
<CMD> /HTTP/ClearDb
<CMD> /HTTP/CacheUsage
<CMD> /HTTP/SetSecAlg
<CMD> /HTTP/PIN_Handling
<CMD> /HTTP/SecClearDb
<DIR> /HTTP/CertHandling
<CMD> /HTTP/CertHandling/Store
<CMD> /HTTP/CertHandling/List
<DIR> /SIP
<CMD> /SIP/CreateProfile
<CMD> /SIP/DeleteProfile
<CMD> /SIP/CreateUserAgent
<CMD> /SIP/DeleteUserAgent
<CMD> /SIP/SetCredentials
<CMD> /SIP/AddresOfRecord
<CMD> /SIP/IMSIAddressOfRecord
<CMD> /SIP/Proxy
<CMD> /SIP/Options
<CMD> /SIP/ReInvite
<CMD> /SIP/Host
<CMD> /SIP/LocalProxy
<CMD> /SIP/PoCProxy
<CMD> /SIP/PoCSettings
<CMD> /SIP/GroupAd
<CMD> /SIP/Subscribe
<CMD> /SIP/ToggleUseDomainName
<CMD> /SIP/State
<CMD> /SIP/PrintSignalIntervals
<CMD> /SIP/PrintProfiles
<CMD> /SIP/ClearAuthorizations
<CMD> /SIP/Authorizations
<CMD> /SIP/RadioOn
<CMD> /SIP/EncodeDecode
<CMD> /SIP/SetTimer
<CMD> /SIP/Trace
<CMD> /SIP/Memory
<CMD> /SIP/RandomVia
<DIR> /SIP/API
<CMD> /SIP/API/CreateUserAgent
<CMD> /SIP/API/DeleteUserAgent
<CMD> /SIP/API/AddRegisterHeader
<CMD> /SIP/API/AddRegisterHeaderParams
<CMD> /SIP/API/GetLocalAddress
<CMD> /SIP/API/GetLocalAddress_v2
<CMD> /SIP/API/CreateProfile
<CMD> /SIP/API/DeleteProfile
<CMD> /SIP/API/SetPublicUserIdentity
<CMD> /SIP/API/SetPrivateUserIdentity
<CMD> /SIP/API/SetHomeNetworkDomainName
<CMD> /SIP/API/GetRegisteredPublicUserIdentity
<CMD> /SIP/API/OpenRequest
<CMD> /SIP/API/SetProxyCSCF
<CMD> /SIP/API/SetAccessNetworkInfoPolicy
<CMD> /SIP/API/SetRegEventSubscriptionPolicy
<CMD> /SIP/API/SetConnection
<CMD> /SIP/API/SetTimer
<CMD> /SIP/API/CreateTransaction
<CMD> /SIP/API/DestroyTransaction
<CMD> /SIP/API/InitRequest
<CMD> /SIP/API/SetRequestURI
<CMD> /SIP/API/SetHeader
<CMD> /SIP/API/AddHeader
<CMD> /SIP/API/RemoveHeader
<CMD> /SIP/API/GetHeader_v3
<CMD> /SIP/API/AddHeaderParams
<CMD> /SIP/API/Send
<CMD> /SIP/API/AcceptResponse
<CMD> /SIP/API/GetStatusCode
<CMD> /SIP/API/GetReasonPhrase
<CMD> /SIP/API/GetRequestURI
<CMD> /SIP/API/GetMethod
<CMD> /SIP/API/TransactionGetState
<CMD> /SIP/API/InitResponse
<CMD> /SIP/API/InitCancel
<CMD> /SIP/API/InitAck
<CMD> /SIP/API/SetReasonPhrase
<CMD> /SIP/API/SetCredentials
<CMD> /SIP/API/GetDialog
<CMD> /SIP/API/Release
<CMD> /SIP/API/NewTransaction
<CMD> /SIP/API/IsSameDialog
<CMD> /SIP/API/GetState
<CMD> /SIP/API/AddressGetHost
<CMD> /SIP/API/AddressGetPort
<CMD> /SIP/API/OutOfMemory
<CMD> /SIP/API/SetSigCompMemorySizes
<CMD> /SIP/API/GetSigCompMemorySizes
<CMD> /SIP/API/ImsRegister
<CMD> /SIP/API/SetSIM
<CMD> /SIP/API/SetLocalServerPort
<DIR> /SIP/CSI
<CMD> /SIP/CSI/CreateAgent
<CMD> /SIP/CSI/DestroyAgent
<CMD> /SIP/CSI/Register
<CMD> /SIP/CSI/DeRegister
<CMD> /SIP/CSI/ExCaps
<CMD> /SIP/CSI/Invite
<CMD> /SIP/CSI/Respond
<CMD> /SIP/CSI/ReleaseSession
<CMD> /SIP/CSI/TxFile
<CMD> /SIP/CSI/TxMotion
<CMD> /SIP/CSI/RxFile
<CMD> /SIP/CSI/RxMotion
<CMD> /SIP/CSI/Abort
<CMD> /SIP/CSI/Progress
<CMD> /SIP/CSI/GetUPP
<CMD> /SIP/CSI/SetUPC
<DIR> /SIP/POC
(u1) /SIP/POC/autoSIPRegister
(u1) /SIP/POC/acceptPersonalAlerts
(u1) /SIP/POC/acceptGroupAdvertisements
(u1) /SIP/POC/autoAnswer
(u1) /SIP/POC/acceptIncomingInvites
<CMD> /SIP/POC/CreateAgent
<CMD> /SIP/POC/DestroyAgent
<CMD> /SIP/POC/RegisterAgent
<CMD> /SIP/POC/DeRegisterAgent
<CMD> /SIP/POC/PublishSettings
<CMD> /SIP/POC/SetTCBPTimers
<CMD> /SIP/POC/SendPA
<CMD> /SIP/POC/SendGA
<CMD> /SIP/POC/AddParticipant
<CMD> /SIP/POC/Invite
<CMD> /SIP/POC/MMInvite
<CMD> /SIP/POC/Respond
<CMD> /SIP/POC/Release
<CMD> /SIP/POC/GetInfo
<CMD> /SIP/POC/SubscribeCI
<CMD> /SIP/POC/RefreshCISubscr
<CMD> /SIP/POC/UnSubscribeCI
<CMD> /SIP/POC/AddUsers
<CMD> /SIP/POC/Talk
<CMD> /SIP/POC/RxInit
<CMD> /SIP/POC/TxInit
<CMD> /SIP/POC/RxStart
<CMD> /SIP/POC/TxStart
<CMD> /SIP/POC/OnHold
<CMD> /SIP/POC/LockIn
<CMD> /SIP/POC/SetPriority
<CMD> /SIP/POC/GetUPP
<CMD> /SIP/POC/SetUPC
<CMD> /SIP/POC/SetSessionHandleForTalk
<CMD> /SIP/POC/z
<CMD> /SIP/POC/x
<CMD> /SIP/POC/TurnOnMSLog
<CMD> /SIP/POC/TurnOffMSLog
<CMD> /SIP/POC/JbDelays
<CMD> /SIP/POC/TTL
<DIR> /SIP/SIMPLE
<CMD> /SIP/SIMPLE/Register
<CMD> /SIP/SIMPLE/UnRegister
<CMD> /SIP/SIMPLE/Subscribe
<CMD> /SIP/SIMPLE/ReSubscribe
<CMD> /SIP/SIMPLE/UnSubscribe
<CMD> /SIP/SIMPLE/Publish
<CMD> /SIP/SIMPLE/RePublish
<CMD> /SIP/SIMPLE/UnPublish
<DIR> /SIP/XDMC
<CMD> /SIP/XDMC/PopHood
<CMD> /SIP/XDMC/RegisterAgent
<CMD> /SIP/XDMC/DeregisterAgent
<CMD> /SIP/XDMC/Authenticate
<CMD> /SIP/XDMC/OpenDocument
<CMD> /SIP/XDMC/CloseDocument
<CMD> /SIP/XDMC/DeleteDocument
<CMD> /SIP/XDMC/GetData
<CMD> /SIP/XDMC/PutData
<CMD> /SIP/XDMC/DeleteData
<CMD> /SIP/XDMC/EnumerateDocuments
<DIR> /SIP/GLM
<CMD> /SIP/GLM/PopHood
<CMD> /SIP/GLM/SetValue
<CMD> /SIP/GLM/RegisterAgent
<CMD> /SIP/GLM/DeregisterAgent
<CMD> /SIP/GLM/Authenticate
<CMD> /SIP/GLM/ChangeConnection
<CMD> /SIP/GLM/GetLists
<CMD> /SIP/GLM/CreateList
<CMD> /SIP/GLM/OpenList
<CMD> /SIP/GLM/CloseList
<CMD> /SIP/GLM/DeleteList
<CMD> /SIP/GLM/GetMembers
<CMD> /SIP/GLM/GetSettings
<CMD> /SIP/GLM/SetGroupSettings
<CMD> /SIP/GLM/BeginMemberSequence
<CMD> /SIP/GLM/BeginSequence
<CMD> /SIP/GLM/EndSequence
<CMD> /SIP/GLM/SetMember
<CMD> /SIP/GLM/SetLink
<CMD> /SIP/GLM/SetLinkedMember
<CMD> /SIP/GLM/GetRules
<CMD> /SIP/GLM/GetList
<CMD> /SIP/GLM/CancelAgent
<CMD> /SIP/GLM/CancelList
<CMD> /SIP/GLM/BeginConditionSequence
<CMD> /SIP/GLM/BeginManySequence
<CMD> /SIP/GLM/SetManyException
<CMD> /SIP/GLM/SetOneCondition
<CMD> /SIP/GLM/SetGroupRuleActions
<CMD> /SIP/GLM/SetPresenceRuleActions
<CMD> /SIP/GLM/SetPresenceRuleComponent
<CMD> /SIP/GLM/SetPresenceRuleAttributes
<CMD> /SIP/GLM/SetPresenceUnknownAttribute
<CMD> /SIP/GLM/SetPresenceSettings
<CMD> /SIP/GLM/SetGroupAccessActions
<DIR> /PD_I2C
<CMD> /PD_I2C/Rd
<CMD> /PD_I2C/SRd
<CMD> /PD_I2C/Wr
<CMD> /PD_I2C/DE
<CMD> /PD_I2C/Du
<CMD> /PD_I2C/ToggleNAK
<CMD> /PD_I2C/ToggleBE
<CMD> /PD_I2C/ToggleTO
<CMD> /PD_I2C/ToggleSF
<CMD> /PD_I2C/ERd
<CMD> /PD_I2C/ESRd
<CMD> /PD_I2C/EWr
<CMD> /PD_I2C/EDE
<CMD> /PD_I2C/EDu

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

161
sedbgmux-dump.py Executable file
View File

@ -0,0 +1,161 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import argparse
import math
import sys
from sedbgmux.io import *
from sedbgmux import DbgMuxFrame
# local logger for this module
log = logging.getLogger(__name__)
def dumpio_auto(fname: str, *args, **kw) -> DumpIO:
''' Detect dump format automatically '''
if fname.endswith('.socat.dump'):
return DumpIOSocat(fname, *args, **kw)
elif fname.endswith('.dump'):
return DumpIONative(fname, *args, **kw)
elif fname.endswith(('.pcap', '.pcapng', '.pcap.gz', '.pcapng.gz')):
return DumpIOBtPcap(fname, *args, **kw)
raise DumpIOError('Automatic format detection failed')
class SEDbgMuxDumpApp:
FORMATS = {
'auto' : (dumpio_auto, 'Automatic dump format detection (by filename)'),
'native' : (DumpIONative, 'Native binary dump format for this package'),
'socat' : (DumpIOSocat, 'ASCII hexdump generated by socat (-x option)'),
'btpcap' : (DumpIOBtPcap, 'PCAP file with Bluetooth RFCOMM packets (requires pyshark)'),
}
def __init__(self, argv) -> None:
if argv.verbose > 0:
logging.root.setLevel(logging.DEBUG)
if argv.command == 'parse':
self.do_parse(argv)
elif argv.command == 'convert':
self.do_convert(argv)
elif argv.command == 'list-formats':
self.do_list_formats()
def do_parse(self, argv):
dump = self.FORMATS[argv.format][0](argv.input, readonly=True)
num_records: int = 0
while num_records < argv.num_records:
try:
record: dict = dump.read()
record['nr'] = num_records
num_records += 1
except DumpIOEndOfFile:
break
self._print_record(record)
def do_convert(self, argv):
di = self.FORMATS[argv.input_format][0](argv.input, readonly=True)
do = self.FORMATS[argv.output_format][0](argv.output, readonly=False)
num_records: int = 0
while num_records < argv.num_records:
try:
record: dict = di.read()
do.write(record)
num_records += 1
except DumpIOEndOfFile:
break
log.info('Converted %u records', num_records)
def do_list_formats(self) -> None:
for name, desc in self.FORMATS.items():
print('%s\t\t%s' % (name, desc[1]))
def _print_record(self, record: dict) -> None:
frame = DbgMuxFrame.Frame.parse(record['data'])
if argv.conn_data: # print only ConnData messages
if frame['MsgType'] != DbgMuxFrame.MsgType.ConnData:
return
# Record information
print('Record #{nr:04d} @ {timestamp:f} {dir}'.format(**record),
record['data'].hex())
# DebugMux frame header
print(' DebugMux {} frame'.format(record['dir']),
'(Ns={TxCount:03d}, Nr={RxCount:03d}, fcs=0x{FCS:04x})'.format(**frame),
frame['MsgType'], frame['MsgData'].hex())
fcs: int = DbgMuxFrame.fcs_func(record['data'][:-2])
if fcs != frame['FCS']:
msg: str = 'Indicated 0x{ind:04x} != calculated 0x{calc:04x}' \
.format(ind=frame['FCS'], calc=fcs)
if not argv.ignore_bad_fcs:
raise DumpIOFcsError(msg)
print(' Bad FCS: ' + msg)
# DebugMux frame payload
if argv.decode_payload:
msg = DbgMuxFrame.Msg.parse(frame['MsgData'], MsgType=frame['MsgType'])
if msg != b'':
print(' {}'.format(msg))
ap = argparse.ArgumentParser(prog='sedbgmux-dump',
description='DebugMux dump management utility')
sp = ap.add_subparsers(dest='command', metavar='command', required=True,
help='sub-command help')
ap.add_argument('-v', '--verbose', action='count', default=0,
help='print debug logging')
parse = sp.add_parser('parse', help='parse a dump file')
parse.add_argument('input', metavar='INPUT', type=str,
help='input file to be parsed')
parse.add_argument('-f', '--format', type=str, default='auto',
choices=SEDbgMuxDumpApp.FORMATS.keys(),
help='input file format (default: %(default)s)')
parse.add_argument('-dp', '--decode-payload', action='store_true',
help='decode DebugMux frame contents')
parse.add_argument('-cd', '--conn-data', action='store_true',
help='show only ConnData messages')
parse.add_argument('-nr', '--num-records', type=int, default=math.inf,
help='number of records to parse (default: all)')
parse.add_argument('--ignore-bad-fcs', action='store_true',
help='do not abort parsing on FCS mismatch')
convert = sp.add_parser('convert', help='convert between different formats')
convert.add_argument('input', metavar='INPUT', type=str,
help='input file to be converted')
convert.add_argument('output', metavar='OUTPUT', type=str,
help='output file')
convert.add_argument('-if', '--input-format', type=str, required=True,
choices=SEDbgMuxDumpApp.FORMATS.keys(),
help='input file format')
convert.add_argument('-of', '--output-format', type=str, required=True,
choices=SEDbgMuxDumpApp.FORMATS.keys(),
help='output file format')
convert.add_argument('-nr', '--num-records', type=int, default=math.inf,
help='number of records to convert (default: all)')
sp.add_parser('list-formats', help='list all supported formats')
logging.basicConfig(
format='[%(levelname)s] %(filename)s:%(lineno)d %(message)s', level=logging.INFO)
if __name__ == '__main__':
argv = ap.parse_args()
app = SEDbgMuxDumpApp(argv)

247
sedbgmux-shell.py Executable file
View File

@ -0,0 +1,247 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022-2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import argparse
import cmd2
import sys
from typing import List
from sedbgmux.io import DbgMuxIOModem
from sedbgmux.io import DumpIONative
from sedbgmux import DbgMuxPeer
from sedbgmux import DbgMuxClient
from sedbgmux.ch import DbgMuxConnTerminal
from sedbgmux.ch import DbgMuxConnFileLogger
from sedbgmux.ch import DbgMuxConnUdpProxy
from sedbgmux.ch import DbgMuxConnWalker
# local logger for this module
log = logging.getLogger(__name__)
class SEDbgMuxApp(cmd2.Cmd):
DESC = 'DebugMux client for [Sony] Ericsson phones and modems'
# Command categories
CATEGORY_CONN = 'Connection management commands'
CATEGORY_DBGMUX = 'DebugMux specific commands'
def __init__(self, argv):
super().__init__(allow_cli_args=False, include_py=True)
if argv.verbose > 0:
logging.root.setLevel(logging.DEBUG)
self.debug = True
self.intro = cmd2.style('Welcome to %s!' % self.DESC, fg=cmd2.Fg.RED)
self.prompt = 'DebugMux (\'%s\')> ' % argv.serial_port
self.default_category = 'Built-in commands'
self.argv = argv
# Init the I/O layer, DebugMux peer and client
self.io = DbgMuxIOModem(self.argv)
self.peer = DbgMuxPeer(self.io)
self.client = DbgMuxClient(self.peer)
# Optionally dump DebugMux frames to a file
if argv.dump_file is not None:
dump = DumpIONative(argv.dump_file, readonly=False)
self.peer.enable_dump(dump)
# Modem connection state
self.set_connected(False)
self.py_locals = { 'client' : self.client }
def _tab_data_providers(self) -> List[cmd2.CompletionItem]:
''' Generate a list of DPRef values for tab-completion '''
return [cmd2.CompletionItem('0x%02x' % DPRef, DPName)
for DPRef, DPName in self.client.data_providers.items()]
def _tab_connections(self) -> List[cmd2.CompletionItem]:
''' Generate a list of ConnRef values for tab-completion '''
return [cmd2.CompletionItem('0x%02x' % ConnRef, 'DPRef=%02x %s' % ConnInfo)
for ConnRef, ConnInfo in self.client.active_conn.items()]
def set_connected(self, state: bool) -> None:
self.connected: bool = state
if self.connected:
self.enable_category(self.CATEGORY_DBGMUX)
else:
msg = 'You must be connected to use this command'
self.disable_category(self.CATEGORY_DBGMUX, msg)
@cmd2.with_category(CATEGORY_CONN)
def do_connect(self, opts) -> None:
''' Connect to the modem and switch it to DebugMux mode '''
self.io.connect()
self.peer.start()
self.client.start()
self.set_connected(True)
@cmd2.with_category(CATEGORY_CONN)
def do_disconnect(self, opts) -> None:
''' Disconnect from the modem '''
self.client.stop()
self.peer.stop()
self.io.disconnect()
self.set_connected(False)
@cmd2.with_category(CATEGORY_CONN)
def do_status(self, opts) -> None:
''' Print connection info and statistics '''
if not self.connected:
self.poutput('Not connected')
return
self.poutput('Connected to \'%s\'' % self.argv.serial_port)
self.poutput('Baudrate: %d' % self.argv.serial_baudrate)
self.poutput('TxCount (Ns): %d' % self.peer.tx_count)
self.poutput('RxCount (Nr): %d' % self.peer.rx_count)
show_parser = cmd2.Cmd2ArgumentParser()
show_sparser = show_parser.add_subparsers(dest='command', required=True)
show_sparser.add_parser('target-info')
show_sparser.add_parser('data-providers')
show_sparser.add_parser('connections')
@cmd2.with_argparser(show_parser)
@cmd2.with_category(CATEGORY_CONN)
def do_show(self, opts) -> None:
''' Show various information '''
if opts.command == 'target-info':
self.poutput('Name: ' + (self.client.target_name or '(unknown)'))
self.poutput('IMEI: ' + (self.client.target_imei or '(unknown)'))
elif opts.command == 'data-providers':
for (DPRef, DPName) in self.client.data_providers.items():
self.poutput('Data Provider (DPRef=0x%02x): %s' % (DPRef, DPName))
elif opts.command == 'connections':
for (ConnRef, ConnInfo) in self.client.active_conn.items():
(DPRef, ch) = ConnInfo
self.poutput('Connection (DPRef=0x%02x, ConnRef=0x%02x): %s'
% (DPRef, ConnRef, str(ch)))
for (DPRef, ch) in self.client.pending_conn.items():
self.poutput('Pending Connection (DPRef=0x%02x): %s' % (DPRef, str(ch)))
@cmd2.with_category(CATEGORY_DBGMUX)
def do_enquiry(self, opts) -> None:
''' Enquiry target identifier and available Data Providers '''
self.client.enquiry()
ping_parser = cmd2.Cmd2ArgumentParser()
ping_parser.add_argument('-p', '--payload',
type=str, default='Knock, knock!',
help='Ping payload')
@cmd2.with_argparser(ping_parser)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_ping(self, opts) -> None:
''' Send a Ping to the target, expect Pong '''
self.client.ping(opts.payload)
establish_parser = cmd2.Cmd2ArgumentParser()
establish_parser.add_argument('DPRef',
type=lambda v: int(v, 16),
choices_provider=_tab_data_providers,
help='DPRef of a Data Provider in hex')
establish_sparser = establish_parser.add_subparsers(dest='handler', required=True,
help='Connection handler')
ch_terminal = establish_sparser.add_parser('terminal',
help=DbgMuxConnTerminal.__doc__)
ch_walker = establish_sparser.add_parser('walker',
help=DbgMuxConnWalker.__doc__)
ch_file_logger = establish_sparser.add_parser('file-logger',
help=DbgMuxConnFileLogger.__doc__)
ch_file_logger.add_argument('FILE', type=argparse.FileType('ab', 0),
completer=cmd2.Cmd.path_complete,
help='File name or \'-\' for stdout')
ch_udp_proxy = establish_sparser.add_parser('udp-proxy',
help=DbgMuxConnUdpProxy.__doc__)
ch_udp_proxy.add_argument('-la', '--local-addr', dest='laddr', type=str,
default=DbgMuxConnUdpProxy.LADDR_DEF[0],
help='Local address (default: %(default)s)')
ch_udp_proxy.add_argument('-lp', '--local-port', dest='lport', type=int,
default=DbgMuxConnUdpProxy.LADDR_DEF[1],
help='Local port (default: %(default)s)')
ch_udp_proxy.add_argument('-ra', '--remote-addr', dest='raddr', type=str,
default=DbgMuxConnUdpProxy.RADDR_DEF[0],
help='Remote address (default: %(default)s)')
ch_udp_proxy.add_argument('-rp', '--remote-port', dest='rport', type=int,
default=DbgMuxConnUdpProxy.RADDR_DEF[1],
help='Remote port (default: %(default)s)')
@cmd2.with_argparser(establish_parser)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_establish(self, opts) -> None:
''' Establish connections with Data Providers '''
if opts.handler == 'terminal':
ch = DbgMuxConnTerminal()
elif opts.handler == 'walker':
ch = DbgMuxConnWalker()
elif opts.handler == 'file-logger':
ch = DbgMuxConnFileLogger(opts.FILE)
elif opts.handler == 'udp-proxy':
ch = DbgMuxConnUdpProxy(laddr=(opts.laddr, opts.lport),
raddr=(opts.raddr, opts.rport))
self.client.conn_establish(opts.DPRef, ch)
if opts.handler == 'terminal':
ch.attach() # blocking until Ctrl + [CD]
ch.terminate()
elif opts.handler == 'walker':
ch.walk() # blocking
ch.terminate()
terminate_parser = cmd2.Cmd2ArgumentParser()
terminate_parser.add_argument('ConnRef',
type=lambda v: int(v, 16),
choices_provider=_tab_connections,
help='ConnRef in hex')
@cmd2.with_argparser(terminate_parser)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_terminate(self, opts) -> None:
''' Terminate connection with a Data Provider '''
self.client.conn_terminate(opts.ConnRef)
ap = argparse.ArgumentParser(prog='sedbgmux-shell', description=SEDbgMuxApp.DESC)
ap.add_argument('-v', '--verbose', action='count', default=0,
help='print debug logging')
group = ap.add_argument_group('connection parameters')
group.add_argument('-p', '--serial-port', metavar='PORT', type=str, default='/dev/ttyACM0',
help='serial port path (default %(default)s)')
group.add_argument('--serial-baudrate', metavar='BAUDRATE', type=int, default=115200,
help='serial port speed (default %(default)s)')
group.add_argument('--serial-timeout', metavar='TIMEOUT', type=float, default=0.5,
help='serial port read timeout (default %(default)s)')
group.add_argument('--dump-file', metavar='FILE', type=str,
help='save Rx/Tx DebugMux frames to a file')
logging.basicConfig(
format='\r[%(levelname)s] %(filename)s:%(lineno)d %(message)s', level=logging.INFO)
if __name__ == '__main__':
argv = ap.parse_args()
app = SEDbgMuxApp(argv)
sys.exit(app.cmdloop())

View File

@ -1,181 +0,0 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022 Vadim Yanitskiy <axilirator@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging as log
import argparse
import cmd2
import enum
import sys
from transport import TransportModem
from proto import DbgMuxFrame
from peer import DbgMuxPeer
class SEDbgMuxApp(cmd2.Cmd):
DESC = 'DebugMux client for [Sony] Ericsson phones and modems'
# Command categories
CATEGORY_CONN = 'Connection management commands'
CATEGORY_DBGMUX = 'DebugMux specific commands'
def __init__(self, argv):
super().__init__(allow_cli_args=False)
self.intro = cmd2.style('Welcome to %s!' % self.DESC, fg=cmd2.fg.red)
self.prompt = 'DebugMux (\'%s\')> ' % argv.serial_port
self.default_category = 'Built-in commands'
self.argv = argv
# Init the transport layer and DebugMux peer
self.transport = TransportModem(self.argv)
self.peer = DbgMuxPeer(self.transport)
# Modem connection state
self.set_connected(False)
def set_connected(self, state: bool) -> None:
self.connected: bool = state
if self.connected:
self.enable_category(self.CATEGORY_DBGMUX)
else:
msg = 'You must be connected to use this command'
self.disable_category(self.CATEGORY_DBGMUX, msg)
@cmd2.with_category(CATEGORY_CONN)
def do_connect(self, opts) -> None:
''' Connect to the modem and switch it to DebugMux mode '''
self.transport.connect()
self.set_connected(True)
@cmd2.with_category(CATEGORY_CONN)
def do_disconnect(self, opts) -> None:
''' Disconnect from the modem '''
self.transport.disconnect()
self.set_connected(False)
@cmd2.with_category(CATEGORY_CONN)
def do_status(self, opts) -> None:
''' Print connection info and statistics '''
if not self.connected:
self.poutput('Not connected')
return
self.poutput('Connected to \'%s\'' % self.argv.serial_port)
self.poutput('Baudrate: %d' % self.argv.serial_baudrate)
self.poutput('TxCount (Ns): %d' % self.peer.tx_count)
self.poutput('RxCount (Nr): %d' % self.peer.rx_count)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_enquiry(self, opts) -> None:
''' Enquiry target identifier and available Data Providers '''
self.peer.send(DbgMuxFrame.MsgType.Enquiry)
while True:
f = self.peer.recv()
if f['MsgType'] == DbgMuxFrame.MsgType.Ident:
log.info("Identified target: '%s', IMEI=%s",
f['Msg']['Ident'][:-15],
f['Msg']['Ident'][-15:])
elif f['MsgType'] == DbgMuxFrame.MsgType.DPAnnounce:
log.info("Data Provider available (DPRef=0x%04x): '%s'",
f['Msg']['DPRef'], f['Msg']['Name'])
# No more data in the buffer
# FIXME: layer violation!
if self.transport._sl.in_waiting == 0:
break
# ACKnowledge reception of the info
self.peer.send(DbgMuxFrame.MsgType.Ack)
ping_parser = cmd2.Cmd2ArgumentParser()
ping_parser.add_argument('-p', '--payload',
type=str, default='Knock, knock!',
help='Ping payload')
@cmd2.with_argparser(ping_parser)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_ping(self, opts) -> None:
''' Send a Ping to the target, expect Pong '''
log.info('Tx Ping with payload \'%s\'', opts.payload)
self.peer.send(DbgMuxFrame.MsgType.Ping, opts.payload)
f = self.peer.recv()
assert f['MsgType'] == DbgMuxFrame.MsgType.Pong
log.info('Rx Pong with payload \'%s\'', f['Msg'])
self.peer.send(DbgMuxFrame.MsgType.Ack)
establish_parser = cmd2.Cmd2ArgumentParser()
establish_parser.add_argument('DPRef',
type=lambda v: int(v, 16),
help='DPRef of a Data Provider in hex')
@cmd2.with_argparser(establish_parser)
@cmd2.with_category(CATEGORY_DBGMUX)
def do_establish(self, opts) -> None:
''' Establish connection with a Data Provider '''
log.info("Establishing connection with DPRef=0x%04x", opts.DPRef)
self.peer.send(DbgMuxFrame.MsgType.ConnEstablish,
dict(DPRef=opts.DPRef))
f = self.peer.recv()
assert f['MsgType'] == DbgMuxFrame.MsgType.ConnEstablished
if f['Msg']['ConnRef'] == 0xffff:
log.warning("Connection failed: unknown DPRef=0x%04x?", opts.DPRef)
self.peer.send(DbgMuxFrame.MsgType.Ack)
return
log.info("Connection established (ConnRef=0x%04x)",
f['Msg']['ConnRef'])
# Read the messages
while True:
f = self.peer.recv()
if f['MsgType'] != DbgMuxFrame.MsgType.ConnData:
log.warning('Unexpected frame: %s', f)
self.peer.send(DbgMuxFrame.MsgType.Ack)
continue
try: # FIXME: there can be binary data
self.stdout.write(f['Msg']['Data'].decode())
except: # ... ignore it for now
continue
# ACKnowledge reception of a frame
self.peer.send(DbgMuxFrame.MsgType.Ack)
ap = argparse.ArgumentParser(prog='sedbgmux', description=SEDbgMuxApp.DESC,
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
group = ap.add_argument_group('Connection parameters')
group.add_argument('-p', '--serial-port', metavar='PORT', type=str, default='/dev/ttyACM0',
help='Serial port path (default %(default)s)')
group.add_argument('--serial-baudrate', metavar='BAUDRATE', type=int, default=115200,
help='Serial port speed (default %(default)s)')
group.add_argument('--serial-timeout', metavar='TIMEOUT', type=float, default=0.5,
help='Serial port read timeout (default %(default)s)')
log.basicConfig(
format='[%(levelname)s] %(filename)s:%(lineno)d %(message)s', level=log.INFO)
if __name__ == '__main__':
argv = ap.parse_args()
app = SEDbgMuxApp(argv)
sys.exit(app.cmdloop())

5
sedbgmux/__init__.py Normal file
View File

@ -0,0 +1,5 @@
from . import io
from .proto import DbgMuxFrame
from .peer import DbgMuxPeer
from .ping_pong import DbgMuxPingPong
from .client import DbgMuxClient

7
sedbgmux/ch/__init__.py Normal file
View File

@ -0,0 +1,7 @@
from .base import DbgMuxConnHandler
from .base import DbgMuxConnState
from .udp_proxy import DbgMuxConnUdpProxy
from .terminal import DbgMuxConnTerminal
from .file_logger import DbgMuxConnFileLogger
from .walk import DbgMuxConnWalker

125
sedbgmux/ch/base.py Normal file
View File

@ -0,0 +1,125 @@
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import queue
import enum
import abc
from typing import Any, Optional
from .. import DbgMuxFrame
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxConnState(enum.Enum):
''' Connection state for DbgMuxConnHandler '''
NotEstablished = enum.auto()
Establishing = enum.auto()
Established = enum.auto()
class DbgMuxConnHandler(abc.ABC):
''' Abstract DebugMux connection handler '''
def __init__(self):
self.conn_state: DbgMuxConnState = DbgMuxConnState.NotEstablished
self._rx_data_queue: queue.Queue = queue.Queue()
self._tx_data_queue: queue.Queue = queue.Queue()
self._tx_queue: Optional[queue.Queue] = None
self.DataBlockLimit: int = 0
self.ConnRef: int = 0xffff
self.DPRef: int = 0xffff
@abc.abstractmethod
def _conn_established(self) -> None:
''' Called when a connection has been established '''
@abc.abstractmethod
def _conn_terminated(self) -> None:
''' Called when a connection has been terminated '''
def send_msg(self, msg_type: DbgMuxFrame.MsgType, msg: Any = b'') -> None:
''' Send a DebugMux message to the target '''
assert self._tx_queue is not None
self._tx_queue.put((msg_type, msg))
def send_data(self, data: bytes) -> None:
''' Send connection data to the target '''
assert self.conn_state == DbgMuxConnState.Established
msg_type = DbgMuxFrame.MsgType.ConnData
msg = dict(ConnRef=self.ConnRef, Data=data)
if self.DataBlockLimit > 0: # Can we send immediately?
self.send_msg(msg_type, msg)
self.DataBlockLimit -= 1
else: # Postpone transmission until a FlowControl is received
self._tx_data_queue.put((msg_type, msg))
def establish(self, DPRef: int, txq: queue.Queue) -> None:
''' Establish connection with a DataProvider '''
assert self.conn_state == DbgMuxConnState.NotEstablished
log.info('Establishing connection with DPRef=0x%04x', DPRef)
self.DPRef = DPRef
self._tx_queue = txq
self.conn_state = DbgMuxConnState.Establishing
self.send_msg(DbgMuxFrame.MsgType.ConnEstablish, dict(DPRef=DPRef))
def terminate(self) -> None:
''' Terminate connection with a DataProvider '''
assert self.conn_state == DbgMuxConnState.Established
log.info('Terminating connection ConnRef=0x%04x with DPRef=0x%04x',
self.ConnRef, self.DPRef)
self.send_msg(DbgMuxFrame.MsgType.ConnTerminate, dict(ConnRef=self.ConnRef))
def _handle_established(self, ConnRef: int, DataBlockLimit: int) -> None:
''' Called on connection establishment '''
assert self.conn_state == DbgMuxConnState.Establishing
log.info('Connection established: DPRef=0x%04x, ConnRef=0x%04x, DataBlockLimit=%u',
self.DPRef, ConnRef, DataBlockLimit)
self.conn_state = DbgMuxConnState.Established
self.DataBlockLimit = DataBlockLimit
self.ConnRef = ConnRef
self._conn_established()
def _handle_terminated(self) -> None:
''' Called on connection termination '''
assert self.conn_state == DbgMuxConnState.Established
log.info('Connection terminated: DPRef=0x%04x, ConnRef=0x%04x',
self.DPRef, self.ConnRef)
self.conn_state = DbgMuxConnState.NotEstablished
# TODO: reset the internal state?
self._conn_terminated()
def _handle_data(self, data: bytes) -> None:
''' Called on reciept of connection data '''
self._rx_data_queue.put(data)
def _handle_flow_control(self, DataBlockLimit: int):
''' Called on reciept of FlowControl message '''
assert self.conn_state == DbgMuxConnState.Established
self.DataBlockLimit = DataBlockLimit
while self.DataBlockLimit > 0:
try:
(msg_type, msg) = self._tx_data_queue.get(block=False)
self.send_msg(msg_type, msg)
self.DataBlockLimit -= 1
self._tx_data_queue.task_done()
except queue.Empty:
break

View File

@ -0,0 +1,60 @@
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
import typing
import queue
from . import DbgMuxConnHandler
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxConnFileLogger(DbgMuxConnHandler):
''' Log all received connection data to a file (binary mode) '''
def __init__(self, file: typing.BinaryIO):
super().__init__()
self._file = file
self._rx_thread = threading.Thread(target=self._rx_worker,
daemon=True)
self._shutdown = threading.Event()
def _rx_worker(self) -> None:
''' Dequeue data blocks from the Rx queue and write to file '''
while not self._shutdown.is_set():
try:
data: bytes = self._rx_data_queue.get(block=True, timeout=0.2)
self._file.write(data)
self._rx_data_queue.task_done()
except queue.Empty:
pass
log.debug('Thread \'%s-Rx\' is shutting down', self.__class__.__name__)
def _conn_established(self) -> None:
''' Called when a connection has been established '''
self._shutdown.clear()
self._rx_thread.start()
def _conn_terminated(self) -> None:
''' Called when a connection has been terminated '''
self._shutdown.set()
self._rx_thread.join()

75
sedbgmux/ch/terminal.py Normal file
View File

@ -0,0 +1,75 @@
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
import queue
import sys
from . import DbgMuxConnHandler
from . import DbgMuxConnState
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxConnTerminal(DbgMuxConnHandler):
''' Terminal for communicating with 'Interactive Debug' DPs '''
def __init__(self):
super().__init__()
self.attached: bool = False
self._rx_thread = threading.Thread(target=self._rx_worker,
daemon=True)
self._shutdown = threading.Event()
def attach(self) -> None:
''' Read data blocks from stdin and enqueue to the Tx queue '''
self.attached = True
while not self._shutdown.is_set():
try:
line: str = input()
if self.conn_state == DbgMuxConnState.Established:
self.send_data(bytes(line + '\r', 'ascii'))
except (KeyboardInterrupt, EOFError) as e:
break
self.attached = False
def _rx_worker(self) -> None:
''' Dequeue data blocks from the Rx queue and print to stdout '''
while not self._shutdown.is_set():
try:
data: bytes = self._rx_data_queue.get(block=True, timeout=0.2)
if self.attached:
sys.stdout.write(data.decode('ascii'))
sys.stdout.flush()
self._rx_data_queue.task_done()
except queue.Empty:
pass
log.debug('Thread \'%s-Rx\' is shutting down', self.__class__.__name__)
def _conn_established(self) -> None:
''' Called when a connection has been established '''
self._shutdown.clear()
self._rx_thread.start()
def _conn_terminated(self) -> None:
''' Called when a connection has been terminated '''
self._shutdown.set()
self._rx_thread.join()

91
sedbgmux/ch/udp_proxy.py Normal file
View File

@ -0,0 +1,91 @@
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022-2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
import queue
import socket
from typing import Tuple
from .. import DbgMuxFrame
from . import DbgMuxConnHandler
from . import DbgMuxConnState
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxConnUdpProxy(DbgMuxConnHandler):
''' Expose a DebugMux connection as a UDP socket '''
LADDR_DEF: Tuple[str, int] = ('127.0.0.1', 2424)
RADDR_DEF: Tuple[str, int] = ('127.0.0.1', 4242)
DGRAM_TIMEOUT_DEF: float = 0.2
DGRAM_MAX_LEN: int = 2048
def __init__(self, *args, **kw):
super().__init__(*args)
self.laddr: Tuple[str, int] = kw.get('laddr', self.LADDR_DEF)
self.raddr: Tuple[str, int] = kw.get('raddr', self.RADDR_DEF)
self._sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self._sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self._sock.bind(self.laddr)
self._sock.settimeout(self.DGRAM_TIMEOUT_DEF)
self._rx_thread = threading.Thread(target=self._rx_worker,
daemon=True)
self._tx_thread = threading.Thread(target=self._tx_worker,
daemon=True)
self._shutdown = threading.Event()
def _rx_worker(self) -> None:
''' Dequeue data blocks from the Rx queue and send as datagrams '''
while not self._shutdown.is_set():
try:
data: bytes = self._rx_data_queue.get(block=True, timeout=0.2)
self._sock.sendto(data, self.raddr)
self._rx_data_queue.task_done()
except queue.Empty:
pass
log.debug('Thread \'%s-Rx\' is shutting down', self.__class__.__name__)
def _tx_worker(self) -> None:
''' Receive data blocks as datagrams and enqueue to the Tx queue '''
while not self._shutdown.is_set():
try:
(data, addr) = self._sock.recvfrom(self.DGRAM_MAX_LEN)
if self.conn_state == DbgMuxConnState.Established:
self.send_data(data)
except TimeoutError:
pass
log.debug('Thread \'%s-Tx\' is shutting down', self.__class__.__name__)
def _conn_established(self) -> None:
''' Called when a connection has been established '''
self._shutdown.clear()
self._rx_thread.start()
self._tx_thread.start()
def _conn_terminated(self) -> None:
''' Called when a connection has been terminated '''
self._shutdown.set()
self._rx_thread.join()
self._tx_thread.join()

103
sedbgmux/ch/walk.py Normal file
View File

@ -0,0 +1,103 @@
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
import queue
import re
from typing import NewType, List, Tuple
from . import DbgMuxConnHandler
from . import DbgMuxConnState
# local logger for this module
log = logging.getLogger(__name__)
# a directory item type
DirItem = NewType('DirItem', Tuple[str, str])
class DbgMuxConnWalker(DbgMuxConnHandler):
''' A tool to build a hierarchy of 'Interactive Debug' DPs '''
line_pattern = re.compile(r'^(\S+)\s+([<(]\S+[>)])')
def __init__(self):
super().__init__()
self._connected = threading.Event()
def _conn_established(self) -> None:
''' Called when a connection has been established '''
self._connected.set()
def _conn_terminated(self) -> None:
''' Called when a connection has been terminated '''
self._connected.clear()
def send_cmd(self, cmd: str) -> None:
''' Send a command '''
self.send_data(cmd.encode() + b'\r')
def read_rsp(self) -> List[str]:
''' Receive a response, return a list of (not empty) lines '''
data: bytes = b''
while self._connected.is_set():
try:
data += self._rx_data_queue.get(block=True, timeout=0.2)
self._rx_data_queue.task_done()
except queue.Empty:
break
rsp = data.decode('ascii').split('\r\n')
return [l for l in rsp if l != '']
def do_chdir(self, dirname: str) -> None:
''' List current directory contents '''
self.send_cmd(f'cd {dirname}')
self.read_rsp() # unused
def do_list(self) -> List[DirItem]:
''' List current directory contents '''
self.send_cmd('ls')
rsp = self.read_rsp()
items = []
for line in rsp:
m = self.line_pattern.match(line)
if m is None:
continue
items.append(m.groups())
return items
def walk_dir(self, path: str = '') -> List[DirItem]:
items: List[DirItem] = self.do_list()
for item_name, item_type in items:
print(f'{item_type}\t{path}/{item_name}')
if item_type == '<DIR>':
self.do_chdir(item_name)
self.walk_dir(f'{path}/{item_name}')
self.do_chdir('..')
def walk(self) -> None:
if not self._connected.wait(0.5):
log.error('Connection is not established (yet?)')
return
# read the welcome message and prompt
self.read_rsp()
# get listing of the root directory
self.do_chdir('/')
self.walk_dir()

252
sedbgmux/client.py Executable file
View File

@ -0,0 +1,252 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022-2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
import queue
from typing import Dict, Tuple
from construct import Container
from . import DbgMuxFrame
from . import DbgMuxPeer
from . import DbgMuxPingPong
from .ch import DbgMuxConnHandler
from .ch import DbgMuxConnState
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxClient:
''' DebugMux client role implementation '''
IDENT_TIMEOUT: float = 0.5
CONN_EST_TIMEOUT: float = 1.0
CONN_TERM_TIMEOUT: float = 1.0
data_providers: Dict[int, str] # { DPRef : Name }
pending_conn: Dict[int, DbgMuxConnHandler] # { DPRef : ch }
active_conn: Dict[int, Tuple[int, DbgMuxConnHandler]] # { ConnRef : (DPRef, ch) }
def __init__(self, peer: DbgMuxPeer):
self.target_name: str = ''
self.target_imei: str = ''
self.data_providers = dict()
self.pending_conn = dict()
self.active_conn = dict()
self.peer: DbgMuxPeer = peer
self.ping_pong = DbgMuxPingPong(peer)
self._rx_thread = threading.Thread(target=self._rx_worker,
name='DbgMuxClient-Rx',
daemon=True)
self._shutdown = threading.Event()
self._ev_ident = threading.Event()
self._ev_conn_est = threading.Event()
self._ev_conn_term = threading.Event()
def start(self) -> None:
''' Start dequeueing messages from peer '''
self._shutdown.clear()
self._rx_thread.start()
def stop(self) -> None:
''' Stop dequeueing messages from peer '''
self._shutdown.set()
self._rx_thread.join()
self._reset()
def _reset(self) -> None:
''' Reset the internal state '''
self.target_name = ''
self.target_imei = ''
for (_, ch) in self.active_conn.values():
ch._handle_terminated()
del ch
self.active_conn.clear()
self.pending_conn.clear()
self.data_providers.clear()
self._ev_ident.clear()
self._ev_conn_est.clear()
self._ev_conn_term.clear()
def enquiry(self) -> bool:
''' Enquiry target identifier and available Data Providers '''
self._ev_ident.clear()
self.peer.send(DbgMuxFrame.MsgType.Enquiry)
if not self._ev_ident.wait(timeout=self.IDENT_TIMEOUT):
log.error('Timeout waiting for identification response')
return False
return True
def ping(self, payload: str = 'ping') -> bool:
''' Send a Ping to the target, expect Pong '''
return self.ping_pong.ping(payload)
def conn_establish(self, DPRef: int, ch: DbgMuxConnHandler) -> bool:
''' Establish connection with a Data Provider '''
if DPRef not in self.data_providers:
log.error('DPRef=0x%04x is not registered', DPRef)
return False
if DPRef in self.pending_conn:
log.error('DPRef=0x%04x already has a pending connection', DPRef)
return False
for conn in self.active_conn.values():
if conn[0] != DPRef:
continue
log.error('DPRef=0x%04x already has an active connection', DPRef)
return False
self._ev_conn_est.clear()
self.pending_conn[DPRef] = ch
ch.establish(DPRef, self.peer._tx_queue)
if not self._ev_conn_est.wait(timeout=self.CONN_EST_TIMEOUT):
log.error('Timeout establishing connection with DPRef=0x%04x', DPRef)
self.pending_conn.pop(DPRef)
return False
return ch.conn_state == DbgMuxConnState.Established
def conn_terminate(self, ConnRef: int) -> bool:
''' Terminate connection with a Data Provider '''
if ConnRef not in self.active_conn:
log.error('ConnRef=0x%04x is not registered', ConnRef)
return False
self._ev_conn_term.clear()
(DPRef, ch) = self.active_conn.get(ConnRef)
ch.terminate()
if not self._ev_conn_term.wait(timeout=self.CONN_TERM_TIMEOUT):
log.error('Timeout terminating connection with DPRef=0x%04x', DPRef)
return False
return ch.conn_state == DbgMuxConnState.NotEstablished
def _rx_worker(self) -> None:
''' Dequeue DebugMux frames from peer and handle them '''
while not self._shutdown.is_set():
try:
frame: Container = self.peer._rx_queue.get(block=True, timeout=0.5)
self._handle_frame(frame)
self.peer._rx_queue.task_done()
except queue.Empty:
pass
log.debug('Thread \'%s\' is shutting down', threading.current_thread().name)
def _handle_frame(self, frame: Container) -> None:
MsgType, Msg = frame['MsgType'], frame['Msg']
if MsgType == DbgMuxFrame.MsgType.Ident:
self._handle_ident(Msg)
self._ev_ident.set()
elif MsgType == DbgMuxFrame.MsgType.DPAnnounce:
self._handle_dp_announce(Msg)
elif MsgType == DbgMuxFrame.MsgType.Pong:
self.ping_pong._handle_pong(Msg['Data'])
elif MsgType == DbgMuxFrame.MsgType.ConnEstablished:
self._handle_conn_est(Msg)
self._ev_conn_est.set()
elif MsgType == DbgMuxFrame.MsgType.ConnTerminated:
self._handle_conn_term(Msg)
self._ev_conn_term.set()
elif MsgType == DbgMuxFrame.MsgType.ConnData:
self._handle_conn_data(Msg)
elif MsgType == DbgMuxFrame.MsgType.FlowControl:
self._handle_conn_flow_control(Msg)
return # no Ack
elif MsgType == DbgMuxFrame.MsgType.Ack:
return # no Ack
else:
log.warning('Unhandled DebugMux message %s: %s', MsgType, Msg)
self.peer.send(DbgMuxFrame.MsgType.Ack)
def _handle_ident(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.Ident '''
self.target_name = msg['Ident'][:-15]
self.target_imei = msg['Ident'][-15:]
log.info('Identified target: \'%s\', IMEI=%s',
self.target_name, self.target_imei)
def _handle_dp_announce(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.DPAnnounce '''
DPRef, Name = msg['DPRef'], msg['Name']
log.info('Data Provider available (DPRef=0x%04x): \'%s\'', DPRef, Name)
if DPRef in self.data_providers:
log.warning('DPRef=0x%04x was already announced', DPRef)
self.data_providers[DPRef] = Name
def _handle_conn_est(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.ConnEstablished '''
DPRef, ConnRef = msg['DPRef'], msg['ConnRef']
log.info('Rx ConnEstablished: ConnRef=0x%04x, DPRef=0x%04x', ConnRef, DPRef)
if ConnRef == 0xffff:
log.warning('Connection establishment failed: '
'no such DPRef=0x%04x?', DPRef)
return
elif ConnRef in self.active_conn:
log.error('ConnRef=0x%04x is already established', ConnRef)
return
elif DPRef not in self.data_providers:
log.error('DPRef=0x%04x is not registered', DPRef)
return
elif DPRef not in self.pending_conn:
log.error('DPRef=0x%04x has no pending connection', DPRef)
return
ch = self.pending_conn.pop(DPRef)
self.active_conn[ConnRef] = (DPRef, ch)
ch._handle_established(ConnRef, msg['DataBlockLimit'])
def _handle_conn_term(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.ConnTerminated '''
DPRef, ConnRef = msg['DPRef'], msg['ConnRef']
log.info('Rx ConnTerminated: ConnRef=0x%04x, DPRef=0x%04x', ConnRef, DPRef)
if ConnRef == 0xffff:
log.warning('Connection termination failed: '
'no such DPRef=0x%04x?', DPRef)
return
elif ConnRef not in self.active_conn:
log.error('ConnRef=0x%04x is not established', ConnRef)
return
elif DPRef not in self.data_providers:
log.error('DPRef=0x%04x is not registered', DPRef)
return
# Old DPRef becomes invalid, remove it
del self.data_providers[DPRef]
(_, ch) = self.active_conn.pop(ConnRef)
ch._handle_terminated()
def _handle_conn_data(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.ConnData '''
ConnRef, Data = msg['ConnRef'], msg['Data']
if ConnRef not in self.active_conn:
log.error('ConnRef=0x%04x is not established', ConnRef)
return
(DPRef, ch) = self.active_conn.get(ConnRef)
ch._handle_data(Data)
def _handle_conn_flow_control(self, msg: Container) -> None:
''' Handle DbgMuxFrame.MsgType.FlowControl '''
ConnRef, DataBlockLimit = msg['ConnRef'], msg['DataBlockLimit']
if ConnRef not in self.active_conn:
log.error('ConnRef=0x%04x is not established', ConnRef)
return
(DPRef, ch) = self.active_conn.get(ConnRef)
ch._handle_flow_control(DataBlockLimit)

11
sedbgmux/io/__init__.py Normal file
View File

@ -0,0 +1,11 @@
from .base import DbgMuxIO
from .base import DbgMuxIOError
from .modem import DbgMuxIOModem
from .base import DumpIO
from .base import DumpIOError
from .base import DumpIOFcsError
from .base import DumpIOEndOfFile
from .dump_native import DumpIONative
from .dump_socat import DumpIOSocat
from .dump_btpcap import DumpIOBtPcap

66
sedbgmux/io/base.py Normal file
View File

@ -0,0 +1,66 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022 Vadim Yanitskiy <axilirator@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import abc
class DbgMuxIOError(Exception):
''' I/O error during read/write operation '''
class DumpIOError(Exception):
''' Dump I/O error '''
class DumpIOFcsError(DumpIOError):
''' Dump I/O Frame Check Sequence error '''
class DumpIOEndOfFile(DumpIOError):
''' Dump I/O EOF error '''
class DbgMuxIO(abc.ABC):
''' Abstract I/O layer for DebugMux '''
@abc.abstractmethod
def connect(self) -> None:
''' Establish connection to the target and enter DebugMux mode '''
@abc.abstractmethod
def disconnect(self) -> None:
''' Escape DebugMux mode and terminate connection with the target '''
@abc.abstractmethod
def read(self, length: int = 0) -> bytes:
''' Read the given number of bytes '''
@abc.abstractmethod
def write(self, data: bytes) -> int:
''' Write the given data bytes '''
class DumpIO(abc.ABC):
''' Abstract dump I/O interface '''
@abc.abstractmethod
def read(self) -> dict:
''' Read a single record from dump '''
@abc.abstractmethod
def write(self, record: dict) -> None:
''' Store a single record to dump '''

100
sedbgmux/io/dump_btpcap.py Normal file
View File

@ -0,0 +1,100 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
from . import DumpIO
from . import DumpIOError
from . import DumpIOEndOfFile
# local logger for this module
log = logging.getLogger(__name__)
class DumpIOBtPcap(DumpIO):
''' Read-only interface for parsing Bluetooth RFCOMM captures '''
def __init__(self, fname: str, readonly: bool = True, **kw) -> None:
self.buf = bytearray()
self.dir = '' # cached
self.timestamp = 0.0 # cached
self.readonly = readonly
try:
from pyshark import FileCapture
except ImportError as e:
raise DumpIOError('pyshark is not installed') from e
log.info('Opening Bluetooth RFCOMM capture %s', fname)
dfilter = 'btrfcomm.channel == %s' % kw.get('chan', '2')
self._pcap = FileCapture(fname, display_filter=dfilter)
self._find_connect()
def read(self) -> dict:
''' Read a single record from dump '''
frame: bytes = self._read(4) # Magic + Length
if frame[:2] != b'\x42\x42':
raise DumpIOError('Unexpected DebugMux frame magic')
(dir, timestamp) = (self.dir, self.timestamp)
length: int = int.from_bytes(frame[2:], byteorder='little')
frame += self._read(length)
return dict(timestamp=timestamp, dir=dir, data=frame)
def write(self, record: dict) -> None:
''' Store a single record to dump (no-op method, read-only) '''
if self.readonly:
raise DumpIOError('Read-only mode')
raise NotImplementedError
def _parse_chunk(self) -> bytes:
''' Parse an Rx/Tx chunk from the given PCAP file '''
while True:
try:
pkt = self._pcap.next()
except StopIteration:
raise DumpIOEndOfFile
if int(pkt.btrfcomm.len) > 0:
break
log.debug('PCAP frame #%05u (time %s, len %s / plen %s): %s',
int(pkt.number), pkt.sniff_time,
pkt.length, pkt.btrfcomm.len,
pkt.DATA.data)
self.dir = 'Tx' if pkt.bthci_acl.src_role == '1' else 'Rx'
self.timestamp = pkt.sniff_time.timestamp()
return bytes.fromhex(pkt.DATA.data)
def _find_connect(self) -> None:
''' Skip DebugMux carrier establishment (AT commands) '''
while True:
data: bytes = self._parse_chunk()
if self.dir != 'Rx':
continue
if data.strip() == b'CONNECT':
break
log.debug('Found the CONNECT line')
def _read(self, length: int) -> bytes:
''' Read the given number of bytes from the buffer '''
while len(self.buf) < length:
data: bytes = self._parse_chunk()
self.buf.extend(data)
data = bytes(self.buf[:length])
self.buf = self.buf[length:]
return data

View File

@ -0,0 +1,70 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import time
from construct import *
from . import DumpIO
from . import DumpIOError
from . import DumpIOEndOfFile
# local logger for this module
log = logging.getLogger(__name__)
class DumpIONative(DumpIO):
''' Native dump format for this package '''
DumpRecord = Struct(
'Tag' / Const(b'\x01'),
'Length' / Rebuild(Int16ul, lambda ctx: len(ctx.Data) + 5),
'Direction' / Enum(subcon=Int8ul, Rx=0x00, Tx=0x01),
'Timestamp' / Default(Float64l, lambda ctx: time.time()),
'Data' / Bytes(lambda ctx: ctx.Length - 5),
)
def __init__(self, fname: str, readonly: bool = False) -> None:
log.info('Opening dump file %s (%s mode)',
fname, 'readonly' if readonly else 'write')
mode: str = 'rb' if readonly else 'ab'
self._file = open(fname, mode)
self.readonly = readonly
def read(self) -> dict:
''' Read a single record from dump '''
try:
c = self.DumpRecord.parse_stream(self._file)
except StreamError as e:
raise DumpIOEndOfFile from e
return dict(dir=str(c['Direction']),
timestamp=c['Timestamp'],
data=c['Data'])
def write(self, record: dict) -> None:
''' Store a single record to dump '''
if self.readonly:
raise DumpIOError('Read-only mode')
c = Container(Direction=record['dir'], Data=record['data'])
if 'timestamp' in record:
c['Timestamp'] = record['timestamp']
dr: bytes = self.DumpRecord.build(c)
self._file.write(dr)

105
sedbgmux/io/dump_socat.py Normal file
View File

@ -0,0 +1,105 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
from datetime import datetime
from . import DumpIO
from . import DumpIOError
from . import DumpIOEndOfFile
# local logger for this module
log = logging.getLogger(__name__)
class DumpIOSocat(DumpIO):
''' Read-only interface for parsing socat hexdumps (-x option) '''
def __init__(self, fname: str, readonly: bool = True) -> None:
self.buf = bytearray()
self.dir = '' # cached
self.timestamp = 0.0 # cached
self.readonly = readonly
# Open a socat hexdump file in read-only mode
log.info('Opening socat hexdump %s', fname)
self._file = open(fname, 'r')
self._find_connect()
def read(self) -> dict:
''' Read a single record from dump '''
frame: bytes = self._read(4) # Magic + Length
if frame[:2] != b'\x42\x42':
raise DumpIOError('Unexpected DebugMux frame magic')
# A single DebugMux frame may be split across several
# chunks, so obtain cached metadata as early as possible
(dir, timestamp) = (self.dir, self.timestamp)
# Read the remaining part of the frame
length: int = int.from_bytes(frame[2:], byteorder='little')
frame += self._read(length)
return dict(timestamp=timestamp, dir=dir, data=frame)
def write(self, record: dict) -> None:
''' Store a single record to dump (no-op method, read-only) '''
if self.readonly:
raise DumpIOError('Read-only mode')
raise NotImplementedError
def _find_connect(self) -> None:
''' Skip DebugMux carrier establishment (AT commands) '''
while True:
data: bytes = self._parse_chunk()
if self.dir != 'Rx':
continue
if data.strip() == b'CONNECT':
break
log.debug('Found the CONNECT line')
def _read(self, length: int) -> bytes:
''' Read the given number of bytes from the buffer '''
while len(self.buf) < length:
data: bytes = self._parse_chunk()
self.buf.extend(data)
data = bytes(self.buf[:length])
self.buf = self.buf[length:]
return data
def _parse_chunk(self) -> bytes:
''' Parse a chunk of data from dump '''
stats: str = self._file.readline()
if stats == '':
raise DumpIOEndOfFile('EOF while reading a stats line')
if stats[0] not in ('>', '<'):
raise DumpIOError('Unexpected stats line format')
log.debug('STATS: %s', stats.rstrip())
data: str = self._file.readline()
if data == '':
raise DumpIOEndOfFile('EOF while reading data line')
log.debug('DATA: %s', data.strip())
self.dir = 'Tx' if stats[0] == '<' else 'Rx'
self.timestamp = self._parse_datetime(stats)
return bytes.fromhex(data)
def _parse_datetime(self, stats: str) -> float:
''' Convert datetime (e.g. '2023/01/10 06:59:16.000629627') into a timestamp '''
dt = datetime.strptime(stats[2:][:29], '%Y/%m/%d %H:%M:%S.000%f')
return datetime.timestamp(dt)

View File

@ -18,37 +18,18 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging as log
import logging
import serial
import abc
from . import DbgMuxIO
from . import DbgMuxIOError
# local logger for this module
log = logging.getLogger(__name__)
class TransportIOError(Exception):
''' I/O error during read/write operation '''
class Transport(abc.ABC):
''' Abstract transport layer for DebugMux '''
@abc.abstractmethod
def connect(self, opts: dict) -> None:
''' Establish connection to the target and enter DebugMux mode '''
@abc.abstractmethod
def disconnect(self) -> None:
''' Escape DebugMux mode and terminate connection with the target '''
@abc.abstractmethod
def write(self, data: bytes) -> int:
''' Write the given data bytes '''
@abc.abstractmethod
def read(self, length: int = 0) -> bytes:
''' Read the given number of bytes '''
class TransportModem(Transport):
''' Modem based transport layer for DebugMux '''
class DbgMuxIOModem(DbgMuxIO):
''' Modem based I/O layer for DebugMux '''
def __init__(self, opts: dict) -> None:
self.modem_port = opts.serial_port
@ -81,14 +62,14 @@ class TransportModem(Transport):
try:
return self._sl.write(data)
except Exception as e:
raise TransportIOError('Failed to write() data') from e
raise DbgMuxIOError('Failed to write() data') from e
def read(self, length: int = 0) -> bytes:
''' Read the given number of bytes '''
try:
return self._sl.read(length)
except Exception as e:
raise TransportIOError('Failed to read() data') from e
raise DbgMuxIOError('Failed to read() data') from e
def send_at_cmd(self, cmd: str, handle_echo: bool = True) -> None:
''' Send an AT command to the modem '''

View File

@ -16,22 +16,79 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging as log
import logging
import threading
import queue
from typing import Any, Optional
from construct import Const, Container, Int16ul
from transport import Transport
from proto import DbgMuxFrame
from .io import DbgMuxIO
from .io import DumpIO
from . import DbgMuxFrame
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxPeer:
def __init__(self, io: Transport):
def __init__(self, io: DbgMuxIO):
self.dump: Optional[DumpIO] = None
self.tx_count: int = 0
self.rx_count: int = 0
self.io = io
# Threads handling Rx/Tx frames
self._rx_thread = threading.Thread(target=self._rx_worker,
name='DbgMuxPeer-Rx',
daemon=True)
self._tx_thread = threading.Thread(target=self._tx_worker,
name='DbgMuxPeer-Tx',
daemon=True)
self._shutdown = threading.Event()
# Internal queues for Rx/Tx frames
self._rx_queue = queue.Queue()
self._tx_queue = queue.Queue()
def enable_dump(self, dump: DumpIO):
self.dump = dump
def start(self) -> None:
self._shutdown.clear()
self._rx_thread.start()
self._tx_thread.start()
def stop(self) -> None:
# Set the shutdown event
self._shutdown.set()
# Wait for both threads to terminate
self._tx_thread.join()
self._rx_thread.join()
def _rx_worker(self) -> None:
while not self._shutdown.is_set():
frame = self._recv() # blocking until timeout
if frame is not None:
self._rx_queue.put(frame)
log.debug('Thread \'%s\' is shutting down', threading.current_thread().name)
def _tx_worker(self) -> None:
while not self._shutdown.is_set():
try:
(msg_type, msg) = self._tx_queue.get(block=True, timeout=0.5)
self._send(msg_type, msg)
self._tx_queue.task_done()
except queue.Empty:
pass
log.debug('Thread \'%s\' is shutting down', threading.current_thread().name)
def send(self, msg_type: DbgMuxFrame.MsgType, msg: Any = b'') -> None:
''' Send a single message (non-blocking call) '''
self._tx_queue.put((msg_type, msg))
def _send(self, msg_type: DbgMuxFrame.MsgType, msg: Any = b'') -> None:
# Encode the inner message first
msg_data = DbgMuxFrame.Msg.build(msg, MsgType=msg_type)
@ -52,18 +109,26 @@ class DbgMuxPeer:
# inconvinient from the API point of view, so we calculate the FCS manually:
frame = DbgMuxFrame.Frame.build(c)[:-2] # strip b'\x00\x00'
c['FCS'] = DbgMuxFrame.fcs_func(frame)
frame += Int16ul.build(c['FCS'])
log.debug('Tx frame (Ns=%03u, Nr=%03u, fcs=0x%04x) %s %s',
c['TxCount'], c['RxCount'], c['FCS'],
c['MsgType'], c['MsgData'].hex())
self.io.write(frame + Int16ul.build(c['FCS']))
self.io.write(frame)
if self.dump is not None:
record = dict(dir='Tx', data=frame)
self.dump.write(record)
# ACK is not getting accounted
if msg_type != DbgMuxFrame.MsgType.Ack:
self.tx_count += 1
def recv(self) -> Optional[Container]:
def recv(self, timeout: Optional[float] = None) -> Container:
''' Receive a single message (blocking call) '''
return self._rx_queue.get(block=True, timeout=timeout)
def _recv(self) -> Optional[Container]:
frame: bytes = b''
frame += self.io.read(2) # Magic
if frame == b'':
@ -73,6 +138,10 @@ class DbgMuxPeer:
length: int = Int16ul.parse(frame[2:])
frame += self.io.read(length) # Rest
if self.dump is not None:
record = dict(dir='Rx', data=frame)
self.dump.write(record)
c = DbgMuxFrame.Frame.parse(frame)
log.debug('Rx frame (Ns=%03u, Nr=%03u, fcs=0x%04x) %s %s',
@ -90,5 +159,8 @@ class DbgMuxPeer:
# Parse the inner message
c['Msg'] = DbgMuxFrame.Msg.parse(c['MsgData'], MsgType=c['MsgType'])
self.rx_count += 1
# ACK is not getting accounted
if c['MsgType'] != DbgMuxFrame.MsgType.Ack:
self.rx_count += 1
return c

56
sedbgmux/ping_pong.py Executable file
View File

@ -0,0 +1,56 @@
#!/usr/bin/env python3
# This file is a part of sedbgmux, an open source DebugMux client.
# Copyright (c) 2022-2023 Vadim Yanitskiy <fixeria@osmocom.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging
import threading
from . import DbgMuxFrame
from . import DbgMuxPeer
# local logger for this module
log = logging.getLogger(__name__)
class DbgMuxPingPong:
''' Implements link testing logic '''
def __init__(self, peer: DbgMuxPeer, timeout: float = 1.0):
self.peer: DbgMuxPeer = peer
self.timeout: float = timeout
self._pong = threading.Event()
self._expect_pong: bool = False
def ping(self, payload: str) -> bool:
log.info('Tx Ping with payload \'%s\'', payload)
self._pong.clear()
self._expect_pong = True
self.peer.send(DbgMuxFrame.MsgType.Ping, dict(Data=payload))
if not self._pong.wait(timeout=self.timeout):
log.warning('Timeout waiting for Pong')
return False
return True
def _handle_pong(self, payload: str) -> None:
if not self._expect_pong:
log.warning('Rx unexpected Pong, sending ACK anyway')
return
log.info('Rx Pong with payload \'%s\'', payload)
self._expect_pong = False
self._pong.set()

View File

@ -60,38 +60,40 @@ class DbgMuxFrame:
)
# MsgType.{Ping,Pong} structure
MsgPingPong = PascalString(Int8ul, 'ascii')
MsgPingPong = Struct(
'Data' / PascalString(Int8ul, 'ascii'),
)
# MsgType.DPAnnounce structure
MsgDPAnnounce = Struct(
'DPRef' / Int16ul,
'DPRef' / Hex(Int16ul),
'Name' / PascalString(Int8ul, 'ascii'),
)
# MsgType.ConnEstablish[ed] structure
MsgConnEstablish = Struct('DPRef' / Int16ul)
MsgConnEstablish = Struct('DPRef' / Hex(Int16ul))
MsgConnEstablished = Struct(
'DPRef' / Int16ul,
'ConnRef' / Int16ul,
'DPRef' / Hex(Int16ul),
'ConnRef' / Hex(Int16ul),
'DataBlockLimit' / Int16ul,
)
# MsgType.ConnTerminate[ed] structure
MsgConnTerminate = Struct('ConnRef' / Int16ul)
MsgConnTerminate = Struct('ConnRef' / Hex(Int16ul))
MsgConnTerminated = Struct(
'DPRef' / Int16ul,
'ConnRef' / Int16ul,
'DPRef' / Hex(Int16ul),
'ConnRef' / Hex(Int16ul),
)
# MsgType.ConnData structure
MsgConnData = Struct(
'ConnRef' / Int16ul,
'Data' / GreedyBytes,
'ConnRef' / Hex(Int16ul),
'Data' / HexDump(GreedyBytes),
)
# MsgType.FlowControl structure
MsgFlowControl = Struct(
'ConnRef' / Int16ul,
'ConnRef' / Hex(Int16ul),
'DataBlockLimit' / Int8ul,
)

26
setup.py Normal file
View File

@ -0,0 +1,26 @@
from setuptools import setup
setup(
name='sedbgmux',
version='1.0',
url='https://gitea.osmocom.org/fixeria/sedbgmux',
license='GPLv3',
author='Vadim Yanitskiy',
author_email='fixeria@osmocom.org',
description='DebugMux client for [Sony] Ericsson phones and modems',
packages=['sedbgmux', 'sedbgmux.io', 'sedbgmux.ch'],
install_requires=[
'construct',
'pyserial',
'crcmod',
'cmd2 >= 2.0.0',
],
extras_require={
# sedbgmux-dump.py optionally requires pyshark
'btpcap' : ['pyshark'],
},
scripts=[
'sedbgmux-shell.py',
'sedbgmux-dump.py',
]
)