<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/21943">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">doc: Improve CS/MCS GPRS/EGPRS considerations in User Manual<br><br>Related: OS#4544<br>Related: SYS#4869<br>Change-Id: I7b205f5cab5862058a408f628925beb9f0f60a92<br>---<br>M doc/manuals/chapters/configuration.adoc<br>1 file changed, 128 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/43/21943/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc</span><br><span>index 6fc61c7..3e76879 100644</span><br><span>--- a/doc/manuals/chapters/configuration.adoc</span><br><span>+++ b/doc/manuals/chapters/configuration.adoc</span><br><span>@@ -29,11 +29,22 @@</span><br><span> </span><br><span> === Configuring the Coding Schemes and Rate Adaption</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-The BSC includes a bit-mask of permitted [E]GPRS coding schemes as part</span><br><span style="color: hsl(0, 100%, 40%);">-of the A-bis OML configuration.  This is passed from the BTS via the PCU</span><br><span style="color: hsl(0, 100%, 40%);">-socket into OsmoPCU.</span><br><span style="color: hsl(120, 100%, 40%);">+As a reminder:</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-Some additional parameters can be set as described below.</span><br><span style="color: hsl(120, 100%, 40%);">+- GPRS supports Coding Schemes 1-4 (CS1-4), all of them use GMSK modulation</span><br><span style="color: hsl(120, 100%, 40%);">+  (same as GSM).</span><br><span style="color: hsl(120, 100%, 40%);">+- EGPRS supports MCS1-9, where MCS1-4 is GMSK, and MCS5-9 use 8-PSK modulation.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The range of Coding Schemes above only apply to RLCMAC data blocks; RLCMAC</span><br><span style="color: hsl(120, 100%, 40%);">+control blocks are always transmitted with CS1 (GMSK). Hence, CS1 is always</span><br><span style="color: hsl(120, 100%, 40%);">+supported and must be always permitted.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The BSC includes a bit-mask of permitted [E]GPRS coding schemes as part of the</span><br><span style="color: hsl(120, 100%, 40%);">+A-bis OML configuration, controlled by VTY `gprs mode (none|gprs|egprs)`.  This</span><br><span style="color: hsl(120, 100%, 40%);">+is passed from the BTS via the PCU socket into OsmoPCU, and the resulting set</span><br><span style="color: hsl(120, 100%, 40%);">+can be further constrained by OsmoPCU VTY configuration.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Some additional OsmoPCU parameters can be set as described below.</span><br><span> </span><br><span> ==== Initial Coding Scheme</span><br><span> </span><br><span>@@ -41,11 +52,28 @@</span><br><span> to set the initial GPRS coding scheme to be used.  The optional second</span><br><span> value allows to specify a different initial coding scheme for uplink.</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+Similarly, `mcs <1-9> [<1-9>]` can be used to set up the initial EGPRS coding</span><br><span style="color: hsl(120, 100%, 40%);">+scheme.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[[max_cs_mcs]]</span><br><span> ==== Maximum Coding Scheme</span><br><span> </span><br><span> You can use the `cs max <1-4> [<1-4>]` command at the `pcu` VTY config</span><br><span style="color: hsl(0, 100%, 40%);">-node to set the maximum coding scheme that should be used as part of the</span><br><span style="color: hsl(0, 100%, 40%);">-rate adaption.</span><br><span style="color: hsl(120, 100%, 40%);">+node to set the maximum GPRS coding scheme that should be used as part of the</span><br><span style="color: hsl(120, 100%, 40%);">+rate adaption.  The optional second value allows to specify a different maximum</span><br><span style="color: hsl(120, 100%, 40%);">+coding scheme for uplink.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Similarly, `mcs max <1-9> [<1-9>]` can be used to set up the maximum EGPRS</span><br><span style="color: hsl(120, 100%, 40%);">+coding scheme.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The actual Maximum Coding Scheme for each direction used at runtime is actually</span><br><span style="color: hsl(120, 100%, 40%);">+the result of taking the maximum value from the permitted GPRS coding schemes</span><br><span style="color: hsl(120, 100%, 40%);">+received by the BSC (or BTS) over PCUIF which is equal or lower tho the</span><br><span style="color: hsl(120, 100%, 40%);">+configured value.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Example: PCUIF announces permitted MCS bit-mask (`MCS1 MCS2 MCS3 MCS4`) and</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoPCU is configured `mcs max 6`, then the actual maximum MCS used at runtime</span><br><span style="color: hsl(120, 100%, 40%);">+will be `MCS4`.</span><br><span> </span><br><span> ==== Rate Adaption Error Thresholds</span><br><span> </span><br><span>@@ -192,11 +220,101 @@</span><br><span>        Set the gamma parameter for MS power control in units of dB.</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-=== Enabling EGPRS</span><br><span style="color: hsl(120, 100%, 40%);">+=== GPRS vs EGPRS considerations</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-If you would like to test the currently (experimental) EGPRS support of</span><br><span style="color: hsl(0, 100%, 40%);">-OsmoPCU, you can enable it using the `egprs` command at the `pcu` VTY</span><br><span style="color: hsl(0, 100%, 40%);">-config  node.</span><br><span style="color: hsl(120, 100%, 40%);">+==== Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoPCU can be configured to either:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- Allocate only GPRS TBFs to all MS (no EGPRS)</span><br><span style="color: hsl(120, 100%, 40%);">+- Allocate EGPRS TBFs to EGPRS capable phones while still falling back to</span><br><span style="color: hsl(120, 100%, 40%);">+  allocating GPRS TBFs on GPRS-only capable MS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+These two different modes of operation are selected by properly configuring the</span><br><span style="color: hsl(120, 100%, 40%);">+Coding Schemes (see <<max_cs_mcs>>).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The first mode of operation (GPRS-only for all MS) can be accomplished</span><br><span style="color: hsl(120, 100%, 40%);">+configuring OsmoPCU so that the resulting MCS set is empty. This can be done in</span><br><span style="color: hsl(120, 100%, 40%);">+two ways:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- Announcing an empty MCS bit-mask over PCUIF to OsmoPCU:</span><br><span style="color: hsl(120, 100%, 40%);">+  That's actually done automatically by OsmoBSC on BTS with VTY config set to</span><br><span style="color: hsl(120, 100%, 40%);">+  `gprs mode gprs`.</span><br><span style="color: hsl(120, 100%, 40%);">+- Configuring OsmoPCU to force an empty set by using VTY command `mcs max 0`.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Hence, if the resulting MCS bit-mask is not empty, (BSC configuring the BTS with</span><br><span style="color: hsl(120, 100%, 40%);">+`gprs mode egprs` and OsmoPCU VTY conftaining something other than 'mcs max 0'),</span><br><span style="color: hsl(120, 100%, 40%);">+EGPRS TBFs will be allocated for all MS announcing EGPRS capabilities.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+It is important to remark that in order to use MCS5-9, the BTS must support</span><br><span style="color: hsl(120, 100%, 40%);">+encoding and decoding of 8-PSK modulation. Nevertheless, in the event 8-PSK is not</span><br><span style="color: hsl(120, 100%, 40%);">+supported on the BTS, one can still enable EGPRS and simply make sure 8-PSK MCS</span><br><span style="color: hsl(120, 100%, 40%);">+are never used by configuring OsmoPCU with `mcs max 4 4`.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Similarly, a BTS may support 8-PSK modulation only on downlink, since it is</span><br><span style="color: hsl(120, 100%, 40%);">+easier to implement than the uplink, together with the fact that higher downlink</span><br><span style="color: hsl(120, 100%, 40%);">+throughput is usually more interesting from user point of view. In this</span><br><span style="color: hsl(120, 100%, 40%);">+scenario, OsmoPCU can be configured to allow for full MCS range in downlink</span><br><span style="color: hsl(120, 100%, 40%);">+while still preventing use of 8-PSK on the uplink: `mcs max 9 4`.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Some other interesting configurations to control use of EGPRS in the network</span><br><span style="color: hsl(120, 100%, 40%);">+which lay outside OsmoPCU include:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- If `osmo-bts-trx` together with `osmo-trx` is used, remember to enable EGPRS</span><br><span style="color: hsl(120, 100%, 40%);">+  support (OsmoTRX VTY `egprs enable`).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- It is possible to improve EGPRS performance (in particular, the TBF</span><br><span style="color: hsl(120, 100%, 40%);">+  establishment timing) a bit by enabling 11-bit Access Burst support. This</span><br><span style="color: hsl(120, 100%, 40%);">+  allows EGPRS capable phones to indicate their EGPRS capability, establishment</span><br><span style="color: hsl(120, 100%, 40%);">+  cause, and multi-slot class directly in the Access Burst (OsmoTRX VTY</span><br><span style="color: hsl(120, 100%, 40%);">+  `ext-rach enable`, OsmoBSC VTY `gprs egprs-packet-channel-request`).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: If you enable MCS5-9 you will also need an 8-PSK capable OsmoBTS+PHY,</span><br><span style="color: hsl(120, 100%, 40%);">+which means `osmo-bts-sysmo` or `osmo-bts-litecell15` with their associated PHY,</span><br><span style="color: hsl(120, 100%, 40%);">+or `osmo-bts-trx` with `osmo-trx` properly configured.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== GPRS+EGPRS multiplexing</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Both EGPRS and GPRS-only capable MS can be driven concurrently in the same PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+timeslot by the PCU, hence no special configuration is required per timeslot</span><br><span style="color: hsl(120, 100%, 40%);">+regarding this topic; OsmoPCU scheduler takes care of the specific requirements</span><br><span style="color: hsl(120, 100%, 40%);">+when driving MS with different capabilities.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+These specific requirements translate to some restrictions regarding which</span><br><span style="color: hsl(120, 100%, 40%);">+Coding Schemes can be used at given frame numbers, and hence which kind of</span><br><span style="color: hsl(120, 100%, 40%);">+RLCMAC blocks can be sent, which means serving a GPRS-only MS in a PDCH may end</span><br><span style="color: hsl(120, 100%, 40%);">+up affecting slightly the downlink throughput of EGPRS capable MS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Throughput loss based on MS capabilities with TBF attached to a certain PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+timeslot:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+All UEs are EGPRS capable::</span><br><span style="color: hsl(120, 100%, 40%);">+ No throughput loss, since all data is sent using EGPRS, and EGPRS control</span><br><span style="color: hsl(120, 100%, 40%);">+ messages are used when appropriate.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+All UEs are GPRS-only (doesn't support EGPRS)::</span><br><span style="color: hsl(120, 100%, 40%);">+ No throughput loss, since all data and control blocks use GPRS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Some UEs are GPRS-only, some EGPRS::</span><br><span style="color: hsl(120, 100%, 40%);">+In general EGPRS capable UEs will use EGPRS, and GPRS-only UEs will use GPRS,</span><br><span style="color: hsl(120, 100%, 40%);">+with some restrictions affecting throughput of EGPRS capable UEs:</span><br><span style="color: hsl(120, 100%, 40%);">+- Whenever a GPRS-only MS is to be polled to send uplink data to PCU, then a</span><br><span style="color: hsl(120, 100%, 40%);">+downlink RLCMAC block encoded in GMSK must be sent, which means that if the</span><br><span style="color: hsl(120, 100%, 40%);">+scheduler selects a EGPRS MS for downlink on that block it will force sending of</span><br><span style="color: hsl(120, 100%, 40%);">+data with MCS1-4 (if it's new data, if it's a retransmission it cannot be</span><br><span style="color: hsl(120, 100%, 40%);">+selected since MCS from original message cannot be changed). In the worst case</span><br><span style="color: hsl(120, 100%, 40%);">+if no control block needs to be sent or no new data in MCS1-4 is available to</span><br><span style="color: hsl(120, 100%, 40%);">+send, then an RLCMAC Dummy Block is sent.</span><br><span style="color: hsl(120, 100%, 40%);">+- For synchronization purposes, each MS needs to receive an RLCMAC block which</span><br><span style="color: hsl(120, 100%, 40%);">+it can fully decode at least every 360ms, which means the scheduler must enforce</span><br><span style="color: hsl(120, 100%, 40%);">+a downlink block in CS1-4 every 360ms, that is, every 18th RLCMAC block. In</span><br><span style="color: hsl(120, 100%, 40%);">+general this is not a big issue since anyway all control RLCMAC blocks are</span><br><span style="color: hsl(120, 100%, 40%);">+encoded in CS1, so in case any control block is sent from time to time it's</span><br><span style="color: hsl(120, 100%, 40%);">+accomplised and there's no penalty. However, if only EGPRS Downlink Data is sent</span><br><span style="color: hsl(120, 100%, 40%);">+over that time frame, then the scheduler will force sending a Rlcmac Dummy</span><br><span style="color: hsl(120, 100%, 40%);">+Block.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> </span><br><span> WARNING: EPGRS functionality is highly experimental at the time of this</span><br><span> writing.  Please only use if you actively would like to participate in</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/21943">change 21943</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/21943"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I7b205f5cab5862058a408f628925beb9f0f60a92 </div>
<div style="display:none"> Gerrit-Change-Number: 21943 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>