Commit Graph
14736 Commits
Author SHA1 Message Date
Cedric Roux d262d152ec rlc v2: implement SOstart/SOend in NACK reporting
The necessity of SOstart/SOend was understood after email exchanges with
David Breaux <davidbreaux67@gmail.com>.

See openair2/LAYER2/rlc_v2/tests/test46.h for some details.

Basically if we NACK without SOstart/SOend then the other end of the RLC
channel will consider all the bytes as NACKed and will have to resend them
all. If another status is then reported before all the bytes are sent,
and because we don't use SOstart/SOend this status will NACK all the bytes
again, then all the bytes are to be sent again. And the cycle repeats.
It will end with a max retx reached (which triggers RLF, Radio Link Failure).

The function put_bit in openair2/LAYER2/rlc_v2/rlc_pdu.c has been changed
too, maybe introducing some performance issues.
2020-12-03 16:17:24 +01:00
Remi Hardy dfb110bf80 Integration 2020 wk49
MR968: Bugfix nr ldpc size typo
- fix the copy of the decoded data bytes at the end of the processing of an LDPC segment 
 
MR962: Remove x2 gnb hardcoding
- Removes hardcoding of some x2 configuration parameters used in ENDC setup request message at gNB side  

MR949: rlc v2: change time keeping
- RLC has timers. We need to keep track of time. 
We introduce rlc_tick() and call it in eNB_dlsch_ulsch_scheduler, which is called every subframe, both in FDD and TDD.
2020-12-01 19:35:15 +01:00
hardy 92b8b12208 OAI UE Build : use --ninja and change timeout to 1200 2020-11-30 14:04:53 +01:00
hardy 923c5f9d31 Merge remote-tracking branch 'origin/rlc-v2-tick' into integration_2020_wk49 2020-11-30 10:35:24 +01:00
hardy 279a721d23 Merge remote-tracking branch 'origin/remove_x2_gnb_hardcoding' into integration_2020_wk49 2020-11-30 10:34:52 +01:00
hardy cfdd0b2220 Merge remote-tracking branch 'origin/bugfix-nr-ldpc-size-typo' into integration_2020_wk49 2020-11-30 10:34:27 +01:00
Remi Hardy 6b8eb372c5 Integration 2020 wk48 2
MR945 : nr prach fr2
- Introduction of the PRACH frontend for FR2 (120kHz SCS, 32 and 66 PRB). 
- Tested with nr_prachsim and testcases added to test_case_list.xml also included some fixes for FR1, 
when prach occasion > 0 (small difference in Ncp)

MR950 : DL and UL PTRS for 5G NR

MR971 : Correct NDI + Minor MAC subPDU handling improvements
Fixes the issue : Ping in develop was unusually high (70+ms). The issue was that TA was scheduled in the second slot (of the two we currently schedule), but NDI was toggled for the first one. 
Other improvements:
- Correctly put padding MAC subPDU
- Only use subPDU DLSCH long header if length >= 256B
- Calculate TBS in DL pre-processor considering header and TA CE overhead.
- Improve some of the logging (LOG_D)
- re-enable TA

MR970 : uci gnb mac functions file
- Moved gNB MAC UCI related functions in a new file

MR972 : Bugfix nr rate matching assertion
- Fixes the assertion happening in rate matching of pdsch during iperf test.

MR975 : File openning in rrc_gNB_internal
- Only allow file opening in rrc_gNB-internal.c in phytest mode

