Commit Graph

2102 Commits

Author SHA1 Message Date
David Rupprecht 75cd5e65e5 Removed arfcn and freq, and nof_prbs from config file 2021-04-19 15:18:35 +02:00
David Rupprecht 6ed6da1f12 Refactor ue config for eutra and nr config section 2021-04-19 15:18:35 +02:00
Xavier Arteaga 77b6b60b82 Fix rach_cfg.nof_groupA_preambles 2021-04-19 15:17:04 +02:00
David Rupprecht db9dd85783 Parse carrier config in NR RRC reconfig 2021-04-19 12:13:37 +02:00
David Rupprecht f42d4dbc28 Refactored carrier config 2021-04-19 12:13:37 +02:00
Andre Puschmann 87f9b2babc mac_nr: turn off warning for non-implemented features
they cause RFCI to fail, features are known to be missing.
2021-04-19 10:46:09 +02:00
Andre Puschmann 73d6b33920 {ul,dl}_harq_nr: reword log entries if HARQ PID isn't found 2021-04-18 15:27:19 +02:00
Andre Puschmann edd150b29f fix PID not being set when reading pending UL grant
this should fix #2679
2021-04-18 15:12:22 +02:00
Andre Puschmann 0df218ab90 cc_worker: fix PDSCH log fmt::v7::format_error 2021-04-17 15:51:11 +02:00
Xavier Arteaga 53b38fccf9 Fix compile and other 2021-04-17 15:51:11 +02:00
Xavier Arteaga 8ffced7e88 NR PHY logging minor corrections 2021-04-17 15:51:11 +02:00
Xavier Arteaga abfc1da921 Multiple NR-PUSCH fixes 2021-04-17 15:51:11 +02:00
Xavier Arteaga 7e06e789d5 Fic NR UCI in the info string 2021-04-17 15:51:11 +02:00
Xavier Arteaga 01ce0718be NR-PUSCH RE mapping correction and NR-SCH detailed grant information 2021-04-17 15:51:11 +02:00
Xavier Arteaga e7096d705e Fix NR RRC config NZP-CSI-RS 2021-04-17 12:54:30 +02:00
David Rupprecht bfe2ad98ef Added parsing for NR DL HARQ cfg 2021-04-17 12:33:21 +02:00
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.
2021-04-16 15:32:09 +02:00
David Rupprecht 138230f4e4 Remove NR RRC log line 2021-04-16 09:02:29 +02:00
David Rupprecht fe8727050b Added new rrc_nr to phy flattening functions and fixes 2021-04-16 09:02:29 +02:00
Xavier Arteaga e4e3456d76 Refactored PDSCH/PUSCH decoder for LDPC early stopping 2021-04-15 20:42:41 +02:00
David Rupprecht 4c68c17bd3 Fixed log level of nr loggers to lte level and hex size 2021-04-15 12:12:20 +02:00
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
2021-04-14 13:40:31 +02:00
Andre Puschmann 3e1998b2aa proc_sr_nr: tiny cosmetic logging changes 2021-04-14 13:40:31 +02:00
Andre Puschmann ad320c273e proc_bsr_nr: cancel SR if UL grant is received 2021-04-14 13:40:31 +02:00
Andre Puschmann d99402d3b3 rrc_nr: enable SR procedure when pulling config from ASN1 struct 2021-04-14 13:40:31 +02:00
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.
2021-04-14 13:40:31 +02:00
Andre Puschmann b7146c41b2 nr: add NDI for PUSCH grant to sch cfg struct 2021-04-14 13:40:31 +02:00
Xavier Arteaga af97538448 Remove NR from log lines 2021-04-14 08:16:44 +02:00
Xavier Arteaga 7823bfc28c Fix append NR to loggers for NR components 2021-04-14 08:16:44 +02:00
Xavier Arteaga b5e879db47 SRSUE: review metrics interfaces 2021-04-13 16:02:53 +02:00
Xavier Arteaga 044da18db9 SRSUE: Reviewed PHY metrics getter 2021-04-13 16:02:53 +02:00
Xavier Arteaga dac331ab38 Fix SR PUCCH resource flattening 2021-04-13 16:02:53 +02:00
Xavier Arteaga 2f453b43ba Initial NR PHY interface 2021-04-13 16:02:53 +02:00
David Rupprecht eeddbe69ce Fixes repeating proc RA due to SR trigger 2021-04-12 20:51:07 +02:00
David Rupprecht 5a3a2a6d6f Added functions for adding phr and tag config 2021-04-12 20:50:30 +02:00
Andre Puschmann 396040fd75 metrics_csv: fix CC numbering for NR carrier in CSV 2021-04-12 18:26:31 +02:00
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
2021-04-12 18:26:31 +02:00
Xavier Arteaga bc1b14efea Fix NR common PDSCH Resource allocation count 2021-04-12 17:05:53 +02:00
Xavier Arteaga f30f3e0239 Minor aesthetic log change 2021-04-12 17:05:53 +02:00
Xavier Arteaga 21fe502448 Fix NR PRACH resource determination 2021-04-12 17:05:53 +02:00
Francisco f7a8b8bf94 separate drb srb ids into separate enum types 2021-04-12 13:21:43 +01:00
Francisco 21718af3b6 avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type 2021-04-12 13:21:43 +01:00
David Rupprecht 5e02dbc536 Remove measurement id from trigger state nr allows to second nr reconfig 2021-04-12 10:32:40 +02:00
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
2021-04-10 14:01:43 +02:00
Andre Puschmann cf696138d3 mac_nr: fix packing order of SDU and CEs
SDUs need to go first in the MAC PDU, followed by CEs
2021-04-10 14:01:43 +02:00
Andre Puschmann 399954a970 mac_nr: convert bytes to bits for DL metrics 2021-04-10 14:01:43 +02:00
Andre Puschmann b083b612de proc_bsr_nr_test: fix SBSR test 2021-04-10 14:01:43 +02:00
Andre Puschmann 7da68dfee3 proc_bsr_nr: disable SR activation temporarily
SR isn't currently working correctly resulting in random PRACHs
being sent.
2021-04-10 14:01:43 +02:00
Andre Puschmann d1ad315969 mac_nr: add various safety/length checks 2021-04-10 14:01:43 +02:00
Andre Puschmann b1aaadb51c nr,cc_worker: convert grant size in bytes before passing to MAC 2021-04-10 14:01:43 +02:00
Andre Puschmann 7f415189f3 ue,mac: enable basic MAC metrics
this adds basic MAC metrics calculation for the DL NR MAC
2021-04-10 14:01:43 +02:00
Andre Puschmann 8024bf7820 mux_nr: improve logging when building UL MAC PDU 2021-04-09 20:40:22 +02:00
Andre Puschmann 880bd66db4 mac_nr_test: add testcase for MAC PDU packing with long L field
this reproduces the issue found in #2609
2021-04-09 20:12:03 +02:00
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.
2021-04-09 20:12:03 +02:00
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)
2021-04-09 12:28:05 +02:00
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
2021-04-09 09:49:14 +02:00
David Rupprecht 56e947bf27 Added functionality for releasing a NR bearer 2021-04-08 17:37:36 +02:00
David Rupprecht cc6d8128ad Added gw interface if it is running 2021-04-08 17:37:36 +02:00
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 2021-04-08 17:37:36 +02:00
David Rupprecht f9ea02b6bf Added functions for rrc reestablishing procedure if nr reconfig failes 2021-04-08 17:37:36 +02:00
David Rupprecht 43ec714ce1 Added functionality for printing nr metrics 2021-04-08 15:55:28 +02:00
Xavier Arteaga db1a1c059c NR PHY workers TTI synchronization between DL and UL work 2021-04-08 11:39:55 +02:00
Xavier Arteaga 991c6e7016 Refactored NR HARQ-ACK feedback enqueue 2021-04-08 11:39:55 +02:00
Xavier Arteaga 49731ab5a1 Initial NR-DCI refactor
Added NR DCI 1_1 size

