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.