From 166460247619c39204139aa1c474a41871897282 Mon Sep 17 00:00:00 2001 From: Dieter Spaar Date: Thu, 28 Jul 2011 00:01:50 +0200 Subject: Initial version of Support for Nokia *Site BTS This includes the MetroSite, but also other Nokia BTS models. --- openbsc/include/openbsc/abis_rsl.h | 7 +++++++ openbsc/include/openbsc/bss.h | 1 + openbsc/include/openbsc/gsm_data_shared.h | 1 + 3 files changed, 9 insertions(+) (limited to 'openbsc/include/openbsc') diff --git a/openbsc/include/openbsc/abis_rsl.h b/openbsc/include/openbsc/abis_rsl.h index 3b4df90c0..bf1df5e0e 100644 --- a/openbsc/include/openbsc/abis_rsl.h +++ b/openbsc/include/openbsc/abis_rsl.h @@ -90,5 +90,12 @@ int rsl_chan_ms_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int dbm); int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, uint8_t cb_command, const uint8_t *data, int len); +/* some Nokia specific stuff */ +int rsl_nokia_si_begin(struct gsm_bts_trx *trx); +int rsl_nokia_si_end(struct gsm_bts_trx *trx); + +/* required for Nokia BTS power control */ +int rsl_bs_power_control(struct gsm_bts_trx *trx, uint8_t channel, uint8_t reduction); + #endif /* RSL_MT_H */ diff --git a/openbsc/include/openbsc/bss.h b/openbsc/include/openbsc/bss.h index 05495ddcb..2317bd217 100644 --- a/openbsc/include/openbsc/bss.h +++ b/openbsc/include/openbsc/bss.h @@ -14,4 +14,5 @@ extern int bts_model_bs11_init(void); extern int bts_model_rbs2k_init(void); extern int bts_model_nanobts_init(void); extern int bts_model_hslfemto_init(void); +extern int bts_model_nokia_site_init(void); #endif diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 011e0aa96..b9829222f 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -325,6 +325,7 @@ enum gsm_bts_type { GSM_BTS_TYPE_NANOBTS, GSM_BTS_TYPE_RBS2000, GSM_BTS_TYPE_HSL_FEMTO, + GSM_BTS_TYPE_NOKIA_SITE, }; struct vty; -- cgit v1.2.3 From c8755af8a526dbc95e31fa38547bc42a10f44971 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 28 Jul 2011 00:22:17 +0200 Subject: NOKIA: Move more static variables into 'struct gsm_bts' --- openbsc/include/openbsc/gsm_data_shared.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'openbsc/include/openbsc') diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index b9829222f..e3ab5f483 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -488,6 +488,13 @@ struct gsm_bts { struct { unsigned long serno; } hsl; + struct { + uint8_t bts_type; + int configured:1, + do_reset:1, + wait_reset:1; + struct osmo_timer_list reset_timer; + } nokia; }; /* Not entirely sure how ip.access specific this is */ -- cgit v1.2.3 From cd98656315c4e81816866823920fc1951f0c2a0b Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 9 Aug 2011 23:15:38 +0200 Subject: LAPD: Propagate lapd_receive() errors to the E1 driver Scenario: BTS are configured and working, then the BSC stops working for some reason (crash or administrative stop). If the BSC comes back to life, LAPD among other things does not know about the previous existing TEIs. Instead of ignoring these frames, we notify the driver that we are seeing frames with unknown TEIs, so it can try to recover, e.g. by resending the SABM message. --- openbsc/include/openbsc/signal.h | 1 + 1 file changed, 1 insertion(+) (limited to 'openbsc/include/openbsc') diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h index 2991cfac1..71e1deef9 100644 --- a/openbsc/include/openbsc/signal.h +++ b/openbsc/include/openbsc/signal.h @@ -145,6 +145,7 @@ enum signal_input { S_INP_NONE, S_INP_TEI_UP, S_INP_TEI_DN, + S_INP_TEI_UNKNOWN, S_INP_LINE_INIT, S_INP_LINE_ALARM, S_INP_LINE_NOALARM, -- cgit v1.2.3 From 0000ca5885e0e40ce5d12b641992a567f5df1200 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 11 Aug 2011 12:50:13 +0200 Subject: E1 Input: Add rate counters for events related to E1 lines --- openbsc/include/openbsc/e1_input.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'openbsc/include/openbsc') diff --git a/openbsc/include/openbsc/e1_input.h b/openbsc/include/openbsc/e1_input.h index 0d79c7d1e..f201c4fb1 100644 --- a/openbsc/include/openbsc/e1_input.h +++ b/openbsc/include/openbsc/e1_input.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #define NUM_E1_TS 32 @@ -19,6 +20,14 @@ enum e1inp_sign_type { }; const char *e1inp_signtype_name(enum e1inp_sign_type tp); +enum e1inp_ctr { + E1I_CTR_HDLC_ABORT, + E1I_CTR_HDLC_BADFCS, + E1I_CTR_HDLC_OVERR, + E1I_CTR_ALARM, + E1I_CTR_REMOVED, +}; + struct e1inp_ts; struct e1inp_sign_link { @@ -107,6 +116,7 @@ struct e1inp_line { struct llist_head list; unsigned int num; const char *name; + struct rate_ctr_group *rate_ctr; /* array of timestlots */ struct e1inp_ts ts[NUM_E1_TS]; -- cgit v1.2.3 From e8bd9e885dc50f671d2c4af4267b56c84bf7bb6d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 10 Aug 2011 23:26:33 +0200 Subject: RSL: add timer for lchan activation/deactivation without BTS response The timer callback will simply reset the lchan state to NONE in order to prevent channels getting stuck in 'activation requested' or 'deactivation requested' states. --- openbsc/include/openbsc/gsm_data_shared.h | 1 + 1 file changed, 1 insertion(+) (limited to 'openbsc/include/openbsc') diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index e3ab5f483..89375cf42 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -182,6 +182,7 @@ struct gsm_lchan { struct osmo_timer_list T3101; struct osmo_timer_list T3111; struct osmo_timer_list error_timer; + struct osmo_timer_list act_timer; /* table of neighbor cell measurements */ struct neigh_meas_proc neigh_meas[MAX_NEIGH_MEAS]; -- cgit v1.2.3