Francisco
3265d940ec
remove byte buffer pool cached member variables as they are unnecessary now.
4 years ago
Francisco
0c7c317be5
refactor byte_buffer class and move it to separate file
4 years ago
faluco
5981469f9f
Upgrade loggers in srsue ( #2163 )
...
* Replaced UE logger in the ue class.
* Replaced loggers in the main phy class and prach.
* Replaced loggers in phy common and ta_control.
* Replace loggers in cc and sf workers.
* Replaced loggers in intra_measure, scell_recv, search, sfn_sync, sync.
* Remove last uses of the old loggers in the main phy class.
* Remove stray newline in logs.
* Replaced loggers in ue gw.
* - Started to replace loggers in the ue stack.
- Replaced loggers in usim and pcsc.
- Adapted nas and usim tests.
* Replace loggers in nas.
* Added missing log init calls in two previously modified tests.
* Replaced logger in nas idle procs.
* Replaced loggers in nas emm state.
* Replaced loggers in tft packet filter and adapted tft test.
* Replaced loggers in main RRC class.
* Replaced loggers in RRC cell.
* Replaced loggers in RRC meas.
* Replaced loggers in rrc procedures.
* Started logger replacement in MAC layer, more precisely in demux and dl_harq classes.
Been unable to inject loggers in construction for dl_tb_process due to very weird static assertions in the std::vector code being the type not constructible which is not true, so instead use the main MAC logger directly.
* Replaced loggers in mac mux class.
* Replaced loggers in mac pro_bsr.
* Replaced loggers in mac proc phr.
* Replaced loggers in mac proc SR and RA.
* Replace loggers in mac UL HARQ.
* Replaced loggers in main ue stack class.
* Fixed nas test crashing due to a null string.
* Ported mac_test to use the new loggers.
* Removed TTI reporting for the PHY log as the old logger did.
* Replaced loggers in UE phy tests.
* Configure loggers in nas_test.
* Replaced loggers in rrc_meas_test.
* Replaced loggers in rrc_reconfig_test.
* Added missing newline in tft_test.
* Fix compilation errors in TTCN3 tests.
* Fix linker error detected in CI and warning.
* Replaced loggers in TTCN3 tests.
* Fix a text replace error in some log messages.
* Remove trailing newlines from log entries.
* Remove old logger from rrc.
* Flush backend before printing the test status.
* - Fix compilation error from previous rebase.
- Remove trailing newlines from some missing log entries.
4 years ago
Andre Puschmann
4709bacefd
srsue: add DL NR-ARFCN param
...
* add PHY param to set DL NR-ARFCN
* use new band_helper class to convert ARFCNs to supported bands
* signal supported NR bands in UE capabilities
4 years ago
David Rupprecht
9ccc36d4fa
Make fake measurement frequency depend on measurement config
4 years ago
David Rupprecht
1b19ee40e7
Added usim features for key derivation
4 years ago
David Rupprecht
ceda458bb3
Added MAC NR to EUTRA and NR with stack interfaces including MAC config build
...
Moved MAC logical channel config to MAC interface types
4 years ago
David Rupprecht
e0420049e3
Build infrastucture for reconfig
4 years ago
David Rupprecht
64299960bd
Added procedure for NR reconfiguration and RRC with NR complete
4 years ago
Ismael Gomez
a6423442c2
Refactor NR RA files and fix header includes all over library ( #2162 )
...
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test
* Minor refactors in NR workers and ue_dl
* Fix include issues
* fix compilation issues
4 years ago
David Rupprecht
1a10c783b5
Faking measurements
4 years ago
David Rupprecht
f7d313147a
Added infrastrukture for measurements
...
Init rrc_nr as part of the LTE stack
4 years ago
David Rupprecht
4305929ec7
Hardcoded NR/MRDC-Capabilities
4 years ago
David Rupprecht
b79eef0860
Introducing nr_rrc <-> rrc interface for eutra and nr cap query
4 years ago
David Rupprecht
9eb0b72cb4
Added rrc function has_nr_dc
4 years ago
Andre Puschmann
37fc1c59e3
fix DRB release logging
...
this caused wrong logs because the LCID was printed based on the assumption
that the DRB LCID is alwasy 2 + drb ID
Use drb_id as drb_cfg key
4 years ago
David Rupprecht
81609d48dd
Added measurment report for interrat nr15
...
Added function for removing interrat triggers
4 years ago
David Rupprecht
5df2fb1fa1
Added rrc has nr neighbour cells
4 years ago
David Rupprecht
0e4d77da76
Refactor eutra reporting code and add report triggers for inter rat measurements
4 years ago
David Rupprecht
e4e67eebce
Added infrastucture to process measurments and evaluate interrat triggers
4 years ago
David Rupprecht
25e5b88704
Added NR range_to_value function and debug logging for measurements
4 years ago
David Rupprecht
ce4526a935
Extended measurements interrat nr r15 testcase with measurements
4 years ago
David Rupprecht
826dd32c89
Rename meas_cell to meas_cell_eutra
...
Added meas_cell_nr class
Make meas_cell list as template class
Inheritance rrc_cell to meas_cell_nr
Added process_new_cell_meas_nr function
4 years ago
David Rupprecht
62b558fccf
Move rat type to common header
...
Removed phy measurement from rrc interface phy
Updated rrc interface for handling measurements
4 years ago
David Rupprecht
848496bb0f
Moved get_earfcn to srslte get_carrier_freq func
4 years ago
David Rupprecht
d4fb2dfb16
Added handling of inter rat measurement config function
...
Make report config more agonistic
4 years ago
David Rupprecht
f4b0042c10
Added minimal interrat and nr measurement testcase
...
Added the handling of nr_r15 meas config
Added seperate handling of reportConfig for eutra
4 years ago
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
4 years ago
Francisco Paisana
510959b50f
update nr asn1 files, and asn1 tests
4 years ago
Francisco Paisana
514deaf25b
fix resetting of phy and mac during reestablishment
4 years ago
Andre Puschmann
a366500a78
rrc_proc: init cs_result to none
...
detected by Coverity CID 363053
4 years ago
Francisco Paisana
665b3996bb
now the phy controller handles the scenario where the phy cell selection failed to be initialized
4 years ago
Francisco Paisana
e7239163e9
silence noisy unhandled in_sync_ev logs
4 years ago
Francisco Paisana
f185272367
added comments explaining the meaning of the cell reselection procedures
4 years ago
Francisco Paisana
49e7b8e36e
- Change periodicity of cell reselection after a new serving cell has been selected
...
- Enable PHY intra measurements during RRC_IDLE
4 years ago
Francisco Paisana
585d7c923a
refactor and simplification of cell selection procedure. Using now a SIB3 threshold to decide whether to select neighbor cell while in RRC_IDLE
4 years ago
Xavier Arteaga
6ae47b6510
SRSUE: Deafult PUCCH/SRS does not imply full PHY dedicated defaults
4 years ago
Francisco Paisana
4ebe92f6a3
refactor phy configuration in the rrc to keep track of activated scells, and cells configurations
4 years ago
Francisco Paisana
d910c910a4
rrc::meas_cell now uses stack timers instead of system timers.
4 years ago
Francisco Paisana
023d32975a
avoid use of pointers to meas_cells in ho_proc as they may become dangling
4 years ago
Francisco Paisana
072b7be582
renamed rrc::cell_t to rrc::meas_cell
4 years ago
Andre Puschmann
0ef8e1fdac
rrc: include pci when logging serving cell measurement
...
this should facilitate easier log parsing and plotting
if the cell measurements _always_ include the PCI, even
in the case of the serving cell
15:49:11.357447 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=+0.1 Hz
15:49:11.391610 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.4 Hz
15:49:11.427325 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.6 Hz
15:49:11.463101 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.7 Hz
15:49:11.499817 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.51 dBm, cfo=+0.1 Hz
15:49:11.499828 [RRC ] [I] MEAS: New measurement neighbour cell: earfcn=2850, pci=0, rsrp=-12.16 dBm, cfo=-0.8 Hz
15:49:11.535027 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.8 Hz
15:49:11.571707 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.9 Hz
15:49:11.607932 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.8 Hz
4 years ago
Francisco Paisana
1f2cca8909
in the rrc reconf procedure, handle the scenario where the rrc reconfiguration message does not config the phy
4 years ago
Francisco Paisana
c6f4776a6f
send the nassdus sooner in the rrc reconf procedure
4 years ago
Francisco Paisana
fc49b5a030
implemented rrc reconfiguration procedure that includes a continuation when phy configuration is complete
4 years ago
Francisco Paisana
b3eb9651d6
disable cqi in scells during handover procedure
4 years ago
Francisco Paisana
8a9a95a937
ensure sibs are acquired if cell selection calls cell search
4 years ago
Francisco Paisana
045f647914
fix edge case where serving cell is good enough for reestablishment but the sibs are not yet acquired
4 years ago
Francisco Paisana
5ecbe8fb17
cleanup of the reestablishment procedure state machine. It does not need to wait for the serving cell configuration because such procedure is already included in the cell selection procedure
4 years ago
Francisco Paisana
0997daa7a0
now the handover procedure in the srsUE does not wait for the phy cell selection result. It only waits for the RA result
4 years ago
Francisco Paisana
cf89d6645b
add comments explaining each function of the reest procedure
4 years ago
Francisco Paisana
d068d594af
implemented rrc reestablishment procedure part after sending reest request
4 years ago
Francisco Paisana
73e21daeb2
refactor reestablishment procedure to more closely follow TS.
4 years ago
Andre Puschmann
1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure ( #1753 )
...
* Make PHY non-blocking and fefactor HO procedure
* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers
Co-authored-by: Ismael Gomez <ismagom@gmail.com>
4 years ago
Francisco Paisana
7f8af023b8
added a callback that always gets triggered when the phy cell selection completes. This callback checks if cell selection failed, and if so, sets the rsrp of the selected cell to -infinity
4 years ago
Andre Puschmann
b616944a13
ue,rrc: fix security config during HO/reestablishment
...
we fix a number of very related issues for HO/reestablishment
in the success/error case:
* this patch removes the hard-coded check that intra-cell HO aren't
allowed. There are cases where eNBs use this method to update
the security context.
* the patch also fixes an issue after failed HO where the security context
of the source eNB should be used for the reestablishment.
* update security keys according to specs when mobilitycontrol
indicated change of key
4 years ago
Andre Puschmann
6827c2df21
rrc_meas: disable layer3 filtering until quantity config is received
...
the filter alpha was initialized to zero by default which causes an
issue because the first measurement for a cell can't be updated,
because the filtering function will always return the current value.
According to 36.331 Sec 5.5.3.2 Note 2, a k-value of 0 should turn
off filtering, which should be used as the default value until
an update is received from the network.
4 years ago
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
4 years ago
Ismael Gomez
06a5bdaab2
Process all calls to RLF in the main RRC task
4 years ago
Francisco Paisana
92221eb780
update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure
4 years ago
Francisco Paisana
fddcc3d8ea
In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB
4 years ago
Francisco Paisana
5242f9422b
fix deadlock in handover
4 years ago
Francisco Paisana
834c0b3929
integrated new observer pattern into phy controller fsm
4 years ago
Francisco Paisana
48dd436d86
integrated observer pattern into rrc phy ctrl fsm
4 years ago
Francisco Paisana
b1670c005b
remove shadowed variables for reestablishment during handover
4 years ago
Francisco Paisana
8d10aa906e
move defer_task to switch case in the rrc
4 years ago
Francisco Paisana
4fb8011a6d
updated phy controller to use task scheduler
5 years ago
Francisco Paisana
9c5471b094
more ergonomic event callback
5 years ago
Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
5 years ago
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
5 years ago
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
5 years ago
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
5 years ago
Francisco Paisana
5e06430455
removal of stack handler interface
5 years ago
Francisco Paisana
8c920837d6
fix issue when adding neighbour cell that matches serving cell
5 years ago
Francisco Paisana
d746115130
moved serving cell to meas_cell_list
5 years ago
Francisco Paisana
928459408e
fix cell meas sorting issue
5 years ago
Francisco Paisana
d2dd30c8cb
rrc_meas_test failing
5 years ago
Francisco Paisana
9a1f69113f
created class for managing neighbor cells of rrc
5 years ago
Francisco Paisana
069dc1f751
moved cell struct of srsue::rrc to separate file
5 years ago
Francisco Paisana
d12b037e0d
make cell reselection periodic and with period of 20msec
5 years ago
Francisco Paisana
c6f422d23e
improved cell selection test in srsue::rrc
5 years ago
Francisco Paisana
3e016b8095
select serving cell during cell selection if it is stronger than neighbors
5 years ago
Andre Puschmann
e981d5ee70
rrc,ue: refactor wait conditions before transition to RRC idle
...
before entering RRC idle, after receiving a RRC connection release for example,
we need to wait until the RLC for SRB1 or SRB2 have been flushed, i.e.
the RLC has acknowledged the reception of the message.
Previously we have only waited for SRB1 but the message can also be received on SRB2
and in this case both bearers need to be checked.
The method is now streamlined to check both SRBs and is also used when
checking the msg transmission of an detach request.
5 years ago
Ismael Gomez
54b331c504
Adds best neighbour to CSV and stdout metrics ( #1440 )
5 years ago
Xavier Arteaga
de230826b9
Added string helper for removing spaces and parsing list
...
Fix
Fix string parser
5 years ago
Francisco Paisana
81848deae2
extended handover procedure to accommodate all the handover (phy cell select + ra)
5 years ago
Francisco Paisana
556fcb69e7
fix handover my defering to next tti the reestablishment of bearers
5 years ago
Francisco Paisana
37ce475398
fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking
5 years ago
Francisco Paisana
8f4f37e89b
remove more unused rrc variables
5 years ago
Francisco Paisana
29fd147d41
remove unused rrc variables
5 years ago
Francisco Paisana
b2aae8763b
made mac_nr and rrc_nr final to avoid using virtual dtors
5 years ago
Francisco Paisana
452c043370
created a global map of lcids to srbs/drbs for NR
5 years ago
Francisco Paisana
6a164e032d
added srsue::rrc_nr
5 years ago
Francisco Paisana
af9ca9f9e5
remove unecessary moves
5 years ago
yagoda
8e0b106c22
fixing some warnings from LGTM
5 years ago
Xavier Arteaga
89dcd6339f
More LGTM fixes
5 years ago
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
5 years ago
Xavier Arteaga
051e8fcc52
SRSUE: Apply default PHY config to SCell as well
5 years ago
Xavier Arteaga
6d355ab61e
SRSUE: Fix HO initial CFO
5 years ago
Francisco Paisana
aeed623734
removed pdu processing from the ue rrc cmd queue. Instead, now the rrc processes the incoming pdus right away. This is essential to fix the security cmd issue in the ue
5 years ago