Commit Graph
177 Commits
Author SHA1 Message Date
Robert Schmidt 05d393a399 Encapsulate cmake asn1c call, suppress useless output
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-09 14:35:29 +00:00
Cedric Roux 18e59d3c2e lte: switch to RRC release 16.13.0
A COTS UE is sending UE capabilities with accessStratumRelease "rel16"
which is not decoded by our RRC. Switching to RRC 16.13.0 lets our RRC
accept these capabilities (and as a positive side effect lets this
particular UE work nicely in NSA fr1).
2023-11-24 12:32:48 +01:00
Robert Schmidt fdb2abebd0 Add cmake option to select asn1c, and test asn1c parameters
CMake now takes the option ASN1C_EXEC to select an asn1c to use for
compilation. For instance, run with
cmake .. -GNinja -DASN1C_EXEC=/opt/asn1c/bin/asn1c
or
./build_oai --cmake-opt -DASN1C_EXEC=/opt/asn1c/bin/asn1c
to select the alternative asn1c. For instance, this is important for the
CI to allow to build multiple versions of OAI in parallel that might use
different commits of OAI.

Further, this patch introduces functionality to check for the support of
asn1c options that we require, and alerts the user if they are missing,
alongside a message of how to resolve the problem.
2023-06-02 10:42:02 +02:00
Cedric Roux c0c3a737ed asn1c: use better version of asn1c
We don't work much on asn1c. The version we use has several bugs.
There is an active community out there that fixes bugs and improves
asn1c. Let's use their version.
2023-06-01 18:26:00 +02:00
mir c9012298de OSA SECU harmonization 2023-05-26 12:35:33 +02:00
Robert Schmidt 5ee44e015a Merge remote-tracking branch 'origin/simplify-pdu-session-management' into integration_2023_w18b 2023-05-05 18:20:58 +02:00
laurent b339460666 cleanup only 2023-04-28 16:25:24 +02:00
laurent 84fa481e72 remove pdu session duplicated structs 2023-04-28 15:55:12 +02:00
francescomani 3ca0f39088 new round of clang warning fixes 2023-04-07 15:52:16 +02:00
Robert Schmidt f97d002ca6 Merge remote-tracking branch 'origin/feat-603-bands-greater-64' into integration_2023_w11b 2023-03-18 11:43:45 +01:00
Weskley Vinicius Fernandes Mauricio fefa0bfea7 Implementing bands greater than 64 in the code, feature #603 2023-03-16 09:57:52 -03:00
francescomani 931cf0a868 more review fixes 2023-03-09 19:10:39 +01:00
francescomani 2385bc364a fixing most warning when compiling nr-softmodem 2023-03-09 19:01:46 +01:00
Robert Schmidt 6cd72e4e7d Create INTERFACE libraries to link to RRC ASN.1 target with headers only 2023-03-06 20:05:38 +01:00
laurent d3d76080f7 minor fixes 2023-02-15 13:50:44 +01:00
laurent b74ba0fb92 cleaning only 2023-01-19 14:52:39 +01:00
laurent 9a789dbb8a ASN_SEQUENCE_ADD return code was checked only in 0.5% of calls, existing errors not detected by sanitize address 2023-01-11 09:59:39 +01:00
Robert Schmidt 6ecf3db1e5 Merge remote-tracking branch 'origin/move_user_execs' into integration_2022_wk50 2022-12-15 16:17:29 +01:00
laurent 75a18c33cd change name of single var that may be corenetwork ue id or RAN rnti 2022-12-14 15:46:53 +01:00
Anurag Asokan 215bb1b02c Moving to execuatbles (incorporating comments) 2022-12-13 09:21:01 +01:00
Robert Schmidt 09b4c65782 Generate and build LTE RRC ASN.1 during build time 2022-12-02 15:43:05 +01:00
Robert Schmidt 0b91791f67 Use (std) bool instead of custom bool types
OAI is riddled with boolean_t, FALSE, TRUE, etc. This makes no sense, as
there is a standard bool type, and could lead to nasty bugs if a
definition of a bool is non-standard (0 == false, true == !false). This
commit removes all non-standard bools in the whole project.
2022-06-27 10:07:48 +02:00
Raymond Knopp 83d40a9b7c Add missing parameter preambleTransMax_CE_rel13
To SIB2 and its passing to RRC. Parameter was read but not transfered
before. Basic LTE-M functionality should ok on develop branch with this
fix. Tested with uBlox SARA-R4 (QCOM chipset)
2022-05-30 16:19:35 +02:00
Raphael Defosseux 426ded6e31 fix(build): fix warnings on circular dependency
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-30 16:42:12 +02:00
Robert Schmidt d8209228e7 Hide warning of unused variable
From the comment above the line with the warning:
> This asn1cCalloc leaks memory but also masks a bug.
> If we delete this asn1cCalloc statement, eNB will crash in NSA mode.
> Please don't delete the following line unless the bug has been found
2022-03-07 23:24:50 +01:00
Melissa Elkadi abbcbe6aa5 Adding fixes for MR from review
These include:
- Simplifying VNF code.
- Adding comments to several areas of the code.
- Using free_and_zero macros
- Fixing spelling errors
2022-02-22 09:16:59 -08:00
Melissa Elkadi 679816c3c1 Added comment around asn1cCalloc memory leak 2022-02-15 15:05:04 -08:00
Melissa Elkadi 39d9febc0c Hardcoding TI and UL_CQI in stub function.
Also, the allocation of the eNB measurement
report keeps getting commented out becasue
the compiler throws an error. I have un-commented
the allocation of memory (becasue it breaks NSA
mode) and added a memset to ensure we are using
the allocated memory. This gets rid of the
warning and ensures NSA mode still works.
2022-02-15 08:39:55 -08:00
rmagueta af56207fdf Fix after merge 2022-01-08 13:19:41 +00:00
Robert Schmidt 6c823168fe Merge remote-tracking branch 'origin/episys-merge-nsa' into integration_2021_wk51_d 2021-12-24 10:13:27 +01:00
Laurent THOMAS 66073d50fc merge develop 2021-11-15 10:25:52 +01:00
Melissa Elkadi 046258f1ba Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-09 15:17:58 -08:00
Laurent THOMAS e3f9fd6b01 code cleanup, no feature 2021-10-24 14:47:24 +02:00
Laurent THOMAS c739058c5b enhanced macros for asn1c 2021-09-28 11:38:59 +02:00
Laurent THOMAS 57aed7ea9b fix memory error in do_nrMeasurementReport 2021-09-27 18:11:55 +02:00
Melissa Elkadi 70be674227 Code clean up part 2.
This commit continues to clean up the reminader
of the changed files in the merge req 1274.
The changes include log updates, comment removals,
etc.
2021-09-23 14:19:55 -07:00
Melissa Elkadi 1b49e7e2ef Additions to get UE connected to EPC 2021-08-25 12:10:12 -07:00
Michael Cook d768522466 Be more careful about buffer sizes 2021-08-23 21:06:09 +00:00
Melissa Elkadi 3a51e7c352 Successfully encoding meas report! Woohoo!
However, when we free after we encode, fsanitize isnt happy.
Need to clean that up. Also, found an actual bug in LTE.
For the random value issue from fall 2020, we added a fix.
This fix uses ctxt and we were getting ctxt properly.
Lastly, we allocated some memory in processing of the
NR Meas report in the eNB.
2021-08-12 13:21:58 -07:00
Melissa Elkadi 9b16c1d860 Merge branch 'eurecom-develop' into episys/merge_nsa_w_develop
At this point we are successfully able to build.
Additionally, we can run the scenario,
however, it does not pass. It seems that the gNB
is not connecting to the proxy correctly. Just
wanted to push the progress so far. FYI, the items
that had to be changed to correct the linking issues
were the following:

 - mac_rrc_data_ind_ue vs. nr_mac_rrc_data_ind_ue
 - rrc_data_req vs. nr_rrc_data_req
 - mac_rrc_data_req_ue vs. nr_mac_rrc_data_req_ue
 - rrc_data_req_ue vs. rrc_data_req_nr_ue
 - rrc_data_req vs. nr_rrc_data_req

