diff options
Diffstat (limited to 'src/osmo-bts-trx')
-rw-r--r-- | src/osmo-bts-trx/scheduler.c | 7 | ||||
-rw-r--r-- | src/osmo-bts-trx/scheduler.h | 1 | ||||
-rw-r--r-- | src/osmo-bts-trx/trx_vty.c | 16 |
3 files changed, 20 insertions, 4 deletions
diff --git a/src/osmo-bts-trx/scheduler.c b/src/osmo-bts-trx/scheduler.c index a02a2de1..4cf6a683 100644 --- a/src/osmo-bts-trx/scheduler.c +++ b/src/osmo-bts-trx/scheduler.c @@ -527,11 +527,12 @@ free_msg: default: goto wrong_type; } - if (prim_fn > 20) { + if (prim_fn > 100) { LOGP(DL1C, LOGL_NOTICE, "Prim for trx=%u ts=%u at fn=%u " "is out of range, or channel already disabled. " - "(current fn=%u)\n", l1h->trx->nr, tn, prim_fn, - fn); + "If this happens in conjunction with PCU, " + "increase 'rts-advance' by 5. (current fn=%u)\n", + l1h->trx->nr, tn, l1sap->u.data.fn, fn); /* unlink and free message */ llist_del(&msg->list); msgb_free(msg); diff --git a/src/osmo-bts-trx/scheduler.h b/src/osmo-bts-trx/scheduler.h index acc2cebe..ce7ddad8 100644 --- a/src/osmo-bts-trx/scheduler.h +++ b/src/osmo-bts-trx/scheduler.h @@ -2,6 +2,7 @@ #define TRX_SCHEDULER_H extern uint32_t trx_clock_advance; +extern uint32_t trx_rts_advance; extern uint32_t transceiver_last_fn; diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index ebc7cfdb..e3e9c364 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -119,7 +119,8 @@ DEFUN(show_transceiver, show_transceiver_cmd, "show transceiver", DEFUN(cfg_bts_fn_advance, cfg_bts_fn_advance_cmd, "fn-advance <0-30>", - "Set the number of frames to be transmitted in advance of current FN\n" + "Set the number of frames to be transmitted to transceiver in advance " + "of current FN\n" "Advance in frames\n") { trx_clock_advance = atoi(argv[0]); @@ -127,6 +128,17 @@ DEFUN(cfg_bts_fn_advance, cfg_bts_fn_advance_cmd, return CMD_SUCCESS; } +DEFUN(cfg_bts_rts_advance, cfg_bts_rts_advance_cmd, + "rts-advance <0-30>", + "Set the number of frames to be requested (PCU) in advance of current " + "FN. Do not change this, unless you have a good reason!\n" + "Advance in frames\n") +{ + trx_rts_advance = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_bts_ms_power_loop, cfg_bts_ms_power_loop_cmd, "ms-power-loop <-127-127>", "Enable MS power control loop\nTarget RSSI value (transceiver specific, " @@ -336,6 +348,7 @@ DEFUN(cfg_trx_no_maxdly, cfg_trx_no_maxdly_cmd, void bts_model_config_write_bts(struct vty *vty, struct gsm_bts *bts) { vty_out(vty, " fn-advance %d%s", trx_clock_advance, VTY_NEWLINE); + vty_out(vty, " rts-advance %d%s", trx_rts_advance, VTY_NEWLINE); if (trx_ms_power_loop) vty_out(vty, " ms-power-loop %d%s", trx_target_rssi, @@ -385,6 +398,7 @@ int bts_model_vty_init(struct gsm_bts *bts) install_element_ve(&show_transceiver_cmd); install_element(BTS_NODE, &cfg_bts_fn_advance_cmd); + install_element(BTS_NODE, &cfg_bts_rts_advance_cmd); install_element(BTS_NODE, &cfg_bts_ms_power_loop_cmd); install_element(BTS_NODE, &cfg_bts_no_ms_power_loop_cmd); install_element(BTS_NODE, &cfg_bts_timing_advance_loop_cmd); |