Several DCI NR fixes
2021-04-07 16:57:12 +02:00
Xavier Arteaga dee2ec30cd SRSUE: use new MAC interface for NR SR procedure 2021-04-07 14:16:46 +02:00
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 2021-04-07 14:16:46 +02:00
Xavier Arteaga f4ae2d73aa SRSUE: report positive ACK for retx 2021-04-07 13:56:06 +02:00
Xavier Arteaga 20a4c39fa4 SRSUE: Disable PDSCH retransmissions in NR 2021-04-07 13:56:06 +02:00
David Rupprecht 506adca930 Set eutra nr band info based config value 2021-04-07 13:24:26 +02:00
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
2021-03-30 13:46:12 +02:00
Francisco d04a19f8bc refactor - increase code reuse in adt files 2021-03-29 22:11:25 +01:00
Xavier Arteaga e200a3359e SRSUE: check RNTI prior to UL encoding 2021-03-27 10:09:53 +01:00
Pedro Alvarez a5229a02d1 Make sure RRC identity is set when NAS reads UE context from file. 2021-03-26 16:36:12 +00:00
David Rupprecht 838d5ac0f4 Added description for using the same filename for mac and mac_nr pcap 2021-03-26 16:12:45 +01:00
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
2021-03-26 09:53:03 +01:00
Xavier Arteaga 6219500148 Added NR-RRC RACH parsing 2021-03-26 09:45:10 +01:00
David Rupprecht 8c86d2084d Adding NR phy config RRC parsing
Added error handling

