2074 Commits (a8cccd7a108234a5a95d50cec65e1d0283b0dd54)

Author SHA1 Message Date
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