MR977 : NR UE DCI sanity checks and fixes
These changes resolve a few stability issues and errors in NR UE
- Added sanity check for pucch_resource_indicator received in DL DCI, which resolves SEGV in select_pucch_resource() and check_pucch_format()
- Additional sanity checks included to catch false or erroneous DCI received
- Wrong MCS table calculation and error in accessing ul_config_request at UE resolved
2020-11-26 17:44:48 +01:00
Cedric Roux 6f9fe2681c rlc v2: add tick for UE 2020-11-26 11:53:22 +01:00
Cedric Roux 2c9d1b9d84 HACK: let the gNB compile again
This is messy, sorry. I don't have time to cleanup
cmake_targets/CMakeLists.txt.
2020-11-26 11:53:22 +01:00
Cedric Roux 25ab3a5ed3 rlc v2: change time keeping
RLC has timers. We need to keep track of time. We chose to not use
realtime but 'processing time'. That is we send a tick to RLC for every
subframe when it is processed by the softmodem. Before this commit we
used to increase time in the function mac_rlc_status_ind which may not be
called every subframe (especially in TDD mode). So we need another way
to keep track of time.

We introduce rlc_tick() and call it in eNB_dlsch_ulsch_scheduler, which
is called every subframe, both in FDD and TDD.

We also call rlc_tick() in the function ru_thread_synch() because
pdcp_run() and rrc_rx_tx() are called there too.

It may not be the best solution. To be revised if needed.

Note: the UE has not been touched. Some modification is needed for the UE
too, most probably.
2020-11-26 11:53:22 +01:00
Remi Hardy 43da900710 extending nsa fr1 test 2020-11-26 11:50:36 +01:00
hardy b16d7b2eed Merge remote-tracking branch 'origin/NR_mac_uci_functions_rework' into integration_2020_wk48_2 2020-11-25 18:15:43 +01:00
hardy 2855970763 Merge remote-tracking branch 'origin/NR_UE_stability_fixes' into integration_2020_wk48_2 2020-11-25 12:25:45 +01:00
hardy 08b30babdc Merge remote-tracking branch 'origin/rrc-enb-phy-testmode' into integration_2020_wk48_2 2020-11-25 12:25:08 +01:00
hardy 40085ad064 Merge remote-tracking branch 'origin/nr_dl_ul_ptrs' into integration_2020_wk48_2 2020-11-25 12:23:55 +01:00
Shweta Shrivastava e8b7dc8454 Fix error 2020-11-24 15:23:34 -06:00
Shweta Shrivastava 17b8ff50f8 Minor edits for consistency and clarity 2020-11-24 14:53:08 -06:00
Thomas Schlichter 6803e78ceb Merge remote-tracking branch 'develop'
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
	openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair2/RRC/NR/nr_rrc_proto.h
2020-11-24 16:58:58 +01:00
hardy 25391056c4 Merge remote-tracking branch 'origin/bugfix-nr-rate-matching-assertion' into integration_2020_wk48_2 2020-11-24 15:28:03 +01:00
hardy 11eeafd328 Merge remote-tracking branch 'origin/repair-TA' into integration_2020_wk48_2 2020-11-24 15:27:21 +01:00
hardy 865888b3d8 Merge remote-tracking branch 'origin/nr_prach_fr2' into integration_2020_wk48_2 2020-11-24 15:26:59 +01:00
Navid Nikaein a1d901277e Check if the file is openned first 2020-11-24 14:28:17 +01:00
Shweta Shrivastava 06f55552fe Fix small error 2020-11-24 01:04:46 -06:00
Shweta Shrivastava a6e15d4436 Fix TransformPrecoding values to be consistent with FAPI spec 2020-11-24 00:59:08 -06:00
Shweta Shrivastava 683ff6eb39 DCI sanity checks for MCS and frequency domain assignment 2020-11-24 00:53:25 -06:00
Shweta Shrivastava 9ff55751ee DCI sanity check for pucch_resource_indicator value 2020-11-24 00:42:14 -06:00
Remi Hardy 2529c20bff Integration 2020 wk48
MR932 : Nr sa ngap rrc wk42 
- Initial implementation of NGAP and RRC extensions for SA
 
MR956 : Correct use of ssb_position bitmaps  

MR958 : 5G NR Downlink DMRS Type 2
- Implementation of 5G NR Downlink DMRS type 2 (generation on gNB side, channel estimation with linear interpolation in frequency domain on UE side), needed for MIMO
  
