osmocom-bb/src/target/trx_toolkit
Vadim Yanitskiy d4900f93ee trx_toolkit: define TRXDv2 PDUs using declarative codec
Change-Id: If356d285006c0b9b57879d0499b8144eca820cab
Related: OS#4006, SYS#4895
2021-04-12 01:51:14 +02:00
..
.gitignore Rename 'fake_trx' to 'trx_toolkit' 2018-03-13 02:10:02 +07:00
README trx_toolkit/README: update fake_trx.py description 2019-01-14 23:52:31 +00:00
app_common.py trx_toolkit: remove shebang from non-executable scripts 2020-07-16 13:42:56 +07:00
burst_fwd.py fake_trx: Implement RFMUTE TRXC cmd 2020-08-26 18:04:57 +02:00
burst_gen.py trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS 2021-03-01 15:02:35 +00:00
burst_send.py trx_toolkit: use python3 in shebang of executable scripts 2020-07-16 13:46:19 +07:00
clck_gen.py trx_toolkit/clck_gen.py: fix: Thread.isAlive() was removed 2020-12-25 14:40:34 +01:00
codec.py trx_toolkit: make codec.py work with EOL Python 3.5 2021-04-08 03:20:39 +02:00
ctrl_cmd.py trx_toolkit: use python3 in shebang of executable scripts 2020-07-16 13:46:19 +07:00
ctrl_if.py trx_toolkit: remove shebang from non-executable scripts 2020-07-16 13:42:56 +07:00
ctrl_if_trx.py fake_trx: Implement RFMUTE TRXC cmd 2020-08-26 18:04:57 +02:00
data_dump.py trx_toolkit: get rid of Python2 specific workarounds 2020-07-16 13:58:34 +07:00
data_if.py trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS 2021-03-01 15:02:35 +00:00
data_msg.py trx_toolkit/data_msg.py: add type hints to static methods 2021-04-08 03:20:39 +02:00
fake_pm.py trx_toolkit: remove shebang from non-executable scripts 2020-07-16 13:42:56 +07:00
fake_trx.py fake_trx: Implement RFMUTE TRXC cmd 2020-08-26 18:04:57 +02:00
gsm_shared.py trx_toolkit: remove shebang from non-executable scripts 2020-07-16 13:42:56 +07:00
rand_burst_gen.py trx_toolkit: use python3 in shebang of executable scripts 2020-07-16 13:46:19 +07:00
test_codec.py trx_toolkit: check in simple declarative codec 2021-04-08 03:20:39 +02:00
test_data_dump.py trx_toolkit: cosmetic: get rid of 'i' where it is not used 2020-05-22 18:48:23 +07:00
test_data_msg.py trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS 2021-03-01 15:02:35 +00:00
transceiver.py Revert "trx_toolkit/transceiver.py: implement the transmit burst queue" 2020-07-22 19:59:06 +07:00
trx_list.py trx_toolkit: remove shebang from non-executable scripts 2020-07-16 13:42:56 +07:00
trx_sniff.py trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI 2020-03-30 19:22:47 +07:00
trxd_proto.py trx_toolkit: define TRXDv2 PDUs using declarative codec 2021-04-12 01:51:14 +02:00
udp_link.py trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool 2021-03-14 00:57:43 +01:00

README

TRX toolkit is a set of tools intended for hacking and debugging
a TRX interface between both transceiver and L1 software, and
emulating a virtual Um-interface between OsmocomBB and OsmoBTS.

Brief description of available applications:

  - fake_trx.py - main application, that allows to connect both
    OsmocomBB and OsmoBTS without actual RF hardware. It's also
    possible to emulate more than two transceivers, so multiple
    MS and/or BTS instances can be connected.

  - clck_gen.py - a peripheral tool aimed to emulate TDMA frame
    clock generator. Could be used for testing and clock
    synchronization of multiple applications. It should be noted,
    that one relays on generic system timer (via Python), so
    a random clock jitter takes place.

  - ctrl_cmd.py - another peripheral tool, which could be used
    for sending CTRL commands directly in manual mode, and also
    for application fuzzing.

  - burst_gen.py - a tool for sending GSM bursts either to L1
    (OsmoBTS or OsmocomBB) or to TRX (OsmoTRX and GR-GSM TRX).
    Currently it is only possible to generate random bursts of
    different types: NB, FB, SB, AB.

  - burst_send.py - a tool for sending existing bursts from a
    capture file either to L1 (OsmoBTS or OsmocomBB) or to
    TRX (e.g. OsmoTRX or GR-GSM TRX).

  - trx_sniff.py - Scapy-based TRX protocol sniffer. Allows one
    to observe a single connection between TRX and L1, and vice
    versa. Also provides some capabilities for filtering bursts
    by direction, frame and timeslot numbers, and for recording
    captured messages to a binary file.

Please note that TRX toolkit is not using libosmocore's CTRL
interface, so 'CTRL' in scope of this code base actually means
control interface of TRX or control protocol. In order to avoid
possible confusion, we use 'TRXC' and 'TRXD' in logging.