Xavier Arteaga
c80f91ac9e
Fix compilation
4 years ago
Xavier Arteaga
ac9dc6f31d
Compute Performance
4 years ago
Xavier Arteaga
0b3f4e5de0
Improvements in NR cell search
4 years ago
Xavier Arteaga
5b31654ae2
Minor aesthertical changes in nr_cell_search_test
4 years ago
Xavier Arteaga
fb7623f5b6
Initial intra frequency NR cell search and test
4 years ago
Xavier Arteaga
60015e7ceb
Made intra frequency cell search and measurment generic
4 years ago
faluco
1670124926
Implement UE metrics in JSON format.
...
Added config options to control this feature.
4 years ago
Xavier Arteaga
5e6983f8e6
SRSUE: enable 256QAM in RRC NR capability message
4 years ago
Xavier Arteaga
a57336d64f
Integrate periodic SSB measurement in SRSUE and fix related defects
4 years ago
Andre Puschmann
adcfcfe012
proc_ra_nr: fix typo
4 years ago
Andre Puschmann
c45540582d
rrc: announce NR-PDCP support over EUTRA
...
preperation for Split bearer support. This patch is needed to allow
split bearer. Otherwise, even if the config is set in the eNB, it
will not enable split bearers.
4 years ago
Francisco
ef9d1b8c13
stack optimization - reduction of contention in multiqueue class
...
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
4 years ago
Xavier Arteaga
60d1708b80
Initial SSB measurement implementation
4 years ago
Andre Puschmann
833ddc3229
build: fix linking failure on RPi 32bit
...
this fixes a linking problem with RPi 3 (and probably others) running
with Raspbian (new Raspberry Pi OS) that can't use the inline
atomic functions but instead require linking against the lib -latomic.
The CMake code is based on SoapyRTLSdr file (licensed under MIT)
https://github.com/pothosware/SoapyRTLSDR/blob/master/CheckAtomic.cmake
4 years ago
Xavier Arteaga
1396c2a1e2
Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements
4 years ago
Xavier Arteaga
653177ca7c
SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement
4 years ago
Ismael Gomez
0b91598e36
Move mlockall() to main() in srsUE and srsENB
4 years ago
David Rupprecht
f0d2a22cb6
Fixed band index in rrc
4 years ago
David Rupprecht
8c194b887b
Allow NAS init function to fail
4 years ago
David Rupprecht
617fb2ba7e
Added default destructor for args
4 years ago
Xavier Arteaga
9fb091262a
Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace
4 years ago
Xavier Arteaga
de9158eeaf
Enable NR RRC MCS table selection
4 years ago
Pedro Alvarez
17a8ec6cdd
Using estimated COUNT (from NAS overflow counter and RX SQN) for decription of NAS messaages. Should avoid issues decripting messages when the COUNT is larger than 256.
4 years ago
Andre Puschmann
cd061d46e6
metrics_stdout: remove obsolete if
4 years ago
faluco
90e23d9de6
Print in the ue stdout metrics the CC number for LTE and the RAT for NR.
4 years ago
faluco
b9be7c7594
Small cleanup in the stdout UE metrics.
...
- Switch to use fmt for formatting the output.
- Change the CC column to be rat now.
- Reworked and re-styled the column alignment.
4 years ago
Xavier Arteaga
95dafcb413
SRSUE: fix NR carrier PCI in metrics
4 years ago
Andre Puschmann
598594c51a
all: bunch of pass by const& changes suggested by LGTM
4 years ago
Xavier Arteaga
e1ff824cc2
SRSUE avoid NR SR in UCI for PUSCH
4 years ago
Xavier Arteaga
6c39a5e4ff
Added PDSCH DMRS aditional unpacking
4 years ago
Xavier Arteaga
334b308c35
Fix DCI NR configuration from main configuration
4 years ago
Xavier Arteaga
86ad0446e1
Added NR PDSCH and PUSCH resource allocating flattening
4 years ago
Andre Puschmann
a083b0da2a
proc_ra: only log warning if RAR wasn't received in window
...
lead to some failing tests with RF where PRACH wasn't received
correctly. recovery machanism will retransmit PRACH.
4 years ago
Andre Puschmann
0826b86cec
srsue: remove NR DL freq and ARFCN option
...
not required anymore as all NR carrier tuning is done
through RRC signaling
4 years ago
Andre Puschmann
4dd17aee45
rrc/phy/nr: calculate tuning freq of NR carrier from RRC signaling params
...
skip initial tuning to hard-coded NR frequency and use RRC-provided
values to calculate center frequency
4 years ago
Andre Puschmann
ff53d2b8b8
all: set of trivial changes reported by LGTM
...
mainly fixmes, unused/empty code, etc.
4 years ago
AlaiaL
58ce75d3b4
Fixes coverity 369617
4 years ago
AlaiaL
82788ca094
Fixed issues from coverity:
...
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
4 years ago
Matan Perelman
7ee52dc676
srsUE: Add option to filter N_id_2 / PSS to configuration
4 years ago
David Rupprecht
102a943171
Fixed naming srsLTE to srsRAN
4 years ago
David Rupprecht
fd451e8be3
Configure Short PDCP NR SN support
4 years ago
Andre Puschmann
7817f12f1f
phy_common: reduce log level to info when UL grant is tried to activate twice
...
in accordance with discussion in #2717 we reduce the log level to info
to avoid failing tests due to that event
4 years ago
Xavier Arteaga
ab6a5ef17a
Added NR DCI conversion to string for formats 1_0 and 1_1
4 years ago
Francisco
ff3fc0826b
asn1 fixes and improvements
...
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
4 years ago
Francisco
23203b73ae
fix - avoid recompiling srsue rrc files twice
4 years ago
Andre Puschmann
e3b77fd82a
rrc_nr: set timeout for NR cell measurement to 250ms
...
the low timout of 10ms was:
1) causing too frequent measurement reports
2) causes a MO ping test to fail where the ICMP request
was sent on the LTE carrier but never got a reply because
the MCG addition was inbetween
4 years ago
Andre Puschmann
2c156f0007
proc_ra: add further state checks when getting harq_retx signalled
...
that makes sure to only restart contres timer if we are actually
in the contention resolution state.
4 years ago
Andre Puschmann
607ba7c262
mac_test: fix RAR test for Msg3 retx
...
with hi=1 the eNB signals a successul Msg3 reception.
To request a retx, which is the case in the MAC test,
it needs to signal a hi=0
4 years ago
Xavier Arteaga
7246ce0cea
Fix MSG3 false retransmission
...
this fixes #2694 by considering hi=1 value and not treating
this as a Msg3 retx
4 years ago
Andre Puschmann
c1e4385f50
worker_pool: fix wrong log level when setting worker config
4 years ago
Xavier Arteaga
407903e0d6
SRSUE: refactor carrier setting for accepting a dynamic carrier configuration
4 years ago
Xavier Arteaga
47523935f6
Minor NR RRC fixes
4 years ago
David Rupprecht
d2aa25d451
Added option for simulated measurement
4 years ago
Xavier Arteaga
09272edf4b
Update NR PHY TTI
4 years ago
Xavier Arteaga
715f8900a8
Selected NR RA procedure PRACH send timeout according to system frame number period from PRACH PHY tables
4 years ago
Andre Puschmann
51e73aa1fc
mac_nr_test: add basic DL HARQ test and extend checks for metrics
4 years ago
Andre Puschmann
4b3538aaa8
{dl,ul}_harq: fix metrics calculation
...
rewrite metrics calculation for NR HARQ and remove
unneeded operations.
4 years ago
Andre Puschmann
b6f2c80f66
mac_common: add helper method to get total buffer state
4 years ago
David Rupprecht
a064e85c54
rename common lte header
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
4 years ago
David Rupprecht
91ff8a2e6d
Add rrc_nr to rlc init function
4 years ago
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
4 years ago
Andre Puschmann
5700b090ea
worker_pool: set log level for PHY-NR logger and use for PRACH
...
log level for PHY-NR wasn't set so:
16:00:32.202953 [PHY-NR ] [I] [ 8024] Setting RAR Grant rnti=4602 dci=rar hop=0 f_alloc=0x32 t_alloc=0x1 mcs=4 tpc=3 csi=0
was always printed. Also use the logger for the PRACH
4 years ago
Andre Puschmann
c8d3e133dc
ue: bump default RRC release announced to 15
4 years ago
David Rupprecht
75cd5e65e5
Removed arfcn and freq, and nof_prbs from config file
4 years ago
David Rupprecht
6ed6da1f12
Refactor ue config for eutra and nr config section
4 years ago
Xavier Arteaga
77b6b60b82
Fix rach_cfg.nof_groupA_preambles
4 years ago
David Rupprecht
db9dd85783
Parse carrier config in NR RRC reconfig
4 years ago
David Rupprecht
f42d4dbc28
Refactored carrier config
4 years ago
Andre Puschmann
87f9b2babc
mac_nr: turn off warning for non-implemented features
...
they cause RFCI to fail, features are known to be missing.
4 years ago
Andre Puschmann
73d6b33920
{ul,dl}_harq_nr: reword log entries if HARQ PID isn't found
4 years ago
Andre Puschmann
edd150b29f
fix PID not being set when reading pending UL grant
...
this should fix #2679
4 years ago
Andre Puschmann
0df218ab90
cc_worker: fix PDSCH log fmt::v7::format_error
4 years ago
Xavier Arteaga
53b38fccf9
Fix compile and other
4 years ago
Xavier Arteaga
8ffced7e88
NR PHY logging minor corrections
4 years ago
Xavier Arteaga
abfc1da921
Multiple NR-PUSCH fixes
4 years ago
Xavier Arteaga
7e06e789d5
Fic NR UCI in the info string
4 years ago
Xavier Arteaga
01ce0718be
NR-PUSCH RE mapping correction and NR-SCH detailed grant information
4 years ago
Xavier Arteaga
e7096d705e
Fix NR RRC config NZP-CSI-RS
4 years ago
David Rupprecht
bfe2ad98ef
Added parsing for NR DL HARQ cfg
4 years ago
Andre Puschmann
b9ae064338
mac_nr: add DL HARQ
...
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
4 years ago
David Rupprecht
138230f4e4
Remove NR RRC log line
4 years ago
David Rupprecht
fe8727050b
Added new rrc_nr to phy flattening functions and fixes
4 years ago
Xavier Arteaga
e4e3456d76
Refactored PDSCH/PUSCH decoder for LDPC early stopping
4 years ago
David Rupprecht
4c68c17bd3
Fixed log level of nr loggers to lte level and hex size
4 years ago
Andre Puschmann
bf4d0121dd
cc_worker,proc_ra: set RNTI type for UL grant contained in RAR
...
needed for HARQ to correctly pick up the Msg3 Tx
4 years ago
Andre Puschmann
3e1998b2aa
proc_sr_nr: tiny cosmetic logging changes
4 years ago
Andre Puschmann
ad320c273e
proc_bsr_nr: cancel SR if UL grant is received
4 years ago
Andre Puschmann
d99402d3b3
rrc_nr: enable SR procedure when pulling config from ASN1 struct
4 years ago
Andre Puschmann
44baea6666
mac_nr: add UL HARQ
...
this patch adds a basic UL HARQ entity for NR.
The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().
It also adds a Msg3 unit test.
4 years ago
Andre Puschmann
b7146c41b2
nr: add NDI for PUSCH grant to sch cfg struct
4 years ago
Xavier Arteaga
af97538448
Remove NR from log lines
4 years ago
Xavier Arteaga
7823bfc28c
Fix append NR to loggers for NR components
4 years ago
Xavier Arteaga
b5e879db47
SRSUE: review metrics interfaces
4 years ago
Xavier Arteaga
044da18db9
SRSUE: Reviewed PHY metrics getter
4 years ago
Xavier Arteaga
dac331ab38
Fix SR PUCCH resource flattening
4 years ago
Xavier Arteaga
2f453b43ba
Initial NR PHY interface
4 years ago
David Rupprecht
eeddbe69ce
Fixes repeating proc RA due to SR trigger
4 years ago
David Rupprecht
5a3a2a6d6f
Added functions for adding phr and tag config
4 years ago
Andre Puschmann
396040fd75
metrics_csv: fix CC numbering for NR carrier in CSV
4 years ago
Andre Puschmann
c9da21c9bb
mac_nr: add error handling when unpacking SCH MAC PDU
...
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Xavier Arteaga
bc1b14efea
Fix NR common PDSCH Resource allocation count
4 years ago
Xavier Arteaga
f30f3e0239
Minor aesthetic log change
4 years ago
Xavier Arteaga
21fe502448
Fix NR PRACH resource determination
4 years ago
Francisco
f7a8b8bf94
separate drb srb ids into separate enum types
4 years ago
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
David Rupprecht
5e02dbc536
Remove measurement id from trigger state nr allows to second nr reconfig
4 years ago
Andre Puschmann
c1b66e89a5
mux_nr: protect MAC PDU packing from concurrent access from PHY workers
...
this will be moved to UL HARQ shortly but for now we need
to protect the packing
4 years ago
Andre Puschmann
cf696138d3
mac_nr: fix packing order of SDU and CEs
...
SDUs need to go first in the MAC PDU, followed by CEs
4 years ago
Andre Puschmann
399954a970
mac_nr: convert bytes to bits for DL metrics
4 years ago
Andre Puschmann
b083b612de
proc_bsr_nr_test: fix SBSR test
4 years ago
Andre Puschmann
7da68dfee3
proc_bsr_nr: disable SR activation temporarily
...
SR isn't currently working correctly resulting in random PRACHs
being sent.
4 years ago
Andre Puschmann
d1ad315969
mac_nr: add various safety/length checks
4 years ago
Andre Puschmann
b1aaadb51c
nr,cc_worker: convert grant size in bytes before passing to MAC
4 years ago
Andre Puschmann
7f415189f3
ue,mac: enable basic MAC metrics
...
this adds basic MAC metrics calculation for the DL NR MAC
4 years ago
Andre Puschmann
8024bf7820
mux_nr: improve logging when building UL MAC PDU
4 years ago
Andre Puschmann
880bd66db4
mac_nr_test: add testcase for MAC PDU packing with long L field
...
this reproduces the issue found in #2609
4 years ago
Andre Puschmann
9950278a12
nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
...
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.
The patch determines the correct size before passing the opportunity to RLC.
It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
4 years ago
Andre Puschmann
db496df1e6
mac_nr: add support for periodic BSR reporting
...
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:
* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
4 years ago
Andre Puschmann
7188603f2e
mac_nr: don't push MAC CE LCIDs to RLC when unpacking DL MAC PDU
...
this should fix log warnings then demux was trying to feed MAC CEs
to RLC:
10:50:54.845116 [MAC ] [I] [ 1153] Handling subPDU 1/2: rnti=0x0 lcid=61, sdu_len=1
10:50:54.845117 [RLC ] [E] Radio bearer id must be in [0:11] - 61
10:50:54.845118 [RLC ] [W] LCID 61 doesn't exist. Dropping PDU.
10:50:54.845119 [MAC ] [I] [ 1153] Handling subPDU 2/2: rnti=0x0 lcid=63, sdu_len=33
10:50:54.845119 [RLC ] [E] Radio bearer id must be in [0:11] - 63
4 years ago
David Rupprecht
56e947bf27
Added functionality for releasing a NR bearer
4 years ago
David Rupprecht
cc6d8128ad
Added gw interface if it is running
4 years ago
David Rupprecht
7a481c40ab
Added mac prach nr proc error handling
4 years ago
David Rupprecht
f9ea02b6bf
Added functions for rrc reestablishing procedure if nr reconfig failes
4 years ago
David Rupprecht
43ec714ce1
Added functionality for printing nr metrics
4 years ago
Xavier Arteaga
db1a1c059c
NR PHY workers TTI synchronization between DL and UL work
4 years ago
Xavier Arteaga
991c6e7016
Refactored NR HARQ-ACK feedback enqueue
4 years ago
Xavier Arteaga
49731ab5a1
Initial NR-DCI refactor
...
Added NR DCI 1_1 size
Several DCI NR fixes
4 years ago
Xavier Arteaga
dee2ec30cd
SRSUE: use new MAC interface for NR SR procedure
4 years ago
Xavier Arteaga
01990c2e1d
SRSUE: Add PHY-MAC SR related interfaces
4 years ago
Xavier Arteaga
f4ae2d73aa
SRSUE: report positive ACK for retx
4 years ago
Xavier Arteaga
20a4c39fa4
SRSUE: Disable PDSCH retransmissions in NR
4 years ago
David Rupprecht
506adca930
Set eutra nr band info based config value
4 years ago
Andre Puschmann
d135ae4d29
proc_bsr: initial BSR procedure for NR
...
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
4 years ago
Francisco
d04a19f8bc
refactor - increase code reuse in adt files
4 years ago
Xavier Arteaga
e200a3359e
SRSUE: check RNTI prior to UL encoding
4 years ago
Pedro Alvarez
a5229a02d1
Make sure RRC identity is set when NAS reads UE context from file.
4 years ago
David Rupprecht
838d5ac0f4
Added description for using the same filename for mac and mac_nr pcap
4 years ago
Andre Puschmann
bde7b49ca3
ue,mac_nr: add basic SR procedure
...
the current implementation support only one SR config
and doesn't support the prohibit timer
4 years ago
Xavier Arteaga
6219500148
Added NR-RRC RACH parsing
4 years ago
David Rupprecht
8c86d2084d
Adding NR phy config RRC parsing
...
Added error handling
Reworked flattening error handling
4 years ago
Andre Puschmann
7a3a5f4cf4
rrc_nr: announce short SN in PDCP capabilities
...
this allows selecting 12bit SNs for the NR PDCP entity
4 years ago
AlaiaL
bbaebd1274
Added a warning in the log when the cpu metrics are not registered due
...
to the number cpu cores is greater than supported.
4 years ago
AlaiaL
c9d1c77e8c
- Deleted the magic number of maximum supported cores, now it is a
...
constexpr.
- When the system has more cores that the maximum supported, the cpu
metrics will not be registered.
4 years ago
AlaiaL
6cd9bba641
Added the cpu metrics to the system metrics.
4 years ago
Xavier Arteaga
5bdf2c93b3
Initial NR PDSCH CSI-RS RE skip and other changes
4 years ago
Xavier Arteaga
7704c09ce2
Fix typos
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Francisco
dd336c53ea
changed srsran_warning to srsran_expect. Applied new macro to rlc am
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago