aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/abis_nm.c
AgeCommit message (Collapse)AuthorFilesLines
2010-04-12abis_nm: Fix ACTIVATE SW parametersSylvain Munaut1-12/+49
The previous code only sent the FILE_ID tag data part, but according to the GSM 12.21 spec, section 8.3.6, the full SW Description 'object' must be sent so that includes the NM_ATT_SW_DESCR tag, the whole FILE_ID and the whole FILE_VERSION (including tags & length fields). Note that functionnaly on a nanoBTS 139 I couldn't see any difference ... whatever I send in there it works ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-03-29[misc] Remove whitespace from the end of the line.Holger Hans Peter Freyther1-13/+13
2010-03-25increase the use of 'struct value_string' in abis_nm and gsm_dataHarald Welte1-164/+131
2010-03-22Create new gprs-conf branch with the non-SGSN part of the gprs branchHarald Welte1-12/+10
This new gprs-conf branch is intended to contain everything needed to configure GPRS in the nanoBTS, but without implementing the SGSN/GGSN functionality. The SGSN/GGSN development will happen in a branch based on this branch called "gprs-sgsn"
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-3/+3
This library is intended to collect all generic/common funcitionality of all Osmocom.org projects, including OpenBSC but also OsmocomBB The library currently includes the following modules: bitvec, comp128, gsm_utils, msgb, select, signal, statistics, talloc, timer, tlv_parse, linuxlist msgb allocation error debugging had to be temporarily disabled as it depends on 'debug.c' functionality which at the moment remains in OpenBSC
2010-01-10[OML] parse attributes depending on BTS typeHarald Welte1-81/+12
Some NM attributes are defined differently depending on the BTS type. Having one big nm_att_tlvdef[] table for all BTS types is no longer sufficient. This patch * introduces 'struct gsm_bts_model' to describe a BTS model * adds definitions of gsm_bts_model for BS-11 and nanoBTS * changes the abis_nm_tlv_parse() function: include a bts pointer
2010-01-07bis_nm_ipaccess_set_nvattr() executes on a TRX, not a BTSHarald Welte1-3/+3
2010-01-07[abis_nm] Add abis_nm_bs11_set_pll function to change the set/work valueDaniel Willmann1-0/+21
Whether this function changes the set or the work value depends on your type of login. In FACTORY login it changes the set value, in FIELD login it changes the work value (which is what is used by the BS11 to tune the frequency).
2010-01-07[abis_nm] Add abis_nm_bs11_infield_logon to logon as user fieldDaniel Willmann1-0/+5
As this user you are able to set the PLL work value which is especially useful if your BS11 got detuned by an inaccurate oscillator in your E1 card.
2010-01-07[abis_nm] Add generic abis_nm_bs11_logon functionDaniel Willmann1-5/+8
Factoring out common logon functionality will allow us to logon as different user. abis_nm_bs11_factory_logon now uses this function.
2010-01-07abis_nm: Consider a STATE CHG without avail_status as an empty avail_statusSylvain Munaut1-1/+2
At least some nanoBTS 139 send the last even (going online) as 'enabled' 'unlocked' but no avail status IE (which I guess mean an empty set, the doc 12.21 isn't that clear about that). Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-01-03abis_nm: Introduce & use a nm_is_running function to test gsm_nm_stateSylvain Munaut1-0/+7
This returns true if the gsm_nm_state can be considered 'running'. Note that we also accept availability==0xff (which is a code for no value) because according to 12.21 it is perfectly valid. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-31[misc] Utilize rf_locking by setting the nm_state.administrativeHolger Hans Peter Freyther1-3/+8
* On start the vty code will call the abis_nm method and this will set the administrative state to unlock/lock * During startup the BTS will report its state as well and would possible overwrite the set administrative. We are only going to update the administrative if it was 0 before. This appears to work on all of my tests. In case this will not be the case for others we will have to split the administrative into two sets one for the BTS and one for the BSC.
2009-12-30[abis] Refactor sw descr generation to a new methodsHolger Hans Peter Freyther1-25/+18
* This is used in sw_load_init and sw_load_end and both needs to be touche for every BTS. Move it into a common method. * This was only verified on the nanoBTS.
2009-12-30[abis] Dispatch a IPAC restart ACK/NACK signalHolger Hans Peter Freyther1-0/+6
* Add the NACK version to the list * Dispatch the signal when we receive the message * Handle it in ipaccess-config by exiting the application
2009-12-30[ipaccess] Restart only after setting the OML IP, software loadHolger Hans Peter Freyther1-2/+7
* Do not issue the restart right aways if we have OML IP or software load in the queue (hint, we need a real queue of operations to carry out... with one big state machine) * Change the signal_data of ipacc ACK/NACK to contain the msg type and the bts pointer. * Issue a restart for software load and OML and use the BTS pointer we got out of the new signal data.
2009-12-30[abis] Add ACK signal and send it on SET NVATTR ACKHolger Hans Peter Freyther1-0/+3
* Add the signal definition to signal.h * Dispatch the signal from abis_nm.c * Handle it in ipaccess-config.c and say we are done with work
2009-12-28[ipaccess] Handle LoadAbort coming from the BTS.Holger Hans Peter Freyther1-0/+6
* Be bale to abort the load when the BTS is rejecting the file..
2009-12-28[abis] Set rc to 0 to avoid running into a warning about unknown statesHolger Hans Peter Freyther1-0/+1
When we have received the End Ack we are just doing nothing as we are done. This means rc remains -1 and we will print a warning but there is no need to have a warning...
2009-12-28[ipacess] Implement sw_load_end for the nanoBTSHolger Hans Peter Freyther1-4/+12
* This should be shared with the sw_load_init routines as it is the about the same.
2009-12-28[ipaccess] Properly increment the segs_in_windowHolger Hans Peter Freyther1-0/+1
Somehow this should be done in the fill method..
2009-12-28[ipaccess] No need to use fdopen for the file (that was leaked too)Holger Hans Peter Freyther1-7/+4
2009-12-28[ipaccess] Implement the Load Segment messages...Holger Hans Peter Freyther1-0/+16
2009-12-28[abis] Warn if sw_load_segment is not implemented for the given bts typeHolger Hans Peter Freyther1-0/+1
2009-12-28[ipaccess] Send the correct Software Load Init for the ipaccess BTSHolger Hans Peter Freyther1-9/+38
* The FOM header needs to be different. We need to address the base station transceiver, bts, trx set to 0 and ts to 255 * We need to transfer the the \0 of 'id' and 'version' * We need to issue a NM_ATT_SW_DESCR (just the value) * We need to use 16bit length for the other two ids.. * After this our Software Load Init is getting an Ack.
2009-12-28[ipaccess] Verify the SDP header before flashingHolger Hans Peter Freyther1-1/+49
Print a big fat warning that we do not carefully check the firmware as the format is not known and that flashing could be dangerous..
2009-12-24[logging] differentiate DEBUG, NOTICE and ERROR log levels in NM and RSLHarald Welte1-15/+13
2009-12-24use enum for operational stateHarald Welte1-3/+3
2009-12-23[sw_load] It turns out there is a header that needs to be readHolger Hans Peter Freyther1-2/+10
The magic " SDP" is occuring twice in the file. The first time seems to be the file header and the second time it is with the payload. We will need to parse this somehow...
2009-12-23[sw_load] For the nanoBTS just open the firmwareHolger Hans Peter Freyther1-0/+11
* The two version strings are not in an easy to parse header and from my trace it appears like the whole file is sent to the BTS. So just open the firmware file..
2009-12-21[abis] Do not access an array with N elements at index NHolger Hans Peter Freyther1-3/+3
Possible crash fixes by preventing accessing the array out of bounds.
2009-12-21[abis] Properly compare obj_inst->trx_nr to bts->num_trxHolger Hans Peter Freyther1-2/+2
* Use >= in this case as we start counting the trx from 0 * This is fixing a problem with multi trx config
2009-12-17logging: introduce log levels at caller siteHarald Welte1-8/+8
This introduces a new LOGP() macro together with LOGL_* definition to support multiple log levels (severities) throughout the codebase. Please note that the actual logging system does not use them yet, in this patch we simply introduce the new macros at the caller site.
2009-12-06remove execute permission from abis_nm.cHarald Welte1-0/+0
2009-12-02ip.access: add nanoBTS channel combination constraintsHarald Welte1-1/+79
2009-11-24[vty] Add option to disable RF on a given TRX.Holger Hans Peter Freyther1-0/+13
- Make sure that on runtime the Radio Carrier can be locked and unlocked. The vty code calls into the Abis NM to lock/unlock the channel and the state is stored there. - Make sure that on start the Radio Carries remains offline and we are not starting it. On start the radio carrier is either locked or unlocked. This means the RSL will not connect until the RF is unlocked. It will connect then. To see RSL bringup failures one needs to parse the RSL nack message. - When the TRX is locked on startup the RSL link will only be established after it will be unlocked.
2009-11-17[abis_nm] avoid integer-to-pointer casting and associated gcc warningsHarald Welte1-2/+2
2009-11-13[OML] don't hexdump bcch infoHarald Welte1-2/+0
2009-11-13[OML] fix bugs in BCCH info parser for ip.accessHarald Welte1-3/+5
2009-11-13[OML] more verbose error reporting in case object instance unknownHarald Welte1-7/+21
2009-11-13[ip.access] Parse cell global ID as part of BCCH infoHarald Welte1-2/+21
2009-11-12ip.access: Introduce parser function for BCCH Info test resultHarald Welte1-0/+102
2009-10-27abis_nm.c: Remove duplicate entry from the tableHolger Hans Peter Freyther1-1/+0
2009-10-24[GPRS] introudce PDCH and PDCH/TCH physical channelsHarald Welte1-0/+2
GPRS needs PDCH (Packet Data Channels), and we need support in our data model as well as OML and RSL for it
2009-10-24[OML] Add support for ip.access SET ATTRIBUTE messageHarald Welte1-0/+9
Since TS 12.21 implements only SET ATTRIBUTE for some object classes, ip.access had to extend it to be able to set attributes on arbitrary objects. We now introduce a function implementing that message.
2009-10-24[GPRS] add data structures for OML of NSE,CELL,NSVCEHarald Welte1-0/+22
Supporting GPRS means we have a number of additional OML objects to deal with. We need to extend our gsm_bts structure to at least include the nm_state for each of those objects.
2009-10-22Fix compiler warning. 0 does not work on stringsHolger Hans Peter Freyther1-1/+1
2009-10-20[abis_nm] introduce debugp_foh() function for object class printingHarald Welte1-15/+17
2009-10-19[abis_nm] print ip.access TCP port in correct byte orderHarald Welte1-1/+1
2009-10-19[abis_nm] print ip.access stream_id in RSL connect ackHarald Welte1-0/+3