summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src/mobile/gsm322.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-11-20 10:13:44 +0100
committerHarald Welte <laforge@gnumonks.org>2012-11-20 10:13:44 +0100
commit73a809e57b8a531b9b8a33b6841ed3df2ea22620 (patch)
tree76effaeb610b2394769991614fd54e5802e292ab /src/host/layer23/src/mobile/gsm322.c
parent2879e77bd3720f261330dad2ef7f14d6a0988421 (diff)
Tell L1CTL_FBSB_REQ the expected received signal level
As Dieter points out, this drastically improves the resiliance to high receive levels on the C155. We cannot blindly assume a received signal level of -85 dBm if the BTS is 2m away and we actually receive -40 dBm. This patch extends the L1CTL_FBSB_REQ data structure in layer 1 with the respective field, as well as the l1ctl_tx_fbsb_req() API function called from the various layer23 apps. "mobile" and "bcch_scan" already did a PM request and thus know the expected signal power. "ccch_scan" and "cbch_sniff" apparently don't do, so the -85 dBm constant is now hardcoded into the host-side source code there, and should probably be fixed in a follow-up patch.
Diffstat (limited to 'src/host/layer23/src/mobile/gsm322.c')
-rw-r--r--src/host/layer23/src/mobile/gsm322.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c
index 2201a1b6..273f9db2 100644
--- a/src/host/layer23/src/mobile/gsm322.c
+++ b/src/host/layer23/src/mobile/gsm322.c
@@ -491,7 +491,8 @@ static int gsm322_sync_to_cell(struct gsm322_cellsel *cs,
l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL);
return l1ctl_tx_fbsb_req(ms, cs->arfcn,
L1CTL_FBSB_F_FB01SB, 100, 0,
- cs->ccch_mode);
+ cs->ccch_mode,
+ cs->list[cs->arfci].rxlev);
}
/* this is called whenever the serving cell is unselectied */