Francisco Paisana
fdec451a9d
disable mcs>20 if eNB supports UL 64QAM but UE doesn't
2020-12-12 15:58:33 +01:00
Francisco Paisana
bf7c587e4f
add UL 64QAM support to eNB RRC and scheduler
2020-12-12 15:58:33 +01:00
Andre Puschmann
286844b3dd
mac_pdu: reset subheader state when deleting from PDU
...
when packing MAC PDUs, adding a new SDU might fail, for example
because RLC couldn't provide a new PDU. The muxer then needs
to delete the subheader from the PDU again.
When adding a padding BSR at the end, the same subheader is again
used to store the BSR, so any state in that subheader should be removed.
In the particular case, this was causing an issue when logging a LBSR
because the LCG buffer states are printed using the payload buffer,
which was still pointing to some memory that was used when trying
to add the new RLC PDU in the beginning.
2020-12-12 15:58:33 +01:00
Xavier Arteaga
cf55eb4c4f
Improved comments
2020-12-12 15:58:33 +01:00
Xavier Arteaga
e8f94c40b8
Added LDPC codeblock segmentation
2020-12-12 15:58:33 +01:00
Xavier Arteaga
736e6db616
Initial resource allocation for NR
2020-12-12 15:58:33 +01:00
Xavier Arteaga
0439161de6
Removed modulation enum from LDPC RM
2020-12-12 15:58:33 +01:00
Pedro Alvarez
454162cea7
Deleted nas_interface_stack.
2020-12-12 15:58:33 +01:00
Pedro Alvarez
604e79214d
Changed NAS is_attached interface to is_registered.
2020-12-12 15:58:33 +01:00
Pedro Alvarez
14844a168a
Created new class to hold all NAS states for the NAS state machine. Added EMM-DEREGISTERED substates and EMM-REGISTERED substates.
...
Decoupled PLMN selection, attach request and service request. Removed RRC connect procedure from NAS.
2020-12-12 15:58:33 +01:00
Andre Puschmann
6773f6d02f
pdu_queue: add reset method to empty queue
2020-12-12 15:58:33 +01:00
Francisco Paisana
88105c1577
change the namespace of tti point helper functions for the eNB
2020-12-12 15:58:33 +01:00
Francisco Paisana
510959b50f
update nr asn1 files, and asn1 tests
2020-12-12 15:58:32 +01:00
Xavier Arteaga
0c2f96d389
Fix 5G NR FEC memcheck
2020-11-04 15:06:39 +01:00
Xavier Arteaga
2c4aa1e379
Added Polar and LDPC forward error correction
2020-11-04 15:06:39 +01:00
Xavier Arteaga
271002c9fb
Fix compilation
2020-11-02 16:44:50 +01:00
Xavier Arteaga
f21590735d
refactored FEC directories
2020-11-02 16:32:26 +01:00
Xavier Arteaga
7093a85f81
Refactored FEC directories
2020-11-02 16:32:26 +01:00
Francisco Paisana
a865858db3
disable srbs UL during handover to avoid UL grants and scheduling requests before the handover is complete
2020-10-30 21:51:58 +00:00
Francisco Paisana
e9b693942f
diff-based cell selection activation
2020-10-29 21:19:40 +00:00
Francisco Paisana
836e7d7ede
refactor scell addition in the srsenb::rrc to follow the same style of other rrc recfg fields
2020-10-29 21:19:40 +00:00
Francisco Paisana
f26b5ccde7
fix drb reestablishment during handover
2020-10-29 21:19:40 +00:00
Francisco Paisana
97f2e4336e
refactor of functions for filling the asn1 radio resource config structs. This functions are used during rrc setup/reest/reconf
2020-10-29 21:19:40 +00:00
Xavier Arteaga
9487d27ef9
Renamed NR constants and comments
2020-10-29 09:23:09 +01:00
Xavier Arteaga
e8f168b20c
PDSCH NR: Added files
2020-10-29 09:23:09 +01:00
Xavier Arteaga
c8477483d9
PDSCH NR: Added files
2020-10-29 09:23:09 +01:00
Xavier Arteaga
30d8e05d50
Fix PDSCH-DMRS symbol index
2020-10-29 09:23:09 +01:00
Xavier Arteaga
275cbafe6e
Modified comments
2020-10-29 09:23:09 +01:00
Xavier Arteaga
8d34d344a8
Created PDSCH-NR configuration structures and refactored DMRS
2020-10-29 09:23:09 +01:00
Xavier Arteaga
009f300c5e
Initial PHY Data procedures
2020-10-29 09:23:09 +01:00
Xavier Arteaga
775692f461
Rearanged PDCCH NR functions structures
2020-10-29 09:23:09 +01:00
Xavier Arteaga
452eb2dbbf
Updated some DOCS
2020-10-29 09:23:09 +01:00
Xavier Arteaga
937c52339d
Added PDCCH DMRS estimation and measurement
2020-10-29 09:23:09 +01:00
Xavier Arteaga
5799100e42
FFT based Resampler admits NULL inputs/outputs
2020-10-29 09:23:09 +01:00
Xavier Arteaga
29ad2427d9
Initial implementation of the 5G NR PDCCH DMRS encoding
2020-10-29 09:23:09 +01:00
Xavier Arteaga
579526f1fe
Added sequence advance without generating data
2020-10-29 09:23:09 +01:00
Xavier Arteaga
58be68f856
Changed cell gain command from cell index to cell id
2020-10-26 10:13:02 +01:00
Francisco Paisana
4cb6ed27eb
updated scheduler ue mcs computation to account for new 256QAM tables
2020-10-22 19:55:46 +02:00
Francisco Paisana
698af97ec4
updated asn1 utils to account for conversion from 0 to bitstring. Added asn1 utils test to repository.
2020-10-20 16:29:44 +01:00
faluco
8376111419
- LGTM fixes.
2020-10-20 14:45:18 +02:00
Andre Puschmann
bb1dd0f4cf
gnb_interface: remove FIXME
2020-10-18 15:56:16 +02:00
Francisco Paisana
665b3996bb
now the phy controller handles the scenario where the phy cell selection failed to be initialized
2020-10-16 15:54:42 +01:00
Pedro Alvarez
4c1416b84f
Remove redundant declaration of EIA2
2020-10-16 11:11:51 +01:00
Francisco Paisana
9b10acff06
implemented logical channel prioritization in DL scheduler
2020-10-14 22:55:12 +01:00
Andre Puschmann
fab86382c1
mac,rrc: add interface to set SR config explicitly without touching any other MAC function
...
when releasing PUCCH/SRS (see 5.3.13 in 36.331) we need to reset the SR config as well.
In our case, SR is handled by MAC so we need to (re-)configure MAC, not all of
MAC though, just SR.
2020-10-13 17:38:45 +02:00
Francisco Paisana
e7239163e9
silence noisy unhandled in_sync_ev logs
2020-10-12 18:24:14 +01:00
Francisco Paisana
b7ed8b1858
- added react method to to_state<...> transitions
...
- s1 handover composite state simplified
- the eNB now starts a HO cancellation when it receives an invalid
Handover Command
- the FSM log now prints the current state when it receives an unhandled
event
2020-10-12 18:24:14 +01:00
Andre Puschmann
30b8848ea9
metrics_hub: protect access to vector of metrics_listener
...
prevent potential race between metrics hub thread trying
to access the metrics vector and another thread
adding another element to it
2020-10-08 12:30:57 +02:00
Pedro Alvarez
b43e724b4c
Remove packing/unpacking code for M2AP.
2020-10-08 11:02:50 +01:00
Pedro Alvarez
5a4e71a6e4
Created k_enb_context structure that holds k_enb, NCC and NH to make it easier to restore context from failed handover.
2020-10-08 09:46:34 +01:00
Pedro Alvarez
00ac85e1b3
Small compilation fixes for GCC 10.1
2020-10-07 15:38:57 +02:00
Xavier Arteaga
da54e2b501
Better docs in RRC interface types and apply clang-format
2020-10-07 09:58:23 +02:00
Xavier Arteaga
6ae47b6510
SRSUE: Deafult PUCCH/SRS does not imply full PHY dedicated defaults
2020-10-07 09:58:23 +02:00
Francisco Paisana
137e554eb3
reestablish pdcp bearers is required in case of AM bearers
2020-10-01 16:57:08 +01:00
faluco
079ae70e64
- Fix logs entries having two newlines instead of one. The old log formatter will delegate this to the new one.
2020-10-01 17:06:41 +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
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
faluco
302f9793ca
- Add common utils to print to stdout and stderr as a first step to remove the log::console method.
2020-09-29 17:38:13 +02:00
Andre Puschmann
795db30338
pdcp: drop PDCP control PDUs
...
this patch adds a check to drop all PDCP control PDUs
in order to prevent handling them as data PDUs.
This could happen when the size exceeded the arbitrary length check.
This should fix #1787
2020-09-29 15:29:04 +02:00
Sylvain Munaut
2890bd07ea
liblte_mme.h: Adjust LIBLTE_MME_PACKET_FILTER_MAX_SIZE for IPv6
...
Original was 20 but TS 24.008, section 10.5.6.12 specifies a max
of 60 for ipv6 packet filter
2020-09-28 16:08:28 +02:00
Xavier Arteaga
d375e305ec
Initial NR DMRS for PDSCH
2020-09-25 11:28:04 +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
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
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
Xavier Arteaga
ede58319ae
Vector: added conjugate complex float to short
2020-09-23 09:06:03 +02:00
Xavier Arteaga
c20d4ff5cc
Added ringbuffer zerocopy a timeout
2020-09-23 09:06:03 +02: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
faluco
c1e680769c
- Remove stray code left behind.
2020-09-22 18:00:50 +02:00
faluco
f604506858
- Fixed missing initialization issues in nas that caused several jumps in liblte_mme to use uninitialized memory.
...
- Fixed missing initialization in spgw that caused recvfrom to use an unitialized argument.
2020-09-22 18:00:50 +02: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
Francisco Paisana
dcf5a727f2
do not send RRC release in case the eNB receives a S1AP UEContextRelease command and the UE is doing handover. Handle GTPU end marker
2020-09-22 16:51:45 +01:00
faluco
b892da0294
- Calculate the FFT of the PRACH on demand.
...
- Fixed a PRACH test that was failing with ASAN.
2020-09-21 09:50:20 +02:00
Xavier Arteaga
44c2412be2
SRSUE: silent PUSCH encoding error by dropping invalid grant
2020-09-17 22:39:56 +02:00
Andre Puschmann
6dc7841369
epoll_helper: move code to block OS signals into own helper function
...
before epoll can handle signals, the calling thread needs to block
them. the blocking needs to happen before any other threads get
spawned so they inherit the mask.
2020-09-14 21:20:00 +02:00
faluco
5e8a4c898d
Bring back the circular array object. ( #1712 )
2020-09-09 17:16:47 +02:00
Andre Puschmann
6a56476b2a
rlc: increase RLC Tx SDU queue
...
the Tx SDU has been set to 128 PDUs because this gives approx.
150kByte UL buffer state (max value for Rel 8 BSR).
Previously, however, we've always reported too much pending UL
data because we weren't subtracting the transmitted data from
the reported data.
with this newer BSR reporting, however, even with full buffers we would
never report full buffers because the queues size is too short.
This seems to cause issues for iperf TCP sessions not resulting
in full DL rate, see isse #1703 . It seems that the TCP bandwitdh
probing works better with larger buffers (in our case this can
only be achieved with more PDUs in the pool).
This should fix #1703
2020-09-08 22:27:21 +02:00
Andre Puschmann
569d8ee860
rlc: remove unused macro
...
this seems to be a legacy copy of the RLC_TX_QUEUE_LEN macro
in rlc_interfaces_types.h
2020-09-08 22:27:21 +02:00
Andre Puschmann
e80aa0a553
add circular array class to simplify access to truly circular arrays
2020-09-07 15:56:48 +02:00
yagoda
b5a8d82058
-adding more prach tests to make test, removing some variables from stack
...
-PRACH time offset to TA unit conversion
2020-09-07 14:56:12 +01:00
yagoda
59082770d3
moving some arrays to the heap, fixing formatting, setting dft norm
2020-09-07 14:56:12 +01:00
yagoda
f6ea431555
-adopting new PRACH equalization approach for successive cancellation
...
-adding frequency domain time offset detection
-adding to testing of PRACH
2020-09-07 14:56:12 +01:00
yagoda
ec7873e7cc
refactoring PRACH, adding phase correction to successive cancellation
2020-09-07 14:56:12 +01:00
yagoda
4d8888aae6
- adding simple successive cancellation to PRACH detection
...
- adding testing for same and for offset detection
2020-09-07 14:56:12 +01:00
Pedro Alvarez
08a0d6bc0a
Fix compilation warning with unecessary comparison.
2020-09-07 13:10:08 +01:00
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
2020-09-04 12:18:12 +02:00
Andre Puschmann
d48bc8837e
pdu: refactor MAC PDU class
...
this patch refactors the MAC PDU class, the main changes are:
* add to_string() method to pretty print PDU and subheaders
This allows to have a single log entry per MAC PDU with all its
contents.
It removes the C-style fprint() method
* Simplity payload vs. w_payload_ce
Before we've used payload when reading the PDU and w_payload_ce
as a buffer when writing. In all getters we needed to differentiate
between both. Now payload points to w_payload_ce initially and is
only updated when parsing a new PDU.
* add various helpers, e.g. to get subheader index, update a BSR, ..
* fix PDU test to use new to_string() method
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
c9daf1f61a
Make const args
2020-09-03 10:45:06 +02:00
Ismael Gomez
e2154d2213
Renamed constants to SRSLTE and use SRSLTE_CFI macros
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
faluco
12e82a947f
LTO compiler and linker fixes ( #1676 )
...
* Guard the LTO feature in a CMAKE option and document possible issues of using it.
2020-09-02 09:21:56 +02:00
Xavier Arteaga
af8898943f
SRSENB: implement console cell_gain command
...
SRSENB: fix 5GNR compilation
SRSENB: fix override methods
2020-09-01 09:37:52 +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
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
Xavier Arteaga
3aec23f7d8
SRSENB: calculate TA from PUCCH messages
2020-08-27 09:31:05 +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
Ismael Gomez
a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI ( #1630 )
2020-08-25 22:30:35 +02:00
Xavier Arteaga
7bad21c30a
Radio: added locks to protect sample rate change concurrent access
2020-08-25 16:19:52 +02:00