aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-02-15port sysmobts to phy_link/phy_instance abstractionHarald Welte7-97/+178
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 Welte29-554/+1424
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-15Merge branch 'laforge/trx-split'Harald Welte16-1913/+2061
This splits the TRX scheduler into a generic part and an osmo-bts-trx specific part. It is the basis for re-using the scheduler from other bts modules such as the upcoming osmo-bts-virtual.
2016-02-15TRX: Move scheduler to src/commonHarald Welte12-15/+16
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.
2016-02-03L1SAP: Ensure we don't process MPH-TIME.indication on TRX != C0Harald Welte1-1/+8
2016-02-03fix compile warningsHarald Welte1-0/+1
2016-02-03abis: Add a queue of OML messagesHarald Welte3-4/+27
When the oml_link is down or not yet established, we currently lost any OML messages that were scheduled for transmission to the BSC. Let's prevent that by keeping a queue of OML messages, which is drained at the time the OML link comes up again.
2016-02-03Revert "oml: temporary debug hack"Harald Welte1-6/+0
This reverts commit c623c4e589d887f8ba779a03543213d55b6d82f4. That's a commit from 2012, and it was never needed ever since.
2016-02-03octphy: Look-up the right timeslot and then the logical chanHolger Hans Peter Freyther1-1/+1
Use the right identifier for the timeslot and not the trx number which would always use ts==0 on the first trx. This should fix ciphering issues for TS>0 (e.g. SDCCH8 on TS==1)
2016-01-25OML: Ignore T200 settings by BSC for nowHarald Welte1-3/+18
It seems that once we start to respect the T200 values as specified by the BSC, we run into all kinds of issues with LAPDm re-transmissions, REJ frames, unexpected supervisory frames and the like. The libosmogsm LAPDm T200 defaults of 1s/2s are proven to "work" (i.e. not expose the above behavior), so let's revert to them until the root cause of this problem is determined.
2016-01-25lapdm: Add DEBUGP statement about T200 values being set for lchanHarald Welte1-0/+4
2016-01-25Fix T200 default valuesHarald Welte1-7/+7
The T200 default values should be in milli-seconds (as the variable name indicates). They are not expected to be divided by the TS 12.21 OML dividers for T200. This change doesn't really make a difference with OpenBSC, as the BSC always sets its own T200 values via OML, overwriting the defaults here.
2016-01-23main: Return something from the methodHolger Hans Peter Freyther1-0/+2
Fixes: CID#59923
2016-01-22OCTPHY: fix 'make dist' (missing header files)Harald Welte1-1/+1
2016-01-22Merge branch 'laforge/common-main'Harald Welte20-841/+502
2016-01-22merge bts-specific main function into common/main.c:bts_main()Harald Welte13-736/+459
This removes a lot of copy+paste duplication between different BTS models.
2016-01-22Add new bts_model_ctrl_cmds_install()Harald Welte7-6/+19
This is one step in making the main() functions of different BTS models more similar, so we can share one code rather than multiple copies of it.
2016-01-22common/support.c: Remove unused fileHarald Welte1-86/+0
2016-01-22ABIS: Support for multiple RSL connectionsAndreas Eversberg2-15/+26
2016-01-21OCTPHY: Don't have files in EXTRA_DIST that don't exist (anymore)Harald Welte1-1/+1
This fixes a 'make dist' issue.
2016-01-17Make T200 default initialization even more robustHarald Welte1-2/+3
There's no need to use memcpy(), which adds the risk that the types of source and destination are not the same (see previous commit). Iterating over the array and assigning each element is more robust.
2016-01-17Fix T200 default valuesHarald Welte2-2/+2
t200_ms is an unsigned int [7] array, while the oml_default_t200_ms was an uint8_t[7] array, which we memcpy() to the former as default initializer. Fix this by turning oml_default_t200_ms into unsigned int, too.
2016-01-16Merge branch 'laforge/cleanup'Harald Welte12-167/+172
2016-01-16TRX: the L1SAP queue contains mac blocks, not bursts (cosmetic)Harald Welte1-2/+2
2016-01-16TRX: Don't hard-code 23 bytes, use GSM_MACBLOCK_LENHarald Welte2-17/+17
2016-01-16TRX: Don't use magic numbers when we have #definesHarald Welte4-23/+23
2016-01-16TRX: replace some more 2715648 magic numbers with GSM_HYPERFRAMEHarald Welte3-6/+6
2016-01-16TRX: scheduler: whitespace cleanupHarald Welte1-5/+5
2016-01-16TRX: schedule: remove dead codeHarald Welte1-6/+0
the check whether or not to send a dummy burst is done already in trx_sched_dl_burst(), so no need to have commented-out code doing that again.
2016-01-16TRX: make trx_chan_desc static, it is not used externallyHarald Welte1-1/+1
2016-01-16use existing #define for FR/EFR frame length (33/31)Harald Welte3-18/+22
2016-01-16move 'GSM_FR_BYTES' and related definitiions to common partHarald Welte2-7/+7
2016-01-16TRX: Reduce magic numbers, introduce GSM_HYPERFRAME for 2715648Harald Welte1-16/+20
2016-01-16TRX: use const for dummy and fcch burst definitionsHarald Welte1-5/+5
2016-01-16TRX: mark scheduler data structures as 'const'Harald Welte2-22/+22
Those are read-only tables which should end up in the text segment and not in writable data.
2016-01-16TRX: some comments dscribing the scheduler.[ch] APIHarald Welte2-5/+36
2016-01-16sysmoBTS: port 'press Ctrl+C twice for immediate exit' from osmo-bts-trxHarald Welte1-2/+5
2016-01-16TRX: Add stub bts_model_change_power() functionHarald Welte1-0/+6
This just fixes linking. It still needs to be properly implemented
2016-01-16TRX: remove obsolete get_mac() functionHarald Welte1-37/+0
2016-01-16Merge branch 'sysmocom/octphy'Harald Welte19-1/+4985
2016-01-16OCTPHY: Obtain information from PHY and expose it in VTYHarald Welte4-4/+136
This adds 'show trx 0 system-information' command to the VTY indicating various version information obtained from the DSP/PHY.
2016-01-16OCTPHY: Implement command re-transmission after message lossHarald Welte2-39/+216
We re-use the 'wait_l1_conf' structure for implementing the unacknowledge command window towards the PHY. This means that thre will unconditionally be a 'wait_l1_conf' now, even for requests where the caller didn't provide a call-back.