Age | Commit message (Collapse) | Author | Files | Lines |
|
This way the name of systemd service file will match the name of the
binary similar to lc15. Add aliases so the user can use both old and new
names regardless of which file is installed. Once the corresponding
changes to OE recipes are applied old file can be removed.
Based on work by Pau Espin Pedrol <pespin@sysmocom.de>
Change-Id: I08615eb625d488603aeb5962ad9f30869c0e77c5
|
|
* move BTS model name resolution into separate function
* add convenience wrappers for BTS type and number fo TRX and use then
in L1 interface
Change-Id: I4649100df8f1b8e095f210fc294567ba014c0b6a
Related: OS#1614
|
|
Make it possible to store:
* Static vs. DHCP mode
* IPv4 address
* Netmask
* GW IPv4 address
* DNS IPv4 address
Add a simple CRC8 and pick 0xFF as initial value so an all
zero EEPROM will not generate a 0 CRC. The code tries to
differentiate exit code between unreadable EEPROM and CRC error.
This is a reference to see if we want to have store it in the
EEPROM or not.
Change-Id: Id8a37fe952ef2a8ef36778729f506f900accf8d1
|
|
Change-Id: Ib98856356dc296be9e449d35479bc9234c0c4d32
|
|
Check that ctrl command was successfully allocated before using it.
Fixes: CID163884
Change-Id: Id19e1ce5fae6f936c9ed93f9a6317b57d28d7311
|
|
Send temperature reports via OML alert facility exposed by CTRL
protocol.
Change-Id: If29fbd0ab01fefc76e87b90cf1fbc81b2089ba76
Related: OS#1615
|
|
Fix the model number definition for the 1020 and add the one for 1002.
Change-Id: Iba4cfbbda1000d7e34eca614b3a6165d2feb65e1
|
|
Change-Id: I31d62d5e1f0b272985fdef5013270d385c4b988a
|
|
Instead of passing the msgb ctx to telnet_init(), pass the *mgr* ctx.
Change-Id: I213fe52648a1937d8f8c1730ce787e42f0add75f
|
|
Correct the too short padding I introduced in the commit
a55b166c6c7af79cbefe8e65fe77b2d61c634d2d. The result needs to
be 121 and not 120. Add static asserts to make sure it does
not happen again.
Change-Id: I3da7f3b8d3c8e12deb8b805cd15ff52a103d4e56
|
|
We are using up to 48 (actually only 8) bytes to manage the boot
state of the device. Add it to the eeprom reservation. It turns out
the current padding was too large (37 + 84 don't end at 120).
Change-Id: I4c1de5925577f1d0b7b5cc08529642ffa333d7de
|
|
|
|
Check the right variable for NULL.
Fixes: CID 1262214
|
|
* Print the GPS FD that was opened (e.g. to see if it was
closed again)
* Print the state changes/expectations
* Print the correct to be applied. I wondered if I shouldo do
a cor = cor * -1.. cor = -cor.. or add CLOCK_CORR(err) macro
to use it inside the printf and correction and decided the
gain is not worth the risk.
|
|
Continously run the calibration process. Everytime we call the
reset function classify the outcome. In case of a failure schedule
the next command soon and otherwise wait several hours.
Remember if the process was started through the VTY or the run
loop. In case it can't be started immediately reset and schedule
a new run.
|
|
After a reboot the system might have been off for a long time
and the currently used value might be wrong. Remember that we
never ran the calibration and execute it on start.
|
|
We should only calibrate the clock if there is a GPS fix. Start
gpsd to determine if there is a fix or not. Work around trimble
decoding issues (sent an email upstream). We need to gain some
more experience to see if there memory leaks. We also need to
re-schedule the calibration depending on the outcome.
|
|
Change the sign before passing it as correction value. The error
is the difference between the TCXO and GPS. We need to correct by
the reverse of the error. This seems to be different depending on
the clock source we have.
This is a last minute untested change.
|
|
This runs the entire procedure for calibration with reasonable
error and success checking. It can be triggered from the VTY
of the sysmobts-mgr right now.
What is missing is to hook up with GPSD to check if the system
has a fix and provide a mode that will continously run the
calibration command.
|
|
In the long run we will connect to GPSD and wait for a fix and
then run the calibration. The first step is to open (and re-open)
the control connection to the BTS.
As the connection is on localhost there should not be a computation
overhead to always have the connection open. When connecting assume
that the ASYNC connect worked directly as otherwise we get no
notification of the failure.
This looks like a "bug" of libosmo-abis that should check if the
socket has been connected or not.
|
|
Read the serial number once and format it as a string. In
case no serial number is present -1 will be returned.
Manually tested with a slightly modified version. serial_nr
was the expected one.
|
|
Add new power actions for the sysmoBTS2050. This allows to
switch off the secondary/slave when the system temperature
is too high and back on when the normal level is reached.
Do not allow to switch off the master (so remove the enum
value), do not check if the slave is switching itself off.
|
|
|
|
Instead of keeping state to remember what was done and needs
to be undone this patch introduces actions that will be executed
when the system is back to normal.
By design the system is considered to be in the normal state
and these actions will be only executed after the system is
coming back to the normal state.
One advantage of this scheme is that an operator can decide
that an overheated systems hould be off duty and requires manual
interaction to be allowed back in service.
The change has only been smoke tested
Fixes: SYS#833
|
|
Read the clock calibration from the place that will be read by
the BTS process. Use the standard eeprom code for doing that.
The code assumes that this and the other eeprom code don't
write/invlidate the others reason. If that assumption would not
be true calls to eeprom_free_resources should be added.
|
|
The command can only read integer parameters. Don't offer
buffers as this will lead to error 22.
|
|
For systems without direct access to the PA the best option
is to simply switch off the bts service. This will stop the
transmission which will take load from the DSP/FPGA/RF circuit
and indirectly from the PA as well.
We should introduce "pa-on and bts-on" that can be executed
as "normal" action.
|
|
Somebody could decide to switch off the PA in the warning level
already. Support this mode of operation. This means we could have
a config that:
* Enables the PA in the normal level
* Disables it in the critical level
With kdbus or better IPC we could even have the PA and other
parts be represented as service that talk to a bts manager and
then simply execute start/stop requests. This would make the
entire TODO entry irrelevant as state would be managed by
systemd and one can see the time the service was executed.
|
|
|
|
|
|
We can use this on both slave and master. But only have the
master switch on the PA.
|
|
The PA will be unconditionally turned. This makes it possible
that in case of a crash, the PA will be turned on and then we
will do the temperature measurement and turn it off again. There
are no known crashes with the sysmobts-mgr right now so the risk
seems to be okay. In case we can't switch off the PA we have no
way to escalate it right now. We have not seen a dead uc either
so the risk is okay as well.
We can't switch the PA back on once we reach the normal level
as the BTS might transmit with full power and we would need more
current than the power supply/rails can carry. So leave the
system off right now.
What is missing is to use the OML router to actually inform
the BSC that something bad has happened at the BTS.
|
|
|
|
|
|
Check the temperature and move between "NORMAL", "WARNING"
and "CRITICAL" state. We will only return from CRITICAL to
WARNING when the temperature has significantly changed, and
when being in state "WARNING" we enter an intermediate state
to allow an easy hysteris.
|
|
We haven't done anything with the result of the micro controller
query and querying every six hours for the temperature of the
system will not help us. We need to query the temperatures more
frequently but avoid writing to the eeprom too frequently so we
will start another timer for that.
|
|
|
|
The idea is that for different parts of the system we can define
thresholds for warning and critical (severe) temperate thresholds.
And once any of these temperatures is reached we will execute an
action. When crossing from NORMAL to WARNING or WARNING to SEVERE
we will need to apply some hysteris before switching back to the
lower level. E.g. when being SEVERE mode, at least wait until we
are below the warning level again. Besides being able to switch
off things we could start reducing the transmit power of the system
until the system is cold enough again.
No action is implemented so far, everything is varpoware!
|
|
|
|
|
|
Fix the build (provide empty stubs) when the header file is not
present.
|
|
We want to know which componets are enabled and the voltage and
current used by the components.
|
|
Read the sensors that are always present and the ones that
are only present on the sysmoBTS 2050.
|
|
|
|
Use it for the ipaccess-find response and for the sysmobts
classification code. This can be used by the vty in a second.
|
|
Initialize the ucinfo with an invalid fd to prevent writing
on fd=0 by accident.
|
|
|
|
Move the init and polling into the sysmoBTS related part. In the
future we should have _one_ temperature control.
|
|
|
|
Move the code to a separate file to keep things nicely apart
of each other.
|