AgeCommit message (Collapse)AuthorFilesLines
2020-08-01firmware/layer1: remove redundant l1a_*_req declarationsfixeria/trxVadim Yanitskiy1-6/+0
Both symbols are declared in 'layer1/prim.h'. Change-Id: I36f41870bd63c70259316204ee17071853257ca4
2020-08-01firmware: fix compilation with arm-none-eabi-gcc 10.1.0Vadim Yanitskiy2-7/+0
These symbols are defined, but never used: - struct last_rach - seems to be copy-pasted from prim_rach.c, - tall_msgb_ctx - already defined in libosmocore. Change-Id: I6077c8e9b441f7848d1a4c25a8b5e1aed82f4b7d
2020-02-21layer23/transceiver: send 'RSP ERR 1' on receipt of an unknown commandVadim Yanitskiy1-1/+2
Change-Id: Ic731e258f370ee9afcf5b6c60518f154ca6e6408
2020-02-21layer23/transceiver: fix: always include command arguments in the responseVadim Yanitskiy1-5/+4
Change-Id: I22950d32296129ad9b27268f975718d239f8f7f3
2020-02-21layer23/transceiver: pass status as a parameter to _trx_ctrl_send_resp()Vadim Yanitskiy1-23/+26
Change-Id: Id1a95324c4fc7bb2527026e47c5e524b0d563f82
2020-02-21layer23/transceiver: remove copy-pasted entry from trx_handlers[]Vadim Yanitskiy1-1/+0
Change-Id: Id35d5929ebabbfd2b3580efa461435c26bdcf9c9
2020-02-21firmware/ fix compatibility with Python3Vadim Yanitskiy1-1/+1
Change-Id: Ie1db694e04e3deb0aa720e7f5eba458530ec3726
2020-02-21firmware/ fix sections with overlapping VMAHarald Welte2-4/+4
Starting from [1], not only LMA but also VMA areas are now checked for overlaps (see also [2]). This results into linking errors: arm-none-eabi-ld: section .text.exceptions VMA [000000000080001c,0000000000800037] overlaps section .compal.reservedram VMA [0000000000800000,00000000008000fe] arm-none-eabi-ld: section .text.exceptions VMA [000000000080001c,0000000000800037] overlaps section .compal.loader VMA [0000000000800000,00000000008000ff] Let's try to work around this. [1];h=a87dd97a2098b7e18ff2574a4e81ae521ef7e6f2 [2] Change-Id: I098ddd33aabd7ec27981e2f09d8582f167bb649b Fixes: OS#1917
2020-02-21fw: tell linker to add init_array to ctor sectionSteve Markgraf5-0/+5
Starting with version 4.8, gcc places functions with __attribute__ ((constructor)) in .init_array instead of .ctors by default. This broke firmware images built with gcc >= 4.8. Signed-off-by: Steve Markgraf <>
2018-02-19build: Fix typo in the CFLAGS-variable for libosmodspjolly/testingMartin Hauke1-1/+1
Change-Id: Ida258588538a8a76d97a8c1e8855b2fd28c63be7
2018-02-14transceiver: Fix RSP SETSLOT formatPau Espin Pedrol1-1/+1
According to osmo-trx README: SETSLOT sets the format of the uplink timeslots in the ARFCN. The <timeslot> indicates the timeslot of interest. The <chantype> indicates the type of channel that occupies the timeslot. A chantype of zero indicates the timeslot is off. CMD SETSLOT <timeslot> <chantype> RSP SETSLOT <status> <timeslot> <chantype> Change-Id: I63c81155c84fc35cff1704734fd8d2732235c5a4 Related: OS#2944
2014-12-29mobile/SS: Fixed bug in parsing of known supplemenary service codesAndreas Eversberg1-5/+5
Use correct variable to check if supplementary service code is known or not.
2013-12-27fw/calypso/dsp: Make dsp_extcode only load with trx appAndreas Eversberg7-16/+20
As dsp_extcode breaks power measurement and eventually other things, dsp_excode is only loaded with trx app, not with layer1 nor rssi.
2013-06-20host/transceiver: Fix leak in AB processing codepathAndreas Eversberg1-4/+14
Thanks to Andreas for pointing this out Signed-off-by: Sylvain Munaut <>
2013-06-19osmocon: Improve performance by handling several serial bytes at a timeAndreas Eversberg1-8/+19
2013-06-16osmocon: Add option to set SCHED_RR and prorityAndreas Eversberg1-1/+21
2013-06-16transceiver: Add option to set SCHED_RR and prorityAndreas Eversberg1-1/+21
2013-06-12Add handover support to calypso BTSAndreas Eversberg9-28/+129
2013-04-07fixup 687bc2318d18073d02756ef6ea5b96799f4b9aa7Andreas Eversberg1-3/+2
2013-04-07Fix: Allow TRX command with trailing '\0' and withoutAndreas Eversberg1-3/+5
2013-03-02fw: remove deprecated chainload appSteve Markgraf2-56/+1
Signed-off-by: Steve Markgraf <>
2013-03-02osmocon: embed chainloaderSteve Markgraf1-44/+65
This allows to directly load highram-images on compal phones with the commandline-switch -c. Signed-off-by: Steve Markgraf <>
2013-03-01Transceiver application will resync and configure TRX after restart of phoneAndreas Eversberg1-0/+1
This way it is possible to restart a phone without restarting transceiver application. The operation of TRX is continued.
2013-03-01Remove filler table from calypso BTSAndreas Eversberg3-62/+21
It is still not required to transmit dummy bursts, synchronization bursts and frequency correction bursts. If they are not provided by the transceiver, they are filled automatically, depending on current slot configuration.
2013-02-27Transceiver application rejects RXTUNE/TXTUNE, if given ARFCN is invalidAndreas Eversberg1-0/+2
2013-02-27Disable compalram linking for trx application, because image is too largeAndreas Eversberg1-0/+1
2013-02-27Set BTS mode at transceiver application only after successful sync to cellAndreas Eversberg2-1/+14
2013-02-27Add option to transceiver application, to use second phone for TS 1Andreas Eversberg1-1/+24
2013-02-27Allow transceiver application to handle multiple TRX and multiple phonesAndreas Eversberg7-52/+83
There is no more one-to-one relation between application state, trx instance and l1ctl link to the phone. An application can have many trx instances and many l1ctl links to phones. Additionally each trx can have up to 8 relations to one or different l1ctl links, one for each time slot. This allows to split one TRX into several phones. (use only one ARFCN) Also it allows to use multiple phones for multiple TRX. (use multiple ARFCN)
2013-02-27Calypso BTS uses tx_mask and rx_mask to define which slots to TX or RXAndreas Eversberg4-11/+70
Each mask is used to define first time slot number and number of timeslots per frame. The transceiver needs to choose different masks, depending on single phone or multi phone operation. Note: Currently the code only works with very limited number of mask values.
2013-02-27Calypso BTS receives access bursts on all frames of slot type 4 (BCCH+CCCH)Andreas Eversberg1-1/+3
2013-02-27Tansceiver checks quality of RACH, before forwarding it to TRX interfaceAndreas Eversberg2-3/+10
By checking peak level of RACH's training sequence, only peaks that are good enough are forwarded to the TRX interface. If any received noise would be forwarded, there would be too many false detection, due to weak CRC protection of RACH.
2013-02-27Always forward the strongest received access burst of one multiframeAndreas Eversberg1-21/+36
Instead of forwarding access bursts that are above some average noise floor, the strongest of burst of a multiframe is always forwarded, no matter how weak it is. Since bandwidth of serial interface is limited, it is not possible to forward all received access bursts. If there are suddenly many access bursts or if a temporary noise causes detection of several bursts, only the strongest of them is forwarded. This prevents overflow of serial interface. Detection of bursts is possible, no matter how weak they are. Tests have shown that detection works up to 100%, even at border of BTS coverage.
2013-02-27Tranceiver application forwards TOA from layer 1 to TRX interfaceAndreas Eversberg1-2/+5
The TOA of the received access burst is added to the TOA of the demodulator. This sum is the actual access delay.
2013-02-27Calypso BTS sends RSSI with each received bustAndreas Eversberg2-5/+11
For access burst, the TOA offset is used as offset when reading the 88 IQ values from DSP buffer.
2013-02-27Tranceiver application forwards RSSI from layer 1 to TRX interfaceAndreas Eversberg3-5/+8
2013-02-27Calypso BTS sends RSSI with each received bustAndreas Eversberg2-0/+8
2013-02-27Get stealing flags from received burst indications of BTS taskAndreas Eversberg1-2/+4
2013-02-27Transceiver application uses SETSLOT command to configure slot typeAndreas Eversberg4-9/+25
2013-02-27Set slot types for calypso BTS, handle filler table accordinglyAndreas Eversberg6-18/+52
Scheduling of NB/AB/SB/FB depends on given slot type by transceiver application.
2013-02-27New sync task for calypso BTS, using a single frame per multiframeAndreas Eversberg7-3/+338
By using single frame only, loss of packets is reduced. For normal data frames (and for TCH/H speech), one out of four parts of data gets lost. For TCH/F speech, only one out of eight parts of data gets lost. The error correction can compensate the missing parts. The sync code can use the extended DSP task, but it is currently disabled, because the current DSP code does not allow scheduling TSC for each individual task, but we need to use TSC of sync cell here.
2013-02-26Turn off calypso BTS app by pressing power button shortlyAndreas Eversberg1-0/+24
2013-02-26Add gain support to transceiver applicationAndreas Eversberg4-6/+19
To alter default gain of 0, the gain can be altered by using SETRXGAIN control command. Please use a gain of 0, for normal use.
2013-02-26Add gain control to calypso BTS codeAndreas Eversberg4-0/+11
The gain of RX does not follow the sync-cell anymore. It still uses the appropiate gain for sync-cell, but for RX of BTS bursts it uses a gain that is suitable for a receive level of -47 dBm (by default). This is a gain level of 0. The low gain of 0 is the best start value, if phones are close to the BTS, but also for low RX levels below -100 dBm, as several tests showed.
2013-02-26Add loglevel command to transceiver applicationAndreas Eversberg1-1/+6
2013-02-24Add command line options parsing to transceiver applicationAndreas Eversberg1-10/+89
2013-01-16host/layer23: Initial import of the transceiver applicationSylvain Munaut21-0/+2824
Build is optional because it depends on some extra libraries Signed-off-by: Sylvain Munaut <>
2013-01-16fw/trx: Initial import of the TRX firmware applicationSylvain Munaut7-1/+1222
Signed-off-by: Sylvain Munaut <>
2013-01-16fw/l1/l23_api: Wire the L1CTL to the internal TRX interface & prim_btsSylvain Munaut1-0/+47
Signed-off-by: Sylvain Munaut <>
2013-01-16fw/l1: Initial import of new BTS primitiveSylvain Munaut5-0/+356
Signed-off-by: Sylvain Munaut <>