osmo-pcu/src
Minh-Quang Nguyen 1f18909335 EDGE: Fix UL link adaptation.
We have seen that UL MCS5- MCS9 link adaptation has not been implemented in current PCU implementation.
If the MS slowly moves far away from the BTS, the UL MCS will always stick at MCS9 no matter UL link quality values leading to poor data service experience.
The UL MCS is expected to adapt from MCS9 -> MCSx due to bad UL quality.

Below PCU traces indicate that UL MCS is quickly increasing to MCS9 (max MCS 9 was used in this test) and it never changes to other UL MCS due zero thresholds.

<0004> gprs_ms.cpp:670 MS (IMSI ): Link quality 23dB (23dB) left window [0, 0], modifying uplink CS level: MCS-6 -> MCS-7
<0004> gprs_ms.cpp:670 MS (IMSI 000): Link quality 23dB (23dB) left window [0, 0], modifying uplink CS level: MCS-7 -> MCS-8
<0004> gprs_ms.cpp:670 MS (IMSI 000): Link quality 23dB (23dB) left window [0, 0], modifying uplink CS level: MCS-8 -> MCS-9

Change-Id: I9272c337ad6399da4a47cc6e2736e25f24e099d8
2017-08-18 18:09:24 +00:00
..
osmo-bts-litecell15 Introduce GSMTAP categories 2017-07-21 22:15:28 +02:00
osmo-bts-sysmo Introduce GSMTAP categories 2017-07-21 22:15:28 +02:00
.gitignore Adding .gitignore to source directory 2012-06-27 17:45:15 +02:00
Makefile.am lc15: further fixes regarding --with-litecell15 2017-06-11 11:40:18 +02:00
bts.cpp Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00
bts.h EDGE: Fix UL link adaptation. 2017-08-18 18:09:24 +00:00
csn1.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
csn1.h remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
cxx_linuxlist.h llist: Add missing const qualifier in llist cast method 2015-08-24 12:23:50 +02:00
decoding.cpp Add debugging log for RLC data block decoding 2016-12-02 09:15:53 +00:00
decoding.h Add header type 1 support for EGPRS uplink 2016-06-16 14:32:07 +00:00
egprs_rlc_compression.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
egprs_rlc_compression.h Add compression support in EGPRS PUAN 2017-01-23 12:26:09 +00:00
encoding.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
encoding.h Handle packet access reject during EPDAN/PDAN with channel description 2016-11-11 17:15:10 +05:30
gprs_bssgp_pcu.cpp BSSGP: Improve logging of received messages 2017-07-29 10:21:24 +02:00
gprs_bssgp_pcu.h bssgp: Use measured leak rate for flow control 2015-09-11 11:52:02 +02:00
gprs_codel.c llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_codel.h llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_coding_scheme.cpp Add data structure for ARQ-II in EGPRS DL 2016-07-12 14:17:12 +05:30
gprs_coding_scheme.h Modify EGPRS DL TBF flow to support SPB 2016-08-25 10:41:33 +00:00
gprs_debug.cpp logging fixup: shorter names for LOGGING_FILTER_* and LOGGING_CTX_* 2017-02-23 18:11:44 +01:00
gprs_debug.h gprs_debug.h: remove unused cruft / cosmetic tweaks 2017-02-20 15:30:18 +00:00
gprs_ms.cpp EDGE: Fix UL link adaptation. 2017-08-18 18:09:24 +00:00
gprs_ms.h Add counter at BTS level And statistics at TBF/MS level. 2016-12-22 14:09:04 +00:00
gprs_ms_storage.cpp pcu: Fix memory corruption bugs (ASAN) 2016-02-01 13:56:32 +01:00
gprs_ms_storage.h pcu: Fix memory corruption bugs (ASAN) 2016-02-01 13:56:32 +01:00
gprs_rlcmac.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gprs_rlcmac.h remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gprs_rlcmac_meas.cpp Add statistics in the ms and tbf level. 2016-12-09 12:05:43 +00:00
gprs_rlcmac_sched.cpp GSMTAP: Fix channel type for data blocks: PDTCH instead of PACCH 2017-07-29 13:43:30 +02:00
gprs_rlcmac_ts_alloc.cpp utils: Add pcu_bitcount and pcu_lsb 2016-02-08 00:45:36 +01:00
gsm_rlcmac.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gsm_rlcmac.h rlc: Add decode_gsm_ra_cap to decode Radio Access Caps 2016-02-08 00:45:36 +01:00
gsm_timer.cpp bts: Move the frame_number into the BTS sructure 2013-10-30 21:20:45 +01:00
gsm_timer.h move everything to src/ subdirectory 2012-06-14 20:48:42 +08:00
llc.cpp llc: Add move_and_merge method to llc_queue 2015-08-21 19:02:18 +02:00
llc.h llc: remove NULL-pointer check of gprs_llc_queue::size()/octets() 2016-10-18 11:51:02 +02:00
osmobts_sock.cpp Add pcu-socket vty config 2017-08-09 12:17:39 +02:00
pcu_l1_if.cpp GSMTAP: fix category checks in pcu_rx_data_ind and pcu_l1if_tx_ptcch 2017-08-17 00:50:24 +02:00
pcu_l1_if.h Support sending OML Alerts via BTS 2017-03-17 17:01:28 +00:00
pcu_main.cpp EDGE: Fix UL link adaptation. 2017-08-18 18:09:24 +00:00
pcu_utils.h Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
pcu_vty.c EDGE: Fix UL link adaptation. 2017-08-18 18:09:24 +00:00
pcu_vty.h vty: Change API to have node installation be done by int 2015-08-17 16:23:27 +02:00
pcu_vty_functions.cpp Add counter at BTS level And statistics at TBF/MS level. 2016-12-22 14:09:04 +00:00
pcu_vty_functions.h tbf: Use LListHead instead of llist_pods 2016-02-01 13:58:13 +01:00
poll_controller.cpp Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
poll_controller.h poll: Add a max_delay parameter to PollController::expireTimedout 2015-08-28 12:23:07 +02:00
rlc.cpp dl tbf: initialize punct values and verify 2017-02-14 12:20:57 +01:00
rlc.h Add test case for testing PUAN 2017-01-24 15:53:35 +05:30
sba.cpp Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
sba.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
tbf.cpp Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00
tbf.h Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00
tbf.txt Doc: Update on README and tbf.txt 2012-12-18 10:04:03 +01:00
tbf_dl.cpp Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00
tbf_ul.cpp Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00