aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-03-22LC15: properly initialize unmapped phy instancesMax1-0/+7
Fixes: OS#1665
2016-03-22LC15: add stubs for phy link/instance defaultsMax1-0/+8
2016-03-21octphy: fix for multiple trx with more than 1 dspMax1-1/+8
Explicitly store and use "center" arfcn used by each dsp (1 dsp corresponds to 1 phy link).
2016-03-18octphy: add support for multiple trx idsMax2-2/+4
2016-03-18octphy: use octasic's routines for debug outputMax1-2/+4
2016-03-17Fix typo in error messageMax1-1/+1
2016-03-17octphy: add missing include to fix the buildMax1-0/+1
2016-03-17Add explicit check for SI2quater index and countMax1-2/+21
Right now we do not support multiple SI2quater messages, so return error if either index or count is non-zero.
2016-03-17Fix SI2ter schedulingMax1-2/+3
According to 3GPP TS 05.02 ยง 6.3.1.3 SI2ter messages should be scheduled in FN with TC=4 only if SI2bis messages are also available.
2016-03-16octphy: Enable TCH/H mode and begin testingHolger Hans Peter Freyther1-3/+0
Upcoming releases will support TCH/H and we should start to test the DSP->RTP code.
2016-03-11Fix copy-paste issueMax1-1/+1
This issue prevented scheduling of SI 2quater messages.
2016-03-10octphy: Use the event defaults as baseHolger Hans Peter Freyther1-0/+3
Bad parameters are passed to the event structure and the default initialization should happen.
2016-02-22Fix ocmo-bts-octphy interaction with OsmoPCUMax4-12/+13
Previously osmo-bts-octphy have not provided in-band presence information which cause off-by-one errors and misinterpretation of ph_data_ind by PCU. This fixed now by adding support for explicitly passing PH-DATA presence info. Corresponding check and in-band passing of presence information are removed. Note: this requires libosmocore version with osmo_ph_pres_info_type support integrated. [hfreyther/max: Remove + 1 from the decoded length]
2016-02-15scheduler: Fix ARRAY_SIZE() in trx_sched_init()Harald Welte1-1/+1
We want the size of the array, not of the pointer to the array. Found by coverity (CID 1351422).
2016-02-15use unsigned int to compare wih ARRAY_SIZEHarald Welte1-1/+1
This is not really an issue, but makes coverity happy (CID 1351422).
2016-02-15sysmobts_vty: Fix null-check for pinstHarald Welte1-1/+1
There was a copy+paste error, checking for plink but we should check for pinst. This was found by coverity (CID 1351424).
2016-02-15LC15: remove bogus check_for_ciph_cmd() copyHarald Welte1-45/+0
2016-02-15LC15: set nominal transmit power of 37dBm for all TRXHarald Welte1-2/+5
2016-02-15LC15: Fix 'make dist' (missing include files)Harald Welte1-2/+2
2016-02-15Use consistent naming of binaries accross BTS modelsHarald Welte3-11/+11
Let's use one systematic naming schemes for all BTS models. osmobts-trx -> osmo-bts-trx sysmobts -> osmo-bts-sysmo lc15bts -> osmo-bts-lc15
2016-02-15make PCU socket and telnet port configurableHarald Welte4-7/+45
In some cases we'd like to run multiple instances of osmo-bts on a single machine. This is the case where we a multi-TRX PHY is to be used for several BTSs, or in case osmo-bts-trx has multple SDRs attached. This wa currently prevented by having a hard-coded PCU socket path and telnet port, which are now configurable via VTY / config file itself.
2016-02-15declare pcu_direct in pcu_if.hHarald Welte4-8/+2
2016-02-15move auto-band configuration commands to common/vty.cHarald Welte4-57/+24
It remains up to the individual BTS hardware models to decide whether or not to register those commands (depending on whether they support the feature) via cfg_bts_auto_band_cmd / cfg_bts_no_auto_band_cmd
2016-02-15LC15: Call l1if_reset() after l1if_open()Harald Welte2-4/+2
We want to start talking to the L1 from the point the PHY link has been opened, and not only once an OML connection has been established.
2016-02-15LC15: Remove clk_cal (another unused struct member)Harald Welte2-2/+0
2016-02-15LC15/sysmobts: Don't try to refer to fl1h from PHY configHarald Welte11-166/+109
At the time the phy link / phy instance level VTY configuration commands are parsed, we did not yet call l1if_open() and thus pinst->u.{lc15,sysmobts}.hdl == NULL. PHY or PHY instance specific configuration must thus be stored inside the phy_link or phy_instance itself, and not inside the (not yet existing) handle. We solve this by moving around some parameters: * clk_use_eeprom/clk_cal/clk_src/calib_path get replicated in phy_instance * min_qual_{rach,norm} are moved into the generic part (which means that osmo-bts-octphy and osmo-bts-trx should also implement them)
2016-02-15LC15: Remove unused clk_use_eeprom and clk_src fieldsHarald Welte2-3/+0
this is part of the copy+paste legacy from sysmobts and can be removed as it is not used.
2016-02-15sysmobts/LC15: Fix startup-time DSP trace flage configurationHarald Welte8-17/+96
Due to the changes introduced by the phy_link API, it's not easy to set the default DSP trace flags via a command line argument anymore. We now rather introduce a persitent VTY configuration command, by which the default DSP tracing configuration can be set (for each PHY). The persistent trace flags are stored in the phy_instance, while the current operational run-time flags are in fl1h->phy_instance.
2016-02-15introduce + use new generic vty_get_phy_instance()Harald Welte3-46/+30
this function is intended to be used by VTY commands that need to resolve a given PHY interface.
2016-02-15LC15: fix compiler warning against more recent libosmovtyHarald Welte1-1/+1
2016-02-15LC15: Fix printed msgq file names in error messagesHarald Welte1-4/+2
2016-02-15LC15: cosmetic whitespace fixesHarald Welte5-13/+13
2016-02-15LC15: port litecell 1.5 support to recent osmo-bts masterHarald Welte9-351/+174
This includes changes required for * shared main() function accross all BTS models * use of the new phy_link / phy_instance infrastructure as the basis for true multi-TRX operation
2016-02-15LC15: configure.ac: Allow specifying an alternate include-dirHarald Welte1-1/+1
The user can now use ./configure --with-litecell15=/my/local/path
2016-02-15LC15: use talloc pool for msgb and ortp libraryYves Godin1-1/+1
by using a talloc pool, we avoid having to go back to the libc malloc pool all the time. The msgb allocations and libortp allocations happen quite frequently during processing and show up as one of the high priority items in osmo-bts profiles on sysmoBTS with 14 concurrent TCH/H calls (highest load scenario). talloc still consumes significant CPU, this is mostly due to the zero-initialization of all the associated buffers. Strictly speaking we shouldn't need this, but any change there would require lots of testing, as there might be hidden assumptions in the code? In some percentage of cases, talloc still seems to fall back on malloc for msgb allocations, which is currently a bit of a mystery. The pools certainly are large enough, talloc_reprt() rarely reports more than a few tens of kilobytes used by the msgb pool. From 2ecbf871301cdc36c0212dd7526fc94ffa4597d1
2016-02-15LC15: Disable DSP trace flags by defaultYves Godin1-1/+1
2016-02-15LC15: Add initial support for the NuRAN Wireless Litecell 1.5Yves Godin40-0/+9526
This commit adds basic support for the Litecell 1.5. Multi-TRX is not supported yet. Instead, multiple instances of the BTS can be launched using command line parameter -n <HW_TRX_NR> to specify if TRX 1 or 2 must be used by the bts. Note that only TRX 1 opens a connection to the PCU. Full support for GPRS on both TRX will come at the same time than the multi-TRX support. The BTS manager has been adapted to match the new hardware but otherwise it has not been improved or changed compared to the one used on the SuperFemto/Litecell (sysmobts).
2016-02-15sysmobts: make clock calibration eeprom default (again?)Harald Welte1-0/+1
2016-02-15abis.c: Fix segfault on OML link lossHarald Welte1-4/+6
When the OML signalling link is lost, first set bts->oml_link = NULL, then iterate over the RSL links and close them. Closing the RSL link will cause a OML state change message to be sent, which in turn tries to use the no-longer-existing OML link. The code should be cleaned up further to distinguish which signalling link was lost, and actually communicate a RSL(only) loss to OML. But for now, it's best to simply close down all links and terminate osmo-bts to ensure all state is properly reset and recovered.
2016-02-15port sysmobts to phy_link/phy_instance abstractionHarald Welte5-97/+173
2016-02-15don't touch OML MO when PHY link is establishedHarald Welte2-9/+9
It seems the right thing to do: Once we know a PHY link is established, the associated OML managed objects should change their state accordingly. However, given all the hackery we do with MO states, this actually breaks things, rather than helping. So I'm disabling that part for now, but this needs to be re-visited at some point.
2016-02-15Introduce new phy_link and phy_instance abstractionHarald Welte19-533/+1185
This way we can model a flexible mapping between any number of PHYs, each having multiple instances, and then map BTSs with TRXx on top of those PHYs.
2016-02-15TRX: Move scheduler to src/commonHarald Welte11-271/+15
This is the final step to make the L1 scheduler generally available to other BTS models than OsmoTRX.
2016-02-15TRX: scheduler: Remove dependency to trx_if.[ch]Harald Welte3-11/+14
2016-02-15TRX: scheduler: Move trx_sched_clock() to scheduler_trx.cHarald Welte5-230/+229
This funciton (and associated static functions) are TRX specific, and scheduler.c should only contain generic code.
2016-02-15TRX: scheduler: don't access l1h->config from schedulerHarald Welte3-1/+6
2016-02-15TRX: call trx_loop_sacch_clock from TRX scheduler backendHarald Welte2-6/+6
this removes the dependency of scheduler.c on loops.h
2016-02-15TRX: split scheduler in generic part and backend partHarald Welte4-1362/+1440
the backend is performing the actual encoding and decoding functions, while the generic part constsits of the TDMA structures and generating the RTS.ind
2016-02-15TRX: factor out the scheduler from remaining codeHarald Welte7-411/+473
The L1 scheduler is a generally useful component that is unfortunately tied quite a bit into the OsmoTRX support. Let's try to separate it out by having separate per-trx/per-ts/per-chan data structures pre-fixed with l1sched_ Using this patch it should be one step easier to use the scheduler for other BTS models, such as the intended upcoming virtual BTS.
2016-02-09fix migration of check_for_ciph_cmd() from sysmobts to l1sapHarald Welte2-45/+12
During the L1SAP related changes, somehow an old version of check_for_ciph_cmd() was re-introduced, which didn't store the N(s) as part of the lchan. To make things worse, the old code was still present in the sysmobts specific part, but never executed.