diff options
-rw-r--r-- | INSTALLATION | 19 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | README | 116 | ||||
-rw-r--r-- | README.md | 66 |
4 files changed, 67 insertions, 137 deletions
diff --git a/INSTALLATION b/INSTALLATION deleted file mode 100644 index f87b6cc..0000000 --- a/INSTALLATION +++ /dev/null @@ -1,19 +0,0 @@ -Installation Requirements - - - -osmo-trx compiles to a simple Unix binary and does not require special -installation. - -One some systems (Ubuntu), you will need to define LIBS = -lpthread prior to -running configure. - -To run osmo-trx, the following should be installed: - libuhd (https://gnuradio.org). - This is part of the GNURadio installation. - -For information on specific executables, see tests/README.tests and -apps/README.apps. - -See https://osmocom.org/projects/osmotrx/wiki/OsmoTRX for more -information. diff --git a/Makefile.am b/Makefile.am index 3e87200..8b55e79 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,10 +36,9 @@ SUBDIRS = \ tests EXTRA_DIST = \ - INSTALLATION \ LEGAL \ COPYING \ - README + README.md AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) @@ -1,116 +0,0 @@ -This is the interface to the transcevier. - -Each TRX Manager UDP socket interface represents a single ARFCN. -Each of these per-ARFCN interfaces is a pair of UDP sockets, one for control and one for data. -Give a base port B (5700), the master clock interface is at port P=B. -The TRX-side control interface for C(N) is on port P=B+2N+1 and the data interface is on an odd numbered port P=B+2N+2. -The corresponding core-side interface for every socket is at P+100. -For any given build, the number of ARFCN interfaces can be fixed. - - - -Indications on the Master Clock Interface - -The master clock interface is output only (from the radio). -Messages are "indications". - -CLOCK gives the current value of the transceiver clock to be used by the core. -This message is sent whenever a trasmission packet arrives that is too late or too early. The clock value is NOT the current transceiver time. It is a time setting the the core should use to give better packet arrival times. -IND CLOCK <totalFrames> - - - -Commands on the Per-ARFCN Control Interface - -The per-ARFCN control interface uses a command-reponse protocol. -Commands are NULL-terminated ASCII strings, one per UDP socket. -Each command has a corresponding response. -Every command is of the form: - -CMD <cmdtype> [params] - -The <cmdtype> is the actual command. -Parameters are optional depending on the commands type. -Every response is of the form: - -RSP <cmdtype> <status> [result] - -The <status> is 0 for success and a non-zero error code for failure. -Successful responses may include results, depending on the command type. - - -Power Control - -POWEROFF shuts off transmitter power and stops the demodulator. -CMD POWEROFF -RSP POWEROFF <status> - -POWERON starts the transmitter and starts the demodulator. Initial power level is very low. -This command fails if the transmitter and receiver are not yet tuned. -This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng. -If the transceiver is already on, it response with success to this command. -CMD POWERON -RSP POWERON <status> - -SETPOWER sets output power in dB wrt full scale. -This command fails if the transmitter and receiver are not running. -CMD SETPOWER <dB> -RSP SETPOWER <status> <dB> - -ADJPOWER adjusts power by the given dB step. Response returns resulting power level wrt full scale. -This command fails if the transmitter and receiver are not running. -CMD ADJPOWER <dBStep> -RSP ADJPOWER <status> <dBLevel> - - -Tuning Control - -RXTUNE tunes the receiver to a given frequency in kHz. -This command fails if the receiver is already running. -(To re-tune you stop the radio, re-tune, and restart.) -This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng. -CMD RXTUNE <kHz> -RSP RXTUNE <status> <kHz> - -TXTUNE tunes the transmitter to a given frequency in kHz. -This command fails if the transmitter is already running. -(To re-tune you stop the radio, re-tune, and restart.) -This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng. -CMD TXTUNE <kHz> -RSP TXTUNE <status> <kHz> - - -Timeslot Control - -SETSLOT sets the format of the uplink timeslots in the ARFCN. -The <timeslot> indicates the timeslot of interest. -The <chantype> indicates the type of channel that occupies the timeslot. -A chantype of zero indicates the timeslot is off. -CMD SETSLOT <timeslot> <chantype> -RSP SETSLOT <status> <timeslot> <chantype> - - -Messages on the per-ARFCN Data Interface - -Messages on the data interface carry one radio burst per UDP message. - - -Received Data Burst - -1 byte timeslot index -4 bytes GSM frame number, big endian -1 byte RSSI in -dBm -2 bytes correlator timing offset in 1/256 symbol steps, 2's-comp, big endian -148 bytes soft symbol estimates, 0 -> definite "0", 255 -> definite "1" - - -Transmit Data Burst - -1 byte timeslot index -4 bytes GSM frame number, big endian -1 byte transmit level wrt ARFCN max, -dB (attenuation) -148 bytes output symbol values, 0 & 1 - - - - diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc026e0 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +About OsmTRX +============ + +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +* TS 05.01 "Physical layer on the radio path" +* TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +* TS 05.04 "Modulation" +* TS 05.10 "Radio subsystem synchronization" + +OsmoTRX is based on the transceiver code from the +[OpenBTS](https://osmocom.org/projects/osmobts/wiki/OpenBTS) project, but setup +to operate independently with the purpose of using with non-OpenBTS software and +projects, while still maintaining backwards compatibility with OpenBTS when +possible. Currently there are numerous features contained in OsmoTRX that extend +the functionality of the OpenBTS transceiver. These features include enhanced +support for various embedded platforms - notably ARM - and dual channel +diversity support for the Fairwaves umtrx. + +Homepage +-------- + +The official homepage of the project is +<https://osmocom.org/projects/osmotrx/wiki/OsmoTRX> + +GIT Repository +-------------- + +You can clone from the official osmo-trx.git repository using + + git clone git://git.osmocom.org/osmo-trx.git + +There is a cgit interface at <http://git.osmocom.org/osmo-trx/> + +Documentation +------------- + +Doxygen-generated API documentation is generated during the build process, but +also available online for each of the sub-libraries at User Manual for OsmoTRX +can be generated during the build process, and is also available online at +<http://ftp.osmocom.org/docs/latest/osmotrx-usermanual.pdf>. + +Mailing List +------------ + +Discussions related to OsmoTRX are happening on the openbsc@lists.osmocom.org +mailing list, please see <https://lists.osmocom.org/mailman/listinfo/openbsc> +for subscription options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +<https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards> + +We us a gerrit based patch submission/review process for managing contributions. +Please see <https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit> +for more details + +The current patch queue for OsmoTRX can be seen at +<https://gerrit.osmocom.org/q/project:osmo-trx+status:open> |