Project

General

Profile

Actions

Feature #4941

open

VAMOS support in OsmoBTS

Added by laforge about 3 years ago. Updated about 2 years ago.

Status:
Stalled
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
01/12/2021
Due date:
% Done:

90%

Spec Reference:

Description

This ticket should document what needs to be done in terms of supporting VAMOS from OsmoBTS, and to track its status via check-lists and possibly sub-issues.

Our implementation will be focusing on osmo-bts-trx as none of the "proprietary PHY" we support implement any VAMOS support.

This likely includes (at least)
  1. Indication of [which level of] VAMOS support the BTS has via OML attributes to BSC
  2. Implementation of "shadow TRX" concept in data structures
  3. Implementation of VAMOS related RSL extensions on Abis
  4. Implementation of a new TRXDv2 protocol from/to the TRX
  5. VAMOS-aware uplink + downlink power control
  6. generation of one set of downlink symbols from the real + shadow timeslot/lchan

The corresponding BSC related work is tracked in #4940


Checklist

  • CMI mapping as per 3GPP TS 45.009, section 3.2.1.3

Related issues

Related to OsmoBSC - Feature #4940: VAMOS support in OsmoBSCStalledneels01/12/2021

Actions
Related to Cellular Network Infrastructure - Feature #4006: TRX protocol: wind of changeStalledfixeria05/17/2019

Actions
Blocked by Cellular Network Infrastructure - Bug #5112: osmo-gsm-manuals: build verification is brokenResolvedfixeria04/10/2021

Actions
Actions #1

Updated by laforge about 3 years ago

Actions #2

Updated by Hoernchen about 3 years ago

According to https://opus4.kobv.de/opus4-fau/files/5533/DissertationMichaelRuder.pdf chapter 4 random pairings with scpir=0 should be fine for the time being.

Actions #3

Updated by fixeria about 3 years ago

  • Status changed from New to In Progress
Actions #4

Updated by fixeria about 3 years ago

Actions #5

Updated by fixeria almost 3 years ago

  • Blocked by Bug #5112: osmo-gsm-manuals: build verification is broken added
Actions #6

Updated by fixeria almost 3 years ago

  • % Done changed from 0 to 20

I've submitted a bunch of TRXDv2 related changes to Gerrit:

https://gerrit.osmocom.org/c/osmo-bts/+/23822 osmo-bts-trx: cosmetic: TRXD 'header version' -> 'PDU version'
https://gerrit.osmocom.org/c/osmo-bts/+/23823 osmo-bts-trx: remove outdated TRXD protocol documentation
https://gerrit.osmocom.org/c/osmo-bts/+/23824 osmo-bts-trx: cosmetic: use '#pragma once' in trx_if.h
https://gerrit.osmocom.org/c/osmo-bts/+/23825 osmo-bts-trx: reduce and share TRXC message buffer size
https://gerrit.osmocom.org/c/osmo-bts/+/23826 osmo-bts-trx: move TRXD message length to trx_if.h
https://gerrit.osmocom.org/c/osmo-bts/+/23827 osmo-bts-trx: 'burst type' is actually modulation type
https://gerrit.osmocom.org/c/osmo-bts/+/23828 osmo-bts-trx: move MTS parser into trx_data_parse_mts()
https://gerrit.osmocom.org/c/osmo-bts/+/23829 osmo-bts-trx: discard TRXD PDUs with unexpected version
https://gerrit.osmocom.org/c/osmo-bts/+/23830 osmo-bts-trx: move TDMA frame number check to trx_data_read_cb()
https://gerrit.osmocom.org/c/osmo-bts/+/23831 osmo-bts-trx: cosmetic: get rid of TRX_CHDR_LEN macro
https://gerrit.osmocom.org/c/osmo-bts/+/23832 osmo-bts-trx: refactor handling of version specific TRXD parts
https://gerrit.osmocom.org/c/osmo-bts/+/23833 osmo-bts-trx: implement TRXDv2 protocol support

together with other L1SAP/RSL related changes (all of them have been merged):

https://gerrit.osmocom.org/c/libosmocore/+/23788 protocol/gsm_08_58.h: add RSL_CMOD_SP_{GSM4,GSM5,GSM6}
https://gerrit.osmocom.org/c/libosmocore/+/23789 protocol/gsm_08_58.h: add more 'Channel rate and type' values
https://gerrit.osmocom.org/c/libosmocore/+/23790 protocol/gsm_08_58.h: add asymmetric CSD data rates

https://gerrit.osmocom.org/c/osmo-bts/+/23787 l1sap: fix incorrect pointer cast in l1sap_chan_act()
https://gerrit.osmocom.org/c/osmo-bts/+/23791 rsl: rename, fix and refactor lchan_tchmode_from_cmode()
https://gerrit.osmocom.org/c/osmo-bts/+/23792 rsl: add missing Channel Mode values to rsl_handle_chan_mod_ie()

Actions #7

Updated by fixeria almost 3 years ago

  • % Done changed from 20 to 60

For some reason, the related changes are not appearing here automatically, so adding manually:

remote: https://gerrit.osmocom.org/c/osmo-bts/+/24323 [VAMOS] osmo-bts-trx: rework and split up bts_sched_fn() [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24324 [VAMOS] osmo-bts-trx: implement and enable PDU batching for TRXDv2 [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24325 [VAMOS] osmo-bts-trx: indicate MTS in Downlink TRXDv2 PDUs [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24326 [VAMOS] common/scheduler: unify symbol names for training sequences [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24327 [VAMOS] struct gsm_lchan: store Training Sequence Code/Set [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24328 [VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002 [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24153 [VAMOS] Implement the concept of 'shadow' transceiver [WIP]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/24329 [VAMOS] l1sap_chan_act(): handle Osmocom specific Training Sequence IE [NEW]

Actions #8

Updated by fixeria almost 3 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 60 to 90

Everything is implemented except "VAMOS-aware uplink + downlink power control", but some patches got stuck in Gerrit:

https://gerrit.osmocom.org/q/topic:%22VAMOS%22+(status:open%20OR%20status:wip)

Actions #9

Updated by fixeria over 2 years ago

  • Status changed from Feedback to Stalled
  • Priority changed from Urgent to Normal
Actions #10

Updated by fixeria about 2 years ago

  • Checklist item CMI mapping as per 3GPP TS 45.009, section 3.2.1.3 added

3GPP TS 45.009, section 3.2.1.3 defines different TDMA frame numbers for channels in VAMOS mode. See tables 3.2.1.3-{3,4}.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)