Andre Puschmann
6e0abd30dd
ue,phy_common: include Pcell PCI in cell measurements
...
this allows easier plotting in RRC when PHY cell
measurements already include the PCI
2020-10-01 20:15:41 +02:00
Andre Puschmann
baf171d446
rrc: improve SR configuration logging
...
* move logging of SR max attempts into MAC logging
* log new MAC config whenever it is updated
2020-10-01 20:12:19 +02:00
Andre Puschmann
bf7c2b800e
proc_sr: log error when trying to enable faulty SR config
2020-10-01 20:12:19 +02:00
Andre Puschmann
04acc78c7d
metrics_test: add neighbor cell test
...
cleanup test and add neighbor cells so the displaying is tested
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
--------Signal-------------Neighbour--DL-------------------------------------UL----------------------
cc pci rsrp pl cfo pci rsrp mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 8 -33 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 8 -33 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
2020-10-01 20:09:16 +02:00
Andre Puschmann
ddbf4e1645
metrics_stdout: print new table header if neighbour cells change
...
this fixes an issue where the stdout metrics isn't readable if the only
neighbour cell gets removed during the 10s where no table header is printed.
--------Signal--------------Neighbor----DL-------------------------------------UL----------------------
cc pci rsrp pl cfo pci rsrp mcs snr turbo brate bler ta_us mcs buff brate bler
0 2 -66 61 -3.3k 1 -76 11 18 1.1 8.4M 3% 0.0 21 262 167k 0%
0 2 -65 60 -3.3k 1 -76 12 19 1.1 9.6M 2% 0.0 22 476 214k 0%
0 2 -65 60 -3.3k 1 -76 16 22 1.3 13M 3% 0.0 23 1.1k 734k 0%
0 2 -64 59 -3.3k 1 -76 17 23 1.3 15M 2% 0.0 23 602 424k 0%
0 2 -63 58 -3.3k 1 -77 20 25 1.4 19M 3% 0.0 23 501 304k 0%
0 2 -62 57 -3.3k 1 -77 22 27 1.8 20M 10% 0.0 22 417 418k 0%
0 2 -61 56 -3.3k 1 -77 24 28 1.8 25M 9% 0.0 23 396 439k 0%
0 2 -61 56 -3.3k 1 -77 26 29 1.5 23M 22% 0.0 23 841 407k 0%
0 2 -60 55 -3.3k 1 -77 27 31 1.3 27M 11% 0.0 23 890 1.1M 0%
0 2 -59 54 -3.3k 1 -77 27 32 1.00 30M 3% 0.0 23 583 524k 0%
0 2 -59 54 -3.3k 1 -77 27 32 0.92 32M 1% 0.0 23 1.1k 503k 0%
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 2 -59 54 -3.3k 27 31 1.1 30M 4% 0.0 23 1.2k 529k 0%
0 2 -60 55 -3.3k 27 30 1.4 25M 18% 0.0 23 540 442k 0%
0 2 -61 56 -3.3k 26 29 1.6 23M 21% 0.0 23 536 429k 0%
0 2 -62 57 -3.3k 24 28 1.8 23M 13% 0.0 23 834 456k 0%
0 2 -62 57 -3.3k 1 -78 21 26 1.6 20M 7% 0.0 23 723 425k 0%
0 2 -63 58 -3.3k 1 -76 17 22 1.1 15M 3% 0.0 23 470 267k 0%
0 2 -64 59 -3.3k 1 -77 17 22 1.3 15M 3% 0.0 23 167 280k 0%
0 2 -65 60 -3.3k 1 -76 14 21 1.3 11M 2% 0.0 22 57 223k 0%
0 2 -65 60 -3.3k 1 -76 12 19 1.2 9.0M 3% 0.0 21 135 182k 0%
0 2 -66 61 -3.4k 1 -70 9.3 17 1.0 6.9M 2% 0.0 21 246 126k 0%
0 2 -67 62 -3.3k 1 -75 8.2 16 1.1 4.9M 3% 0.0 20 0.0 122k 0%
2020-10-01 20:09:16 +02:00
Pedro Alvarez
2f0125ef4e
Fix issue recovering key state, when the first HO fails (specifically, is_first_ncc was not recovered). Minor improvements in key logging.
2020-10-01 18:48:07 +01:00
Francisco Paisana
1f2cca8909
in the rrc reconf procedure, handle the scenario where the rrc reconfiguration message does not config the phy
2020-10-01 11:25:21 +01:00
Francisco Paisana
edd5c50f9a
pass nas pdus after sending rrc reconf complete
2020-10-01 11:25:21 +01:00
Francisco Paisana
cf89f4300a
fix ttcn3 to signal back to stack that a phy config has been completed
2020-10-01 11:25:21 +01:00
Francisco Paisana
c6f4776a6f
send the nassdus sooner in the rrc reconf procedure
2020-10-01 11:25:21 +01:00
Francisco Paisana
2416e274a7
fix rrc_meas_test. The phy now needs to signal back to the rrc that the phy config is complete
2020-10-01 11:25:21 +01:00
Francisco Paisana
fc49b5a030
implemented rrc reconfiguration procedure that includes a continuation when phy configuration is complete
2020-10-01 11:25:21 +01:00
Andre Puschmann
936e3b7bef
mac_test: add manual test for TC 7.1.4.6
2020-09-30 17:17:21 +02:00
Andre Puschmann
5a9b1865e4
proc_bsr: fix typo
2020-09-30 17:17:21 +02:00
Xavier Arteaga
ef9d77c966
SRSUE: add PRACH config present field in PHY configuration structure
2020-09-30 17:10:48 +02:00
faluco
51b27fc255
Import latest srslog version ( #1796 )
...
* - Import latest srslog version.
- Adjusted the nas_test to create logs correctly.
- Remove timestamp formatting now that is provided by srslog.
2020-09-30 15:52:42 +02:00
Francisco Paisana
924cc4f937
during cell selection, if the serving cell is ok, avoid calling serving cell configuration if the sibs are already acquired
2020-09-30 15:10:06 +02:00
Ismael Gomez
4e88daae21
Set DCI unpacking errors to info ( #1781 )
2020-09-30 10:04:08 +02:00
faluco
dfeed52514
- Rename out_stream function to console.
2020-09-29 17:38:13 +02:00
faluco
62faef7c71
- Replaced all uses of the log::console method.
2020-09-29 17:38:13 +02:00
Francisco Paisana
b3eb9651d6
disable cqi in scells during handover procedure
2020-09-29 12:10:42 +01:00
Ismael Gomez
f4c7021a5f
Appy phy configuration to current_phy_cfg before sending to PHY after HO
2020-09-29 12:10:42 +01:00
Francisco Paisana
8a9a95a937
ensure sibs are acquired if cell selection calls cell search
2020-09-29 11:06:32 +01:00
Francisco Paisana
af3ff5985e
removal of console print of last selected cell during the cell selection procedure.
2020-09-29 09:38:05 +01:00
Francisco Paisana
c33e94fede
fix conformace 8_5_1_1 failure
2020-09-28 23:45:13 +01:00
Francisco Paisana
045f647914
fix edge case where serving cell is good enough for reestablishment but the sibs are not yet acquired
2020-09-28 23:45:13 +01:00
Andre Puschmann
f32d9f8322
ttcn3: call stop in UE dtor
...
fixes stop issue of TTCN3 DUT
2020-09-28 22:04:23 +02:00
Ismael Gomez
d671e39c93
Fix SINR not correctly considering noise. Missed dBm conversion
2020-09-28 20:50:12 +02:00
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
2020-09-28 18:39:28 +01:00
Pedro Alvarez
b3bfe336a9
Make sure that remote address test has a ip mask
2020-09-28 16:08:28 +02:00
Sylvain Munaut
6ce5863f03
test/tft_test: Add a combined test for IPv6 packets
2020-09-28 16:08:28 +02:00
Sylvain Munaut
9ba8b62972
test/tft_test: Update filter test suite
...
The “IPv4 local address type” filter should be 9 bytes since it includes
not only the ip address, but also its subnet mask.
Quoting from 3GPP TS 24.008 10.5.6.12:
"""
For "IPv4 remote address type", the packet filter component value field
shall be encoded as a sequence of a four octet IPv4 address field and a
four octet IPv4 address mask field. The IPv4 address field shall be
transmitted first. For "IPv4 local address type", the packet filter
component value field shall be encoded as defined for "IPv4 remote
address type".
"""
Same for the ToS which also includes a 1 byte mask value
2020-09-28 16:08:28 +02:00
Sylvain Munaut
5783c01cbb
tf_packet_filter: Improve support for the different filter types
2020-09-28 16:08:28 +02:00
Ismael Gomez
bb691f0cbe
Fix priority order in BSR trigger. Was not being triggered if SRB2 data was pending in the buffer ( #1771 )
2020-09-25 21:02:06 +02:00
Ismael Gomez
8c30822350
Fix bug in update_measurements() not reporting in_sync in single carrier
2020-09-25 15:39:15 +02:00
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
2020-09-25 13:03:50 +01:00
Ismael Gomez
c75c463263
Use SNR instead of SINR for RLF threshold ( #1769 )
...
* Use SNR instead of SINR for RLF threshold
* Send in/out-sync only for cc_idx=0
2020-09-24 22:26:05 +02:00
Ismael Gomez
76bfc78147
Fix issues with Sounding-RS ( #1761 )
...
* Fix deadlock caused by update_measurements calling in_sync
* Fix overlapping SRS condition
* Do not use shortened PUSCH in transmissions and retx from RAR
* Revert "Fix deadlock caused by update_measurements calling in_sync"
This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
2020-09-24 22:25:24 +02:00
Francisco Paisana
2d321231df
fix reest proc. The reest proc state has to be set before launching the procedure, because the procedure can complete immediately on launch call
2020-09-24 14:00:31 +01:00
Pedro Alvarez
86f4d469c6
Added some functions to save and restore AS keys for the case of failed handover in the USIM
2020-09-24 13:30:08 +01:00
Francisco Paisana
81ab4c1a65
make sure ho procedure waits for t304 expiry in all cases
2020-09-24 10:19:13 +01:00
Ismael Gomez
b94d24ed98
Take into account CRS from neigbhour cells when measuring interference ( #1757 )
...
* Take into account CRS from neigbhour cells when measuring interference
* fix std::isnormal compilation
* Fixed compilation of test
* Address comments
* Remove unused overrides
2020-09-23 21:46:03 +02:00
Francisco Paisana
cf89d6645b
add comments explaining each function of the reest procedure
2020-09-23 14:59:38 +01:00
Francisco Paisana
d068d594af
implemented rrc reestablishment procedure part after sending reest request
2020-09-23 14:59:38 +01:00
Francisco Paisana
7d6c9a1751
Add cause and cell pci to reestablishment console message
2020-09-23 14:59:38 +01:00
Francisco Paisana
73e21daeb2
refactor reestablishment procedure to more closely follow TS.
2020-09-23 14:59:38 +01:00
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>
2020-09-22 21:47:16 +02:00
Ismael Gomez
399b986d0b
Fix deadlock caused by update_measurements calling in_sync ( #1760 )
2020-09-22 18:25:12 +02:00
Francisco Paisana
eb370642ab
verify cell selection observer is set before calling it
2020-09-22 17:09:18 +01:00
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
2020-09-22 17:09:18 +01:00
faluco
f0d651ae8e
- Fixed a leak in the MME class not releasing the static byte buffer pool.
...
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
2020-09-22 18:00:50 +02:00
Ismael Gomez
5968157ea5
Protect better the access to shared variables in phy_common and metrics ( #1750 )
2020-09-22 14:32:08 +02:00
Andre Puschmann
eeb2b904aa
ue,rach: fix failing RACH proc when Msg3 grant RNTI matches current CRNTI
...
this was preventing that the Temp-CRNTI used in the RAR to be identical
to the currently configured C-RNTI of the UE.
The issue simply was that the RACH procedure was declared successful too
early, even before the Msg3 UL grant was filled with the Msg3 content.
The patch moves the logic that detects the successful completion of
the RACH procedure below the Msg3 packing.
2020-09-22 14:03:39 +02:00
Andre Puschmann
a36f9bddc2
ttcn3: use RNTI values in RACH provided by tester
...
this patch extends the SS to use the C-RNTI and Temp CRNTI values
provided by the tester for RAR and Msg3.
2020-09-22 14:03:39 +02:00
faluco
e14cb4b405
- Fix a missing thread join in the phy which caused a memory leak.
2020-09-22 09:17:01 +02:00
faluco
5acc1c9a73
- Cleaned up style in the PRACH class:
...
* Removed magic numbers.
* Reduced indentation of statements with early exists.
* Removed elses after a return statement.
* Trimmed unnecessary include files.
* Default initialized members in the class.
2020-09-21 09:50:20 +02:00
faluco
b6bbe8761a
- Remove left over printf.
2020-09-21 09:50:20 +02:00
faluco
79f5b62551
- Calculate PRACH buffers on the fly when required instead of pregenerating all of them.
2020-09-21 09:50:20 +02:00
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
2020-09-21 09:27:07 +02:00
Andre Puschmann
d90de639e5
ttcn3_syssim: continue when epoll returns -1
...
this allows to debug and step in the SS
2020-09-21 09:27:07 +02:00
Andre Puschmann
1b266257a1
ttcn3_phy: improve logging of cell measurements
2020-09-21 09:27:07 +02:00
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.
2020-09-21 09:27:07 +02:00
Francisco Paisana
97133894e6
the Ocs value used in the measReport triggering decision was not being set correctly. The enum of the cell individual offset in the measCfg was being cast to an int and stored. Instead what we want is to store the actual offset value using the ASN1 enum->number lookup table.
2020-09-18 13:17:32 +01:00
Xavier Arteaga
44c2412be2
SRSUE: silent PUSCH encoding error by dropping invalid grant
2020-09-17 22:39:56 +02:00
Francisco Paisana
739c0c5c00
altered plmn search procedure handling of failed cell searches. If a cell search procedure fails due to inability to select a cell or acquire SIB1, the plmn search carries on for other frequencies.
2020-09-17 16:43:58 +01:00
Andre Puschmann
3088cdbb0f
ttcn3: fix uncaught exception in SS
...
fix accessing child element in parsed Json without checking
its existence.
2020-09-14 21:20:59 +02:00
Andre Puschmann
8df388ba3e
usim: fix typo in log
2020-09-14 21:20:59 +02:00
Andre Puschmann
3e824f6370
ttcn3: convert TTI action vector to queue
...
this makes sures queued events are executed FIFO
2020-09-14 21:20:59 +02:00
Andre Puschmann
624c8142ad
ttcn3: refactor cell handling in SS
...
this rather large patch changes the way cells are handled in the SS.
It moves RLC and PDCP entities to the cell map of the SS, such that each cell
has its own entities. This allows to support HO operation, for example,
in which two cells need to send SRB messages.
It also extends most of the syssim interface to include the cell name
in all commands so they can be applied on the specified cell only.
2020-09-14 21:20:59 +02:00
Andre Puschmann
4650a620d9
ttcn3: refactor cell search and selection in TTCN3 PHY
...
- make sure only suitable cells are reported/selected
2020-09-14 21:20:59 +02:00
Andre Puschmann
973de8f78d
ttcn3_dut: block OS signals before starting log backend
...
this prevents the backend thread from handling the signals. they
are only handled by epoll running in the main thread.
this fixes #1713
2020-09-14 21:20:00 +02:00
Ismael Gomez
b397878d25
Fix comments in ue.conf
2020-09-14 16:54:47 +02:00
faluco
c178e362b8
- Rewrite log management so that a log sink can be swapped for each testcase.
2020-09-10 17:14:51 +02:00
faluco
5e8a4c898d
Bring back the circular array object. ( #1712 )
2020-09-09 17:16:47 +02:00
Xavier Arteaga
52355024e7
SRSUE PHY: move mutex lock to cc worker and unlock for stack calls
2020-09-04 14:01:25 +02:00
Ismael Gomez
4c1d3ef7e8
Fix implementation of Random Access problem ( #1689 )
...
* Fix implementation of Random Access problem
* Apply AS activated condition on RLF before calling Reestablishment
2020-09-04 13:13:42 +02:00
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
2020-09-04 12:18:12 +02:00
Andre Puschmann
c16ac6c890
ue_stack: only push sync event to event queue is stack is still running
...
stopping the UE in ZMQ mode caused a dead-lock because the Stack was
stopped before the PHY causing the sync queue to overflow. Since we
use a queue-length of 1 in ZMQ, mode, the PHY sync thread was blocking to
push a new sync event while the stack thread was already stopped.
this patch makes sure no new sync events are queued after the stack has
been terminated.
2020-09-03 18:28:49 +02:00
Andre Puschmann
aec18a93d1
mux,bsr: refactor UL buffer status reporting
...
this patch fixes the UL BSR as per TS 36.321, it includes following
main changes:
* report UL buffer state to reflect the UEs transmit buffer after
the MAC UL PDU containing the BSR has been built.
In other words, if the UE, for example, can transmit all outstanding
data in an UL grant, it will not report any pending data to transmit.
* refactor MUX routines and subheader space calculation
2020-09-03 15:00:36 +02:00
Andre Puschmann
92d76a5eb6
mac_test: update tests involving BSR handling
...
* split existing BSR test into dedicated test for short, long, and trunc
BSR tests
* update MAC tests that include packing UL BSR.
(After checking TS 36.321 again it seems we have reported old UL buffer states)
2020-09-03 15:00:36 +02:00
Ismael Gomez
54eed11e1d
Refactor decision for extended CSI/SRS
2020-09-03 10:45:06 +02:00
Ismael Gomez
51521ad8e4
Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10
2020-09-03 10:45:06 +02:00
Andre Puschmann
14289ebcc6
dl_harq: lower log level when MCS changes in DL grant to debug
...
fixes #1489
this is normal behavior and should not result in a warning message.
2020-09-01 16:17:23 +02:00
Ismael Gomez
06a5bdaab2
Process all calls to RLF in the main RRC task
2020-09-01 11:03:02 +02:00
Francisco Paisana
92221eb780
update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure
2020-08-29 20:06:08 +01:00
Francisco Paisana
46e1e101d3
removal of unecessary ho_ra_complete(false) in mac. In case of HO failure, the rrc should let the t304 expire
2020-08-29 20:06:08 +01:00
Francisco Paisana
aed9120458
in case of RA problem during handover, the UE cannot trigger RLF. It has to let t304 expire, which will then trigger the reestablishment procedure with the right cause
2020-08-29 20:06:08 +01:00
Francisco Paisana
fca1273b3e
avoid spurious warnings of trying to start the PRACH when it is already running during handover
2020-08-28 10:14:23 +01:00
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
2020-08-28 10:14:23 +01:00
Andre Puschmann
641a4a5e79
mac_test: fix compilation if PCAP write is enabled
2020-08-27 23:46:28 +02:00
Andre Puschmann
49a7a90698
mac: simplify BSR packing logic
...
simplify logic to check whether a BSR fits and, if so, which type.
before the check has been done in two places.
we now also accomodate for the CE subheader size.
2020-08-27 23:46:28 +02:00
Andre Puschmann
6364a4513c
mac_pdu: fix issue when packing CE but no space left in PDU
...
we've not checked the return value when adding a new CE, like BSR or PHR,
for a UL MAC PDU. For very small UL grants, this could fail and
we need to remove the subheader again before packing the PDU.
This fixes issue #1649 .
2020-08-27 23:46:28 +02:00
Daniel Willmann
7d0ae71f17
ttcn3_sys_interface: Handle initial cell attenuation
...
When new Cells are added they can have an attenuation configured
directly. Honor that setting.
2020-08-27 19:18:47 +02:00
Francisco Paisana
5242f9422b
fix deadlock in handover
2020-08-27 13:43:18 +01:00
Ismael Gomez
72cc4e0ca5
Stop ContentionResolutionTimer on RA error. Updated test
2020-08-27 10:04:42 +02:00
Xavier Arteaga
df2c949417
Radio: add individual Rx gain and integrate in srsue
...
Fix compilation
Fix compilation
Add missing variable. Wasn't compiling
Radio: revert some changes
2020-08-27 09:31:05 +02:00
Xavier Arteaga
029f36b449
srsLTE: added efficient integer resampler and srsue/srsenb integration
2020-08-25 16:19:52 +02:00
Xavier Arteaga
1ff74da078
Remove wrong error message
2020-08-25 10:16:04 +02:00
Francisco Paisana
75b204bc52
fix phy ctrl call to cell selection observers
2020-08-24 22:10:32 +01:00
Francisco Paisana
834c0b3929
integrated new observer pattern into phy controller fsm
2020-08-24 22:10:32 +01:00
Francisco Paisana
48dd436d86
integrated observer pattern into rrc phy ctrl fsm
2020-08-24 22:10:32 +01:00
Francisco Paisana
997552ee45
stop t304 when handover is successful
2020-08-24 17:48:50 +01:00
Francisco Paisana
1d8286eb62
always wait for t304 to expire in case of failed handover
2020-08-24 17:48:50 +01:00
Francisco Paisana
ccc8ab70ef
stop t304 on handover procedure exit
2020-08-24 17:48:50 +01:00
Francisco Paisana
db15f43a77
set reestablishment cause correctly on handover failure
2020-08-24 17:48:50 +01:00
Francisco Paisana
b1670c005b
remove shadowed variables for reestablishment during handover
2020-08-24 17:48:50 +01:00
Xavier Arteaga
0e96ef3df0
Channel emulator takes SNR as input parameter
2020-08-24 10:46:11 +02:00
Andre Puschmann
5e40bfe72c
mac_pdu: unpack and print BSR index as well as BSR value in bytes
...
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.
for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
2020-08-21 12:03:07 +02:00
Francisco Paisana
8c9e596f89
refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code
2020-08-21 00:05:58 +01:00
Francisco Paisana
7cd4f45d62
fsm refactor.
...
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
2020-08-18 16:07:21 +01:00
Francisco Paisana
841b884796
remove extern C flags from common_helper.h
2020-08-18 13:54:23 +01:00
Francisco Paisana
5be5409f62
scaling governor function moved to common header file
2020-08-18 13:54:23 +01:00
Francisco Paisana
087805d222
add warning if scaling governor is not performance mode
2020-08-18 13:54:23 +01:00
Francisco Paisana
8d10aa906e
move defer_task to switch case in the rrc
2020-08-17 22:49:40 +01:00
Andre Puschmann
24dfb03b9d
rrc: defer manipulations of the RLC/PDCP arrays
...
all calls that manipulate the RLC and/or PDCP arrays suffer
from a high deadlock risk if a PHY worker holds the RLC
AM Rx mutex at the same time when the stack wants to carry
out this reconfiguration.
this applies to RRC Reconfigs, but potentially also to RRC Connection
Reestablishment or even RRC Connection Setup, although this should
seldom be the case.
By breaking the call stack between RLC->PDCP->RRC->RCL and
carrying out the reconfig as a single task without holding the
RLC readlock the deadlock should not happen anymore.
This should fix issue #1593
2020-08-17 22:49:40 +01:00
faluco
e5a792d508
- Fix unused variable.
2020-07-31 13:13:15 +02:00
faluco
cfd3f51931
Import of srslog into srsepc and srsenb. ( #1574 )
...
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
2020-07-30 19:17:23 +02:00
Xavier Arteaga
202ec283ff
SRSUE: fix erroneous code in MUX
2020-07-28 09:31:34 +02:00
Xavier Arteaga
4e1e8cea1a
SRSUE: MAC HARQ entities vector is fixed
2020-07-28 09:31:34 +02:00
Xavier Arteaga
09af743361
SRSUE: minor PHY modfifications
2020-07-28 09:31:34 +02:00
Xavier Arteaga
0b02f8948c
SRSUE: fix shadow variable
2020-07-28 09:31:34 +02:00
Ismael Gomez
c02e920b6b
Trigger RA after SR failed directly (don't wait for next BSR trigger)
2020-07-27 17:58:06 +02:00
faluco
efdff8ba4c
Import srslog into srsue ( #1556 )
...
- Import the srslog project into srslte.
- Ported srsue app to use the new logging framework.
- Implemented a wrapper that dispatches log entries to srslog.
- Renamed an existing log test to be more specific to avoid name clashes.
2020-07-22 16:04:18 +02:00
Andre Puschmann
1199a79851
fix Scell sync for large cells
...
the PSS detection needs more temporary buffer than a full subframe.
we therefore need to allocate and initialize the sync object with
larger maximum size to support Scell search of large cells, e.g.
20 MHz
this fixes issue #1538
2020-07-21 18:35:53 +02:00
Andre Puschmann
ce5129467c
correct default value of PHY threads in eNB and UE examples
2020-07-21 11:59:45 +02:00
Andre Puschmann
9550bd3ef8
rlc: revisit interface for MAC and RRC
...
* add locked and unlocked version of has_data() since one is
called from stack and one from PHY threads
* add comments in each interface section as to why locking
is required or not
* remove RLC rwlock when not required
* move calls only used by RRC to RRC section
2020-07-21 11:56:43 +02:00
Pedro Alvarez
c686e6cea1
SRSUE: Set SCell configuration is unlocking ( #1544 )
2020-07-20 19:30:25 +02:00
Ismael Gomez
06eba7eb72
Discard cells if not found during cel selection
2020-07-20 15:37:40 +02:00
Andre Puschmann
138ec1f8e7
nas,usim: remove use of shadowed variables
2020-07-20 10:58:10 +02:00
Ismael Gomez
7866f19f6b
Use correct target cell when doing reselection in HO
2020-07-17 22:47:59 +02:00
Ismael Gomez
443dee7035
Changes in Cell Selection Procedure ( #1557 )
...
* Fixes RRC cell reselection procedure
2020-07-17 17:05:19 +02:00
Xavier Arteaga
0192130742
SRSUE/SRSENB: UCI bits are carrier by the lowest serving cell index
...
SRSENB: Fix UCI in lowest serving cell index PUSCH transmission
2020-07-15 07:34:14 +02:00
Andre Puschmann
4fd5395903
change default EARFCN to 3350 or 2.68GHz
...
as 3400 or 2.685 GHz is on the edge of band 7, some phones won't connect
to a 20 MHz cell on this EARFCN.
In order to simplify testing with other bandwidths we change the default EARFCN.
2020-07-14 17:25:08 +02:00
Francisco Paisana
4fb8011a6d
updated phy controller to use task scheduler
2020-07-14 13:33:50 +01:00
Francisco Paisana
36fc88d2e2
fsm log macros, and utility methods to convert event callbacks to move tasks
2020-07-14 13:33:50 +01:00
Francisco Paisana
9c5471b094
more ergonomic event callback
2020-07-14 13:33:50 +01:00
Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
2020-07-14 13:33:50 +01:00
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
2020-07-14 13:33:50 +01:00
Andre Puschmann
a7911f0dab
pdcp,rlc: refactor SDU queueing policy
...
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.
When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.
To avoid this, this patch makes the following changes:
* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
* a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
* all writes into queues need to be non-blocking
* if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
* this case should be avoided with the monitoring mechanism
2020-07-13 17:05:28 +02:00
Francisco Paisana
5e06430455
removal of stack handler interface
2020-07-13 11:19:25 +01:00
Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
2020-07-13 11:19:25 +01:00
Francisco Paisana
039977aeb5
renamed interfaces
2020-07-13 11:19:25 +01:00
Francisco Paisana
1a9c04bf2f
use of task scheduler handle in pdcp
2020-07-13 11:19:25 +01:00
Francisco Paisana
4f5e65781f
created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks
2020-07-13 11:19:25 +01:00
Pedro Alvarez
528777fa29
Added sleep to avoid nas test concurrency issue.
2020-07-09 13:58:51 +01:00
Francisco Paisana
8c920837d6
fix issue when adding neighbour cell that matches serving cell
2020-07-08 00:19:18 +01:00
Francisco Paisana
43db9b81fb
fix function ptr issue
2020-07-08 00:19:18 +01:00
Francisco Paisana
d746115130
moved serving cell to meas_cell_list
2020-07-08 00:19:18 +01:00