aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/vty.c
AgeCommit message (Collapse)AuthorFilesLines
2018-03-17cosmetic: Move agch_queue to sub-structure of gsm_bts_role_btsHarald Welte1-15/+15
Rathert han have 11 direct members of gsm_bts_role_bts, group them into a sub-struct as ew do for other parts like interference, laod, ... Change-Id: Iefecf4b70c1b11c650913f2ae3783718ffb8a36c
2018-03-06common/vty.c: remove unused variablesVadim Yanitskiy1-2/+0
Change-Id: I289dda64228e81ca4c608121e50146a71e19f1e2
2018-03-02pcu_if: move definition PCU_SOCK_DEFAULT into pcuif_proto.hAlexander Couzens1-1/+1
PCU_SOCK_DEFAULT is defined in the pcu counterpart of the file pcuif_proto.h To be consistent with the pcu move the definition pcuif_proto.h The pcuif_proto.h will be exact the same in the pcu repo and bts repo. Change-Id: I67f8ec036e219994cc296d0ed5409da7f3ec681e
2018-02-27Add high-accuracy ToA value to Uplink Measurement ReportsHarald Welte1-0/+28
Normal Abis RSL MEasurement Results contain only the "MS Timing Offset IE" in units of full symbols. In some use cases it is important to have higher-accuracy timing information exposed to the BSC. We do this by adding the average timing offset value during the last measurement interval in 1/256th symbol accuracy to the "Supplementary MEasuremen Information" part of the TS 48.058 9.3.25 Uplink Measurements IE. In order to avoid any compatibility issues, this feature is only enabled if the new vty config command "supp-meas-info toa256" at the bts node is enabled. Change-Id: Ie85e53b47d4041cc4e6d7b78406ae8b79b2d9397
2018-02-27RACH decoding: Use BER threshold for RACH ghost detectionHarald Welte1-0/+16
When decoding RACH bursts, we should use a BER threshold in order to help distinguish 'ghost' RACH bursts from real RACH bursts. The theoretical ideal threshold according to some papers is 7 out of 41 bits qhich aquals to Eb/N0 of 0 dB = 0.1707 (17.07%) We add a new 'ber10k' parameter to the RACH indication l1sap primitive (needs separate change for libosmocore), and then fill this value from osmo-bts-{sysmo,lc15,trx,octphy}. The common part above L1SAP then applies the threshold, which can be changed from vty using the "max-ber10k-rach <0-10000>" command available at the BTS node. The unit is BER in 1/10000, i.e. a value of 100 equals 1% bit error rate. Change-Id: Ic41c11f6312a36baa2738547e8dcec80829457f8
2018-02-24BTS: add rate_ctr about CCCH (paging, agch, pch)Harald Welte1-0/+1
Change-Id: Id6c833746150a3c2e32b00ea6604669f16b84bc4
2018-02-22vty: display bts features in vty command show btsPhilipp Maier1-0/+20
The VTY command show bts does not display the bts specific features yet. - Also display the feature list in snow-bts Change-Id: I509f2a7bbfa96c70bdfea4ff2488ee371e914620
2018-02-14osmo-bts: Add talloc context introspection via VTYHarald Welte1-0/+1
This requires libosmocore with Change-Id I43fc42880b22294d83c565ae600ac65e4f38b30d or later. Change-Id: Ieed87b8109e0095a3d99c30f0b042aa3ee4b6384
2018-02-05vty: don't print "Bound IP / Port" if it isn't bound [yet]Harald Welte1-5/+7
Change-Id: I28705b56582d334d568d98a371daa6bb9ef1f625
2018-02-05Print much more information during 'show lchan'Harald Welte1-0/+31
This adds printing of remote RTP IP/Port, LAPDm SAPI information, MS Timing offset, propagation delay, encryption algorithm+state, loopback status and radio link failure counter to the "show lchan" command. It also adds TODO comments fro those bits that are not yet printed but which would make sense to print. Change-Id: Ic4bc47638b7b402aee9344dc912745a9929c37f4
2018-02-05Add 'show (bts|trx|ts|lchan)' commandsHarald Welte1-1/+402
This is more or less a 1:1 import from the BSC side commands. Having the commands on the BTS side will allow us to expose information that's not visible to the BSC [in upcoming, separate patches]. Change-Id: I2a596938849a9c84fe6fedcac5d7f71ee97af575
2018-02-05vty.c: Remove warning messagePau Espin Pedrol1-1/+0
This warning was included in commit 6d7b78bde165f39dcd9033f0c5386f5699801233 from 2011, and nowadays I only see this command used in osmo-bts, so I think we most probably drop it as it doesn't make sense anymore. Change-Id: Ie277dce00292c8f403b9a2b405efe4429e6af86a
2017-11-01vty: skip installing cmds now always installed by defaultNeels Hofmeyr1-4/+0
vty_install_default() and install_default() will soon be deprecated. Depends: I5021c64a787b63314e0f2f1cba0b8fc7bff4f09b Change-Id: I5e8e9d7989ee20fe722bdd3109965d5bce9519fb
2017-10-23vty: Print string for Administrative statePau Espin Pedrol1-2/+3
Change-Id: Ie41479958d6a57708e4b50705fd85c65f02e4527
2017-09-27vty: print version and description for each phyMax1-0/+12
When printing BTS via 'show bts ..' let's also print each TRX, which phy number and version it uses and its description. It's helpful in troubleshooting low-level issues as it allows vendor-specific code to easily expose firmware version. Related: SYS#3884 Change-Id: Iabcc862566b40a9314f3e1d17fda61d8ab24a3cd
2017-09-27Replace dead codeMax1-18/+5
* remove leftover from copy-paste of corresponding OpenBSC code * print OML link state * print paging load Change-Id: Ia5e3dc10efe2b5ab212cab1518a10d36b20b8bb2
2017-05-29vty: Remove command for manual channel activation/deactivationHarald Welte1-60/+0
OsmoBTS won't run without being connected to a BSC. The BTS wouldn't start to transmit if the BSC doesn't properly initialize it. So if we want to activate some channels manually for testing, we should do so from the BSC, and not inside the BTS code. Doing this in the BTS means that the BSC is not aware of it and might want to use that channel for something else meanwhile. Osmo{BSC,NITB} has gained ability to manually activate a channel from the VTY in Change-Id I44fc3904678eb48bd3ab1a3da8c0c265fa082e0d as can be seen at https://gerrit.osmocom.org/2759 So let's remove the old/obsoleted code here. Change-Id: I7ba0301b55cc283aa6a441899f84357e28a97321
2017-04-13octphy: display hint in case of wrongly configured transceiver numberPhilipp Maier1-0/+2
Making use of the multi-trx feature requires to tell osmo-bts that more than one transceiver are available. Otherwise it will complain that not enough transceivers are available. This can be quite confusing, even a correct config file will fail to parse if it specifies more transcrivers than available. This patch adds a hint to the error message so that the user knows that he should check the -t commandline option Change-Id: Ifbeacd9d43f7c6cd74a1e1b33288e66828fe843f
2017-04-10Handle TXT indication from OsmoPCUMax1-0/+3
* handle OML message * handle OsmoPCU version message * show stored PCU version in 'show bts ..' vty command Requires OpenBSc with I6710d53115f34634a7b70969cc05fd5c72ff8ab2. Change-Id: I16e73198501487a5b1076bf83390b85538d5af73 Related: OS#1614, 1615
2017-03-23vty: reduce code duplicationMax1-32/+6
Use libosmocore's osmo_str2lower() instead of local equivalent. Change-Id: I7faced2eaf0f6f87f06081235eea9d4c3ba71a7e
2017-02-10all models: fix vty write: bts_model_config_write_phyNeels Hofmeyr1-0/+1
The vty write for phy/inst is broken, leading to a written-out config being unparsable; fix all of these: - in common/vty.c, actually call bts_model_config_write_phy_inst(). - in sysmo and lc15 write the phy instance elements in bts_model_config_write_phy_inst() and not in bts_model_config_write_phy(), which lead to writing the members above their parent 'instance'. - sysmo, lc15 and oct omit the bts_model_config_write_phy_inst() implementation. This did not cause a compilation problem because it was in fact never called. - sysmo writes 'clock-source None' when clk_src is zero, leading to unparsable config (related: OS#1944). Instead omit the 'clock-source' when zero. - osmo-bts-trx seems to be the only part that lacks nothing, yet it also didn't work properly because bts_model_config_write_phy_inst() was never called. This problem existed since commit d784e50747b8cf0ce505489e1451f75be5ccbd4b "Introduce new phy_link and phy_instance abstraction" Change-Id: Icc54fa70045c8fa58e78cf9f788c21a437edfbd4
2016-12-16Optionally use adaptive RTP jitter bufferingMax1-6/+19
* add vty option to manually enable adaptive RTP jitter buffering (disabled by default) on per-bts level * use this setting on per-lchan level when setting jitter parameters via vty at runtime * check and log result of osmo_rtp_socket_set_param() * note: older libosmo-abis will ignore this setting which will be properly detected via return value * if jitter buffer is disabled by configuring "rtp jitter-buffer 0" than adaptive buffering is disabled as well but it will be used if jitter buffer is set to different value for a givel lchan via vty Change-Id: I489f3c419039f40b57c2ef0641c176478b8d3566
2016-12-01cosmetic: vty prompts: add space after '#'Neels Hofmeyr1-4/+4
Typically, our VTY prompts have space after the '#', but some of the osmo-bts VTY prompts don't: OsmoBTS# configure terminal OsmoBTS(config)# bts 0 OsmoBTS(bts)#gsmtap-sapi ccch Add spaces after the '#' to yield e.g. OsmoBTS(bts)# gsmtap-sapi ccch Change-Id: If0591a359e77f01abb76c4113181af7a7733ddd4
2016-11-25vty: Ensure to not use negative (error) sapi valueHarald Welte1-0/+2
Change-Id: I282311de8514c1cc0a1b716e97e90ddf48863bb4 Fixes: Coverity CID 57617 Fixes: Coverity CID 57618
2016-11-16vty: Add commands to manually activate/deactivate a channel.Alexander Chemeris1-0/+60
This is the easiest way I found to make BTS level loopback to work. Another way to implement this is to have BSC/NITB to send the OML command, but it's a longer path with no clear benefits. Note, that the current code hardcodes the channel to be TCH/F with v1 speech, which is what we need for the basic BER testing. We may want to extend this later to support more channel types. Change-Id: Ia2734afeff023e5b3d6b934c7e8b1ed95a071b72
2016-03-17Fix typo in error messageMax1-1/+1
2016-02-15make PCU socket and telnet port configurableHarald Welte1-0/+36
In some cases we'd like to run multiple instances of osmo-bts on a single machine. This is the case where we a multi-TRX PHY is to be used for several BTSs, or in case osmo-bts-trx has multple SDRs attached. This wa currently prevented by having a hard-coded PCU socket path and telnet port, which are now configurable via VTY / config file itself.
2016-02-15move auto-band configuration commands to common/vty.cHarald Welte1-0/+24
It remains up to the individual BTS hardware models to decide whether or not to register those commands (depending on whether they support the feature) via cfg_bts_auto_band_cmd / cfg_bts_no_auto_band_cmd
2016-02-15LC15/sysmobts: Don't try to refer to fl1h from PHY configHarald Welte1-0/+33
At the time the phy link / phy instance level VTY configuration commands are parsed, we did not yet call l1if_open() and thus pinst->u.{lc15,sysmobts}.hdl == NULL. PHY or PHY instance specific configuration must thus be stored inside the phy_link or phy_instance itself, and not inside the (not yet existing) handle. We solve this by moving around some parameters: * clk_use_eeprom/clk_cal/clk_src/calib_path get replicated in phy_instance * min_qual_{rach,norm} are moved into the generic part (which means that osmo-bts-octphy and osmo-bts-trx should also implement them)
2016-02-15introduce + use new generic vty_get_phy_instance()Harald Welte1-0/+20
this function is intended to be used by VTY commands that need to resolve a given PHY interface.
2016-02-15Introduce new phy_link and phy_instance abstractionHarald Welte1-1/+193
This way we can model a flexible mapping between any number of PHYs, each having multiple instances, and then map BTSs with TRXx on top of those PHYs.
2016-01-15fix some format specifiersAlexander Huemer1-2/+3
2016-01-04fix large amount of compiler warnings in common and sysmobts codeHarald Welte1-1/+3
2015-11-20cope with 'struct gsm_bts' without a tsc memberHarald Welte1-2/+2
This was introduced in openbsc.git a2bbc5ec0e6481bb5b65da7bdbde03a424437af4
2015-09-22Allow TRX 0..254 at VTY, even if less TRX are availableAndreas Eversberg1-5/+4
Instead of limiting the number of TRX at VTY to the actual number of supported TRX, VTY allows to configure any possible number of TRX. If a TRX is configured, which is not supported by BTS model, an error message is returned, which states that the given TRX is not supported.
2015-09-22Allow one or more TRX to configure via VTYAndreas Eversberg1-2/+4
2015-09-22move MS power control handling from sysmobts to common partHarald Welte1-0/+15
MS uplink power control is required in pretty much any BTS, and we cannot assume that they PHY / L1 will always take care of it by itself. So the correspondign code is moved to common/power_control.c and called from the generic part of L1SAP. The corresponding VTY paramter has been moved from the sysmobts-specific trx VTY node to the common BTS VTY node.
2015-09-22Move gsmtap VTY commands from osmo-bts-sysmo to common partAndreas Eversberg1-2/+127
2015-02-05power/sysmobts: Add a manual ms power level controlHolger Hans Peter Freyther1-0/+14
Currently the DSP is instructed to achieve a given uplink power target but there are circumstances (e.g. EMV testing) where we need more control over it. The "manual/software/osmo" power control can only be implemented per TRX and not per lchan. Add a very very basic control that checks the MS Power used by the phone, the actual receive level and then adjust the power. The code doesn't take the history into account, if the phone can not reach the requested power level the code will be stuck (e.g. no timeout based on multiframes). It has a mode for a fixed power control but no way to set it yet. The change of the mode requires a restart of the software.
2014-12-30CBCH: Implement CBCH block segmentation and RSL_MT_SMS_BC_CMDHarald Welte1-1/+14
* CBCH load indications are not yet sent * The queue length is not yet limited!
2014-08-25tx: Generate a working configuration file on "write"Holger Hans Peter Freyther1-2/+2
We do not have the vty test script to do roundtrip testing. There is no max-initinal-pout, then there was a typo inside 'initial' and for the relative step size the unit is dB/mdB. Fix both of that.
2014-08-24New generic transmit power handlingHarald Welte1-0/+82
In order to support transmit power reduction by thermal management as well as the variety of new internal / external PA configurations of BTSs, we need a slightly more complex system. Also, as at high power a single dB can be quite a big difference, we are now doing all computations in milli-dB(m), i.e. 1/10000 bel. Ramping is now used both for up and down ramping, as that is useful in cases where you want to gracefully shut down a cell by shrinking its radius, gradually handing over subscribers to neighboring cells. Furthermore, this code is becoming part of the 'common' codebase, as it is not really specific to how sysmobts is working. The user can specify a single aggregate value for external system gain/attenuation. Let's say you have 1dB loss of antenna cable, so you can put that as 'user-gain -1' into the config, which means that a 'transmit power of 20dBm' will be compensatet for that and the TRX is instructed to output 21dBm to compensate the cable loss. Similarly, external PAs can be described by a positive user-gain. One of the next steps will be to communicate those values and the nominal power capability of the specific BTS to the BSC, so the BSC will automatically show correct signal levels in the VTY and log files. The code includes provisions for future extensions regarding * an external and an internal PA with calibration tables * a thermal attenuation setting to be controlled by the site manager
2014-08-24remove copy of gsm_bts_num()Harald Welte1-15/+0
... which is now available from gsm_data_shared.[ch] of openbsc
2014-03-12misc: Fix the build breakage now that we have btsconfig.hHolger Hans Peter Freyther1-0/+2
Include the btsconfig.h for the PACKAGE_VERSION variable.
2014-03-10agch: Add VTY queue management configurationJacob Erlbeck1-0/+43
This patch adds the following VTY commands to tune AGCH queue handling: agch-queue-management default agch-queue-management threshold THRES low LOW high HIGH Examples: agch-queue-management default Resets queue management to default parameters. agch-queue-management threshold 0 low 25 high 75 Start dropping at 25%, drop all messages above 75% queue length (relative to max queue length corresponding to T3126). Between low and high, drop with a probability interpolated linearly between 0 (low) and 1 (high). agch-queue-management threshold 50 low 0 high 0 Start dropping at 50% and continue until all IMM.ASS.REJ have been removed from the front (output) of the queue Sponsored-by: On-Waves ehf
2014-03-10agch: Add simple countersJacob Erlbeck1-0/+8
Counters are added for the following events (use VTY show to query): - Dropped IMMEDIATE ASSIGN REJECT messages - Merged IMMEDIATE ASSIGN REJECT messages - Rejected AGCH messages - Use of PCH (non-reserved) for AGCH messages - Use of AGCH (reserved) for AGCH messages Sponsored-by: On-Waves ehf
2014-02-24Revert "bts/vty: Use new vty_install_default() function, adjust prompts"Holger Hans Peter Freyther1-4/+35
This reverts commit bbfd21a36cdd10c3b8d83a329042d9ebfb4c5250.
2014-02-22bts/vty: Use new vty_install_default() function, adjust promptsJacob Erlbeck1-35/+4
This patch removes the local 'end' and 'exit' implementations (which aren't used anyway) and uses the generic ones provided by libosmocore instead, which are enabled automatically when vty_install_default() is used. The prompt strings are modified to match those in libosmocore/openbsc. Ticket: OW#952 Sponsored-by: On-Waves ehf
2013-02-04Deprecate the "rtp bind-ip" configuration directiveHarald Welte1-10/+3
Instead of explicitly having to specify the local IP address for RTP sockets in the BTS, we just use "0.0.0.0" instead, which gets translated to INADDR_ANY. We still accept the configuration directive in old config files, but when we write, the line will no longer be re-written to the file. TODO: IMHO, the IPA RSL CRCX/MDCX actually permit the BSC to specify the IP address on the BTS side, and we probably simply ignore this at this point.
2013-01-13paging: De-duplicate paging lifetime and max queue length variablesDaniel Willmann1-10/+6
These attributes are saved in paging_state, we don't need to save them a second time in struct gsm_bts_role_bts. Add get and set methods for these attributes and use them consitently in the VTY code.