aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-27 14:36:17 +0200
committerHarald Welte <laforge@gnumonks.org>2017-08-09 10:02:33 +0000
commitd1f8001cdf7ddc4ae5e0319af5a6a021f03fdb07 (patch)
tree56e2ff375851d80a66d4aaac952f12437d3689a2 /src
parent6fe823a7e1aa350584e60ad1813e3e154bbd003a (diff)
VIRT-BTS: Support for GPRS
Diffstat (limited to 'src')
-rw-r--r--src/osmo-bts-virtual/bts_model.c7
-rw-r--r--src/osmo-bts-virtual/l1_if.c8
-rw-r--r--src/osmo-bts-virtual/main.c1
3 files changed, 7 insertions, 9 deletions
diff --git a/src/osmo-bts-virtual/bts_model.c b/src/osmo-bts-virtual/bts_model.c
index c82f1aac..b971af5c 100644
--- a/src/osmo-bts-virtual/bts_model.c
+++ b/src/osmo-bts-virtual/bts_model.c
@@ -137,13 +137,12 @@ int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, void *obj)
case NM_OC_SITE_MANAGER:
case NM_OC_BASEB_TRANSC:
case NM_OC_BTS:
- oml_mo_state_chg(mo, NM_OPSTATE_ENABLED, NM_AVSTATE_OK);
- rc = oml_mo_opstart_ack(mo);
- break;
- /* TODO: gprs support */
case NM_OC_GPRS_NSE:
case NM_OC_GPRS_CELL:
case NM_OC_GPRS_NSVC:
+ oml_mo_state_chg(mo, NM_OPSTATE_ENABLED, NM_AVSTATE_OK);
+ rc = oml_mo_opstart_ack(mo);
+ break;
default:
rc = oml_mo_opstart_nack(mo, NM_NACK_OBJCLASS_NOTSUPP);
}
diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c
index bdbf2a70..cb6d483d 100644
--- a/src/osmo-bts-virtual/l1_if.c
+++ b/src/osmo-bts-virtual/l1_if.c
@@ -133,6 +133,9 @@ static void virt_um_rcv_cb(struct virt_um_inst *vui, struct msgb *msg)
#endif
case GSMTAP_CHANNEL_SDCCH4:
case GSMTAP_CHANNEL_SDCCH8:
+ case GSMTAP_CHANNEL_PACCH:
+ case GSMTAP_CHANNEL_PDCH:
+ case GSMTAP_CHANNEL_PTCCH:
osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_PH_DATA,
PRIM_OP_INDICATION, msg);
l1sap.u.data.chan_nr = chan_nr;
@@ -142,7 +145,7 @@ static void virt_um_rcv_cb(struct virt_um_inst *vui, struct msgb *msg)
l1sap.u.data.ber10k = 0; /* Bit Error Rate in 0.01%. Best -> 0 */
l1sap.u.data.ta_offs_qbits = 0; /* Burst time of arrival in quarter bits. Probably used for Timing Advance calc. Best -> 0 */
l1sap.u.data.lqual_cb = 10 * signal_dbm; /* Link quality in centiBel = 10 * dB. */
- l1sap.u.data.pdch_presence_info = PRES_INFO_UNKNOWN;
+ l1sap.u.data.pdch_presence_info = PRES_INFO_BOTH;
break;
case GSMTAP_CHANNEL_AGCH:
case GSMTAP_CHANNEL_PCH:
@@ -151,9 +154,6 @@ static void virt_um_rcv_cb(struct virt_um_inst *vui, struct msgb *msg)
goto nomessage;
case GSMTAP_CHANNEL_SDCCH:
case GSMTAP_CHANNEL_CCCH:
- case GSMTAP_CHANNEL_PACCH:
- case GSMTAP_CHANNEL_PDCH:
- case GSMTAP_CHANNEL_PTCCH:
case GSMTAP_CHANNEL_CBCH51:
case GSMTAP_CHANNEL_CBCH52:
LOGP(DL1P, LOGL_NOTICE, "Ignore incoming msg - channel type not supported!\n");
diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c
index 937046b0..8459107a 100644
--- a/src/osmo-bts-virtual/main.c
+++ b/src/osmo-bts-virtual/main.c
@@ -51,7 +51,6 @@
/* dummy, since no direct dsp support */
uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx)
{
- LOGP(DSUM, LOGL_NOTICE, "Unimplemneted %s\n", __func__);
return 0;
}