aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
AgeCommit message (Collapse)AuthorFilesLines
2012-12-20openbsc: Prepare to allow to have the OpenBSC directory somewhere elseHolger Hans Peter Freyther1-1/+1
Right now osmo-bts requires access to one OpenBSC header file and this requires that openbsc and osmo-bts git are in the same directory. Begin with making the location of the OpenBSC sourcecode configurable. This approach will allow to build osmo-bts on our Jenkins installation but now has the risk of more code including the openbsc/*.h header files.
2012-12-20misc: Change the method to return void instead of int and garbageHolger Hans Peter Freyther1-1/+1
The method was not returning anything and the callers did not use the result. Change it to void for now.
2012-12-20misc: Include pcu_if.h for pcu_tx_pag_req in rsl.c and make it constHolger Hans Peter Freyther2-1/+2
The rsl.c code was calling the paging request with a const pointer, change the signature to make the code const.
2012-12-20misc: load_ind_period is uint8_t and 60*100 is bigger than that.Holger Hans Peter Freyther1-1/+1
Address the compiler warning and truncate the value by hand.
2012-11-24Add VTY configuration of paging queue size and lifetime of paging recordsHarald Welte3-4/+56
This may be adding bells and whistles that nobody wants to touch, but at least for current analysis/optimiziation they are useful to have. Later on they should probably be removed again and/or obsoleted by OML messages for configuration of paging behaviour by the BSC.
2012-11-24paging: send CCCH load indications even if paging load below thresholdHarald Welte1-0/+6
This is mainly as OpenBSC is adjusting the amount of paging commands it sends based on this magic value 0xffff.
2012-11-20Use tlvp_val16_unal() / tlvp_val32_unal() to align 16 and 32 bit valuesAndreas Eversberg1-26/+32
This is required for CPUs < armv6, to access 16 and 32 values at right memory locations.
2012-11-10VTY: print length/depth of paging queue in 'show bts'Harald Welte1-0/+4
2012-10-04OML: TA is a 8bit value, not 16bitHarald Welte1-4/+2
... as jolly correctly pointed out.
2012-09-29Fix: Set correct paging group for IMM.ASS on PCHAndreas Eversberg1-5/+6
2012-09-29PCU: Add PCH confirm, raise PCU interface version to 4Andreas Eversberg2-0/+30
The confirm is required, so PCU knows when an IMMEDIATE ASSIGN message has has been sent on PCH. The PCU will start packet flow after that confirm.
2012-07-26PCU: Removed -P option, so GPRS support is always enabledAndreas Eversberg1-7/+4
2012-07-25vty: Document parameters of the unit-id and the band selectionHolger Hans Peter Freyther1-2/+12
2012-07-21Send RR paging requests to PCU, in order to page on PACCHAndreas Eversberg2-0/+35
2012-07-21Enable direct access to PDTCH queue of DSP by PCUAndreas Eversberg1-0/+7
Use "-P -M" to enable PCU and direct access.
2012-07-20misc: Quote the warning to avoid additional warningHolger Hans Peter Freyther1-2/+2
2012-07-16PCU: Add verion number of PCU interface to PCU INFO IND messageAndreas Eversberg1-0/+1
The client (PCU) can check if it is compiled with a different version.
2012-07-16PCU interface: fix memory leaks in error pathsAndreas Eversberg1-0/+2
2012-07-11OML: add missing ntohs() for UL/DL_TBF_EXTHarald Welte1-2/+2
Thanks to Andreas for spotting this.
2012-07-08PCU: remove german warnings from the codeHarald Welte1-2/+2
2012-07-08PCU: Add PCU socket interface to BTS.Andreas Eversberg4-5/+860
A special command line option "-P" is used to enable socket interface and signal available GPRS MO object to BSC.
2012-07-08Add BTS to list at the beginning of bts_init()Andreas Eversberg1-3/+6
During init process, signals might be sent. PCU receives these signals and requires that BTS instance is already in the list.
2012-07-08debug: Add new debugging class for PCU interface (DPCU)Andreas Eversberg1-0/+6
2012-07-08signal: Add signals for setting/change of GPRS MO attributesAndreas Eversberg1-0/+8
2012-07-08paging: Alow to store CCCH messages in paging recordsAndreas Eversberg1-30/+107
This is required for PCU to send IMMEDIATE ASSIGNMENT messages on PCH. A message in a paging record is sent only once.
2012-07-08Fixes for handling of GPRS NSE/NSVC/CELL MOAndreas Eversberg1-5/+8
2012-07-05paging: Expire paging requests after the expiration timeHolger Hans Peter Freyther1-1/+1
The paging needs to expire when the expiration time is smaller than the current time.
2012-06-28Add 12.21 handling for GPRS NSE/NSVC/CELL MOHarald Welte2-0/+172
We now bring the GPRS related MO up in DEPENDENCY state and parse the various NS, BSSGP and RLC parameters as set by the BSC via 12.21/OML.
2012-06-21make sure we don't send CCCH LOAD IND before we have an Abis linkHarald Welte2-2/+2
2012-06-18rsl: use correct headroom size for load indicationsHarald Welte1-2/+2
2012-06-15use default value of 63 for maximum timing advanceHarald Welte1-0/+1
As the careful commitlog reader Andreas points out: When the BSC does not sent NM_ATT_MAX_TA, then it would be zero instead of the specified default value of 63.
2012-06-15CCCH LOAD IND: Avoid divide-by-zeroHarald Welte1-2/+11
The total count of RACH or PCH slots should never be zero, as they constantly increment. However, just as a safeguard, we introduce an explicit handign to avoid divide-by-zero situations
2012-06-15RSL: Add CCCH LOAD INDICATION for RACHHarald Welte2-23/+32
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-14system information: avoid modulo 0 / SIGFPEHarald Welte1-3/+8
As Holger pointed out, it may well be the case that there are no system information messages to be sent at TC=4, and we should avoid a modulo by 0. I'm simply sending SI2 instead now, as it isn't forbidden to send it more often than the minimum at TC=2...
2012-06-14attempt to make CCCH Load Indications for PCH workHarald Welte4-16/+42
2012-06-03Use git-generated PACKAGE_VERSION in IPA IDTAG_SWVERSIONHarald Welte1-2/+1
We previously used to send the bogus string "0815" which was a hack from early development time, but is obviously not a generally useful idea.
2012-06-03sysinfo: Make our SI scheduling more completeHarald Welte1-5/+80
We now implement the fairly complex rules for schedulign of SI 2bis/2ter/2quater, 13 and 9 on TC=4 and TC=5 of the BCCH Norm. The patch is currently untested.
2012-06-02sysinfo: Schedule SI 2bis and 2terHarald Welte1-4/+4
In case we have neighbor cells in different bands, we should send those SI...
2012-04-27RSL / SI: Make sure to have correct LAPDm header in SI5/SI6 on SACCHHarald Welte1-2/+2
SI5/SI6 and other messages on SACCH need the C/R and the EA bit set in the LAPDm header. Most devices accept a broken header, but especially the Wavecom Q2686 responds with tons of RR STATUS messages if there is any invalid bit.
2012-04-19add a VTY command for activating PDCH channels (in EGPRS mode)Harald Welte1-0/+4
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-19delete dead codeHarald Welte1-220/+0
2012-04-19lchan: Refuse to activate a non-idle lchan.Holger Hans Peter Freyther1-0/+7
2012-04-19lchan: Send the ACT ACK/NACK after the Layer1 has handled act/deactHolger Hans Peter Freyther1-10/+9
Send the RSL ACT ACK/NACK after the Layer1 firmware has acked the activation/deactivation. In case the channel can not be activated we will send a NACK. In case the channel can not be deactivated we will send an ACK and the next time the channel is activated we will send a NACK. The release ack will be sent once the TxDownlink of the TCH/SDCCH is closed. Change the rsl_tx_chan_nack method to create a new msgb to be used by the hardware layer, change the return value to ask the caller to delete the msgb.
2012-04-19lchan: rsl_tx_chan_nack will re-use the msgb, do not msgb_freeHolger Hans Peter Freyther1-4/+4
Do not msgb_free the msg as it will be re-used inside the nack method and return 1 so the caller does not free the msgb. This ownership model needs some consideration but the usage of ref counts will not yield good results.
2012-04-19lchan: Fix crashes when the specified lchan can not be foundHolger Hans Peter Freyther1-4/+20
gsm_lchan_name will crash if the lchan is NULL. Introduce an error_report method that will do the right thing in the future and report the error.
2012-04-19lchan: Similar to OpenBSC use a set method to change the stateHolger Hans Peter Freyther2-1/+28
By making all modifications through lchan_set_state we can easily add code to verify the state transition.
2012-04-19common: Add the copyright text to the vty_app_infoHolger Hans Peter Freyther1-6/+7
This will make app -V print the copyright information like the other applications of our universe. An BTS integration that want to list additionaly copyright holders needs to access the vty_app_info and create a new copyright string.
2012-04-19ciphering: Better state tracking and HACK around L1 race conditionHarald Welte1-1/+2
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-12misc: Fix compiler warning about printing a ptrdiffHolger Hans Peter Freyther1-1/+1
Use 't' modifier for pointer diff in the printf statement. oml.c: In function ‘oml_rx_set_bts_attr’: oml.c:403:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘int’ [-Wformat]
2012-04-05oml: temporary debug hackHarald Welte1-1/+6