Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
2019-12-04 18:21:14 +01:00
Xavier Arteaga
a8763cb7a0
SRSUE: Added Cell PCI in console trace
2019-12-04 15:30:07 +01:00
Xavier Arteaga
d96836a0fa
SRSUE: Stack TTI based purely in radio timestamp
2019-12-04 15:29:43 +01:00
Xavier Arteaga
7312752988
SRSUE: reestablishment procedure wait for children to finish before aborting
2019-12-04 08:28:44 +01:00
Xavier Arteaga
6d896ee453
Fixed more static code analysis warnings
2019-12-02 09:47:22 +01:00
Xavier Arteaga
b48bb0d754
Removed atof, atoll and atoi calls
2019-12-02 09:47:22 +01:00
Xavier Arteaga
8dd1c59e18
Added amplitude and power conversions to dB and viceversa
2019-12-02 09:47:22 +01:00
Xavier Arteaga
b4b1ab94af
SRSUE RRC: new PHY unknown sync state, cell select waits for PHY in-sync
2019-11-28 16:33:35 +01:00
Xavier Arteaga
67935d2b99
SRSUE: RRC blocks MAC RA procedure during reestablishment
2019-11-28 16:33:35 +01:00
Andre Puschmann
71c83bd0e0
fixing typo in RRC proc
2019-11-28 16:33:35 +01:00
Andre Puschmann
8ef0d6c6ca
do not automatically consider cells for which a measurment has been received as "in sync"
...
the in_sync flag has been misused in some parts of the code
receiving a PHY measurement for a cell does not automatically
mean that we are "in sync", as it is used in RRC as a condition
to indicate if we are camping on cell
the in_sync/out_of_sync condition should only be altered by the
corresponding functions sent from the PHY for the currently selected
cell (and not automatically for all cells)
the commit also removes the deletion of cells which are not "in sync"
from the list of neighbor cells. Instead, RRC calls a clean-up function
peridically that deletes old cells eventually.
2019-11-28 16:33:35 +01:00
Xavier Arteaga
f5e4ff9f4d
SRSUE: RRC Reest Procedure Refactor
2019-11-28 16:33:35 +01:00
Xavier Arteaga
dbdb699a78
SRSUE: minor RRC/PHY fixes
2019-11-28 16:33:35 +01:00
Xavier Arteaga
f37a096f10
SRSUE: Refactored/Fixed RRC connection Re-establishment and minor CLang Format/Tidy fixes
2019-11-28 16:33:35 +01:00
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
2019-11-28 11:57:41 +00:00
Francisco Paisana
b2d3c2a150
fix compilation issue
2019-11-28 11:57:41 +00:00
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
2019-11-28 11:57:41 +00:00
Andre Puschmann
4e2d9c6b60
specify MAC source files in UE
2019-11-24 14:59:54 +01:00
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
2019-11-24 14:59:54 +01:00
Pedro Alvarez
c6ddada488
Fix compilation issue when enabling TTCN3
2019-11-21 13:18:30 +01:00
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
2019-11-21 13:18:30 +01:00
Francisco Paisana
177e880293
removed extra threads from enb rrc
2019-11-11 15:20:10 +00:00
Francisco Paisana
c8e50c1e19
DL/UL sched are called in a round-robin fashion
2019-11-08 16:02:27 +00:00
Andre Puschmann
1a7142d73f
fix GW init procedure and set pool instance in ctor
2019-11-07 16:25:36 +01:00
Andre Puschmann
2f00fd62ec
fix PDCP config in TTCN3 SS
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b7fdcaabc5
Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing.
2019-11-07 14:12:08 +01:00
Francisco Paisana
dc0f7acfda
a new future was not being created for the new cell_search
2019-11-01 18:43:40 +01:00
Andre Puschmann
d25a734200
fix uninit value in NAS and move emm_info on stack
2019-10-25 10:32:35 +02:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
ecba994712
fixed bad initialization of t311
2019-10-23 19:33:25 +01:00
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
2019-10-23 19:33:25 +01:00
Francisco Paisana
15bde8660a
getting a future of an already finished proc is dangerous
2019-10-23 18:19:25 +02:00
Francisco Paisana
248583ecdf
added extra logging and removed uneeded member from proc_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
b254bdbb93
typedefed the proc_result_t<void> to become proc_state_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
f2d88e5a5b
simplified NAS rrc connection request procedure
...
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana
8864787f59
added the continuation functionality to procedures via the "then()" method.
2019-10-23 18:19:25 +02:00
Francisco Paisana
c1be118d1d
new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor()
2019-10-23 18:19:25 +02:00
Francisco Paisana
8980810061
added some util print functions and fixed the issue with sync::cell_select when the last cell search was not successful
2019-10-23 17:32:32 +02:00
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
2019-10-21 16:17:37 +02:00
Andre Puschmann
44dcfbe5c2
use info_long to print full message rxed on SYS interface
2019-10-18 16:38:55 +02:00
Andre Puschmann
82e3fd1052
fix uninitialized vars in RRC
2019-10-18 16:38:55 +02:00
Andre Puschmann
755a0599c4
rework cell list and SIB handling in SS
2019-10-18 16:38:55 +02:00
Andre Puschmann
891a66a2e5
make the establishment cause a paramter when sending a connection request
...
needed to signal a mo_sig establishment cause after a RLF
2019-10-18 16:38:55 +02:00
Andre Puschmann
c24b25f42e
after RLF store PCI of current serving cell
...
the PCI is needed for the reestablishment request in case
the new serving cell has changed
2019-10-18 16:38:55 +02:00
Andre Puschmann
c1da02cd07
after initiating reestablishment, we need to perform cell reselection immediatly
...
before cell reselection was postponed to the next TTI but this is not possible in
the case where the serving cell changes.
if the "old" serving cell is no longer suitable, we would directly go to RRC IDLE below.
Therefore we need to select the new serving cell before sending the reestablishment
request.
this is tested in TC_8_5_1_1
2019-10-18 16:38:55 +02:00
Andre Puschmann
b631106612
always print RF errors to stdout
2019-10-18 13:00:30 +02:00
Andre Puschmann
1a68fbc460
fix wrong setting for RF log level
2019-10-18 13:00:30 +02:00
Francisco Paisana
e94755c471
revert nas_test fix
2019-10-18 12:36:17 +02:00
Francisco Paisana
9bcb268421
added for-range loop and bool decay checks to clang-tidy. Applied some of the recommendations of clang-tidy to nas.cc
2019-10-18 12:36:17 +02:00
Andre Puschmann
4d688bce98
fixing nas test
2019-10-16 10:35:24 +02:00
Andre Puschmann
cf548fe807
nas: add handling of T3410/T3411
2019-10-15 10:13:21 +02:00
Andre Puschmann
35307a047a
make UE switch_on non-blocking
...
this allows a simpler main that just signals NAS to switch on the UE
but doesn't block until the action is completed.
For making sure the UE also attached if the first attempt failed
the NAS needs to be extended to support the correct timers.
2019-10-15 10:13:21 +02:00
Andre Puschmann
487fdd5616
ttcn3: split SS interface and protect SS main thread properly
...
the SS main thread and the provided interaces weren't protecting members
correctly
2019-10-14 15:21:18 +02:00
Francisco Paisana
80ef7f8497
changed the name of proc Error/Warning/Info logging macros
2019-10-14 15:18:15 +02:00
Francisco Paisana
71ebac861c
fix nas proc logging, and reuse of cell selection result
2019-10-14 15:18:15 +02:00
Francisco Paisana
81a466a641
since we moved cell search to the background thread, cell reselection prints a error message that it cannot start. In fact it already started. It is just waiting for the cell search to finish. This PR fixes this
2019-10-14 15:18:15 +02:00
Francisco Paisana
e67f66e539
moved cell search completed signal from the background thread to the stack thread
2019-10-14 11:44:40 +02:00
Xavier Arteaga
0b00e6d94a
SRSUE: fixed CSI and HARQ collision for CA
2019-10-14 11:20:35 +02:00
Xavier Arteaga
743cce5503
SRSUE: Added end of burst when a out-of-sync is detected in PSS/SSS sync
2019-10-14 11:20:35 +02:00
Xavier Arteaga
a9dae4c29c
SRSUE: Enable Asynchronous SCell Receiver AGC
2019-10-14 11:20:35 +02:00
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
2019-10-14 11:20:35 +02:00
Andre Puschmann
7a672ca340
fix typo
2019-10-14 10:51:05 +02:00
Francisco Paisana
b1496317d5
fixed the pcch proc issue by letting the cell selection explicitly propagate its result to the pcch_process_proc
2019-10-11 15:22:32 +02:00
Andre Puschmann
3a678b1e5f
fixed wrong SRS parameter logging
2019-10-09 16:06:21 +02:00
Andre Puschmann
3c6ff0da30
make NAS logging less verbose
2019-10-09 11:53:27 +02:00
Andre Puschmann
c5f52adfba
nas: fix issue in which NAS wouldn't allow to attach once it failed
...
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.
The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
2019-10-09 11:34:49 +02:00
Francisco Paisana
2fb830fcfa
moved cell search to background task thread pool, and provided a stack interface to rrc to call "start_cell_search". Once completed, the background task signals back to RRC
2019-10-04 22:01:44 +02:00
Andre Puschmann
a166b3c2d9
fix PHY-MAC interface in TTCN3 PHY
2019-10-04 16:25:02 +02:00
Andre Puschmann
08418b17ce
fix concurrency issue in TTCN3 PHY
2019-10-04 16:25:02 +02:00
Andre Puschmann
0467d8bc84
rework neighbor cell handling
2019-10-04 16:25:02 +02:00
Andre Puschmann
c7f0caa24a
add TTI field to MAC dl/ul grants and fix PCAP to include TTI
2019-10-02 16:49:46 +02:00
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
2019-10-02 11:04:47 +02:00
Xavier Arteaga
efdec15964
Renamed lock_guard (lg) to lock
2019-10-02 11:03:03 +02:00
Xavier Arteaga
665f899a74
Fixed some coverity and Clang tidy warnings
2019-10-02 11:03:03 +02:00
Andre Puschmann
f94d2537a3
nas: send identity response integrity protected if security ctxt is present
2019-10-01 20:59:00 +02:00
Andre Puschmann
bb84b27f0b
fix RRC connect proc in NAS to allow reattch after detach
2019-10-01 20:59:00 +02:00
Andre Puschmann
cfadd1ba0b
use received count for NAS integrity check
...
using the local rx count has caused issues when our UE
missed one NAS message was therefore out-of-sync and then
dropped all following NAS messages due to integrity failure
the NAS spec clearly states that the UE should use the
count received as an input for the integrity check calculation
2019-10-01 20:59:00 +02:00
Francisco Paisana
e92632e729
zero-initialized mbms rrc interface types
2019-09-30 21:05:32 +02:00
Francisco Paisana
fc9bb3c934
removed rrc asn1 header include from the ue_interfaces and phy
2019-09-30 21:05:32 +02:00
Xavier Arteaga
ef26bc7451
SRSUE: fixed prach TA correction
2019-09-30 14:50:11 +02:00
Ismael Gomez
9325aaddf2
Do not change master clock rate if not necessary. Hint in ue/enb configs for low BW cells
2019-09-27 18:59:55 +02:00
Andre Puschmann
0e6b0768fd
print PCCH hex when decoding fails
2019-09-25 12:51:43 +02:00
Andre Puschmann
2f47010eb6
fix various uninitialized vars
2019-09-24 13:23:30 +02:00
Andre Puschmann
db4cc71240
minor changes to TTCN3 dut to make reading logs easier
2019-09-24 12:32:26 +02:00
Andre Puschmann
0e89f72846
remove EPS bearer deletion when going RRC idle
...
when going RRC idle, NAS gets informed and currently
clears all registered EPS bearers. This is wrong because
the EPS can outlive a RRC session.
Also in the conformance tests it's clearly seen
that after a RRC release a dedicatated EPS bearer is
created with a linked EPS bearer ID that has been
created _before_ RRC went idle.
2019-09-22 14:57:20 +02:00
Xavier Arteaga
3c25e2b16c
SCell Search Test: Return success always if test is finished
2019-09-20 16:20:31 +02:00
Xavier Arteaga
9ee8cc0ad2
CRS SCell searcher: Fixed memory leaks
2019-09-20 16:20:31 +02:00
Xavier Arteaga
91a7bbf2b6
SCell search test: removed basic_string header
2019-09-20 16:20:31 +02:00
Xavier Arteaga
4c85b99ec5
SRSUE: Added intra frequency SCell search test
2019-09-20 16:20:31 +02:00
Xavier Arteaga
35f85c651c
SRSUE: Added SCell synchronizer and measurements based on reference signals
2019-09-20 16:20:31 +02:00
Xavier Arteaga
8e17aba5d8
Improved SSS decoding and improved scell_search_test
2019-09-20 16:20:31 +02:00
Xavier Arteaga
dedf0f2f78
Added initial time to delay channel simulator
2019-09-20 16:20:31 +02:00
Xavier Arteaga
368690ea6b
SRSUE: Added intra frequency SCell search test
2019-09-20 16:20:31 +02:00
Xavier Arteaga
54974d935e
SRSUE PHY: unitialised values and attributes clean-tidy up
2019-09-20 16:03:37 +02:00
Xavier Arteaga
78fcc11a30
Fixes minor unitialised/leaked memory
2019-09-20 16:03:37 +02:00
Ismael Gomez
0984debe1b
Fix issues with RLF in B210 and X300 ( #669 )
...
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300
* Fix issue #655
2019-09-20 15:41:16 +02:00
Francisco Paisana
0f166ce739
fixed mac_test
2019-09-19 10:19:46 +02:00
Francisco Paisana
946ead06e8
using an interface between the stack and lower mac to process demux pdus.
2019-09-19 10:19:46 +02:00
Andre Puschmann
57317fab7c
expose debug_long to class log and use in RRC to log ASN1 structs
2019-09-18 16:12:24 +02:00
Andre Puschmann
7dde4f3b8a
fix BCCH-BCH logging in RRC debug mode
...
also decode BCCH-BCH using ASN1 lib and write MIB to log
2019-09-18 16:12:24 +02:00