Commit Graph

6250 Commits

Author SHA1 Message Date
Xavier Arteaga d8eaa99132 Radio: do not use more radios than necessary 2020-07-28 09:31:34 +02:00
Xavier Arteaga bcc6c3e449 SRSENB: quit without initiating more components if radio fails to initiate 2020-07-28 09:31:34 +02:00
Xavier Arteaga 5258f27490 Fix start-of_burst for PRACH Test USRP 2020-07-28 09:31:34 +02:00
Ismael Gomez dda91b14f7 Remove duplicate add_rnti() function since already done in set_config 2020-07-27 17:58:06 +02:00
Ismael Gomez c02e920b6b Trigger RA after SR failed directly (don't wait for next BSR trigger) 2020-07-27 17:58:06 +02:00
Ismael Gomez b3d24ba420 Do not set cells to inactive during reconfiguration if already active 2020-07-27 17:58:06 +02:00
Xavier Arteaga fda1d040e7 SRSENB: implement PUSCH threshold for UCI bits 2020-07-27 16:44:15 +02:00
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.
2020-07-22 16:04:18 +02:00
Andre Puschmann d441486f76 fading: fix heap buffer overflow in fading sim
at the when applying the fading channel we copied the state back
to our buffer. Since we are offsetting the read buffer
by X samples, we need to make sure that we don't read after then
(len-X) samples of the temporary memory buffer
2020-07-21 21:42:22 +02:00
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
2020-07-21 18:35:53 +02:00
Ismael Gomez f380f46a10 Revert "Remove unnecessary zero memory (#1564)"
This reverts commit f662aeaff3.
2020-07-21 16:24:06 +02:00
Andre Puschmann ce5129467c correct default value of PHY threads in eNB and UE examples 2020-07-21 11:59:45 +02:00
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
2020-07-21 11:56:43 +02:00
Andre Puschmann 7f98cb9b62 pdcp: log discard timer duration in init()
to log the configured discard timer length
2020-07-21 11:56:43 +02:00
Andre Puschmann a578ff1975 pdcp: fix typo 2020-07-21 11:56:43 +02:00
Francisco Paisana b50f70e420 check if cqi is pending in all carriers to decide whether mcs needs to be reduced in PUSCH 2020-07-21 10:51:11 +01:00
Francisco Paisana 3f439cc947 account for current cqi config struct update in scheduler interface 2020-07-21 10:51:11 +01:00
Francisco Paisana 35fa5346b9 only reduce mcs if the current tti requires uci 2020-07-21 10:51:11 +01:00
Francisco Paisana 58c4bcf288 reduce mcs for UL grants carrying UCI 2020-07-21 10:51:11 +01:00
Pedro Alvarez c686e6cea1
SRSUE: Set SCell configuration is unlocking (#1544) 2020-07-20 19:30:25 +02:00
Ismael Gomez f662aeaff3
Remove unnecessary zero memory (#1564)
* RF drivers to allow nullptr buffers in send/recv

* Remove zeromem from radio

* remove unused buffers
2020-07-20 19:11:56 +02:00
Ismael Gomez 06eba7eb72 Discard cells if not found during cel selection 2020-07-20 15:37:40 +02:00
Andre Puschmann 138ec1f8e7 nas,usim: remove use of shadowed variables 2020-07-20 10:58:10 +02:00
Andre Puschmann dc67d28709 nas: do not generate NAS encryption key if also is set to NULL
its more a cosmetic change to clean the logs. this makes
sure that a zero key is logged when NULL encryption is selected.
2020-07-20 10:58:10 +02:00
Ismael Gomez 7866f19f6b Use correct target cell when doing reselection in HO 2020-07-17 22:47:59 +02:00
Ismael Gomez 443dee7035
Changes in Cell Selection Procedure (#1557)
* Fixes RRC cell reselection procedure
2020-07-17 17:05:19 +02:00
Ismael Gomez 1eaf7efab0 Fix UL adaptive retx rv index 2020-07-15 18:24:23 +02:00
Andre Puschmann 5b2d1b609b fix typo in clang-format helper script 2020-07-15 10:41:56 +02:00
Xavier Arteaga 5cf2089a8c srsLTE: increased SRS test TA us threshold 2020-07-15 07:34:14 +02:00
Xavier Arteaga 794f969e1a srsLTE: fix TA calculation 2020-07-15 07:34:14 +02:00
Xavier Arteaga 729986f259 srsLTE: Added PUCCH format 3 valid correlation 2020-07-15 07:34:14 +02:00
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
2020-07-15 07:34:14 +02:00
Andre Puschmann c8b4ba885b rename rlc_tx_queue to byte_buffer_queue
this data structure will be used by the PDCP layer as well.
2020-07-14 18:18:32 +02:00
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.
2020-07-14 17:25:08 +02:00
Francisco Paisana 4fb8011a6d updated phy controller to use task scheduler 2020-07-14 13:33:50 +01:00
Francisco Paisana 36fc88d2e2 fsm log macros, and utility methods to convert event callbacks to move tasks 2020-07-14 13:33:50 +01:00
Francisco Paisana 9c5471b094 more ergonomic event callback 2020-07-14 13:33:50 +01:00
Francisco Paisana 58a9610efa use of stack event loop to propagate cell search and selection results 2020-07-14 13:33:50 +01:00
Francisco Paisana d48a45976e moved cell selection/search complete event signalling out of phy_controller 2020-07-14 13:33:50 +01:00
Francisco Paisana 48138b5281 removal of phy cell selection procedure as it now it is replaced by phy controller 2020-07-14 13:33:50 +01:00
Francisco Paisana 489969722e implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state 2020-07-14 13:33:50 +01:00
Andre Puschmann 6fb01d61a7 rlc: change remaining occurances of "SN: " to "SN="
streamline all RLC AM and UM for better log analysis
2020-07-14 09:47:53 +02:00
Xavier Arteaga 137d250d66 srsLTE: fix ZMQ decimation pointer 2020-07-13 19:15:25 +02:00
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
2020-07-13 17:05:28 +02:00
Andre Puschmann 7a66a00e15 block_queue: add method to check if given queue is full 2020-07-13 17:05:28 +02:00
Xavier Arteaga f39abe0094 SRSENB: fix MAC pending PHY config 2020-07-13 15:27:46 +02:00
Francisco Paisana 5e06430455 removal of stack handler interface 2020-07-13 11:19:25 +01:00
Francisco Paisana 7c364070ee creation of task scheduler interface for classes/functions running outside the main control thread 2020-07-13 11:19:25 +01:00
Francisco Paisana 039977aeb5 renamed interfaces 2020-07-13 11:19:25 +01:00
Francisco Paisana 1a9c04bf2f use of task scheduler handle in pdcp 2020-07-13 11:19:25 +01:00