Actions
Bug #4244
closedTake MS power class into account to calculate appropiate MS Power level
Start date:
10/30/2019
Due date:
% Done:
100%
Spec Reference:
Description
osmo-bts.git loops.c ms_power_diff() currently contains:
// FIXME: to go above 1W, we need to know classmark of MS
* pespin trying to find out whether we already retrieve/calculate MS power class in some place <fixeria> pespin: AFAIR, MS Power Class is a part of the Mobile Station Classmark 1 <fixeria> pespin: so the MSC should know it <pespin> fixeria, yeah just found it has a "RF power capability" field in it <pespin> fixeria, in which message is that IE send? I was expecting to gather it in BTS <pespin> in order to know the maximum power level we can ask the MS to use in loops.c ms_power_diff() <fixeria> pespin: it is a part of Location Updating Request and CM Service Request messages <fixeria> pespin: most likely, a part of Paging Response too <pespin> ok many thanks <pespin> fixeria, maybe it should actually be parsed by BSC and taken into account when sending Chan ACT <fixeria> huh, now it's also interesting to me how to know the MS Power Class from the BTS <pespin> well if the BSC takes it into account in MS Power Level during CHAN ACT then the BTS doesn't need to know about it <pespin> it simply applies that power level as maximum <fixeria> pespin: as far as I can see, the BSC already does parsing of some messages <fixeria> there is handle_classmark_chg() <pespin> yeah, looks like that's the intended way <pespin> I'll check if there's a ticket to implement that and otherwise I'll create it <fixeria> pespin: the question is how to inform the BTS about the MS Power Class? is there any A-Bis IE for that? <pespin> fixeria, during CHAN ACT and during MS Power Control messages <pespin> the MS Power IE contains the maximum power level allowed on that chan <pespin> it is so far calculated based on "ms max power" param from VTY <pespin> but we can take into account the rf power capability from classmark1 there too so restrict more the maximum power level <fixeria> ok, so the MS Power IE coming from the BSC would contain the restricted power level (according to the band and MS Power Class), right? <pespin> that's my guess indeed <fixeria> makes sense <fixeria> pespin: FYI: https://git.osmocom.org/osmo-bsc/tree/src/osmo-bsc/gsm_04_08_rr.c#n922Useful links:
- TS 05.05 sec 4.1.1 "Mobile station" contains MS Power class and MS Power level <-> dBm tables: https://www.etsi.org/deliver/etsi_gts/05/0505/05.01.00_60/gsmts_0505v050100p.pdf
- TS 24.008 sec 10.5.1.5 "Mobile Station Classmark 1" is the IE containing "RF Power capability": https://www.etsi.org/deliver/etsi_ts/124000_124099/124008/13.07.00_60/ts_124008v130700p.pdf
- classmark1 is implemented in libosmocore/include/osmocom/gsm/protocol/gsm_04_08.h, "struct gsm48_classmark1", the interesting field is named "uint8_t pwr_lev:3"
osmo-bsc.git contains "struct gsm_classmark" which in turn contains "struct gsm_classmark1", and it is already used in some places. - https://www.electronics-notes.com/articles/connectivity/2g-gsm/power-amplifier-control-classes.php
Related issues
Actions