The listed functions should be declard in the LTE/NR
UE directory depending on the functionality. Several
were mixed. i.e.: LTE functions being called in NR UE.

Also, removing siWindowLength, siWindowLength_int,
SIBType, SIBPeriod, and siPeriod_int from the NR UE RRC.
These variable were not used in the NR UE and are defined
for LTE only.

Lastly, in the NR_IF_Module.c of the NR UE, the global
variable def_dci_pdu_rel15 is not accessible. Need to
revisit this. For not it is commented out.
2021-08-11 10:23:42 -07:00
Melissa Elkadi caa3e034b6 Have completed full NSA procedure once.
At the moment, the NSA mode worked once, but shows
unpredictable behavior. Other times it does not work.
In this commit I added several LOG_A messages for NSA
mode. Also removed old comments that were added during
development. Lastly, more comments for all the hacks
have been added.
2021-05-21 11:53:35 -07:00
Melissa Elkadi 30c92c1a22 Debugging why NR elements of RRC_complete arent seen at eNB 2021-05-20 16:38:02 -07:00
Melissa Elkadi e2c0bd52f0 Successfully encoding RRC_Complete in LTE UE
The eNB may only check for RRC_Complete in EPC
mode. Need to look at this further. Updated how
we pass the RRC_Complete msg from NR UE to LTE UE.
Need to still handle transaction_id from dl_dcch_msg
in the LTE UE and trans_id from nr_dl_msg.
2021-05-20 15:04:33 -07:00
Melissa Elkadi 4129f8c6c9 Attempting to send RRCComplete message to eNB
It is seg faulting at the moment.
2021-05-19 16:42:22 -07:00
Melissa Elkadi 02928ec2b2 Passing RRCConfigComplete to LTE UE success!
However, the NR UE is crashing because it is receiving
a second RRCReconfig message from the LTE UE and it is
having trouble decoding it. Need to understand this.
2021-05-19 15:38:05 -07:00
Melissa Elkadi 9009124223 Handling UE_capability_enquiry at NR UE
Now, we are able to fill the UE_Capability_Info that
the LTE UE and eNB are expecting. We then are able to
generate a RRC_DCCH_DATA_COPY_IND to trigger the
processing of the UE_Capability_Info (and sending the
info to the eNB). The info being received at eNB has not
been tested yet.
Also some code clean up.
2021-05-10 11:06:45 -07:00
Melissa Elkadi 5f2d246a8c Added comments and cleaned up the code.
The encode is still  working but now we need to
add in some new functionality to handle NR Capabilites.
2021-05-08 14:52:08 -07:00
Melissa Elkadi 56f2203b1d WIP: Encoding is succeeding. Hacked phy_id. 2021-05-08 09:30:55 -07:00
Melissa Elkadi 997c2e07ad Added rsrp/q back into report. ASN debug on. 2021-05-07 15:19:55 -07:00
Melissa Elkadi 1f3b397043 do_nrMeasReport updated for elements eNB expects
Also updated the generate_nrMeasReport().
The uper_encode_to_buffer is still not working.
2021-05-06 16:54:01 -07:00