Andre Puschmann
76c648106f
rrc: remove varMeasState for unknown neighbor cells
...
this fixes issue #1846 that appears to be related
to the enter/exit state for measurements that is kept
even after a cell disappears from the neighbor list
4 years ago
Andre Puschmann
829dfc4e60
metrics_stdout: fix precision calculation for 100%
...
the precision for 100% was causing the default value of -1 which in turn
cause to print the full precision resulting in ugly stdout plots.
before:
--------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 150k100.000000% 0.0 0.0 0.0 0.0 0%
after:
--------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 100% 0.0 0.0 0.0 0.0 0%
4 years ago
Andre Puschmann
e72219789e
ul_harq: don't clear payload buffer during HARQ reset
...
this fixes #1791 which was caused by a race between
the PHY workers preparing a new UL-SCH PDU and the Stack resetting
the MAC, which in turn resets the HARQ processeses, which cleared
the buffer and set the length to zero.
Not explicitly clearing the buffer on a HARQ reset seems to be
fine since the PHY worker clears the buffer before starting to
pack a new PDU anyway.
4 years ago
Pedro Alvarez
22a6dc305f
Moved common variables and functions from the usim and pcsc_usim classes into usim_base class.
4 years ago
Francisco Paisana
8a917bdd06
fix RRC phy controller call to phy->set_config. Only the PCell was being configured
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
cfc77118d3
disable console print of scell activation command during handover
4 years ago
Francisco Paisana
d910c910a4
rrc::meas_cell now uses stack timers instead of system timers.
4 years ago
Francisco Paisana
49ad1a4312
added unit test for meas cells
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
d02e8135fb
metrics_stdout: reset n_reports var after writing intermediate table header
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
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
4 years ago
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
4 years ago
Andre Puschmann
bf7c2b800e
proc_sr: log error when trying to enable faulty SR config
4 years ago
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%
4 years ago
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%
4 years ago
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.
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
edd5c50f9a
pass nas pdus after sending rrc reconf complete
4 years ago
Francisco Paisana
cf89f4300a
fix ttcn3 to signal back to stack that a phy config has been completed
4 years ago
Francisco Paisana
c6f4776a6f
send the nassdus sooner in the rrc reconf procedure
4 years ago
Francisco Paisana
2416e274a7
fix rrc_meas_test. The phy now needs to signal back to the rrc that the phy config is complete
4 years ago
Francisco Paisana
fc49b5a030
implemented rrc reconfiguration procedure that includes a continuation when phy configuration is complete
4 years ago
Andre Puschmann
936e3b7bef
mac_test: add manual test for TC 7.1.4.6
4 years ago
Andre Puschmann
5a9b1865e4
proc_bsr: fix typo
4 years ago
Xavier Arteaga
ef9d77c966
SRSUE: add PRACH config present field in PHY configuration structure
4 years ago
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.
4 years ago
Francisco Paisana
924cc4f937
during cell selection, if the serving cell is ok, avoid calling serving cell configuration if the sibs are already acquired
4 years ago
Ismael Gomez
4e88daae21
Set DCI unpacking errors to info ( #1781 )
4 years ago
faluco
dfeed52514
- Rename out_stream function to console.
4 years ago
faluco
62faef7c71
- Replaced all uses of the log::console method.
4 years ago
Francisco Paisana
b3eb9651d6
disable cqi in scells during handover procedure
4 years ago
Ismael Gomez
f4c7021a5f
Appy phy configuration to current_phy_cfg before sending to PHY after HO
4 years ago
Francisco Paisana
8a9a95a937
ensure sibs are acquired if cell selection calls cell search
4 years ago
Francisco Paisana
af3ff5985e
removal of console print of last selected cell during the cell selection procedure.
4 years ago
Francisco Paisana
c33e94fede
fix conformace 8_5_1_1 failure
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
Andre Puschmann
f32d9f8322
ttcn3: call stop in UE dtor
...
fixes stop issue of TTCN3 DUT
4 years ago
Ismael Gomez
d671e39c93
Fix SINR not correctly considering noise. Missed dBm conversion
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
Pedro Alvarez
b3bfe336a9
Make sure that remote address test has a ip mask
4 years ago
Sylvain Munaut
6ce5863f03
test/tft_test: Add a combined test for IPv6 packets
4 years ago
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
4 years ago
Sylvain Munaut
5783c01cbb
tf_packet_filter: Improve support for the different filter types
4 years ago
Ismael Gomez
bb691f0cbe
Fix priority order in BSR trigger. Was not being triggered if SRB2 data was pending in the buffer ( #1771 )
4 years ago
Ismael Gomez
8c30822350
Fix bug in update_measurements() not reporting in_sync in single carrier
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
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
4 years ago
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.
4 years ago
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
4 years ago
Pedro Alvarez
86f4d469c6
Added some functions to save and restore AS keys for the case of failed handover in the USIM
4 years ago
Francisco Paisana
81ab4c1a65
make sure ho procedure waits for t304 expiry in all cases
4 years ago
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
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
7d6c9a1751
Add cause and cell pci to reestablishment console message
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
Ismael Gomez
399b986d0b
Fix deadlock caused by update_measurements calling in_sync ( #1760 )
4 years ago
Francisco Paisana
eb370642ab
verify cell selection observer is set before calling it
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
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.
4 years ago
Ismael Gomez
5968157ea5
Protect better the access to shared variables in phy_common and metrics ( #1750 )
4 years ago
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.
4 years ago
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.
4 years ago
faluco
e14cb4b405
- Fix a missing thread join in the phy which caused a memory leak.
4 years ago
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.
4 years ago
faluco
b6bbe8761a
- Remove left over printf.
4 years ago
faluco
79f5b62551
- Calculate PRACH buffers on the fly when required instead of pregenerating all of them.
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
d90de639e5
ttcn3_syssim: continue when epoll returns -1
...
this allows to debug and step in the SS
4 years ago
Andre Puschmann
1b266257a1
ttcn3_phy: improve logging of cell measurements
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
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.
4 years ago
Xavier Arteaga
44c2412be2
SRSUE: silent PUSCH encoding error by dropping invalid grant
4 years ago
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.
4 years ago
Andre Puschmann
3088cdbb0f
ttcn3: fix uncaught exception in SS
...
fix accessing child element in parsed Json without checking
its existence.
4 years ago
Andre Puschmann
8df388ba3e
usim: fix typo in log
4 years ago
Andre Puschmann
3e824f6370
ttcn3: convert TTI action vector to queue
...
this makes sures queued events are executed FIFO
4 years ago
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.
4 years ago
Andre Puschmann
4650a620d9
ttcn3: refactor cell search and selection in TTCN3 PHY
...
- make sure only suitable cells are reported/selected
4 years ago
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
4 years ago
Ismael Gomez
b397878d25
Fix comments in ue.conf
4 years ago
faluco
c178e362b8
- Rewrite log management so that a log sink can be swapped for each testcase.
4 years ago
faluco
5e8a4c898d
Bring back the circular array object. ( #1712 )
4 years ago
Xavier Arteaga
52355024e7
SRSUE PHY: move mutex lock to cc worker and unlock for stack calls
4 years ago
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
4 years ago
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
4 years ago
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.
4 years ago
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
4 years ago
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)
4 years ago
Ismael Gomez
54eed11e1d
Refactor decision for extended CSI/SRS
4 years ago
Ismael Gomez
51521ad8e4
Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10
4 years ago
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.
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
46e1e101d3
removal of unecessary ho_ra_complete(false) in mac. In case of HO failure, the rrc should let the t304 expire
4 years ago
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
4 years ago
Francisco Paisana
fca1273b3e
avoid spurious warnings of trying to start the PRACH when it is already running during handover
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
Andre Puschmann
641a4a5e79
mac_test: fix compilation if PCAP write is enabled
4 years ago
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.
4 years ago
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 .
4 years ago
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.
4 years ago
Francisco Paisana
5242f9422b
fix deadlock in handover
4 years ago
Ismael Gomez
72cc4e0ca5
Stop ContentionResolutionTimer on RA error. Updated test
4 years ago
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
4 years ago
Xavier Arteaga
029f36b449
srsLTE: added efficient integer resampler and srsue/srsenb integration
4 years ago
Xavier Arteaga
1ff74da078
Remove wrong error message
4 years ago
Francisco Paisana
75b204bc52
fix phy ctrl call to cell selection observers
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
997552ee45
stop t304 when handover is successful
4 years ago
Francisco Paisana
1d8286eb62
always wait for t304 to expire in case of failed handover
4 years ago
Francisco Paisana
ccc8ab70ef
stop t304 on handover procedure exit
4 years ago
Francisco Paisana
db15f43a77
set reestablishment cause correctly on handover failure
4 years ago
Francisco Paisana
b1670c005b
remove shadowed variables for reestablishment during handover
4 years ago
Xavier Arteaga
0e96ef3df0
Channel emulator takes SNR as input parameter
4 years ago
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.
4 years ago
Francisco Paisana
8c9e596f89
refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code
4 years ago
Francisco Paisana
7cd4f45d62
fsm refactor.
...
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago
Francisco Paisana
841b884796
remove extern C flags from common_helper.h
4 years ago
Francisco Paisana
5be5409f62
scaling governor function moved to common header file
4 years ago
Francisco Paisana
087805d222
add warning if scaling governor is not performance mode
4 years ago
Francisco Paisana
8d10aa906e
move defer_task to switch case in the rrc
4 years ago
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
4 years ago
faluco
e5a792d508
- Fix unused variable.
4 years ago
faluco
cfd3f51931
Import of srslog into srsepc and srsenb. ( #1574 )
...
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
Xavier Arteaga
202ec283ff
SRSUE: fix erroneous code in MUX
4 years ago
Xavier Arteaga
4e1e8cea1a
SRSUE: MAC HARQ entities vector is fixed
4 years ago
Xavier Arteaga
09af743361
SRSUE: minor PHY modfifications
4 years ago
Xavier Arteaga
0b02f8948c
SRSUE: fix shadow variable
4 years ago
Ismael Gomez
c02e920b6b
Trigger RA after SR failed directly (don't wait for next BSR trigger)
4 years ago
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.
4 years ago
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
4 years ago
Andre Puschmann
ce5129467c
correct default value of PHY threads in eNB and UE examples
4 years ago
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
4 years ago
Pedro Alvarez
c686e6cea1
SRSUE: Set SCell configuration is unlocking ( #1544 )
4 years ago
Ismael Gomez
06eba7eb72
Discard cells if not found during cel selection
4 years ago
Andre Puschmann
138ec1f8e7
nas,usim: remove use of shadowed variables
4 years ago
Ismael Gomez
7866f19f6b
Use correct target cell when doing reselection in HO
4 years ago
Ismael Gomez
443dee7035
Changes in Cell Selection Procedure ( #1557 )
...
* Fixes RRC cell reselection procedure
4 years ago
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
4 years ago
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.
4 years ago
Francisco Paisana
4fb8011a6d
updated phy controller to use task scheduler
4 years ago
Francisco Paisana
36fc88d2e2
fsm log macros, and utility methods to convert event callbacks to move tasks
4 years ago
Francisco Paisana
9c5471b094
more ergonomic event callback
4 years ago
Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
4 years ago
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
4 years ago
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
4 years ago
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
4 years ago
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
4 years ago
Francisco Paisana
5e06430455
removal of stack handler interface
4 years ago
Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
4 years ago
Francisco Paisana
039977aeb5
renamed interfaces
4 years ago
Francisco Paisana
1a9c04bf2f
use of task scheduler handle in pdcp
4 years ago
Francisco Paisana
4f5e65781f
created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks
4 years ago
Pedro Alvarez
528777fa29
Added sleep to avoid nas test concurrency issue.
4 years ago
Francisco Paisana
8c920837d6
fix issue when adding neighbour cell that matches serving cell
4 years ago
Francisco Paisana
43db9b81fb
fix function ptr issue
4 years ago
Francisco Paisana
d746115130
moved serving cell to meas_cell_list
4 years ago
Francisco Paisana
928459408e
fix cell meas sorting issue
4 years ago
Francisco Paisana
d2dd30c8cb
rrc_meas_test failing
4 years ago
Francisco Paisana
9a1f69113f
created class for managing neighbor cells of rrc
4 years ago
Francisco Paisana
069dc1f751
moved cell struct of srsue::rrc to separate file
4 years ago
Andre Puschmann
1e4eae7395
nas: log estimated count instead of local rx_count when logging integrity check result
4 years ago
Andre Puschmann
bd0c13aad0
ue_stack: bump priority of stack thread
...
the stack thread should really run with the next highest priority after
sync + phy workers to make sure it gets enough CPU
4 years ago
Francisco Paisana
08f9801c76
remove requirement for rrc to be idle and nas attached to run reselection
4 years ago
Francisco Paisana
d12b037e0d
make cell reselection periodic and with period of 20msec
4 years ago
Francisco Paisana
510687766f
added comments in rrc cell select test
4 years ago
Francisco Paisana
c6f422d23e
improved cell selection test in srsue::rrc
4 years ago
Francisco Paisana
3b1f2719dd
return error from cell selection if unable to select serving cell
4 years ago
Francisco Paisana
3e016b8095
select serving cell during cell selection if it is stronger than neighbors
4 years ago
Andre Puschmann
218fa5cf55
ttcn3_dut: fix bug in DUT
...
reducing the sync queue len to 1 caused an issue when the
PHY was locking the mutex while trying to push a TTI event
on the stack.
instead of signaling the new TTI within the PHY, we now do it outside
in the DUT (after releasing the PHY mutex)
4 years ago
Francisco Paisana
84f34bc736
changed to a label filtering approach for ctest
4 years ago
Francisco Paisana
ebb8f18000
set some extra tests with the prefix "long_"
4 years ago
Francisco Paisana
c6323478d2
remove unecessary sleeps in mac test, and add long_ prefix in long tests
4 years ago
Pedro Alvarez
772ab89391
srsUE: Fix for NAS overflow counter computation.
4 years ago
Ismael Gomez
0382933cb1
Select serving cell if PHY not in sync
4 years ago
Ismael Gomez
e378a45db0
Reorganized priorities to avoid GW starve the CPU
4 years ago
Francisco Paisana
d7a0fe4060
improve log messages for CA
4 years ago
Andre Puschmann
a5c0f96fa7
srsue: limit sync queue length to 1 for ZMQ radio
...
apply same change that we've done on the eNB also on the UE
to avoid the PHY processing TTIs faster than the stack.
Without that, we see lots of those in the logs:
...
08:39:17.580325 [STCK] [W] Detected slow task processing (sync_queue_len=7).
...
4 years ago
Andre Puschmann
c15b2ec810
ttcn3_dut: always create timer when enabling TESTMODE B
...
create timer but dont yet set it. this avoid adding multiple
checks if the timer var is actually initialized.
4 years ago
Andre Puschmann
cf12c98630
srsue: exit early if radio can't be initialized
...
since the radio is the first component we initialize, it is safe to
exit the ue::init() straight away, as no other layers use any handles yet
4 years ago
Andre Puschmann
d16897c09a
scell_sync: fix missing dtor freeing sync object
4 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.
4 years ago
Andre Puschmann
63f1ea1bec
ttcn3: streamline DRB and SRB Tx interface
...
use the same tx interface with const uint8_t* and length byte instead of std::string
4 years ago
Daniel Willmann
7a25d1d300
Send the RRC_PDU_IND as JSON
...
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
4 years ago
Xavier Arteaga
f8cc2d176d
Fix typo
4 years ago
Xavier Arteaga
2f0c38fc70
SRSUE: avoid deadlock while configuring cell from stack
4 years ago
Francisco Paisana
a0606669e2
fix ue nr gw initialization
4 years ago
Francisco Paisana
fddcbc9879
fix vnf-ue stack interface
4 years ago
Andre Puschmann
2c5e159420
ttcn3_drb_interface: remove use of GetArray()
...
unfortunately, the rapidjson version shipped with Ubuntu 16.04
doesn't support the GetArray() API so we need to use
normal iterator to loop over the array
4 years ago
Andre Puschmann
bf6ddbe976
ttcn3_drb_interface: use uint8_t and len as tx interface
4 years ago
Andre Puschmann
7f47edf67f
fix issue where PDCP SDU was not going through UE stack to SS
...
this cause the PDCP echo reply not to appear in MAC/PCAP
4 years ago
Andre Puschmann
07f22326b4
pass current SS TTI when formatting DRB common IND
4 years ago
Daniel Willmann
8652f75510
Don't try to guess the lcid, use what we got
4 years ago
Daniel Willmann
0b88161b3c
Send DRB PDUs as JSON to TTCN3
4 years ago
Daniel Willmann
31f1516d74
Use callback to establish connection before sending PDUs in TestmodeB
4 years ago
Daniel Willmann
9aa441f8b6
ttcn3_ue::timer_expired(): Loop through the correct queue
...
Fixes a segfault when a NULL pdu is passed to loop_back_pdu_with_tft()
4 years ago
Daniel Willmann
a3adba0081
Implement DRB establishment and handle rx/tx
4 years ago
Daniel Willmann
999de5f484
ttcn3_helpers: Add function to generate JSON for DRB PDUs
4 years ago
Andre Puschmann
aca307b79b
ue,rrc: don't log neighbor list in info mode
...
this floods the info log
4 years ago
Francisco Paisana
d7138b7752
fix nr activation guards
4 years ago
Ismael Gomez
29e126a583
Add per-channel TX gain ( #1450 )
...
* Change type of rf_set_gain() to avoid unambiguous return with negative gains
* Add per-channel TX gain
4 years ago
Francisco Paisana
ddff68a546
add ifdef guards for NR code
4 years ago
Francisco Paisana
6735199728
fix nr optional linking
4 years ago
Francisco Paisana
f0874b780b
add radio_base/null classes
4 years ago
Pedro Alvarez
9c1a7d2cf1
Removed get_bearer_status in PDCP. Renamed get_state/set_state to
...
get_bearer_state/set_bearer_state.
4 years ago
Xavier Arteaga
0e415260e9
SRSUE: scell_sync vector changed to map
4 years ago
Xavier Arteaga
e0e8405285
SRSUE: initial scell sync
...
SRSUE: SCell Synch feedbacks delay
SRSUE: Implemented SCell Radio offset correction
4 years ago
Francisco Paisana
a42c20b73d
preemptive transmission of the rrc reconf complete
4 years ago
Ismael Gomez
54b331c504
Adds best neighbour to CSV and stdout metrics ( #1440 )
4 years ago
Xavier Arteaga
65a603f522
SRSUE: minor AGC code readability improvement
4 years ago
Xavier Arteaga
f04cf2090a
Integrates number of samples in radio buffer
...
Fix minor issue
Radio: Fix minor bug and add unit test
4 years ago
Xavier Arteaga
de230826b9
Added string helper for removing spaces and parsing list
...
Fix
Fix string parser
4 years ago
Xavier Arteaga
89b24b54e5
Refactored radio class for acommodating multiple RF devices
4 years ago
Andre Puschmann
d1cb5531d6
demux: fix typo
4 years ago
Andre Puschmann
c71d6b9204
ue,rrc: improve error message when cell selection fails due to missing SIBs
4 years ago
Francisco Paisana
057980d1fb
use common log helper macros
4 years ago
Francisco Paisana
0d38c33a60
rename ue phy nr class
4 years ago
Francisco Paisana
27e5d98ef9
added vnf phy nr
4 years ago
Pedro Alvarez
396dc82b98
Swapped resume with reestablish in the UE.
4 years ago
Xavier Arteaga
0e5704731e
Removed UHD unrelated changes
4 years ago
Xavier Arteaga
cd463d1b87
UHD: Initial C++ porting
...
UHD: cmakefix
x3
4 years ago
Andre Puschmann
8512c10286
create simple helper method to log command line arguments
4 years ago
Ismael Gomez
84b84eaad6
Move search_in_common variable
4 years ago
Ismael Gomez
9b634b8d2a
Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398
4 years ago
Francisco Paisana
17cd3a02cb
fix pcch error message
5 years ago
Francisco Paisana
877dee2ba8
fix use of phy cell select procedure
5 years ago
Francisco Paisana
3d76cc6c1a
fix dangling pointer in cell selection dispatching
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
71cac8f5b8
fix phy cell selection triggering
5 years ago
Francisco Paisana
37ce475398
fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking
5 years ago
Pedro Alvarez
960c0e97cd
Added handling of RRC re-establishment to srsENB.
...
* Added the appropriate code for handling and sending the
re-establishment procedure messages to rrc_ue.c/.h.
* Triggered RRC reconfiguration after the reception of RRC
re-establishment complete
* Refreshed K_eNB at the reception of re-establishment
request
* Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
as the RNTI might change with reestablishment.
5 years ago
Daniel Willmann
0e99e2f6eb
srsue: Refactor definition to live in its own .cc file
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
76a3c0ed1c
removed deadcode
5 years ago
Francisco Paisana
452c043370
created a global map of lcids to srbs/drbs for NR
5 years ago
Francisco Paisana
4cf756434f
add srsue::rrc_nr srsue::ue_stack_nr
5 years ago
Francisco Paisana
6a164e032d
added srsue::rrc_nr
5 years ago
chaolinyi
bbe25a00d4
Update proc_ra.cc to bugfix RA-RNTI calculation
...
Bugfix the wrong ra_rnti calculation in ra_proc::state_pdcch_setup.
According to TS 36.321 Subsection 5.1.4 Random Access Response reception, we can see the formula on RA-RNTI, which is,
RA-RNTI= 1 + t_id + 10*f_id,
where t_id is the index of the first subframe of the specified PRACH (0≤ t_id <10), and f_id is the index of the specified PRACH within that subframe, in ascending order of frequency domain (0≤ f_id< 6). Then, reading the srslte source code, we can see that, the code should bugfix.
BTW, the wrong code can run normal for LTE_FDD, causing of the info_f_id = 0; but it should be wrong, when it is LTE_TDD.
5 years ago
Ismael Gomez
6a19a19f00
Fix memory fault during exiting and waiting for worker
5 years ago
Francisco Paisana
9a0ea6e08c
use log_helper for log macros
5 years ago
Francisco Paisana
edba7f57e4
corrected mac_nr_pdu includes
5 years ago
Francisco Paisana
0b701022a3
added ue nr mac
5 years ago
Francisco Paisana
d36ae722d5
added extra debug logs
5 years ago
Ismael Gomez
5d42d16b79
Do not cancel Regular BSR after triggering SR. Fixes mac_test
5 years ago
Ismael Gomez
b5ccbf1891
Simplify relationship between BSR, SR and RA procedures. Fix issue #1346
5 years ago
Xavier Arteaga
e605a6f367
UE PHY test disabled due to unstable behaviour
5 years ago
Xavier Arteaga
0d2b3eb55d
Removed ue_phy_test log overload
5 years ago
Xavier Arteaga
ac0e347d94
SRSUE: refactored sync.cc and clean up
5 years ago
Xavier Arteaga
2d8bd0692a
SRSUE: fix and enable UE PHY test
5 years ago
Xavier Arteaga
dc927b745a
SRSUE Removed async_scell_recv.h
5 years ago
faluco
d80bce79e0
Fix for 1489462.
5 years ago
faluco
eb69321649
Fix for issue 1476278.
5 years ago
faluco
9efa24bfa9
More warning fixes.
5 years ago
faluco
7ff251f112
- Fixed warnings caught by Clang 9.0.0
5 years ago
Pedro Alvarez
2ea78c8feb
Added configuration options for stack logging.
5 years ago
Ismael Gomez
8c82203c74
Removed unused pregenerate option
5 years ago
Andre Puschmann
25ab36ddd5
nas: fix UE not attaching if PLMN isn't found after switching on
...
if no cell/PLMN can be found if the UE is switched on, the UE was never
trying again.
In theory this would be handled by T3410, but the timer
is not started in case the PLMN search isn't done yet.
5 years ago
Andre Puschmann
ead2acf70c
ue: add info to check ue log file when param parsing failed
5 years ago
Andre Puschmann
552179a113
srsue: flush CSV metrics before stopping
5 years ago
Francisco Paisana
de4d58d8fe
fix coverity scan issues in master
5 years ago
Xavier Arteaga
9d0a3268e8
Added DL channel estimator algorithm options
5 years ago
Francisco Paisana
38f848ecdf
fix type name deducing for clang
5 years ago
Francisco Paisana
af9ca9f9e5
remove unecessary moves
5 years ago
Francisco Paisana
12b2ea7dde
remove warnings for base classes with no virtual dtors
5 years ago
Francisco Paisana
b8e6ba02e4
remove warnings related to unused vars and fwd declarations with trivial dtors
5 years ago
yagoda
8e0b106c22
fixing some warnings from LGTM
5 years ago
Andre Puschmann
1e0c8ead4c
srsue,sync: fix TTI gap calculation and reporting
...
The current TTI gap calculation assumes strict continuity
of radio time stamps, even when retuning, changing sample rate, etc.
This is certainly desireble but not necessaritly the case and may cause
issues when negative time gaps or too large gaps are detected and reported
to the stack.
this patch makes the assumption that valid TTI jumps are between 1ms
and 1s and that larger gaps are the result of screwed time-stamps
or too long radio operations.
5 years ago
Andre Puschmann
3aa0179caf
{ue,enb}.conf.example: add zmq examples to config
...
the examples are commented but by just uncommenting those
two lines the user should be able to run a eNB and UE on the same
machine in SISO mode over ZMQ
5 years ago
Francisco Paisana
b506e29b72
removed common ce_typeenum
5 years ago
Xavier Arteaga
58803d1b3e
Added UL EARFCN map and UE PHY interface cleanup
5 years ago
Xavier Arteaga
89dcd6339f
More LGTM fixes
5 years ago
Xavier Arteaga
77d5dedddc
Fix LGTM warnings and recommendations
5 years ago
Xavier Arteaga
562590e595
Fix LGTM warnings
5 years ago
Pedro Alvarez
ad0abe740b
Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity.
5 years ago
Francisco Paisana
6ddedd5972
moved pdu to common mac folder
5 years ago
Xavier Arteaga
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
5 years ago
Xavier Arteaga
4756319e8f
Reduce PHY logging
5 years ago
Xavier Arteaga
11a2d2cc4a
Fix and tidy up time offset in srsue
5 years ago
Francisco Paisana
28467d568d
eliminated old way to schedule tasks using the heap
5 years ago
Andre Puschmann
2e7e61f53e
rrc_meas: fix another compile error on 32bit
5 years ago
Andre Puschmann
8c925e90f5
rrc: fix compile error on 32bit machines
5 years ago
Andre Puschmann
20d9a83dac
fix printfs of 64bit numbers when compiling for 32 bit
...
this caused issues when compiling in 32bit on RPi2
5 years ago
Xavier Arteaga
04c47e2b47
Added srsue argument for enabling EVM calculation
5 years ago
Xavier Arteaga
1cabe2d55f
Load PDSCH configuration arguments
5 years ago
Francisco Paisana
c09f76ed6c
unified stack task defer method
5 years ago
Andre Puschmann
d35c9e2b89
nas: add support ot UE test loop mode B
...
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
5 years ago
Andre Puschmann
66a799661e
gw,tft: move traffic flow template matching into own class
...
this prepares the reuse of the matching functions for the TTCN3 DUT.
create own matcher class that the GW uses.
5 years ago
Xavier Arteaga
198684ce32
SRSUE: all TA control logic into a single class and faster TA response
5 years ago
Francisco Paisana
a2ade9edd1
break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder
5 years ago
Francisco Paisana
2950d26daa
remove asn1 namespace from srsue files
5 years ago
Andre Puschmann
451bbb20e8
ttcn3_ss: refactor AS security activation and use new timed call
5 years ago
Ismael Gomez
309c10b0c6
Set CFO from initial cell search
5 years ago
Andre Puschmann
54a99d3f66
ttcn3_dut: add basic DRB handler skeleton
...
the handler is currently just listening on the designated port
and prints the received JSON string
5 years ago
Daniel Willmann
925225dbeb
Implement Close UE Test Loop/Complete messages
...
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
5 years ago
Andre Puschmann
a4abd96ab6
nas: use MME security header when receiving identity request
...
this basically avoids sending a integrity protected or ciphered
identity response to a plain identity request
5 years ago
Andre Puschmann
4f8f6bf90c
nas: add comment as to why attach request is only integrity protected
5 years ago
Andre Puschmann
84d80f3e32
ss: use factory method to create PDCP config for SRB
5 years ago
Andre Puschmann
acc2948b45
nas: fix security handling
...
First of all, with this the NAS conformance tests pass with ciphering and
integrity turned on. Before only integrity was working.
Mainly the NAS was applying the integrity protection and/or ciphering
incorrectly because it wasn't taking the secuirty status of the PDUs
into account. Some where already correct, some not. The patch
streamlines the handling for all outgoing messages.
5 years ago
Xavier Arteaga
9a2b0b7cc7
Standard vector allocation uses vector library
5 years ago
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
5 years ago
Xavier Arteaga
cbaba9c0bd
Fix RRC and TTCN3 test
5 years ago
Xavier Arteaga
051e8fcc52
SRSUE: Apply default PHY config to SCell as well
5 years ago
Xavier Arteaga
e9813375eb
SRSUE: set SNR threshold for MIB decoding
5 years ago
Xavier Arteaga
6d355ab61e
SRSUE: Fix HO initial CFO
5 years ago
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
5 years ago
Andre Puschmann
62e4bd9469
log_ptr: fix issue if accessing log_ptr that was reset already
...
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()
i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
5 years ago
Andre Puschmann
dbb8b6a360
nas: add helper for entering new state in FSM
...
the helper will log the event
5 years ago
Andre Puschmann
ef80502047
nas: print attach attempts on console
5 years ago
Andre Puschmann
f477c1d2e5
nas: allow starting a attach request procedure even if a PLMN is already selected
...
previously the NAS would cancel a attach request procedure if the PLMN
is already selected. PLMN selection, however, in not necessarily happening
before requesting RRC to establish a connection.
5 years ago
Andre Puschmann
d8680cc9a8
nas: add helper to pack attach request and send to RRC
5 years ago
Andre Puschmann
cf28276a3a
nas: add helper function to reset NAS security context
5 years ago
Andre Puschmann
94c6034339
nas: rename start_attach_request to start_attach_proc
...
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
5 years ago
Andre Puschmann
9239bb14a6
ss: store current TTI in DL/UL grant struct
...
this fixes the TTI log in the PCAP generated by the UE
5 years ago
Andre Puschmann
5267a88d60
ttcn3_ss: remove unneeded NDI reset
5 years ago
Andre Puschmann
562b4ef6c8
ttcn3_ss: add missing timer stepping
5 years ago
Andre Puschmann
0e76b9ed15
nas: set NAS key set identifier to no key available when attaching with IMSI
5 years ago
Andre Puschmann
9cfe692825
nas: fix reset of attach attempt counter according to 24.301 Sec 5.5.1.1
5 years ago
Andre Puschmann
d0480141e5
nas: move re-arming and stopping of attach request related timers
...
t3402, t3410 and t3411 are now managed in the sender
function of the attach request. previosly they were only
correctly started in the high-level NAS call start_attach_request()
which may not be called if NAS itself resends the request
5 years ago
Andre Puschmann
15c47fab56
nas: adding t3402 to restart attach after initial attach attempt counter expired
5 years ago
Andre Puschmann
7ef56cb637
nas: add an attach attempt counter as described in 24.301
5 years ago
Francisco Paisana
1538917c3f
fix ue metrics
5 years ago
Francisco Paisana
599588ff51
removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking
5 years ago
Ismael Gomez
95c6916987
Improve robustness in RF Overflow ( #1124 )
...
* Use task id to track old background tasks in RA procedure
* Improve robustness against RF overflow in PHY
* Increase SNR out-of-sync threshold
* Do not change frequency if it's the same
* Increase sync priority
* Increase time to start receiving to reduce input buffer occupation
* Use scoped lock in sf_worker
5 years ago
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
5 years ago
Francisco Paisana
8e837e173d
printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ")
5 years ago
Ismael Gomez
4fe68e2d54
Verify that cell is valid before configuring scell
5 years ago
Francisco Paisana
c7741f368f
update rrc_meas_test
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
Xavier Arteaga
8e891b7038
Added AWGN channel to SRSUE and SRSENB
5 years ago
Andre Puschmann
b9a2217355
fix uninit vars reported by Coverity
5 years ago
Xavier Arteaga
5e6828c3a0
SRSUE: fix add/mod meas object
5 years ago
Andre Puschmann
3f10224729
refactor airplane mode simulation and move to NAS
...
- move handling to NAS
- use switch off to enable airplane mode (don't wait for EPC response)
- add tiny FSM to control airplane mode activation/deactivation
- only start on/off counter after state has been entered
5 years ago
Andre Puschmann
ac1d4d994b
srsue: refactor arg parsing error handling
5 years ago
Francisco Paisana
70c2510c25
simplified mac_test step interface
5 years ago
Francisco Paisana
e91a7ea513
removed stack-mac interface dedicated methods. We use now the task dispatch methods instead
5 years ago
Francisco Paisana
de03c96c3b
mac::process_pdus now uses the stack task dispatch interface
5 years ago
Francisco Paisana
7f6bde59fc
move write_pdu_pcch and write_pdu_bcch_bch to stack thread
5 years ago
Francisco Paisana
de3c28e52d
added task dispatch capabilities to stack interface
5 years ago
Francisco Paisana
46a1be3e76
updated mac-rlc interface to use unique_byte_buffer
5 years ago
Ismael Gomez
7c7c83b9ad
Address comments
5 years ago
Ismael Gomez
71723c315d
Apply PHY configs to workers sequentially without interrupting processing
5 years ago
Ismael Gomez
fd3d4a7874
Refactor thread_pool: use std::mutex and fix some hidden potential bugs
5 years ago
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
5 years ago
Francisco Paisana
602690246e
avoid calling rrc::run_tti multiple times in a tti jump
5 years ago
Francisco Paisana
45bc123967
remove manual tti counters from the rrc
5 years ago
Francisco Paisana
138347b6b5
nas using stack timers
5 years ago
Francisco Paisana
770f04b92a
the rrc now only works with the stack latest tti, instead of mac's tti
5 years ago
Francisco Paisana
e3e5b5be11
removed tti from some mac subcomponent interfaces
5 years ago
Francisco Paisana
d3f49d0e3c
changed interface sync-stack to allow tti jumps > 1
5 years ago
Francisco Paisana
fb967d17a2
now we can disable tprofs individually
5 years ago
Francisco Paisana
e73cbb09b0
created tprof statistic for sliding windows
5 years ago
Xavier Arteaga
ea1b6b60dd
Fix UHD memory issues
5 years ago
Xavier Arteaga
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
5 years ago
Francisco Paisana
597334c4bf
limit the rlc queue size for suspended bearers
5 years ago
Andre Puschmann
12dfe1cc58
fix srsUE's CSV DL metrics
5 years ago
Andre Puschmann
cf9306abdb
fix UE CSV metrics header typo
5 years ago
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
5 years ago
Ismael Gomez
cf4f4508ce
Normalize throughput in CSV/stdout metrics with respect to number of TTIs
5 years ago
Andre Puschmann
69d9914e0a
fix bit rate plotting in CSV metrics
5 years ago
Ismael Gomez
a1f1b44e26
Fixed flush period
5 years ago
Ismael Gomez
78463b8092
Add CC, PCI and earfcn
5 years ago
Ismael Gomez
568dbdb6d6
Fix typo
5 years ago
Ismael Gomez
1da7b2c8b9
Fix compilation issue
5 years ago
Ismael Gomez
23cc42ce9f
CSV metrics per carrier. Add options to flush file earlier and append to file
5 years ago
Xavier Arteaga
e832769ae6
Updated copyright
5 years ago
Daniel Willmann
b7e11b7bda
Use RRC establishment cause mo-signalling for NAS Attach procedure
5 years ago
Daniel Willmann
3a804e23fa
ttcn3_sys_interface: Parse SIBs even when "StaticCellInfo" is missing
...
The test TC_9_2_1_1_1 sends a Cell->AddOrReconfigure->Basic message
without a "StaticCellInfo" member. This is used to change SIB1 of
the cell and simulate a different PLMN/TAC in the test.
handle_request_cell_basic() ignored the json message if "StaticCellInfo"
is missing which results in the SIB not being updated (PLMN stays as
00102 for example).
With this patch the SIBs after the json are now parsed even if there
"StaticCellInfo" is missing. A confirmation of the json is not sent
because the test does not seem to expect one in that case.
Related: TC_9_2_1_1_1
5 years ago
Daniel Willmann
bc4e4ff97b
ttcn3_ip_sock_interface.h: Don't respond to UDP/ICMP Close
...
A close request should not be responded to with a ctrl_cnf
5 years ago
Daniel Willmann
275f26d875
liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types
5 years ago
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
5 years ago
Andre Puschmann
70ffe79b43
add support for periodic airplane mode simulation in srsUE
5 years ago
Xavier Arteaga
6c4e807141
SRSUE: fix signal ready issue
5 years ago
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
5 years ago
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
5 years ago
Andre Puschmann
1b1e7ac1a6
only print error when trying to enable non-existing carrier in UE
5 years ago
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
5 years ago
Xavier Arteaga
65711d06dc
PRACH TA base default to 0 and apply clang-format
5 years ago
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
5 years ago
Andre Puschmann
356fa9258b
check configured flag of SCell struct before enabling SCell
...
this prevents crashing the UE when receiving a SCell activation
command before the SCell has been configured from RRC
5 years ago
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
5 years ago
Daniel Willmann
1314b8f653
Implement override_lcid() function in ttcn3_sys_interface
...
Fixes: TC_7_1_1_1 (#6 )
5 years ago
Pau Espin Pedrol
1d81ef9e24
gw: Proper error log on non-existing netns
5 years ago
Andre Puschmann
5b8b718482
simplify NAS security handling and fix missing call in act test mode complete
...
add extra method to apply NAS security config, if configured,
that can be used by each NAS message sender
5 years ago
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
5 years ago
Andre Puschmann
e2892047e9
refactor UE shutdown
...
use alarm to give UE time to gracefully terminate
if the UE can't terminate and the alarm goes off, flush the logs
and exit
5 years ago
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
5 years ago
Andre Puschmann
df31a5c4cc
store CC idx in DL/UL HARQ entity
5 years ago
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
5 years ago
Andre Puschmann
8e4f2a4d59
add UE parameter to enable TTI stats calculations
5 years ago
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
5 years ago
Andre Puschmann
8b46f631c1
add basic TTI stats in stack
5 years ago
Andre Puschmann
ae4cfb50f2
print warning to console if TUN interface couldn't be setup
5 years ago
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
5 years ago
Andre Puschmann
e7c10270fa
ttcn3_ss: fix security activation for PDCP
5 years ago
Andre Puschmann
9e113f8b27
pdcp: allow to configure security for rx/tx seperately
...
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.
this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.
This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
5 years ago
Andre Puschmann
5a03eaed2b
ss: move timing_info_t to ttcn3_helpers, fix PDCP count handling
5 years ago
Andre Puschmann
72c5b381e4
fix bug when parsing cipher algo config for SS
5 years ago
Andre Puschmann
8a69772ebc
rewrite packing of DL PDU in SS
...
the new algo tries to write more than just one RLC PDU inside a MAC PDU
if this is possible
5 years ago
Andre Puschmann
e919c57a32
add handling of FollowOnFlag from tester
5 years ago
Andre Puschmann
51864bc03c
rrc: print release cause when receiving rrc connection release
5 years ago
Francisco Paisana
ac52208409
removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes
5 years ago
Andre Puschmann
dffa2af461
fix NAS re-attach after detach request from network
...
needed to add a timer to delay transmission of attach request
to allow RRC release on eNB side
5 years ago
Andre Puschmann
e4f85ec390
remove re-arming of t3411 after PLMN search
...
t3411 is restarted after attach or TAU failure only
5 years ago
Andre Puschmann
89d5876470
add TimingInfo support for remaining SS commands
5 years ago
Andre Puschmann
5b31c1db43
nas: delete security context when receiving attach reject with cause 3, 6, or 35
5 years ago
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
5 years ago
Francisco Paisana
4739f3084f
fix logs for SIB acquire
5 years ago
Francisco Paisana
b8b8740258
fix wraparound in si proc and error in scell parsing
5 years ago
Andre Puschmann
81e28aa9dc
add basic support for TimingInfo field from tester
...
this fixes an issue where commands are received out of
order and we are therefore applying configs incorrectly. if
commands include a timinginfo we are now putting the command
on a queue that the SS reads after the start of a new TTI.
the security and cell reconfig commands will be added in another
PR after the AS_security command has been fixed.
5 years ago
Andre Puschmann
55a5947df7
add default init to TTCN3 syssim to prevent segfault when tc_start isn't received
5 years ago
Andre Puschmann
39f2011699
fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late
5 years ago
Andre Puschmann
b88e877b4c
ttcn3: make SS single threaded and use SCTP for test ports
...
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
5 years ago
Andre Puschmann
6d88b640b7
rrc: log full message if decoding fails
5 years ago
Francisco Paisana
82629c6910
made failure to compute si periodicity more explicit. Created a const for sib1 periodicity
5 years ago
Francisco Paisana
5a64fc0a93
sib_acquire_proc is not tti-driven anymore. No need to call run explicitly
5 years ago
Francisco Paisana
57da7fd986
fixed issue with setting retry timer. I had to account for si_window_start in the timer duration
5 years ago
Francisco Paisana
925ac862cb
sib acquiring is failing for sib2
5 years ago
Francisco Paisana
c29f08d8d5
refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling
5 years ago
Xavier Arteaga
f8165383f6
Neighbour SCell measurement test waits for final measurement before exiting-xx
5 years ago
Ismael Gomez
7cdd1c2ba4
Set FIND sampling rate before setting frequency
5 years ago
Francisco Paisana
4d80856359
fix bug in cell selection initiation
5 years ago
Francisco Paisana
22f51bb30b
made cell select non-blocking using background threads
5 years ago
Ismael Gomez
21f01f6140
Do not print error when UL RNTI is not valid
5 years ago
Ismael Gomez
72e6fa40fc
Fix multiple issues with DCI sizes when using CA.
5 years ago
Ismael Gomez
be82e1f368
Fix concurrency bug in ZMQ during srate change ( #954 )
...
The bug was manifesting as buffer overflow in 20 MHz 2x2 CA
5 years ago
Ismael Gomez
4fb83ae26d
Run configure_prach_params as a background task
5 years ago
Andre Puschmann
701e4aa6be
fix bug causing segfault when UE wasn't initialized
5 years ago
Andre Puschmann
dc4be1b856
fix overwriting dedicated_info_nas in connection_request_proc
...
this fixes an issue in the step() function of the connection_request_proc
in which the dedicated_info_nas message was passed to RRC without
checking if its actually valid or not, i.e. contains a message at all.
because this check was missing and the step() function could be called
multiple-times, the function would overwrite the dedicated_info_nas
in RRC, and therefore causing the connection setup complete to fail
5 years ago
Andre Puschmann
f25b4f17f1
nas: log attach request cause
5 years ago
Andre Puschmann
b15cd3fdaa
add error handling to TTCN3 socket handlers
5 years ago
Andre Puschmann
42920d508f
fix SS debug output
5 years ago
Andre Puschmann
327aa97cfd
add macro for invalid RNTI 0x0
5 years ago
Andre Puschmann
265037c202
some tiny MAC code refactoring and typo fixing
5 years ago
Andre Puschmann
8d284f48bd
cancel RA when receiving contention resolution in wrong state
...
this fixes a bug in which the contention resolution timer expired
and the RA proc entered the BACKOFF state.
In the same TTI, a MAC PDU with the contention reslution ID is received
and the already aborted RA procedure succeeds. Unfortunatly with the
wront c-rnti which has already been reset before. See log excerpt
below:
16:16:36.909687 [RRC ] [D] MEAS: Processing measurement of 1 cells
16:16:36.909706 [RRC ] [I] MEAS: New measurement serving cell: rsrp=-85.00 dBm.
16:16:36.909732 [MAC ] [I] [ 6283] RA: ConRes: Contention Resolution Timer expired. Stopping PDCCH Search and going to Response Error
16:16:36.909749 [MAC ] [D] [ 6283] RA: ConRes: Backoff wait interval 143
16:16:36.909771 [MAC ] [D] [ 6282] Delivering PDU=27 bytes to Dissassemble and Demux unit (Temporal C-RNTI)
16:16:36.909799 [MAC ] [D] [ 6283] Found Contention Resolution ID CE
16:16:36.909814 [MAC ] [D] [ 6283] RA: Backof: MAC PDU Contains Contention Resolution ID CE
16:16:36.909826 [MAC ] [D] [ 6283] Msg3 buffer flushed
16:16:36.909858 [MAC ] [I] [ 6283] RA: Backof: Random Access Complete. c-rnti=0x0, ta=0
16:16:36.909871 [MAC ] [D] [ 6283] Saved MAC PDU with Temporal C-RNTI in buffer
5 years ago
Xavier Arteaga
6672f6df0f
Minor aesthetic changes in intra measure class and changed scell_search test arguments
5 years ago
Xavier Arteaga
344016ef0a
Refactored and commented SRSUE's Intra measure component
5 years ago
Xavier Arteaga
8f6dd184be
SRSUE: neighbour cell measurement test defined
5 years ago
Xavier Arteaga
f935916e7c
SRSUE: fix srsue_rf_test
5 years ago
Francisco Paisana
c76cdc6cea
refactored the serving cell config procedure. there was one more state than it was needed.
5 years ago
Andre Puschmann
cccabdaf4f
removing unneeded install targets for static libs (reported by Filipe)
5 years ago
Andre Puschmann
627dac49b0
log message when ASN1 couldn't unpack DL message
5 years ago
Andre Puschmann
c7343cf6d8
protect sf_buffer from overrun in receive_samples
...
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.
currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).
By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
5 years ago
Andre Puschmann
23bab1f207
fix potential segfault when overrunning char array
...
this fixed an issue when printing many neighbor cells because
the calculation of the remaining length can be negative
5 years ago
Andre Puschmann
0e337a01c3
fix SRB2 security handling in SS
5 years ago
Andre Puschmann
7c1b4c1f12
add support for IMEISV when requesting UE idendity
5 years ago
Ismael Gomez
f2851b037e
Fix concurrency issue in set_crnti()
5 years ago
Pau Espin Pedrol
2f3a125757
srsue: fix trailing whitespace
5 years ago
Pau Espin Pedrol
4949df257e
Proper shutdown on SIGHUP
...
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
5 years ago
Andre Puschmann
ed179fd311
timers: rename value() to time_elapsed()
...
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Xavier Arteaga
4d3c28ff97
SRSUE: wait for valid RSRP measurement before adquiring SIBs during cell search
5 years ago
Andre Puschmann
9720449cbb
fixing RRC measurement test after logmap refactor
5 years ago
Andre Puschmann
3d7598a4cb
rewrite cell handling in TTCN3 PHY and SS
5 years ago
Andre Puschmann
2a46413121
during cell search don't configure found cell as serving cell
...
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.
instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
5 years ago
Andre Puschmann
ca54f02b87
fix RRC measurement reporting when reportInterval is set to infinity
5 years ago
Andre Puschmann
bbacc35e24
move configuration of default logger to main
...
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
5 years ago
Xavier Arteaga
5302fcfa4d
SRSUE: listen to paging only when RRC is IDLE
5 years ago
Xavier Arteaga
fe199e6be2
SRSUE: Undo enable/disable RA procedure flag
5 years ago
Xavier Arteaga
66bb7d6f82
SRSUE: fix TTCN3 compile
5 years ago
Xavier Arteaga
f8294fb9df
SRSUE: RRC measurements refactor and more fixes
5 years ago
Ismael Gomez
52716f8716
Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
...
rrc_meas refactor. Need to split commit
Fix typo
Temporal commit
Apply rx_gain_offset to neighbour cell measurements
srsLTE: modify TESTASSERT Macro to follow codeline
SRSUE: prevent RRC from having serving cell in neighbour list
SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release
SRSUE: extend intra-frequency to CA SCell
SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue
SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful
SRSUE: fix compilation issues and Reest SIB indexes
Fixes sync using incorrect cell configuration when search cell does not find a correct cell
Small refactor to remove measurement report triggers always after removing measurement
SRSUE: Removed SIC PSS from UE
SRSUE: fix inter-frequency reestablishment and added more traces
SRSUE: Fix compilation issue
5 years ago
Francisco Paisana
296af7e297
fix setting up nas log before all log configuration
5 years ago
Francisco Paisana
ea777d92e8
applied new logmap class to nas
5 years ago
Xavier Arteaga
c080cb3395
SRSUE: expose correct synch error parameter
5 years ago
Ismael Gomez
17f9ff326b
Expose in-sync and out-of-sync constants to ue.conf
5 years ago
Ismael Gomez
cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission
5 years ago
Francisco Paisana
91d83fc20d
different way to retrieve a proc future
5 years ago
Ismael Gomez
171e26ee68
Add checks more checks for UL grants
5 years ago
Francisco Paisana
5ae3afd2b8
created cbit_ref for unpacking const buffers
5 years ago
Francisco Paisana
5468189cd9
fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab)
5 years ago
Andre Puschmann
b0bfc7956d
use const& in metrics interface
5 years ago
Andre Puschmann
77522a6b69
add srsUE parameter to change netns before creating TUN in GW
5 years ago
yagoda
260648582e
small formatting fix
5 years ago
yagoda
fc1c506d1f
refactoring TA command structure in UE
5 years ago
yagoda
2db90c5dd3
allowing TA CE commands in Msg4
5 years ago
Andre Puschmann
d045213fb9
fixing bug in RRC measurement when receiving periodic config
...
in the UE conformance testing we've spotted an issue
where an event was evaluated even though the trigger type for
the report was periodic which caused an exception in RRC
5 years ago
Andre Puschmann
bc6aa1a166
fixing PDCP call in TTCN3 SS
...
this fixes an issue introduced in 6ec573987a
5 years ago
Andre Puschmann
e24d33562a
disabling ue_phy_test temporarily
5 years ago
Andre Puschmann
6ec573987a
remove default value for 'blocking' param from pdcp::write_sdu()
...
there were two defaults and one was shadowing the other. This
commit removes both defaults and uses blocking-mode for RRC
calls to PDCP in the UE. The eNB write_sdu() uses the non-blocking
mode by default. We have to review the eNB's RRC perhaps and use blocking
there too and non-blocking only for data plane
5 years ago
Andre Puschmann
8f419c035b
fixing snprintf issue where return value was used for length calculation
5 years ago
Andre Puschmann
e5609e299d
fix UE PHY test compilation on 32 bit systems
5 years ago
Xavier Arteaga
36b2102de8
SRSUE: avoid testing ue_phy_test
5 years ago
Xavier Arteaga
0134d47ee8
SRSUE: clear EARFCN list if the list is not empty
5 years ago
Xavier Arteaga
11eafa8ab4
srsLTE: FFTW wisdom gets loaded and saved by default
5 years ago
Xavier Arteaga
c92dce71b7
srsLTE: AGC only uses boundaries for requesting gain to Radio
5 years ago
Pedro Alvarez
6d4303cd94
Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch.
5 years ago
Xavier Arteaga
089a5e21dc
Label test that memcheck is excessively long
5 years ago
Xavier Arteaga
ad46fc006f
srsLTE: Fix thread memory leak. Moved test. Fix CLang warnings.
5 years ago
Xavier Arteaga
a7e92c384e
srsLTE: applied minor comments in tti semaphore
5 years ago
Xavier Arteaga
d2c6dda025
SRSUE: Avoid sf_worker return without calling worker_end
5 years ago
Xavier Arteaga
447ede327c
srsLTE: removed unused argument
5 years ago
Xavier Arteaga
384c420c7c
SRSUE: fix phy workers concurrency issue
5 years ago
Xavier Arteaga
dc7ac0a8d6
SRSUE: Updated PHY test
5 years ago
Xavier Arteaga
6895bfa70a
SRSUE initial PHY worker test
5 years ago
Andre Puschmann
476f970ee1
replace FIXME with TODO
5 years ago
Andre Puschmann
f874722cfb
fix error handling in UE init
...
previously we've returned the init() function when a sublayer
init failed. This leaves the pointers to the layers unset which, in turn,
breaks the stop() call for the UE
5 years ago
Andre Puschmann
4a9e3728c9
add condtional variable for PHY initialization and configuration
...
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
5 years ago
Andre Puschmann
705cd3c211
fix typos spotted by aleksander0m
5 years ago
Andre Puschmann
3127f59b4c
wait with init of GUI until cell is found and initialized
...
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.
this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
5 years ago
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Andre Puschmann
c7ee887170
add factory function for creating PDCP config
5 years ago
Andre Puschmann
f7f956708c
use helper function to print MIB content
5 years ago
Andre Puschmann
8a064cd3a6
pass msg_type from caller when logging RRC message
...
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
5 years ago
Andre Puschmann
60d07f1656
assign msg-type to temp variable before logging ASN1 message in RRC
5 years ago
Andre Puschmann
fa2821a4e7
fixing periodic measurment reporting
...
fixes various issues with unset timers, interval parameters, etc.
with those fixes, TC_8_3_1_1 and TC_8_3_1_2 pass
5 years ago
Francisco Paisana
d59016ae68
use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb
5 years ago
Ismael Gomez
44c23b1690
Fix bug in rrc_meas in ASN to_number() conversion, making the UE to generate Measurement reports every TTI
5 years ago
Xavier Arteaga
1fa5a19a55
SRSUE: SRSUE: fix timealigmenttimer
5 years ago
Xavier Arteaga
bcde542111
SRSUE: fix typo
5 years ago
Xavier Arteaga
b9492bbd73
SRSUE: Fix set intra-frequency cell during cell search
5 years ago
Xavier Arteaga
8ad69b0c4d
SRSUE: Fixed minor RRC measurement
5 years ago
Xavier Arteaga
db36fb08a2
SRSUE: fix intra-frequency measurement cell select
5 years ago
Xavier Arteaga
22e4d3c905
SRSUE: Camping SFN synchronism discards cell
5 years ago
Xavier Arteaga
e89dde0f35
SRSUE: Check cell is valid
5 years ago
Xavier Arteaga
4be4f56333
SRSUE: Fix duplicates ACK
5 years ago
Francisco Paisana
d270518d69
updated rrc to new srsasn1 version
5 years ago
Xavier Arteaga
0ec49f00f7
SRSUE: Reset measurements during cell search in PHY
5 years ago
Pedro Alvarez
e68956bcf6
Adding discard timer timeout to PDCP config.
5 years ago
Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
5 years ago
Xavier Arteaga
a8763cb7a0
SRSUE: Added Cell PCI in console trace
5 years ago
Xavier Arteaga
d96836a0fa
SRSUE: Stack TTI based purely in radio timestamp
5 years ago
Xavier Arteaga
7312752988
SRSUE: reestablishment procedure wait for children to finish before aborting
5 years ago
Xavier Arteaga
6d896ee453
Fixed more static code analysis warnings
5 years ago
Xavier Arteaga
b48bb0d754
Removed atof, atoll and atoi calls
5 years ago
Xavier Arteaga
8dd1c59e18
Added amplitude and power conversions to dB and viceversa
5 years ago
Xavier Arteaga
b4b1ab94af
SRSUE RRC: new PHY unknown sync state, cell select waits for PHY in-sync
5 years ago
Xavier Arteaga
67935d2b99
SRSUE: RRC blocks MAC RA procedure during reestablishment
5 years ago
Andre Puschmann
71c83bd0e0
fixing typo in RRC proc
5 years ago
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.
5 years ago
Xavier Arteaga
f5e4ff9f4d
SRSUE: RRC Reest Procedure Refactor
5 years ago
Xavier Arteaga
dbdb699a78
SRSUE: minor RRC/PHY fixes
5 years ago
Xavier Arteaga
f37a096f10
SRSUE: Refactored/Fixed RRC connection Re-establishment and minor CLang Format/Tidy fixes
5 years ago
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
5 years ago
Francisco Paisana
b2d3c2a150
fix compilation issue
5 years ago
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
5 years ago
Andre Puschmann
4e2d9c6b60
specify MAC source files in UE
5 years ago
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
5 years ago
Pedro Alvarez
c6ddada488
Fix compilation issue when enabling TTCN3
5 years ago
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
5 years ago
Francisco Paisana
177e880293
removed extra threads from enb rrc
5 years ago
Francisco Paisana
c8e50c1e19
DL/UL sched are called in a round-robin fashion
5 years ago
Andre Puschmann
1a7142d73f
fix GW init procedure and set pool instance in ctor
5 years ago
Andre Puschmann
2f00fd62ec
fix PDCP config in TTCN3 SS
5 years ago
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.
5 years ago
Francisco Paisana
dc0f7acfda
a new future was not being created for the new cell_search
5 years ago
Andre Puschmann
d25a734200
fix uninit value in NAS and move emm_info on stack
5 years ago
Francisco Paisana
8440126d35
removal of srslte::timers class
5 years ago
Francisco Paisana
ecba994712
fixed bad initialization of t311
5 years ago
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
5 years ago
Francisco Paisana
15bde8660a
getting a future of an already finished proc is dangerous
5 years ago
Francisco Paisana
248583ecdf
added extra logging and removed uneeded member from proc_t
5 years ago
Francisco Paisana
b254bdbb93
typedefed the proc_result_t<void> to become proc_state_t
5 years ago
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.
5 years ago
Francisco Paisana
8864787f59
added the continuation functionality to procedures via the "then()" method.
5 years ago
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()
5 years ago
Francisco Paisana
8980810061
added some util print functions and fixed the issue with sync::cell_select when the last cell search was not successful
5 years ago
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
5 years ago
Andre Puschmann
44dcfbe5c2
use info_long to print full message rxed on SYS interface
5 years ago
Andre Puschmann
82e3fd1052
fix uninitialized vars in RRC
5 years ago
Andre Puschmann
755a0599c4
rework cell list and SIB handling in SS
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
Andre Puschmann
b631106612
always print RF errors to stdout
5 years ago
Andre Puschmann
1a68fbc460
fix wrong setting for RF log level
5 years ago
Francisco Paisana
e94755c471
revert nas_test fix
5 years ago
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
5 years ago
Andre Puschmann
4d688bce98
fixing nas test
5 years ago
Andre Puschmann
cf548fe807
nas: add handling of T3410/T3411
5 years ago
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.
5 years ago
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
5 years ago
Francisco Paisana
80ef7f8497
changed the name of proc Error/Warning/Info logging macros
5 years ago
Francisco Paisana
71ebac861c
fix nas proc logging, and reuse of cell selection result
5 years ago
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
5 years ago
Francisco Paisana
e67f66e539
moved cell search completed signal from the background thread to the stack thread
5 years ago
Xavier Arteaga
0b00e6d94a
SRSUE: fixed CSI and HARQ collision for CA
5 years ago
Xavier Arteaga
743cce5503
SRSUE: Added end of burst when a out-of-sync is detected in PSS/SSS sync
5 years ago
Xavier Arteaga
a9dae4c29c
SRSUE: Enable Asynchronous SCell Receiver AGC
5 years ago
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
5 years ago
Andre Puschmann
7a672ca340
fix typo
5 years ago
Francisco Paisana
b1496317d5
fixed the pcch proc issue by letting the cell selection explicitly propagate its result to the pcch_process_proc
5 years ago
Andre Puschmann
3a678b1e5f
fixed wrong SRS parameter logging
5 years ago
Andre Puschmann
3c6ff0da30
make NAS logging less verbose
5 years ago
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
5 years ago
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
5 years ago
Andre Puschmann
a166b3c2d9
fix PHY-MAC interface in TTCN3 PHY
5 years ago
Andre Puschmann
08418b17ce
fix concurrency issue in TTCN3 PHY
5 years ago
Andre Puschmann
0467d8bc84
rework neighbor cell handling
5 years ago
Andre Puschmann
c7f0caa24a
add TTI field to MAC dl/ul grants and fix PCAP to include TTI
5 years ago
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
5 years ago
Xavier Arteaga
efdec15964
Renamed lock_guard (lg) to lock
5 years ago