aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/misc
AgeCommit message (Collapse)AuthorFilesLines
2015-01-10sysmobts: Check mgr->calib.bts_conn for NULLHolger Hans Peter Freyther1-1/+1
Check the right variable for NULL. Fixes: CID 1262214
2015-01-10sysmobts: Improve some log messages for calib controlHolger Hans Peter Freyther1-2/+11
* 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.
2015-01-09sysmobts: Create a calibration loop that will be runHolger Hans Peter Freyther2-21/+64
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.
2015-01-09sysmobts: Start the calibration the first time the link is upHolger Hans Peter Freyther2-0/+13
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.
2015-01-09sysmobts: Initial version to use libgps to determine FIX stateHolger Hans Peter Freyther2-2/+113
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.
2015-01-09sysmobts: The correction for GPS is in the reverse directionHolger Hans Peter Freyther1-3/+18
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.
2015-01-09sysmobts: Use the ctrl interface for calibrationHolger Hans Peter Freyther3-4/+260
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.
2015-01-09sysmobts: Begin with calib control from the sysmobts managerHolger Hans Peter Freyther4-0/+152
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.
2014-12-26sysmobts: Include the serial number in the find responseHolger Hans Peter Freyther1-1/+10
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.
2014-12-16sysmobts: Add slave on/off action for the sysmoBTS2050Holger Hans Peter Freyther5-10/+97
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.
2014-12-16sysmobts: Comment out the varpoware options that are not implementedHolger Hans Peter Freyther1-0/+4
2014-12-16sysmobts: Add "normal" actions to executeHolger Hans Peter Freyther3-10/+113
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
2014-12-16sysmobts: Read the clock calibration from another placeHolger Hans Peter Freyther3-9/+39
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.
2014-12-16sysmobts: Don't list non integer parameters in the helpHolger Hans Peter Freyther3-2/+23
The command can only read integer parameters. Don't offer buffers as this will lead to error 22.
2014-12-12sysmobts: Add an option to stop the systemd sysmobts.serviceHolger Hans Peter Freyther3-0/+34
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.
2014-12-12sysmobts: Actions can be executed in all levelsHolger Hans Peter Freyther1-20/+25
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.
2014-11-10sysmobts: Call the routine send and receive instead of getHolger Hans Peter Freyther1-4/+4
2014-08-24use libocmocore #defines for VTY port numbersHarald Welte1-1/+2
2014-08-22sysmobts: Use the uc connection on both slave and masterHolger Hans Peter Freyther3-6/+11
We can use this on both slave and master. But only have the master switch on the PA.
2014-08-21sysmobts: Enable the PA on start and disable it as first actionHolger Hans Peter Freyther5-6/+66
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.
2014-08-21sysmobts: Show the current temperature controls state int he VTYHolger Hans Peter Freyther3-0/+8
2014-08-21sysmobts: Provide information about the state transitionsHolger Hans Peter Freyther1-0/+12
2014-08-21sysmobts: Implement a small state machine for temp controlHolger Hans Peter Freyther5-6/+204
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.
2014-08-21sysmobts: Remove the sbt2050 timer and move defines backHolger Hans Peter Freyther3-19/+6
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.
2014-08-21sysmobts: Simplify some includes/dependenciesHolger Hans Peter Freyther3-19/+1
2014-08-21sysmobts: Begin to add various limits and actionsHolger Hans Peter Freyther3-13/+275
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!
2014-08-21sysmobts: Fix the temperature log message alignmentHolger Hans Peter Freyther1-1/+1
2014-08-21sysmobts: Move ipaccess-find counterpart to a dedicated source fileHolger Hans Peter Freyther4-144/+210
2014-08-21sysmobts: Fix the build when no 2050 uc header file was foundHolger Hans Peter Freyther1-0/+14
Fix the build (provide empty stubs) when the header file is not present.
2014-08-21sysmobts: Fix the power request resultHolger Hans Peter Freyther3-25/+63
We want to know which componets are enabled and the voltage and current used by the components.
2014-08-21sysmobts: Read the temperature sensors on the deviceHolger Hans Peter Freyther1-0/+16
Read the sensors that are always present and the ones that are only present on the sysmoBTS 2050.
2014-08-21sysmobts: Add is_sbts2050_masterHolger Hans Peter Freyther3-4/+11
2014-08-21sysmobts: Read the model number and trx once from the deviceHolger Hans Peter Freyther3-21/+43
Use it for the ipaccess-find response and for the sysmobts classification code. This can be used by the vty in a second.
2014-08-21sysmobts: Initialize fd with an invalid fdHolger Hans Peter Freyther1-1/+2
Initialize the ucinfo with an invalid fd to prevent writing on fd=0 by accident.
2014-08-21sysmobts: Use another logp region as it is mostly related to rempHolger Hans Peter Freyther1-3/+3
2014-08-21sysmobts: There is only one uc make it a singletonHolger Hans Peter Freyther3-74/+76
Move the init and polling into the sysmoBTS related part. In the future we should have _one_ temperature control.
2014-08-21sysmobts: Clean-up the parsing routinesHolger Hans Peter Freyther2-40/+38
2014-08-21sysmobts: Move the sysmoBTS 2050 controller handlingHolger Hans Peter Freyther3-260/+285
Move the code to a separate file to keep things nicely apart of each other.
2014-08-21sysmobts: Add VTY support to the sysmobts-mgrHolger Hans Peter Freyther3-1/+166
Add VTY support to the manager. This way we can interactively inspect the state of the system and trigger events.
2014-07-25sysmobts: Include the model and master/slave in the unitidHolger Hans Peter Freyther1-0/+31
Make it more easy to find the right BTS model and know what is the master/slave.
2014-05-30sysmobts: Fix the initialization of the BTS manager codeHolger Hans Peter Freyther1-8/+8
The code should only run for the sysmoBTS 2050 and TRX 0. If the device is not marked as 2050 the code would attempt to open /dev/ttyS0 and block forever.
2014-05-25sysmobts: Revert all sysmobts-mgr related changesHolger Hans Peter Freyther5-607/+2
Harald is right and that the code is generally not ready for inclusion. I fell victim of trying to finish it while the code is not ready at all. It is better to re-introduce the patches in a smaller and more tested way. The right way would have been a branch were ready things are split-off the main/wip commit until everything is ready. Revert "sysmobts: Have a common prefix for the enum" This reverts commit 44980347f308fe5bbe48a933dbc81b82b53d310a. Revert "utils: Used the enum manuf_type_id in the parameter of add_manufacturer_id_label" This reverts commit 7d36e5ed46b630203167fc9d5d28e0087fdbd394. Revert "utils: Classify the OML message using the return type" This reverts commit afee0b7929a00500f9c204f3bc7e12f72451e832. Revert "sysmobts: Do not access out of bound string" This reverts commit f5f41e805195c8c3294a9e6a68b10f975fbabbbd. Revert "sysmobts: Separate IPA and OML check into two methods" This reverts commit 13a224063dfcee0be529fba1c8fb9be9c1fb261e. Revert "screenrc: osmobts-mgr now needs a config file" This reverts commit 0a1699ff8a5462c167c24e8b28186abb26331698. Revert "make sure osmobts-mgr.cfg file is included in tarballs" This reverts commit 14c60b425f8146f6a392d2d3de2979c817cd975e. Revert "sysmobts-mgr: Add VTY support for configuring it" This reverts commit c5fedd24c96a4ef6d7a0c0ed3c70d6ef0abd5c17. Revert "sysmobts: Add beginnings of an OML router and create Failure Messages in the sysmobts-manager" This reverts commit c6ab90b27006ff2d1fdfb0b1d7fc01e1dd4a696d.
2014-05-20sysmobts: Have a common prefix for the enumHolger Hans Peter Freyther1-1/+1
Make the manuf_type_id enum have a common prefix for the symbols.
2014-05-19Revert "sysmobts: Add support for changing the transmit power in sbts2050"Harald Welte4-110/+10
This reverts commit c64d42573894d8295b58b268a64541c914b69bcd. There are unfrtunately still too many problems with this patch to be merged at this point.
2014-05-18sysmobts: Add support for changing the transmit power in sbts2050Álvaro Neira Ayuso4-10/+110
Make the sysmobts-mgr send a manufacturer O&M message with the power reduction we want the sysmobts to apply. The sysmobts will handle this message and set the new tx output power. An ACK/NACK will be send as a response to the power reduction. Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
2014-05-18sysmobts-mgr: Add VTY support for configuring itÁlvaro Neira Ayuso3-2/+340
This patch allows to configure the warning temperature threshold, the severe temperature threshold of the board and the PA and the actions like the relative value power that we want to reduce the transmit power to and the part that we want to switch off or not. Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
2014-05-18sysmobts: Add beginnings of an OML router and create Failure Messages in the ↵Álvaro Neira Ayuso4-1/+268
sysmobts-manager Make the sysmobts listen for OML messages on a Unix Domain Socket. Messages passing a sanity check will be forwarded to the BSC. In case the sysmobts-mgr detects a temperature above or below temperature threshold an OML failure message will be sent to the BTS. [moved confinfo into the #ifdef BUILD_SBTS2050] Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
2014-03-16misc/sysmobts_misc: function for switching off/on and requesting status powerÁlvaro Neira Ayuso2-0/+103
I have extended the principal function that we use for requesting information to the microcontroller for switching off/on the board and the PA. And I have extended it for requesting the power status information of the board and the PA. Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
2014-03-12misc/sysmobts_mgr: Added new header created in the configureÁlvaro Neira Ayuso1-0/+1
Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
2014-03-12misc/sysmobts_misc.c: Read temperature from microcontrollerÁlvaro Neira Ayuso3-0/+243
Add function for requesting the temperature information to the microcontroller. I have added a function that we can extend for requesting more information but in this case we only need to know the temperature. I have added to a microcontroller temperature handling function in the manager for monitoring this information. Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>