aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/l1_if.c
AgeCommit message (Collapse)AuthorFilesLines
2012-07-22l1_if: indicate against which api header files we were compiledHarald Welte1-0/+4
2012-07-22determine (and use) the API version as indicated in the header filesHarald Welte1-0/+4
From our header files v2.4 onwards, we include some macros that allow us to do compile-time checks for the API header version. As older headers don't have those macros, we have to fall back to assume it will be v2.2
2012-07-21Enable direct access to PDTCH queue of DSP by PCUAndreas Eversberg1-3/+3
Use "-P -M" to enable PCU and direct access.
2012-07-19Allow L1 forward proxy to provide all 4 queues to seperate applicationsAndreas Eversberg1-5/+14
Different applications can now connect to L1 forward proxy or access DSP directly, if they use different message queues.
2012-07-16sysmobts L1: fix memory leaks for GPRSAndreas Eversberg1-7/+7
we have to hand off the PH-RTS.ind to the PCU interface _before_ we allocate a response msgb/primitive.
2012-07-09l1_if: skip processing of measurement results on PDTCHHarald Welte1-0/+5
In case of PDTCH, the PCU has to process measurements, not the BTS.
2012-07-08PCU: Add PCU socket interface to BTS.Andreas Eversberg1-10/+84
A special command line option "-P" is used to enable socket interface and signal available GPRS MO object to BSC.
2012-07-08Fixed check for RACH (random access) delayAndreas Eversberg1-8/+8
2012-07-05l1_if: don't enable any GSMTAP by defaultHarald Welte1-3/+0
the user has to explicitly enable it in the VTY
2012-06-15Implement NM_ATT_MAX_TA in sysmobts backendHarald Welte1-0/+6
2012-06-15RSL: Add CCCH LOAD INDICATION for RACHHarald Welte1-0/+31
We now count the total number of RACH slots, the number with rx level above the busy threshold, and the number of valid access bursts. This data is used to generate RSL CCCH LOAD INDICATION for the RACH.
2012-06-01sysmobts: set the RF ACTIVE LED when we bring RF upHarald Welte1-1/+5
Once we get RF-ACTIVATE.conf from L1, we now enable the corresponding LED. We also switch it off on RF-DEACTIVATE.conf. We do _not_ switch it off when osmo-bts crashes or terminates before RF-DEACTIVATE.conf. The latter is intentional, as RF may very well still be active at that point. The re-spawning script will re-set the DSP and therby turn off the RF and then disable the LED. A better solution might be to do all this in the kernel driver for the DSP.
2012-05-13Adapt to L1 firmware/API version 2.1Harald Welte1-4/+4
2012-04-28sysmo-bts: Use HW_SYSMOBTS_V1 to select the development hardwareHolger Hans Peter Freyther1-2/+2
2012-04-26fix the idle filling to comply with 04.06 5.4.2.3 (UI frame 0 byte len)Harald Welte1-1/+1
We used to send some crap before, which most phones happily accepted but some (particularly the Wavecom Q2686) didn't really like at all.
2012-04-19add vty-configurable loopback modeHarald Welte1-1/+1
this allows the BTS to loop-back any incoming data on a TCH
2012-04-19l1_if: allow for l1prim or sysprim without a completion callbackHarald Welte1-2/+8
2012-04-19add a VTY command for activating PDCH channels (in EGPRS mode)Harald Welte1-0/+10
This allows us to do RF measurements (EDGE EVM and the like) even without having any PCU/RLC/MAC code as of now. To use it, configure PDCH type timeslots (e.g. TS 7) in the BSC and then use "trx 0 7 activate 0" to manually activate the PDTCH lchan on top of that timeslot. The BTS will now happily transmit EDGE/8PSK data.
2012-04-19ciphering: Make sure to initialize lchan to no ciphering when activatingHarald Welte1-2/+2
The ciphering parameters in L1 are persistent accross MPH deactivate/activate, so we need to make sure to always initialize them cleanly at RSL CHAN ACT time. This has the added benefit that we can also activate channels that have encryption enabled from the very beginning (required for encrypted handover).
2012-04-19ciphering: Better state tracking and HACK around L1 race conditionHarald Welte1-12/+19
We now check if the received message is an LAPDm I frame in order to determine if we have received the first valid encrypted message on the radio link. This relates to the fact that we often see 'old' UI frames coming up from L1, even after it has confirmed decryption has been enabled.
2012-04-19Support for cipheringHarald Welte1-5/+47
When the RR CIPH MODE CMD is transmitted to the MS, we need to tell the L1 to enable decryption on RX. After the first received frame has been decrypted successfully, we will enable encryption also on transmit. This has been tested with A5/1 so far, but A5/2 and A5/3 should work exactly identical.
2012-04-14femtobts: Use HW_FEMTOBTS instead of HW_VERSION_1 to select femtobtsHolger Hans Peter Freyther1-2/+2
Our header files use HW_FEMTOBTS guards to select the older femtobts design. Use the same macro in the bts code.
2012-04-05osmo-bts-sysmo: Add gsmtap for uplinkHarald Welte1-0/+30
2012-03-18osmo-bts-sysmo: Add GSMTAP support for transmit (DL) pathHarald Welte1-0/+66
there are VTY commands that can be used to filter which particular L1 sapis (channel types) should be sent in GSMTAP.
2012-03-17introduce a command that permits setting the clock source via vtyHarald Welte1-1/+6
the default source is the OCXO
2012-03-15we currently run the board alwasy in clock master modeHarald Welte1-0/+1
2012-03-15update to new "superfemto.h" header file namingHarald Welte1-20/+20
2012-03-07Introduce a HW_VERSION_1 #defineHarald Welte1-0/+11
This #define helps us to distinguish the subtle API differences between the earlier v1 (2011) hardware and the later v2 (2012) model.
2012-01-14sysmo: handle_ph_data_ind has paths rc is not initializedHolger Hans Peter Freyther1-1/+1
rc might not be initialized when going through the default statement but also hitting a break inside the switch case statement for GsmL1_Sapi_Sacch. l1_if.c:530:2: warning: Undefined or garbage value returned to caller return rc;
2011-10-12add VTY based way to set clock calibration of sysmobts L1Harald Welte1-1/+2
2011-09-09Inquire DSP/FPGA version at BTS boot and check band compatibilityHarald Welte1-0/+52
2011-09-07use osmo_ortp in POLLING mode instead of select loop integrationHarald Welte1-3/+22
This solves a lot of the problems we've been seeing in the context of large jitter (uRTP) or classic RTP with SID frames
2011-09-03Add new ORTP based libosmo-trau based voice supportHarald Welte1-27/+63
Using osmo-bts-sysmo and this code, it is now possible to do FR and AMR based voice calls on TCH/F. A lot of CPU is wasted in the conversion between the RTP formats and the L1 specific formats for the codec frames. All data needs to be shifted by four bits, and the order of bits needs to be reversed in every byte.
2011-07-24sysmobts: add a skeleton for codec frame processingHarald Welte1-5/+9
2011-07-07increae the RACH quality threshold to 5dB C/IHarald Welte1-1/+1
2011-07-05sysmbts L1 if: implement 'dead DSP L1 detection'Harald Welte1-0/+3
when we activate the SCH in the DSP, we start a 5-second timer. If we ever do not receive any MPH-TIME.ind primitives from L1 within that time frame, we stop the process (and will be re-spawned)
2011-07-05l1_if: send EMPTY-FRAME.req instead of fill frame on TCH/F + FACCHHarald Welte1-2/+18
2011-07-05increase RACH threshold to 1 dB C/IHarald Welte1-1/+1
2011-07-05add VTY commands for setting and showing DSP trace flagsHarald Welte1-0/+22
2011-07-02remove FIXME that has long been fixedHarald Welte1-1/+0
2011-07-01logging sanitization (use proper log levels, etc.)Harald Welte1-2/+2
2011-07-01fix BTS initialization orderHarald Welte1-3/+35
The sequence is as follows: 0) start osmo-bts 1) start connection attempts to BTS 2) issue L1-RESET.req 3) receive L1-RESET.conf 4) issue RF-ACTIVATE.req 5) receive RF-ACTIVATE.conf 6) receive attributes for TRX 7) receive opstart for TRX 8) issue MPH-INIT.req [...] The important point here is: We don't want the BSC to set TRX attributes or do TRX opstart before our RF related hardware is initialized.
2011-06-29sysmo-bts: Bring TCH (FACCH) into a working stateHarald Welte1-20/+58
2011-06-29Sysmocom l1if: Don't print hex-dumps of AGCH/SACCH messages anymoreHarald Welte1-4/+0
2011-06-29sysmocom L1: raise the threshold for ignored RACH burstsHarald Welte1-2/+2
the RACH burst detection in the physical layer is appranetly providing many false positives, and we need to raise the bar a bit in order to not allocate channels in a useless way...
2011-06-29implement baseic uplink measurement processing + reportingHarald Welte1-5/+30
* gather measurements from each PH-DATA.ind * check every TDMA frame about meas period expiration * compute averages after period expired * put MS DL MEAS REP into RSL MEAS RES messages, include UL meas bugs: * L3 INFO content seems to have some offset * is_sub is not set anywhere * measurement periods might have up/downlink offset
2011-06-27l1_if: We do not need to supply any SAPI on L1->L2 primitivesHarald Welte1-2/+1
2011-06-27re-work original osmo-bts with support for sysmocom femtobtsHarald Welte1-0/+622
This code re-works osmo-bts to add support for the upcoming sysmocom BTS. It also tries to add some level of abstraction between the generic part of a BTS (A-bis, RSL, OML, data structures, paging scheduling, BCCH/AGCH scheduling, etc.) and the actual hardware-specific bits. The hardware-specific bits are currently only implemented for the sysmocom femtobts, but should be (re-)added for osmocom-bb, as well as a virtual BTS for simulation purpose later. The sysmocom bts specific parts require hardware-specific header files which are (at least currently) not publicly distributed.