osmocom-bb/src/target/trx_toolkit
Vadim Yanitskiy f5959f78cd fake_trx.py: remove SETSLOT based burst filtering
For the sake of simplicity and due to some performance limitations,
fake_trx.py does not generate TRXD NOPE indications for osmo-bts-trx
on its own.  It's actually trxcon sending NOPE.req (empty Tx PDUs)
when it has nothing to send, and fake_trx.py simply converting them.

In a follow-up change [1] we remove trxcon's internal clock module,
making the Uplink burst scheduling being driven by Downlink bursts
with the respective TDMA Fn/Tn values.  Given that fake_trx.py is
currently dropping bursts received for inactive timeslots, we would
get NOPE.req only for a single timeslot, the one being currently
active.  This would break several testcases in ttcn3-bts-test.

Remove SETSLOT based burst filtering, so that trxcon would still be
able to generate NOPE.req for all, active and inactive timeslots.
Downlink bursts for inactive timeslots are discarded anyway.

Change-Id: Ia42550d5c2d8b49efbdf8ef0ce46b26afd1c464e
Related: [1] Ic8a5b6277c6b16392026e0557376257d71c9d230
Related: OS#5500
2023-06-11 19:25:31 +00: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 treewide: remove FSF address 2021-12-14 12:52:04 +00:00
burst_fwd.py fake_trx.py: remove SETSLOT based burst filtering 2023-06-11 19:25:31 +00:00
burst_gen.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
burst_send.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
clck_gen.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
codec.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
ctrl_cmd.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
ctrl_if.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
ctrl_if_trx.py fake_trx.py: remove SETSLOT based burst filtering 2023-06-11 19:25:31 +00:00
data_dump.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
data_if.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
data_msg.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
fake_pm.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
fake_trx.py trx_toolkit: do not auto power on/off child MS Transceivers 2022-07-26 23:48:19 +07:00
gsm_shared.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
rand_burst_gen.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
test_codec.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
test_data_dump.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
test_data_msg.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
transceiver.py fake_trx.py: remove SETSLOT based burst filtering 2023-06-11 19:25:31 +00:00
trx_list.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
trx_sniff.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
trxd_proto.py treewide: remove FSF address 2021-12-14 12:52:04 +00:00
udp_link.py treewide: remove FSF address 2021-12-14 12:52:04 +00: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.