Reworked flattening error handling
2021-03-25 11:34:53 +01:00
Andre Puschmann 7a3a5f4cf4 rrc_nr: announce short SN in PDCP capabilities
this allows selecting 12bit SNs for the NR PDCP entity
2021-03-25 09:28:55 +01:00
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.
2021-03-24 12:01:12 +01:00
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.
2021-03-24 12:01:12 +01:00
AlaiaL 6cd9bba641 Added the cpu metrics to the system metrics. 2021-03-24 12:01:12 +01:00
Xavier Arteaga 5bdf2c93b3 Initial NR PDSCH CSI-RS RE skip and other changes 2021-03-24 09:06:26 +01:00
Xavier Arteaga 7704c09ce2 Fix typos 2021-03-23 15:11:46 +01:00
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 2021-03-23 14:31:15 +01:00
Francisco dd336c53ea changed srsran_warning to srsran_expect. Applied new macro to rlc am 2021-03-23 10:49:28 +00:00
Codebot 4523ee6087 rename srsLTE to srsRAN 2021-03-21 21:47:01 +01:00
Xavier Arteaga 8c4ed489e8 SRSUE: Disable neighbour cell display by default 2021-03-19 11:47:09 +01:00
Xavier Arteaga 4ae194581f SRSUE: Adjustments in distance and speed estimations 2021-03-19 11:47:09 +01:00
Xavier Arteaga 49a535b81a SRSUE: force printing neighbour cells by default in console trace 2021-03-19 11:47:09 +01:00
Xavier Arteaga 2782d96170 SRSUE: compute speed from TA commands 2021-03-19 11:47:09 +01:00
Xavier Arteaga a8b5b8efa1 UHD: stability improvements 2021-03-17 08:53:40 +01:00
Xavier Arteaga f3c0360842 Applied aesthetical changes 2021-03-16 11:36:11 +01:00
Xavier Arteaga ddfff3edad SRSUE: Zero transmit buffer if the slot is not UL 2021-03-16 11:36:11 +01:00
Xavier Arteaga fb1a0b6bce SRSUE: added NR-PDCCH information 2021-03-16 11:36:11 +01:00
Xavier Arteaga d3cfb00211 SRSUE: Added TDD DL/UL slot detection 2021-03-16 11:36:11 +01:00
Xavier Arteaga 6f6c20e194 SRSUE: Added procedure for multiplexing UCI in NR-PUSCH 2021-03-16 11:36:11 +01:00
Francisco c6fff54f9e compilation issue fix - wrong number of argments in ttcn3_syssim creation 2021-03-12 19:10:15 +00:00
Francisco 68c938267f fix srslte include that causes a compilation issue 2021-03-11 20:10:54 +00:00
Francisco d1ab4aae66 fix ipv6 related compilation issue 2021-03-11 20:10:54 +00:00
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 2021-03-11 20:10:54 +00:00
yagoda 2ecdab8717 small fixes to the eMBMS downlink, lack of pdcch decoding was causing issues with uplink 2021-03-11 10:56:40 +01:00
Pedro Alvarez 7447fefd19 Make sure that sending the status report sent after RLC configuration in reestablishment 2021-03-10 19:17:26 +00:00
faluco 173dcdd421 - Import latest srslog version.
- Remove string allocs in some log lines in radio.cc.

Add new tracing buffer capcity options into srsenb and srsue.

