Francisco Paisana
dc0427804f
clean up comments and add some util functions
2020-04-09 18:57:18 +01:00
Francisco Paisana
7dc1489ea7
reintroduced optional enter/exit methods for each state
2020-04-09 18:57:18 +01:00
Francisco Paisana
7c76a64238
fix move/copy correctness
2020-04-09 18:57:18 +01:00
Francisco Paisana
be5a33f9b7
deleted unused fsm methods
2020-04-09 18:57:18 +01:00
Francisco Paisana
6675e92806
implement fsm based on choice type
2020-04-09 18:57:18 +01:00
Francisco Paisana
018f9e7db2
implement visit pattern
2020-04-09 18:57:18 +01:00
Francisco Paisana
278a1686fb
creation of choice/variant type
2020-04-09 18:57:18 +01:00
Francisco Paisana
a2ade9edd1
break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder
2020-04-09 10:10:04 +01:00
Francisco Paisana
2950d26daa
remove asn1 namespace from srsue files
2020-04-09 10:10:04 +01:00
Andre Puschmann
9307a54512
pdcp: adding enable_security_timed() method
...
this is an extension to the currently available security
configuration and activation methods provided by PDCP.
The new call allows to specify a Rx and Tx SN after which the
entire security config, i.e. integrity and ciphering, should
be enabled.
this is mainly required for the PDCP entity of the conformance
testing SS but could potentially also be used by the eNB
to enable security for PDCP after sending the SecModeCommand
for example.
the extra call was added to not break the existing API.
2020-04-09 10:55:13 +02:00
Pedro Alvarez
f4d648b26e
Removed rx_count state variable from PDCP LTE entity. Updated get_bearer_status(...) acordingly. Added get_last_submitted_rx_count() getter.
2020-04-09 10:55:13 +02:00
Andre Puschmann
70b13198b2
pdcp: update local rx_count variable when accepting incoming PDU
...
before the SN was read but the rx_count was never updated.
when get_dl_count() or get_bearer_status() were called, invalid
values were returned
2020-04-09 10:55:13 +02:00
Andre Puschmann
447c740bb5
pdcp: streamline PDCP info logs with RLC style
2020-04-09 10:55:13 +02:00
Francisco Paisana
7932a6bed7
allow the use of move_tasks in procedures
2020-04-08 14:55:33 +01:00
Daniel Willmann
925225dbeb
Implement Close UE Test Loop/Complete messages
...
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
2020-04-04 22:51:43 +02:00
Andre Puschmann
057844d7d6
signal_handler: increase alarm timeout to 5s and use raise instead of exit()
...
it seems that exit() causes problems when threads couldn't be stopped
properly, which is the reason why we have to call alarm() in the first place.
therefore, send a SIGKILL to our process and make sure we don't leave any
zombie threads running.
2020-04-03 22:22:04 +02:00
Xavier Arteaga
9a2b0b7cc7
Standard vector allocation uses vector library
2020-04-02 20:49:58 +02:00
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
2020-04-02 13:52:23 +02:00
Xavier Arteaga
6d355ab61e
SRSUE: Fix HO initial CFO
2020-04-02 13:52:23 +02:00
Francisco Paisana
c661025cda
fix log tti, and print a warning when the ul_harq tti does not match existing ones
2020-04-01 15:02:21 +01:00
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
2020-03-31 13:42:06 +01:00
Andre Puschmann
6911ee3004
soapy: add macro to disable stream stopping before changing sample rate
2020-03-31 12:32:52 +02:00
Andre Puschmann
d32b4d5529
fix benchmark_radio example
2020-03-31 12:32:52 +02:00
Andre Puschmann
62e4bd9469
log_ptr: fix issue if accessing log_ptr that was reset already
...
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()
i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
2020-03-31 12:32:52 +02:00
Andre Puschmann
ed646de7f1
soapy: fix segfault when launching and no device args where provided
2020-03-31 12:32:52 +02:00
Andre Puschmann
c82e7d313a
soapy: fix stream setup for new Soapy API
...
this caused an issue when compiling with latest SoapySDR drivers
that changed API for setupStream
2020-03-31 12:32:52 +02:00
Andre Puschmann
94c6034339
nas: rename start_attach_request to start_attach_proc
...
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann
0e76b9ed15
nas: set NAS key set identifier to no key available when attaching with IMSI
2020-03-28 21:24:13 +01:00
Andre Puschmann
890f346808
pdcp: fixing LTE rx test
...
the test was introducing two lost SN and the number of expected SDUs
wasn't changed. Changed now counters, etc to only drop one SN.
2020-03-27 10:54:19 +01:00
Francisco Paisana
67f6eebf61
fix rlc stress test to reflect threading in stack
2020-03-26 20:11:35 +00:00
Francisco Paisana
575475962f
the rlc um rx does not need a mutex bc it is always called in the stack thread
2020-03-26 20:11:35 +00:00
Ismael Gomez
8e07547909
Fix device_args in x300 when setting master_clock
2020-03-26 19:12:17 +01:00
Andre Puschmann
175f7fd587
pdcp: turn warning of PDCP duplicate into debug message
2020-03-26 14:21:14 +00:00
Andre Puschmann
5e9aa38551
pdcp: add test for reception of dublicate PDU
2020-03-26 14:21:14 +00:00
Xavier Arteaga
cca3cccfbe
Improved fading model generation
2020-03-26 08:23:07 +01:00
Xavier Arteaga
a44a61d781
Fix HST channel emulator for keeping coherent phase between frames
2020-03-26 08:18:24 +01:00
Francisco Paisana
9f5c2cb92f
fix net log setup
2020-03-25 20:22:04 +00:00
Francisco Paisana
1cbf7eac04
removed uneeded lock in rlc_am_lte
2020-03-25 19:18:00 +00:00
Francisco Paisana
42ed3a49eb
fix 5g compilation error
2020-03-25 19:18:00 +00:00
Francisco Paisana
288e9e9db7
removed as many readlocks as possible from the rlc. Using now guards for locking as well.
2020-03-25 19:18:00 +00:00
Francisco Paisana
599588ff51
removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking
2020-03-25 19:18:00 +00:00
Ismael Gomez
95c6916987
Improve robustness in RF Overflow ( #1124 )
...
* Use task id to track old background tasks in RA procedure
* Improve robustness against RF overflow in PHY
* Increase SNR out-of-sync threshold
* Do not change frequency if it's the same
* Increase sync priority
* Increase time to start receiving to reduce input buffer occupation
* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Francisco Paisana
8aa44928e9
fix 5g compilation errors
2020-03-25 15:50:30 +00:00
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
2020-03-25 15:50:30 +00:00
Francisco Paisana
8e837e173d
printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ")
2020-03-24 22:36:27 +00:00
Francisco Paisana
99d9ecbf9e
removed unecessary locks from rlc::write_pdu methods
2020-03-24 12:28:12 +00:00
Xavier Arteaga
cd2f86687f
Correction in AWGN generator
2020-03-24 12:16:28 +01:00
Xavier Arteaga
ca9611654d
Minor correction in AWGN channel test
2020-03-24 12:16:28 +01:00
Xavier Arteaga
8e891b7038
Added AWGN channel to SRSUE and SRSENB
2020-03-24 12:16:28 +01:00
Xavier Arteaga
c107b04f5a
Implemented high performance AWGN generator
2020-03-24 12:16:28 +01:00
Xavier Arteaga
b5be0b94b8
Added SIMD i32 add and and functions
2020-03-24 12:16:28 +01:00
Xavier Arteaga
8bf7acdeaf
Added vector malloc for i32 and u32
2020-03-24 12:16:28 +01:00
Francisco Paisana
9bde6d442c
removed the uneeded locks from the pdcp
2020-03-23 19:58:18 +00:00
Francisco Paisana
f3890b2908
use of mutexed cache to store the valid lcids that can be checked from gw thread
2020-03-23 19:58:18 +00:00
Francisco Paisana
e91a7ea513
removed stack-mac interface dedicated methods. We use now the task dispatch methods instead
2020-03-22 11:50:58 +00:00
Francisco Paisana
de03c96c3b
mac::process_pdus now uses the stack task dispatch interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
de3c28e52d
added task dispatch capabilities to stack interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
46a1be3e76
updated mac-rlc interface to use unique_byte_buffer
2020-03-22 11:50:58 +00:00
Ismael Gomez
7d7ac01fb4
Recalibrate 75 PRB
2020-03-22 10:24:59 +01:00
Xavier Arteaga
2c93f6d20a
Fix PUCCH DMRS correlation
2020-03-22 08:49:12 +01:00
Ismael Gomez
7c7c83b9ad
Address comments
2020-03-22 08:48:40 +01:00
Ismael Gomez
fd3d4a7874
Refactor thread_pool: use std::mutex and fix some hidden potential bugs
2020-03-22 08:48:40 +01:00
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
2020-03-20 11:32:03 +00:00
Francisco Paisana
45bc123967
remove manual tti counters from the rrc
2020-03-19 21:52:53 +00:00
Francisco Paisana
770f04b92a
the rrc now only works with the stack latest tti, instead of mac's tti
2020-03-19 16:47:55 +00:00
Francisco Paisana
d3f49d0e3c
changed interface sync-stack to allow tti jumps > 1
2020-03-19 16:47:55 +00:00
Francisco Paisana
fb967d17a2
now we can disable tprofs individually
2020-03-19 10:59:37 +00:00
Francisco Paisana
e73cbb09b0
created tprof statistic for sliding windows
2020-03-19 10:59:37 +00:00
Francisco Paisana
2601d106f5
fix license string
2020-03-19 10:59:37 +00:00
Francisco Paisana
deb76d5dbd
improved design to avoid data structures, and allow guarded start/stop even in lambdas
2020-03-19 10:59:37 +00:00
Francisco Paisana
8a54aef89d
created a better/more composable design for time measures
2020-03-19 10:59:37 +00:00
Francisco Paisana
854211496b
redesign of tprof for thread safety
2020-03-19 10:59:37 +00:00
Francisco Paisana
269c852767
created a class for time profiling. An object of such class, if disabled, has almost zero overhead. Added a compile-time flag to turn on/off time profiling
2020-03-19 10:59:37 +00:00
Xavier Arteaga
ea1b6b60dd
Fix UHD memory issues
2020-03-18 18:34:05 +01:00
Xavier Arteaga
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
2020-03-18 16:12:51 +01:00
Francisco Paisana
597334c4bf
limit the rlc queue size for suspended bearers
2020-03-18 13:22:08 +00:00
Francisco Paisana
ede09cb9b2
added dynamic CFI capability to the eNB scheduler
2020-03-17 22:06:37 +00:00
Xavier Arteaga
ada8772f57
Initial srenb TA compensation
2020-03-17 17:21:43 +01:00
Xavier Arteaga
d191b1c8e0
Do not bundle ACK/NACK if PUCCH CS and no ACK to transmit
2020-03-17 17:21:17 +01:00
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
2020-03-17 09:58:01 +01:00
Andre Puschmann
4e3e537982
fix doxygen file description
2020-03-17 09:58:01 +01:00
Xavier Arteaga
0408d357a7
Minor fixes
2020-03-16 15:07:12 +01:00
Ismael Gomez
73447972d8
Fix issue with simultaneous CQI and ACK/NACK transmission in CA ( #1067 )
...
* Fix memory corruption when phy calling mac scheduler and not yet initiated
* Do not drop CQI if collision with ACK/NACK and PUSCH
* Allocate CQI resources for SCell properly
* Use UE_PCELL_CC_IDX macro
* Protect ul_sched from being called if not yet started
2020-03-16 13:10:21 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
yagoda
4f818b04ae
adding return macros to ringbuffer
2020-03-16 07:48:10 +01:00
yagoda
943d90bc48
consolidating different ringbuffer functionalities into one, adding unit tests for ringbuffer
2020-03-16 07:48:10 +01:00
Daniel Willmann
275f26d875
liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types
2020-03-15 18:27:51 +01:00
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
2020-03-13 19:20:40 +00:00
Xavier Arteaga
44593120c6
SRSUE: Zero UL signal if no transmission
2020-03-13 14:01:58 +01:00
Xavier Arteaga
66b98cf224
Fix ZMQ typo
2020-03-13 14:01:58 +01:00
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
2020-03-13 14:01:58 +01:00
Xavier Arteaga
834a081c09
Add EPRE measurement to PUSCH decoder
2020-03-13 14:01:58 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Andre Puschmann
ab210c5f3c
tiny cosmetic changes to the error messages printing 0x and clear cc_idx use
2020-03-12 12:22:41 +01:00
Francisco Paisana
7548402632
change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers
2020-03-11 21:56:33 +01:00
Xavier Arteaga
590847e794
TTI semaphore requires protection in wait_all
2020-03-11 21:17:13 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Xavier Arteaga
65711d06dc
PRACH TA base default to 0 and apply clang-format
2020-03-11 16:58:00 +01:00
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
2020-03-11 16:25:56 +01:00
Andre Puschmann
a8acd235f6
extend eNB MAC to support multiple CC per UE
...
- add tx/rx softbuffers for each CC that a UE might have
- make sure to call assign correct buffers when iterating
over the CC for UL/DL grant assignment
2020-03-11 10:16:23 +01:00
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
2020-03-11 09:00:38 +00:00
Francisco Paisana
9ad80ee29f
added initial_dl_cqi to the enb rr.cfg parser
2020-03-10 22:06:07 +00:00
Francisco Paisana
fad897cb35
DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations
2020-03-10 22:06:07 +00:00
Ismael Gomez
bf6db92f04
Reset SRS properly on PHY defaults
2020-03-10 17:25:48 +01:00
Ismael Gomez
d17a9d2ab1
RLC returns zero buffer during suspended
2020-03-10 17:25:48 +01:00
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
2020-03-10 15:01:00 +01:00
Francisco Paisana
639f473042
fixed unsigned signed comparison
2020-03-10 14:17:49 +01:00
Francisco Paisana
1e63fa41cf
made ue_cc_idx int to set to -1 for rar and bc allocs
2020-03-10 14:17:49 +01:00
Francisco Paisana
f3c3c52fcd
added ue_cc_idx to dci allocation
2020-03-10 14:17:49 +01:00
Francisco Paisana
e62972d38e
fix fdd delays in scheduler
2020-03-10 14:17:49 +01:00
Xavier Arteaga
002a68e183
SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold
2020-03-10 09:19:54 +01:00
Xavier Arteaga
64caa4321b
Fix UL control decoding. Some minor aesthetic changes.
2020-03-10 09:19:54 +01:00
Xavier Arteaga
44a5ce172e
Added vector srslte_vec_avg_power_sf
2020-03-10 09:19:54 +01:00
Andre Puschmann
2edecea33e
fix SIB transmission for CA
...
Avoid double buffering of SIBs in MAC as this would require one buffer for each CC.
Instead, use byte_buffer managed by RRC that contains packed SIBs to avoid
double memcpy for each SIB tx. Only use MAC provided buffer in error case.
Also avoid MAC calling RLC for each SIB and call RRC directly.
2020-03-09 14:18:09 +01:00
Pau Espin Pedrol
3633859d09
rf_imp.c: Ignore case when matching device_name
...
This allows using device_name = UHD, uhd, ZMQ, zmq, etc.
2020-03-09 11:08:12 +01:00
Andre Puschmann
120ad76c63
refactor cell param handling and fix SIB transmissions
...
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
2020-03-06 16:20:44 +01:00
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
2020-03-06 15:26:48 +01:00
Xavier Arteaga
a968fb02d3
Increase PUCCH correlatiion threasholds
2020-03-06 13:58:49 +01:00
Xavier Arteaga
5aff042c6e
Avoid repeated PDCCH locations
2020-03-06 13:58:49 +01:00
Xavier Arteaga
02dd5bd8c4
Fix PUSCH segfault
2020-03-06 13:58:49 +01:00
Xavier Arteaga
da701cd82b
SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup.
2020-03-06 13:58:49 +01:00
Xavier Arteaga
47cbbcbd57
Improve PUSCH UCI decoder
2020-03-06 13:58:49 +01:00
Pedro Alvarez
bd3598f774
Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h.
2020-03-06 11:57:07 +00:00
Xavier Arteaga
96ffe1c3ad
Commented class tti_semaphore
2020-03-06 12:24:28 +01:00
Andre Puschmann
4553ce7ff1
temporarily disable SCI checks for PSCCH file tests
2020-03-06 11:20:11 +01:00
Francisco Paisana
a6320f93b8
remove remaining const_casts
2020-03-05 20:23:07 +00:00
Francisco Paisana
ec1f1cc677
remove const_casts from scheduler. Fix ODR issue
2020-03-05 20:23:07 +00:00
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Andre Puschmann
2e455908e8
fix issue compiling pssch_ue when RF driver wasn't found
2020-03-05 11:37:24 +01:00
Pedro Alvarez
afc209711c
Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked
2020-03-04 22:03:17 +01:00
Francisco Paisana
d848524d8b
fix link error
2020-03-03 21:26:50 +00:00
Francisco Paisana
aaa333c1ff
removed some clang warnings
2020-03-03 21:26:50 +00:00
Francisco Paisana
62609fdc11
fixed some logs. Also now use one single log obj for all the asn1
2020-03-03 21:26:50 +00:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Andre Puschmann
3adfbcadbc
disbable three Sidelink tests that are currently failing on AVX2
2020-03-03 16:22:51 +01:00
Andre Puschmann
c471f6c900
chest_sl: tiny refactor and comments
2020-03-03 16:22:51 +01:00
Andre Puschmann
3e51734a39
adopt sample path for sync_sl_test
2020-03-03 16:22:51 +01:00
Andre Puschmann
e9e57153dc
adding basic pssch_ue example
2020-03-03 16:22:51 +01:00
Andre Puschmann
e4b5fa122f
add set_cell() call to PSCCH and allocate for max PRB in pscch_init()
2020-03-03 16:22:51 +01:00
Andre Puschmann
151ce10a96
remove SL specific CFO correction method
2020-03-03 16:22:51 +01:00
Andre Puschmann
09f7355870
use srslte_cell_sl_t in PSCCH
2020-03-03 16:22:51 +01:00
Andre Puschmann
14000f7ae7
adding phy_common_sl.{c,h}
2020-03-03 16:22:51 +01:00
Andre Puschmann
8b70ff7654
simplify SL chest and add RSRP and sync error measurements
2020-03-03 16:22:51 +01:00
Andre Puschmann
d85339187a
pass offset parameter to CMW capture to compensate SFO
2020-03-03 16:22:51 +01:00
Tiago Alves
cabd9ae742
baseline implementation of pscch
2020-03-03 16:22:51 +01:00
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
2020-03-03 16:22:04 +01:00
Andre Puschmann
0aff9d9d26
fix -Wstringop-trunc in phy_common helper
...
gcc8 added a -Wstringop-truncation warning that flags
an issue in phy_common because we are copying a str
to another str without explicitly saying it's null-terminated.
we could turn off the warning using a pragma in the code
but I guess it's safe to just null-terminate after
copying manually
[1] https://stackoverflow.com/questions/50198319/gcc-8-wstringop-truncation-what-is-the-good-practice
2020-03-03 14:59:35 +01:00
Andre Puschmann
31673d1797
rf_zmq: increase param len to capture longer rf args
2020-03-03 14:16:34 +01:00
Francisco Paisana
ad9e126299
test for different enb_cc_idxs as pcell. Bug fixes
2020-03-02 16:33:31 +00:00
Xavier Arteaga
125747ae4a
Added external C to phy_common header and ACK/NACK feedack mode parser
2020-03-02 12:19:09 +01:00
Xavier Arteaga
5893f66364
SRSENB: fixes, srsUE attaches srsENB
2020-03-02 12:19:09 +01:00
Xavier Arteaga
a4135e41a5
Added PUCCH collision checker
2020-03-02 12:19:09 +01:00
Xavier Arteaga
85171f3ca7
Fix eNb UL PUCCH1b CS decoding
2020-03-02 12:19:09 +01:00
Xavier Arteaga
f35ed14f76
SRSENB: refactored PHY common UE database
2020-03-02 12:19:09 +01:00
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
2020-03-02 12:19:09 +01:00
Andre Puschmann
9e113f8b27
pdcp: allow to configure security for rx/tx seperately
...
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.
this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.
This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
2020-03-01 18:26:45 +01:00
Francisco Paisana
6b96d21732
extension of the timer test to check safe running timer erasure
2020-02-29 18:00:11 +00:00
Francisco Paisana
79e5bd94cf
remove timers from priority queue for which run() or stop() was called.
2020-02-29 18:00:11 +00:00
Francisco Paisana
5b2da779b7
new method in timer_handler to dispatch calls without an associated unique_timer
2020-02-29 18:00:11 +00:00
Francisco Paisana
af76778fc8
remove fixmes
2020-02-28 18:03:29 +00:00
Francisco Paisana
ac52208409
removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes
2020-02-28 18:03:29 +00:00
Andre Puschmann
5b31c1db43
nas: delete security context when receiving attach reject with cause 3, 6, or 35
2020-02-28 12:52:44 +01:00
Francisco Paisana
32c347fbb1
hide logmap implementation in source file. Export symbols so they can be used by srsASN1 project
2020-02-28 11:33:26 +00:00
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
2020-02-28 11:33:26 +00:00
Xavier Arteaga
e621853566
Minor aesthetics changes
2020-02-28 12:10:32 +01:00
Xavier Arteaga
f261365c91
Initial EVM calculation commit and other easthetic changes
2020-02-28 12:10:32 +01:00
Francisco Paisana
56b0d0d3c3
fix s1ap packing issue
2020-02-26 17:55:12 +00:00
Andre Puschmann
b88e877b4c
ttcn3: make SS single threaded and use SCTP for test ports
...
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
2020-02-25 21:28:15 +01:00
Pedro Alvarez
830dffb05b
Small change in pkt compare function.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
5dd081846b
Removed unnecessary macro and some newlines.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
08c81c274b
Fix PDCP NR tests.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
aecfb151ce
Apply clang-format to the lib in preperation for PR.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
940626108b
Fix PDCP DRB test. Enabled encryption on PDCP LTE tests. Tests passing now.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
d98b888ca4
Separating PDCP read_header function from discard_header_function. Starting to add DRB unit test.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
dbb5c6c06c
Adding PDCP LTE SRB1 test. Test failing for now.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
284a0f7b4e
Starting to add PDCP LTE unit tests. Test failing for now.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
b841859220
Moved pdcp test functionality to a common header. Fixed linking issue in 5GNR PDCP
2020-02-20 20:53:27 +01:00
Pedro Alvarez
5f39c79bda
Moved some more packing functions to base class.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
d3d5da682e
Fix mistake in writting packet twice to upper layers.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
fdd67c3865
Fix issue in integrity check in PDCP SRBs. Moved some helper functions to the pdcp base class
2020-02-20 20:53:27 +01:00
Pedro Alvarez
6508bd411f
Fix some issues with MAC copying
2020-02-20 20:53:27 +01:00
Pedro Alvarez
6648f7ebca
Update COUNT estimation for SRBs in PDCP
2020-02-20 20:53:27 +01:00
Pedro Alvarez
965b0ee99b
Starting to fix handling of RX SRB PDUs in PDCP.
2020-02-20 20:53:27 +01:00
Francisco Paisana
c29f08d8d5
refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling
2020-02-20 20:48:36 +01:00
Ismael Gomez
d56b87f68c
Typo
2020-02-18 14:54:09 +01:00
Francisco Paisana
22f51bb30b
made cell select non-blocking using background threads
2020-02-18 09:47:33 +01:00
Ismael Gomez
72e6fa40fc
Fix multiple issues with DCI sizes when using CA.
2020-02-17 11:21:34 +01:00
Ismael Gomez
be82e1f368
Fix concurrency bug in ZMQ during srate change ( #954 )
...
The bug was manifesting as buffer overflow in 20 MHz 2x2 CA
2020-02-16 21:31:51 +01:00
Ismael Gomez
d8d10daebe
Fix bug in SRS using the previous grant to compute collision with PUSCH ( #958 )
2020-02-16 21:30:04 +01:00
Ismael Gomez
4fb83ae26d
Run configure_prach_params as a background task
2020-02-16 21:27:24 +01:00
Andre Puschmann
327aa97cfd
add macro for invalid RNTI 0x0
2020-02-15 19:33:25 +01:00
Francisco Paisana
64c9302b43
added wireshark generation to SCell Activation CE pdu_test
2020-02-14 21:49:01 +00:00
Francisco Paisana
e51e2ac062
added scell activation to pdu_test
2020-02-14 21:49:01 +00:00
Francisco Paisana
42449b079a
now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported.
2020-02-14 21:49:01 +00:00
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
2020-02-14 21:49:01 +00:00
Francisco Paisana
838053e8f2
added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing
2020-02-14 21:49:01 +00:00
Francisco Paisana
a0407dd6f7
created a lock guard for pthread rwlocks. This will avoid using gotos in many cases, and the RAII technique avoids many accidents.
2020-02-14 14:53:57 +00:00
Xavier Arteaga
6c960da808
Fix UE's SR transmission
2020-02-13 16:10:26 +01:00
Xavier Arteaga
344016ef0a
Refactored and commented SRSUE's Intra measure component
2020-02-13 14:25:00 +01:00
Xavier Arteaga
8f6dd184be
SRSUE: neighbour cell measurement test defined
2020-02-13 14:25:00 +01:00
Xavier Arteaga
385102fa2d
SRSENB: minor format, renaming and interface changes
2020-02-13 10:29:00 +01:00
Xavier Arteaga
67c07dfb56
Moved UL/DL PUCCH procedures into pucch_proc
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bf4ecc8064
Fix srsenb PHY and unit/component tests
2020-02-13 10:29:00 +01:00
Xavier Arteaga
7a20e3a51e
Added boolean random generator
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f9c3dd2748
more fixes in the srsenb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
5dbc96458a
Sets PUCCH decode threshold as macro
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bc10943a2b
Added get max TB from DCI format
2020-02-13 10:29:00 +01:00
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f10f64215e
log_filter use stdout logger is NULL
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f6cf7780e8
Minor aesthetic corrections
2020-02-13 10:29:00 +01:00
Xavier Arteaga
d66fdefbb3
Added more docs to PUCCH 1b CS resource selection
2020-02-13 10:29:00 +01:00
Xavier Arteaga
b4d1f737f3
Minor PUCCH 1b CS resouce selection fix
2020-02-13 10:29:00 +01:00
Xavier Arteaga
cd12307c91
SRSLTE: fix PUCCH 1b Channel selection resource
2020-02-13 10:29:00 +01:00
Xavier Arteaga
40772eae19
SRSENB: UE PHY dedicated takes a flat configuration structure
2020-02-13 10:29:00 +01:00
Xavier Arteaga
86a62c3584
removed unreachable code
2020-02-13 10:29:00 +01:00
Xavier Arteaga
1f762844ee
Initial PUCCH format 3 decoder
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f935916e7c
SRSUE: fix srsue_rf_test
2020-02-13 10:29:00 +01:00
Xavier Arteaga
35f4e5d69a
Initial PUCCH 1B with channel selection
2020-02-13 10:29:00 +01:00
Andre Puschmann
8a33fde8e7
adding GPS sync support to USRP capture example
2020-02-10 20:25:54 +01:00
Andre Puschmann
6cce22d6b8
add support for GPS-based sync to UE sync object
2020-02-10 20:25:54 +01:00
Andre Puschmann
d62b835a4c
sync USRP time to GPS when GPSDO is used as clock source
2020-02-10 20:25:54 +01:00
Andre Puschmann
cccabdaf4f
removing unneeded install targets for static libs (reported by Filipe)
2020-02-10 17:38:42 +01:00
Francisco Paisana
c8fc0d91b3
changed the supported cc list to a vector of structs
2020-02-07 15:06:46 +00:00
Francisco Paisana
42b15c7bed
use common ue_cfg interface to set the ue antenna info
2020-02-07 15:06:46 +00:00
Francisco Paisana
5f557700f2
changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete
2020-02-07 15:06:46 +00:00
Francisco Paisana
b66bc3a6b0
create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler
2020-02-07 15:06:46 +00:00
Francisco Paisana
88a22e7dbf
support cc cfg from rrc
2020-02-07 15:06:46 +00:00
Francisco Paisana
e86862611c
update the scheduler interfaces to accommodate the configuration of multiple carriers
2020-02-07 15:06:46 +00:00
Francisco Paisana
2dc31ea440
added interface to configure multiple cells from the RRC
2020-02-07 15:06:46 +00:00
Andre Puschmann
c7343cf6d8
protect sf_buffer from overrun in receive_samples
...
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.
currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).
By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Jason Tang
e15eb936fa
Support multiple SoapySDR devices using soapy=# device_arg
2020-02-07 10:16:15 +01:00
Andre Puschmann
ed179fd311
timers: rename value() to time_elapsed()
...
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
2020-02-06 14:40:47 +01:00
Andre Puschmann
b085a8eabf
rework debug log when getting buffer state in RLC AM
...
also adds some description to RLC functions being called
from outside the stack thread
2020-02-06 14:40:47 +01:00
Andre Puschmann
4932fb8719
fix value() return in timers when timer is expired
...
this makes sure that value() never returns a value larger
than the timer duration
2020-02-06 14:40:47 +01:00
Xavier Arteaga
5b14a7d585
Implementation Tx RLC suspend
2020-02-06 09:14:57 +01:00
Xavier Arteaga
f8fc226b89
Removed 5dB offset to the minimum Rx gain of the AGC
2020-02-06 09:14:05 +01:00
Xavier Arteaga
68ad4960eb
SRSLTE: added holding time before AGC starts measuring after setting gain
2020-02-06 09:14:05 +01:00
Xavier Arteaga
0edd8f74d8
fix memory leak in timer test
2020-02-04 16:33:46 +01:00
Xavier Arteaga
b88a8635f1
Reduce stress timer test number of timers
2020-02-04 16:33:46 +01:00
Xavier Arteaga
e0cc1fd697
Reduce time of timer_test; use unique_lock instead of guard
2020-02-04 16:33:46 +01:00
Xavier Arteaga
22da8dfbb1
srsLTE: protected priority queue in timers
2020-02-04 16:33:46 +01:00
Andre Puschmann
d3cb2eac83
add RLC suspend/resume to eNB interface
2020-02-03 16:26:15 +01:00
Andre Puschmann
6a50fe3233
zmq: add monitor code for sockets but disable it
...
according to the ZMQ dev guide, one can use a socket monitor
to get informed about changes to a socket, e.g. when a client disconnected.
This is useful to detect when a UE dropped the connection to reinitialize
the socket and timers in a eNB.
This commit adds code to create such a socket monitor but leaves
it disabled because it still doesn't work as expected.
2020-02-03 16:26:15 +01:00
Andre Puschmann
995774c830
add ZMQ device argument to fail reception when end point disconnects
...
this allows to gracefully exit the eNB when the UE disconnected.
2020-02-03 16:26:15 +01:00
Andre Puschmann
2a46413121
during cell search don't configure found cell as serving cell
...
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.
instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
2020-02-03 12:51:46 +01:00
Andre Puschmann
bbacc35e24
move configuration of default logger to main
...
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
2020-02-03 12:51:46 +01:00
Xavier Arteaga
fe199e6be2
SRSUE: Undo enable/disable RA procedure flag
2020-02-03 12:51:46 +01:00
Xavier Arteaga
f8294fb9df
SRSUE: RRC measurements refactor and more fixes
2020-02-03 12:51:46 +01:00
Ismael Gomez
52716f8716
Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
...
rrc_meas refactor. Need to split commit
Fix typo
Temporal commit
Apply rx_gain_offset to neighbour cell measurements
srsLTE: modify TESTASSERT Macro to follow codeline
SRSUE: prevent RRC from having serving cell in neighbour list
SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release
SRSUE: extend intra-frequency to CA SCell
SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue
SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful
SRSUE: fix compilation issues and Reest SIB indexes
Fixes sync using incorrect cell configuration when search cell does not find a correct cell
Small refactor to remove measurement report triggers always after removing measurement
SRSUE: Removed SIC PSS from UE
SRSUE: fix inter-frequency reestablishment and added more traces
SRSUE: Fix compilation issue
2020-02-03 12:51:46 +01:00
Francisco Paisana
d382c10948
fix crash for case args == nullptr
2020-01-31 19:08:56 +00:00