MR961 : 5G NR UE TTI cleanup  
- Remove current_thread_id array, nr_tti_rx, nr_tti_tx, subframe_rx and subframe_tx

MR965 : fix a segdev
2020-11-23 22:12:10 +01:00
Florian Kaltenberger bf62f2bcce fixing FR2 arfcn 2020-11-22 21:40:36 +01:00
Sakthivel Velumani 0aa14f183e Editing an error message 2020-11-20 13:39:54 +01:00
Sakthivel Velumani 70e4bfda18 Storing Z inside harq_process structure
The LDPC lifting size has to be stored for each harq_process as its only assigned in the first round.
2020-11-20 13:37:34 +01:00
Francesco Mani 82c4380a4e uci mac functions in a new file 2020-11-20 10:22:10 +01:00
Robert Schmidt d116c60831 Improve DLSCH MAC scheduling logging 2020-11-20 09:54:38 +01:00
Robert Schmidt e6bb685b5d re-enable TA 2020-11-20 09:54:34 +01:00
Robert Schmidt bc088c975b Account for OH in preprocessor 2020-11-20 09:54:34 +01:00
Robert Schmidt d89716541f Fix: Always place padding subPDU if space permits 2020-11-20 09:54:37 +01:00
Robert Schmidt d245f7b958 Fix: Use DL-SCH long subheader when L >= 256 2020-11-20 09:54:34 +01:00
Robert Schmidt 3ff26c8f84 Fix: Reset HARQ feedback slot
If we schedule in a second slot, this ensures that the correct HARQ
process' NDI is toggled.
2020-11-20 09:52:42 +01:00
Florian Kaltenberger fd9dbad966 Merge branch 'develop' into 'nr_prach_fr2' 2020-11-20 08:47:34 +01:00
Thomas Schlichter 291c94d34c Merge remote-tracking branch 'origin/nr_ue_tti_cleanup' into integration_2020_wk48
Conflicts:
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2020-11-19 18:42:30 +01:00
Florian Kaltenberger 4b82bbf346 Update nr_prach.c 2020-11-19 16:15:11 +01:00
Florian Kaltenberger f99643a67b Update prachsim.c 2020-11-19 16:13:09 +01:00
Florian Kaltenberger ad2e0ebe2d Update test_case_list.xml 2020-11-19 16:10:16 +01:00
Cedric Roux 3889336f98 fix a nasty typo 2020-11-19 15:59:47 +01:00
hardy 4c3ee5f0e0 Merge remote-tracking branch 'origin/fix-itti-segv' into integration_2020_wk48 2020-11-19 14:59:39 +01:00
hardy e097bec73e Merge remote-tracking branch 'origin/nr_dl_dmrs_type2' into integration_2020_wk48 2020-11-19 14:58:54 +01:00
hardy b57ef17b1c Merge remote-tracking branch 'origin/bch-fixes-bitmap' into integration_2020_wk48 2020-11-19 14:58:02 +01:00
hardy a0d58f224c Merge remote-tracking branch 'origin/NR_SA_NGAP_RRC_wk42' into integration_2020_wk48 2020-11-19 14:57:08 +01:00
Remi Hardy 40141270e3 Integration 2020 wk47
MR939 : Nr rlc am bugfix w44 
- bugfix

MR948 : nr: rlc: hotfix - forgot to store frame and subfram  
- minor bugfix

MR942 : Feature/make s1 mme port configurable 
- This patch adds an optional "port" option to set another sctp port than 36412 

MR959 : minor: remove a CPPCHECK error for NR RLC
- remove a CPPCHECK error (not a real error) for NR RLC
2020-11-19 13:13:03 +01:00
Francesco Mani 0e298d8777 variable name change in nr_dlsch 2020-11-18 18:08:41 +01:00
Thomas Schlichter f41502cd19 fix compile warnings introduced by merge with develop 2020-11-18 10:38:15 +01:00