Add missing file.
2021-03-10 16:27:33 +01:00
faluco 60cd649b8f Add a short description of the tracing options inside the config files. 2021-03-10 11:59:09 +01:00
faluco c7542daf43 Remove rlc traces and add new ones into tti run functions both in the enb and ue. 2021-03-10 11:59:09 +01:00
Francisco 20e341d0a1 mac,bugfix - fixed formatting of MAC and scheduler user-defined types 2021-03-09 16:23:08 +00:00
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 2021-03-09 16:23:08 +00:00
Xavier Arteaga 9dffad87f2 Initial UCI bits multiplexing in PUSCH 2021-03-09 17:05:08 +01:00
Xavier Arteaga f4e9d00ea8 Initial HARQ-ACK multiplex in PUSCH 2021-03-09 17:05:08 +01:00
Andre Puschmann 44e7d41f57 mac_nr: free tx softbuffer in stop() 2021-03-06 20:55:08 +01:00
David Rupprecht e3d001a48e Proc RA NR test: fixed uninitialized values 2021-03-03 22:50:05 +01:00
David Rupprecht 6317c9295c SRSUE NR: Removed workaround to add pdcp lte bearer 2021-03-03 11:54:32 +01:00
David Rupprecht 027c20b0d3 SRSUE: Option mac pcap nr and lte write to the same pcap file 2021-03-03 09:50:15 +01:00
David Rupprecht f6d8f13053 SRSUE: Updated ue config packet capture description 2021-03-03 09:50:15 +01:00
David Rupprecht 410c8e5d0e Fix typo 2021-03-03 09:50:15 +01:00
David Rupprecht 5a95cbdfae Disable rat assignment in pcap class 2021-03-03 09:50:15 +01:00
David Rupprecht bb3e87302d Added new pcap enable option and mac nr 2021-03-03 09:50:15 +01:00
AlaiaL b1483802a2 [metrics] restoring metrics_stdout for enb and ue 2021-03-02 22:17:13 +01:00
AlaiaL d518a625cc [metrics] Added the system metrics to the csv 2021-03-02 22:17:13 +01:00
AlaiaL 0ba7cd7df9 [metrics] Added system metrics to the enb's stdout 2021-03-02 22:17:13 +01:00
AlaiaL 3a86c210f9 [metrics] Added the system metrics to the ue stdout 2021-03-02 22:17:13 +01:00
Xavier Arteaga 784f4be72e SRSUE: NR CSI report fixes 2021-03-02 15:40:40 +01:00
Xavier Arteaga 4679e9f871 Initial NR CSI reports 2021-03-02 15:40:40 +01:00
Francisco 12f998cea3 fix failing rrc_meas_test 2021-03-01 23:20:07 +01:00
Francisco a72a659fdf fix timers interface to avoid accessing to a timer after its release. fix gtpu tunnel activation during s1 handover 2021-03-01 23:20:07 +01:00
David Rupprecht 3cf68e796d SRSUE: Restore old nr attach status 2021-03-01 15:31:56 +01:00
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 2021-03-01 15:30:33 +01:00
Francisco 4b09507c19 remove srslte.h includes from upper layers 2021-02-26 16:44:57 +01:00
Francisco 766018f2b4 fix gcc compilation issue 2021-02-26 16:44:57 +01:00
Francisco b329e25bbb move ue phy interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco 13d805ef56 move ue rrc interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco b1706b9197 move ue nas interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco a988351f46 move ue pdcp interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco ea04104e8e move ue gw interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco 186285ffd3 move ue usim interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
David Rupprecht 8f49b92760 Using PDCP entity lte instead of nr for nr bearer 2021-02-26 15:13:41 +01:00
David Rupprecht 517208a6bc Hardcoding MAC lcid 2021-02-26 15:13:41 +01:00
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 2021-02-26 13:59:39 +01:00
faluco fd6c1e16a8 - Remove unused loggers in TTCN3. 2021-02-26 13:59:39 +01:00
faluco eaf20fa4f3 - Removed some logger injections in the ue app.
- Removed old logger setup code not needed anymore.
2021-02-26 13:59:39 +01:00
faluco 3ce7454105 - Remove old loggers from ue_stack_lte, ue gw.
- Remove old loggers setting up for these classes.
2021-02-26 13:59:39 +01:00
Francisco f610a7b83d Change background worker pool to become a global variable
Allocate rrc::ue objects in batches in the background worker pool
2021-02-25 15:56:40 +01:00
Xavier Arteaga 126fc09b7d SRSUE: Added initial SR procedure for NR 2021-02-25 09:04:04 +01:00
Andre Puschmann 9c4146442a mac,phy: refactor NR MAC/PHY UL data passing interface
inspired by accepted (but not yet merged) PR to include the
(unique_)byte_buffer_t for MAC/PHY interfacing, this patch adds
a few more useful bits to that. Buffer management for UL data is now
done in MAC and only a pointer to the data is passed in the UL action.

* Move Tx softbuffer to MAC (until UL HARQ class is ready)
* Remove temparal data member in cc_worker
* Remove memcpy after packing MAC PDU
2021-02-24 20:28:43 +01:00
David Rupprecht f6f6ee406b SRSUE NR: use correct rnti in rar and make NR proc ra 2021-02-23 17:02:23 +01:00
David Rupprecht 1fcd006a7c fixed segfaulting 2021-02-23 17:02:23 +01:00
Xavier Arteaga b768002a93 SRSUE Added RAR unpacking and other fixes 2021-02-23 17:02:23 +01:00
David Rupprecht 82a8dcc77a Change interface to unique_byte_buffer
logging message for msg3 preparing
2021-02-23 17:02:23 +01:00
David Rupprecht 3af0342418 Added mux class and packing of msg3 2021-02-23 17:02:23 +01:00