Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
The method was not returning anything and the callers did not use
the result. Change it to void for now.
|
|
The rsl.c code was calling the paging request with a const pointer,
change the signature to make the code const.
|
|
Address the compiler warning and truncate the value by hand.
|
|
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.
|
|
This is mainly as OpenBSC is adjusting the amount of paging commands it
sends based on this magic value 0xffff.
|
|
This is required for CPUs < armv6, to access 16 and 32 values at right
memory locations.
|
|
|
|
... as jolly correctly pointed out.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Use "-P -M" to enable PCU and direct access.
|
|
|
|
The client (PCU) can check if it is compiled with a different version.
|
|
|
|
Thanks to Andreas for spotting this.
|
|
|
|
A special command line option "-P" is used to enable socket interface
and signal available GPRS MO object to BSC.
|
|
During init process, signals might be sent. PCU receives these signals and
requires that BTS instance is already in the list.
|
|
|
|
|
|
This is required for PCU to send IMMEDIATE ASSIGNMENT messages on PCH.
A message in a paging record is sent only once.
|
|
|
|
The paging needs to expire when the expiration time is smaller
than the current time.
|
|
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.
|
|
|
|
|
|
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.
|
|
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
|
|
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.
|
|
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...
|
|
|
|
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.
|
|
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.
|
|
In case we have neighbor cells in different bands, we should send those
SI...
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
By making all modifications through lchan_set_state we can easily
add code to verify the state transition.
|
|
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.
|
|
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.
|
|
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]
|
|
|