aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc/bts_ipaccess_nanobts.c
AgeCommit message (Collapse)AuthorFilesLines
2015-12-13Use BS/MS power control parameters in RSL (for Abis/IP)Harald Welte1-2/+27
The TS 08.58 9.3.31 / 9.3.32 IEs are unfortunately encoded in a manufacturer-dependent way. This is why we need to add an encoding function to the bts model. Currently we only implement it for the Abis/IP type BTSs like nanobts and OsmoBTS.
2015-08-17Send RADIO LINK TIMEOUT value via OML attribute to BTSAndreas Eversberg1-0/+4
The same radio link timeout value is used for BTS and MS side.
2014-12-17bts: When one link drops.. check what needs to be droppedHolger Hans Peter Freyther1-0/+16
In case a BTS is dropped, iterate over the list of BTS and check if a dependency is now missing and then drop the BTS. This check could lead to check of 256*256 checks (e.g. all BTS on each other in the chain and the master is being dropped). The performance aspect of it doesn't matter for our usecase. We expect to have pairs of BTS right now.
2014-12-17bts: Add some simple dependency between different BTSHolger Hans Peter Freyther1-0/+7
E.g. for the sysmoBTS2050 we have the requirement that the first board connects before the second due clocking. The easiest point to enforce this is the BSC. Add a simple bitmask based system to allow to express dependencies for IP based systems.
2014-11-07bts: Fail OML in case the channel combination is wrongHolger Hans Peter Freyther1-1/+5
In case a BTS is being bootstrapped and one TS can not be activated prevent the whole BTS from coming up. When the OML activation is not being done the rest of the BSC code still assumes these logical channel(s) to be available and one will see channel activation issues that might be hard to debug. Instead of having a half-configured system up and running, keep the BTS offline.
2014-08-20adopt recent IPA related symbol renameHarald Welte1-0/+1
... which happened during recent migration of IPA functionality from libosmo-abis into libosmocore.
2014-01-19Do not expect all BTSs support TSC != BCCHarald Welte1-0/+1
We introduce a new feature indicating if the given BTS model supports a TSC that is different from the BCC (lower 3 bits of BSIC).
2013-09-02nanobts: Fix initialization of two concurrent BTS.Holger Hans Peter Freyther1-15/+51
It was possible that the wrong NSEI information was sent to the BTS. This is because patch_nm_tables is not called before sending the data to the BTS. This will break when two BTS connect more or less at the same time. Stop using the arrays directly and instead introduce a method that will patch the table and return the data and length. This makes sure that all users patch the table before we send the data to the BTS. I bootstrapped a sysmoBTS and I can bring up rsl. The device is running with a dummy load so I couldn't do more verification.
2013-06-30nanobts: Do not crash on an invalid TRX numberHolger Hans Peter Freyther1-1/+1
In case the specified trx number is not configured, do not crash but return NULL from the function. The libosmo-abis library should close the connection for us then.
2013-04-29ipaccess: Remove the ipaccess_gsmnet and assume there is a bsc_gsmnetHolger Hans Peter Freyther1-4/+3
Assume that there is a bsc_gsmnet and modify the ipaccess-config to provide this symbol. If a bsc_gsmmnet is not available when linked the linker will complain and fail. E.g. give an error like this: ../../src/libbsc/libbsc.a(bts_ipaccess_nanobts.o): In function `ipaccess_sign_link_up': src/libbsc/bts_ipaccess_nanobts.c:550: undefined reference to `bsc_gsmnet'
2013-04-29sysmobts: Make the nanoBTS NM code work for the sysmobtsHolger Hans Peter Freyther1-2/+2
Use the is_ipaccess_bts method to check if this is either is nanoBTS or sysmoBTS. The sysmobts type can now be used to bootstrap a bts.
2013-04-29sysmobts: Initialize the NM signal handler only once in a mixed networkHolger Hans Peter Freyther1-1/+2
Make sure that the bts_ipa_nm_sig_cb is only installed once. In a nanoBTS + sysmoBTS network the _start method will be called for each mode leading to the handler being registered twice. Make sure that there is only one handler registered by unregistering a previously installed handler. The osmo_signal_unregister_handler will remove 0 or 1 handlers per invocation and we only add one handler in this file so it is always balanced.
2013-04-29sysmobts: Avoid a crash when trying to look-up a BTSHolger Hans Peter Freyther1-9/+8
The nanoBTS code is trying to find a struct gsm_bts based on the ipaccess_gsmnet and the ipaccess_unit data. The pointer is not initialized in the case of a sysmoBTS leading to a classic NULL pointer dereference. Move the feature init into the _init method. This way we can re-use the start code of the nanoBTS. This ensures that the ipaccess_gsmnet pointer is properly initialized and that the signal handlers are installed.
2013-03-12IPA: Allow RSL connection to different IP address as OMLHarald Welte1-1/+2
This patch adds a new VTY command "ip.access rsl-ip A.B.C.D" at the BTS level. If you set this IP address, the BTS will be instructed to establish the RSL link to the indiciated IP address, rather than using the same as for the OML link (default). Use "ip.access rsl-ip 0" to disable the feature.
2012-09-29Fix: T3192 and T3193 must be similarAndreas Eversberg1-1/+1
In order to keep mobile at PACCH as long as possible the timer T3192 is set to 1500ms. This reduces the probablity of long lasting assignment process on CCCH for subsequent downlink TBFs.
2012-07-02BSC: introduce new "sysmobts" BTS modelHarald Welte1-8/+9
so far, osmo-bts/sysmobts used to be entered as "sysmobts" type in the configuration file. However, there are some differences in the protocol/behaviour and we should reflect that by a new BTS plugin (with lots of code reuse from the nanobts driver).
2012-06-28ipaccess: some more comments on timer valuesHarald Welte1-2/+5
2012-02-03bts_ipaccess_nanobts.c: Remove unused variable.Holger Hans Peter Freyther1-3/+0
This must have been obsoleted by the move to libosmo-abis. GCC warning: bts_ipaccess_nanobts.c: In function ‘ipaccess_drop_oml’: bts_ipaccess_nanobts.c:509:21: warning: variable ‘line’ set but not used [-Wunused-but-set-variable]
2011-10-17libbsc/nanobts: Fix NSVC OML init sequence for some rugby modelsSylvain Munaut1-1/+2
The NVC never goes to OFF LINE but only to DEPENDENCY (because of missing attributes). Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-08-19src: port openBSC over libosmo-abis0.9.15Pablo Neira Ayuso1-3/+191
This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
2011-08-19src: use new msg->dst pointer instead of deprecated msg->trxPablo Neira Ayuso1-1/+2
This patch modifies openBSC code to use msg->dst which stores the pointer to the signalling link structure instead of the pointer to the transceiver structure. This patch prepares the introduction of libosmo-abis.
2011-06-27Revert "HACK: disable NM_ATTR for CELL GLOBAL ID for sysmo-bts"Harald Welte1-2/+2
This reverts commit 8b65ab9d9133efe53a058733d492ac0595040fb4, which should never have been committed to master. In fact, it is not even needed anymore with recent osmo-bts code.
2011-06-09HACK: disable NM_ATTR for CELL GLOBAL ID for sysmo-btsHarald Welte1-2/+2
Do not commit this to master. It disables a non-standard IE in the BTS attributes.
2011-06-03gsm_data_shared: introduce 'struct gsm_abis_mo'Harald Welte1-1/+1
... as a common wrapper around nm_attr and nm_state
2011-05-22bsc: on-demand setup of nanoBTS and HSL femto socketsPablo Neira Ayuso1-1/+11
The daemons set up nanoBTS and HSL femto sockets by default, ie. the three sockets to support these two drivers are open even if we have no BTS of that kind. This patch enables on-demand socket creation, ie. we only enable them if we have one BTS at least that requires it. I added two new attributes to the gsm_bts object, they are: * the start() function includes the code that we need to run to start the BTS. This new function contains the socket creation in the particular case of nanoBTS and HSL femto. * the started boolean, which is used to know if we have already started the BTS, ie. we have already invoked start(). Note that, I have splitted the bts_model_*_init() function into two functions, the _init() functions that register the BTS driver and the _start() functions that start BTS driver on-demand. While I was at it, I added several changes/cleanups to this patch: * Group all bts_model_*_init() calls into one function bts_init(), which is called in the initialization path of osmo-nitb and osmo-bsc. * Add openbsc/bss.h that contains the declaration of bsc_bootstrap_network, bsc_shutdown_net and bts_init. * Add missing e1inp_init() in osmo-bsc. * Fix missing declaration of hsl_setup in openbsc/e1_input.h
2011-05-06src: use namespace prefix osmo_signal*Pablo Neira Ayuso1-1/+1
Summary of changes: s/signal_cbfn/osmo_signal_cbfn/g s/register_signal_handler/osmo_signal_register_handler/g s/unregister_signal_handler/osmo_signal_unregister_handler/g s/dispatch_signal/osmo_signal_dispatch/g
2011-04-18misc: Remove sys/types.h includes from the filesHolger Hans Peter Freyther1-1/+0
These are not needed any more. We used them for u_int types but we now use uint which comes from stdint.h
2011-04-18misc: Move from u_int to uint types of stdint.hHolger Hans Peter Freyther1-5/+5
This was done with sed on the files.
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-1/+1
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-03-06OML: Include a pointer to the BTS in NM STATE CHANGE signalsHarald Welte1-0/+3
... this allows the BTS driver to decide if it should handle the event at all
2011-03-04prefix sub-directories containing libraries with 'lib'Harald Welte1-0/+447
... and make sure tests work again after restructuring