diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-06-27 02:29:58 +0700 |
---|---|---|
committer | laforge <laforge@gnumonks.org> | 2019-07-16 04:16:13 +0000 |
commit | 139b8caa79499ec170b10b035409649b02750af3 (patch) | |
tree | ef7acf7c998e80f8ca90730b8caa2c84ee219784 /src/osmo-bts-trx/l1_if.h | |
parent | e059aa3db77a9be69f20c25f5e8a6182e6619af1 (diff) |
osmo-bts-trx/trx_if.c: add TRXD header version negotiation
This change introduces a new command for TRXD header format
negotiation - SETFORMAT. If the transceiver does not support
the format negotiation, it would reject this command with
'RSP ERR 1'. If the requested version is not supported by
the transceiver, status code of the response message should
indicate a preferred (basically, the latest) version.
The format of SETFORMAT command is the following:
L1 -> TRX: CMD SETFORMAT VER_REQ
L1 <- TRX: RSP SETFORMAT VER_RSP VER_REQ
where:
- VER_REQ is the requested version (suggested by the L1),
- VER_RSP is either the applied version if matches VER_REQ,
or a preferred version if VER_REQ is not supported.
If the transceiver indicates VER_RSP different than VER_REQ,
OsmoBTS is supposed to reinitiate the version negotiation
using the suggested VER_RSP. For example:
L1 -> TRX: CMD SETFORMAT 2
L1 <- TRX: RSP SETFORMAT 1 2
L1 -> TRX: CMD SETFORMAT 1
L1 <- TRX: RSP SETFORMAT 1 1
If no suitable VER_RSP is found, or the VER_REQ is incorrect,
the status code in the response would be -1.
As soon as VER_RSP matches VER_REQ in the response, the process
of negotiation is complete. Changing the header version is
supposed to be done before POWERON.
Change-Id: I8afe950bd1ec2afaf3347ff848ee46e69c4f5011
Related: OS#4006
Diffstat (limited to 'src/osmo-bts-trx/l1_if.h')
-rw-r--r-- | src/osmo-bts-trx/l1_if.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 9c95c53c..87df951b 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -6,6 +6,10 @@ #include "trx_if.h" struct trx_config { + uint8_t trxd_hdr_ver_req; /* requested TRXD header version */ + uint8_t trxd_hdr_ver_use; /* actual TRXD header version in use */ + int setformat_sent; + uint8_t poweron; /* poweron(1) or poweroff(0) */ int poweron_sent; |