Francisco Paisana
4c88404801
fix measurement report handling in case of intra enb handover
4 years ago
Francisco Paisana
4b1626bf24
fix eutra packing recovering during reestablishment in the srsenb
4 years ago
faluco
dfeed52514
- Rename out_stream function to console.
4 years ago
faluco
62faef7c71
- Replaced all uses of the log::console method.
4 years ago
Francisco Paisana
942c28881d
converted member method of list of cells in the enb to a free function
4 years ago
Francisco Paisana
3a924a1d80
avoid sending cellsToAddModList if cell offsets are zero
4 years ago
Francisco Paisana
da70c0fdaf
fix cellsToAddModList handling. Now the eNB always adds PCell+SCells as measObjects in the RRC Reconfiguration messages. It may also further include cellsToAddModList if they are provided in the rr.conf file
4 years ago
Francisco Paisana
89eeb5a355
use utility methods to find meas objs based on earfcn
4 years ago
Francisco Paisana
141960fbda
remove unnecessary shared_ptrs and use value semantics instead for the var_meas_cfg of the different enb cells
4 years ago
Francisco Paisana
098172c911
fix cellIndex assignment in srsENB to not necessarily copy cell ID
4 years ago
Andre Puschmann
b2576b34b9
enb.conf.example: comment PUSCH MCS limit in example
4 years ago
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.
4 years ago
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
4 years ago
Francisco Paisana
13a5bfb525
- fix reestablishment reject transmission in the srsenb. For SRB0 SDUs, no RLC header is required, so we do not need to check in such case if there is enough space in the TB for the header.
...
- fix srsenb reestablishment check for UE context. The pci has to be accounted for the srsenb to understand that the UE trying to do reestablishment corresponds to one of its own
4 years ago
Xavier Arteaga
3e6c337b44
SRSENB: protect MAC softbuffers access
...
SRSENB: fix retransmissions
4 years ago
Xavier Arteaga
b633c1abcd
SRSENB: report MAC CSI measurements of all configured cells
4 years ago
Xavier Arteaga
d0969a7ad9
SRSENB: review PHY UE DB assertions
4 years ago
Andre Puschmann
49655cd33c
enb,s1ap: only log info in the s1ap connection procedure
...
the event is logged as error by the calling function already
4 years ago
Francisco Paisana
7e6487b6fa
perform PUCCH+PRACH PRB reservation right at the start of a new TTI in the scheduler
4 years ago
Andre Puschmann
d30822784f
enb: refactor MAC PDU logging
...
* remove single line MAC PDU subheader logging in favor
of to_string() helper that prints entire MAC header in single line
* log MAC PDU after parsing and packing
4 years ago
faluco
5e8a4c898d
Bring back the circular array object. ( #1712 )
4 years ago
Ismael Gomez
59b6301cc8
Remove legacy arbritrary 1s timeout for eNB requests
4 years ago
Andre Puschmann
87d4a5dc9c
enb: use circular array to access TTI and HARQ based data structures
...
this makes use of the new circular array to remove the need
to apply the modulo operation when safely accessing the underlying
array.
4 years ago
yagoda
b5a8d82058
-adding more prach tests to make test, removing some variables from stack
...
-PRACH time offset to TA unit conversion
4 years ago
Pedro Alvarez
b59eca1b27
Wait until reestablish complete is finished to swap rnti in s1ap and gtpu.
4 years ago
Pedro Alvarez
6ec26ea627
Make sure that last_submitted_rx_sn is not 0 after handover.
4 years ago
Andre Puschmann
655c7ae8ae
enb: fix warning when removing user
...
when removing a user from the eNB we iterated over all possible LCIDs
and set the buffer state to zero in the scheduler.
this resulted in following log entries:
13:57:23.856334 [RRC ] [I] Received Release Complete rnti=0x46
13:57:23.856352 [MAC ] [W] [ 5149] The provided lcid=6 is not valid
13:57:23.856362 [MAC ] [W] [ 5149] The provided lcid=7 is not valid
13:57:23.856368 [MAC ] [W] [ 5149] The provided lcid=8 is not valid
13:57:23.856371 [MAC ] [W] [ 5149] The provided lcid=9 is not valid
13:57:23.856376 [MAC ] [W] [ 5149] The provided lcid=10 is not valid
we now check if the bearer exits at RLC and only report those to the MAC.
4 years ago
Ismael Gomez
e2154d2213
Renamed constants to SRSLTE and use SRSLTE_CFI macros
4 years ago
Ismael Gomez
38e2ffe414
Use Format1A when using CA and 15 PRB due to DCI size ambiguity
4 years ago
Ismael Gomez
3ee15191e7
Allow inactive cells to report CQI too during Reconfiguration
4 years ago
Ismael Gomez
51521ad8e4
Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10
4 years ago
Andre Puschmann
1d1d52f3e6
enb: fix stopping of input thread
...
since we've used a blocking read of stdin (with std::getline())
we had a race when the eNB was stopped and the user was still making
keyboard inputs. this is because the we didn't wait until the input
thread was terminated until we stopped the eNB.
we know use poll to query stdin (getline has no timeout mechanism).
4 years ago
Xavier Arteaga
af8898943f
SRSENB: implement console cell_gain command
...
SRSENB: fix 5GNR compilation
SRSENB: fix override methods
4 years ago
Xavier Arteaga
f14e699df4
SRSENB: fix MAC UE DB Read protection
4 years ago
Ismael Gomez
0afcea9d61
Do not allow empty TBS PUSCH. Account for CQI from inactive cells before activated. ( #1667 )
4 years ago
Francisco Paisana
cbac98c89e
fix ack delay checks in scheduler tests
4 years ago
Xavier Arteaga
080543815f
Solved compilation warnings and enb_phy_test stop
4 years ago
Francisco Paisana
fddcc3d8ea
In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB
4 years ago
Francisco Paisana
8a651c972e
add scells to ho cmd
4 years ago
Xavier Arteaga
3aec23f7d8
SRSENB: calculate TA from PUCCH messages
4 years ago
Xavier Arteaga
b3d66c98c3
SRSENB: tx gain per channel and fix bug
4 years ago
Francisco Paisana
13caf287f9
fix S1 Handover with UE CA. The HandoverPreparation message was not being filled correctly
4 years ago
Ismael Gomez
a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI ( #1630 )
4 years ago
Xavier Arteaga
029f36b449
srsLTE: added efficient integer resampler and srsue/srsenb integration
4 years ago
Francisco Paisana
cc469fc7a3
fix reestablishment after S1 handover by setting ncc accordingly
4 years ago
Francisco Paisana
78a3370396
added comment explaining that we evenly distribute PUCCH resources between SR and CQI
4 years ago
Francisco Paisana
68acad25c6
altered default SR and CQI mapping in rr.conf parsing to avoid collisions
4 years ago
Francisco Paisana
afb2674dd0
update enb.conf.example option for inactivity_timer
4 years ago
Francisco Paisana
1abec61498
allow inactivity timers below the recommended value
4 years ago
Francisco Paisana
b47f8e6c1a
increased rrc inactivity timer to avoid unnecessary pagings while
...
setting up an initial enb-ue iperf connection
4 years ago
Matt Johnson
00940f0dbf
srsenb: Add inline documentation for sib7 in example configs
4 years ago
Matt Johnson
e9eab89a6b
srsenb/rrc: Avoid crash when CSFB requested but sib7 not configured
...
This commit addresses an issue where if a UE requests a release for
circuit switched fallback, but the sib7 carrier freqs info list is not
configured, the eNodeB would crash with a segfault due to attempting
to access an element from an empty list. This commit adds explicit
checking to handle the empty list case. If the list is empty, no
redirect carrier info is added to the connection release message and
the UE must scan for the fallback network itself.
4 years ago
Xavier Arteaga
0e96ef3df0
Channel emulator takes SNR as input parameter
4 years ago
Francisco Paisana
0036941af4
added extra state to S1 target enb mobility FSM. Accounts for out-of-order arrival of MMEStatusTransfer. Also, now we avoid creating DRBs before the MMEStatusTransfer
4 years ago
Andre Puschmann
5e40bfe72c
mac_pdu: unpack and print BSR index as well as BSR value in bytes
...
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.
for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
4 years ago
Francisco Paisana
bb5dd92dca
implemented s1 handover cancellation procedure to force the target enb to release the ue ctxt
4 years ago
Francisco Paisana
8c9e596f89
refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code
4 years ago
Francisco Paisana
b6baf1a098
fix mobility warnings and s1 handover required message preparation
4 years ago
Andre Puschmann
8e631131c0
s1ap: fix uint64_t printf for 32bit machines
4 years ago
Francisco Paisana
7cd4f45d62
fsm refactor.
...
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago
Francisco Paisana
2d55691173
extended rrc mobility test to check security configuration of pdcp bearers
4 years ago
Francisco Paisana
42e8453c00
fix security key setup for s1 handover
4 years ago
Francisco Paisana
083344579e
fix s1 ho configuration of ue capabilities and security capabilities
4 years ago
Francisco Paisana
5d1343fe75
implemented S1 bearer status transfer
4 years ago
Francisco Paisana
db8af399f8
extended rrc tenb s1 handover test. implemented layer reconfig during s1 handover
4 years ago
Francisco Paisana
7605c7df23
added s1ap handover notification, fixed s1ap asn1 bug, and fixed bad fields for admitted erabs in ho req ack
4 years ago
Francisco Paisana
841b884796
remove extern C flags from common_helper.h
4 years ago
Francisco Paisana
5be5409f62
scaling governor function moved to common header file
4 years ago
Francisco Paisana
087805d222
add warning if scaling governor is not performance mode
4 years ago
Francisco Paisana
9146e6ddf1
change method name to resize intervals
4 years ago
Francisco Paisana
4457bbda7e
added new asserts to interval interface
4 years ago
Francisco Paisana
8b174ce2f4
changed interval interface to disallow interval::stop < interval::start via an assertion
4 years ago
Francisco Paisana
c1755727d7
changed interval method names, and added comments and assertions
4 years ago
Francisco Paisana
20b69fb22e
substitution of ul_alloc_t for prb_interval
4 years ago
Francisco Paisana
3eb1b83a43
updated allocate crnti method in mac to accoutn for new phy interface
4 years ago
Francisco Paisana
26f46ea067
add S1 Handover Request handling in target eNB
4 years ago
Francisco Paisana
caf862c99f
moved expected, bounded_bitset, move_callback to adt folder. created a test for bitset
4 years ago
Ismael Gomez
382811e10e
Update S1AP RNTI context when doing Reestablishment ( #1582 )
4 years ago
faluco
072e84cec8
- Simplified the usage of span now with implicit constructors as it should be.
...
- Added overload for generic containers that have size and data members like vector.
- Removed unnecessary uses of make_span.
4 years ago
faluco
eb4b2d4e43
- Added a clarification comment on why to use make_span.
...
- Moved byte_buffer utilities to common.h thus breaking the dependency of ADT to COMMON.
- Fixed compilation failures in tests.
4 years ago
Francisco Paisana
76a62909c1
use of span type for universal array views
4 years ago
Francisco Paisana
a6c3144d92
remove extra byte from rrc dl_dcch and dl_ccch messages
4 years ago
faluco
0a01bd4e1b
- Fix a race condition where the prach struct was being free while the prach worker was still running.
...
This could cause heap corruption making the enb_phy_test to fail sometimes.
4 years ago
faluco
51dc82a735
- Fix missing static tag in add_library, that could cause linker issues in srsenb.
4 years ago
faluco
cfd3f51931
Import of srslog into srsepc and srsenb. ( #1574 )
...
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
Xavier Arteaga
55a208ede8
SRSENB: added PRACH worker plot
4 years ago
Xavier Arteaga
a1a58507c1
SRSENB: Added eNb CC index to PRACH log trace
4 years ago
Xavier Arteaga
443378adcb
SRSENB: Add GUI window for every cell/carrier
4 years ago
Xavier Arteaga
bcc6c3e449
SRSENB: quit without initiating more components if radio fails to initiate
4 years ago
Ismael Gomez
dda91b14f7
Remove duplicate add_rnti() function since already done in set_config
4 years ago
Ismael Gomez
b3d24ba420
Do not set cells to inactive during reconfiguration if already active
4 years ago
Xavier Arteaga
fda1d040e7
SRSENB: implement PUSCH threshold for UCI bits
4 years ago
Andre Puschmann
ce5129467c
correct default value of PHY threads in eNB and UE examples
4 years ago
Francisco Paisana
b50f70e420
check if cqi is pending in all carriers to decide whether mcs needs to be reduced in PUSCH
4 years ago
Francisco Paisana
3f439cc947
account for current cqi config struct update in scheduler interface
4 years ago
Francisco Paisana
35fa5346b9
only reduce mcs if the current tti requires uci
4 years ago
Francisco Paisana
58c4bcf288
reduce mcs for UL grants carrying UCI
4 years ago
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
5 years ago
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.
5 years ago
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
5 years ago