Commit Graph
4101 Commits
Author SHA1 Message Date
francescomani 08d2c9fb74 Merge remote-tracking branch 'origin/develop' into NR_scheduling_CSIRS 2021-03-12 15:54:13 +01:00
rmagueta e2627f8025 Improve UE mode 2021-03-12 13:47:59 +00:00
francescomani dd1b8b64cf tentative fix for RC.gNB[inst] allocation 2021-03-12 13:15:48 +01:00
Remi Hardy c775073aad Merge remote-tracking branch 'origin/nr-pdcp-improvements' into integration_2021_wk10 2021-03-12 11:07:44 +01:00
Remi Hardy c12dd11d6e Merge remote-tracking branch 'origin/develop-SA-RA' into integration_2021_wk10 2021-03-12 11:07:25 +01:00
Robert Schmidt 43f6e2f0de Shorten RSRP meas print, avoid SIGFPE 2021-03-11 12:22:32 +01:00
Robert Schmidt 6274348dfb Remove redundant code 2021-03-11 12:12:35 +01:00
He Shanyun 8965dd782b Merge remote-tracking branch 'remotes/origin/develop_SA_CUDU_rfsim_with_5gc' into integration_w5GC
Conflicts:
	cmake_targets/CMakeLists.txt
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2021-03-11 14:39:36 +09:00
Shweta Shrivastava a0fa146e04 Merge branch 'ptrs_rrc_config' of https://gitlab.eurecom.fr/oai/openairinterface5g into ptrs_rrc_config 2021-03-10 22:58:06 -06:00
Shweta Shrivastava 7eec3e3bcc Merge branch 'develop' into ptrs_rrc_config 2021-03-10 22:37:44 -06:00
rmagueta f6a1c1883f Add support for PUSCH scheduled by RAR when BWPStart>0 2021-03-10 19:13:29 +00:00
francescomani c05b62d620 including measured rsrp in mac stats 2021-03-10 15:05:26 +01:00
Cedric Roux 4ff8f8832e NR: fix: set PDCP discard timer to infinity
The discard timer is used by the PDCP layer to discard packets that were not
transmitted to RLC after some time.

We don't really need it for the moment, maybe never for the default
bearer which is a best-effort bearer passing all kind of IP traffic.
Maybe for voice over IP kind of traffic it's important, or realtime
applications.

I ran an iperf UDP uplink test and saw no error on the PHY layer but still
lots of packets lost in the iperf logs, which was very surprising. By
analyzing the logs in wireshark I saw that, with the current scheduler,
an IP packet sent by the UE took 40ms to be sent piece by piece to the
gNB, and then the next uplink IP packet was never sent at all because
the discard timer was expired, leading to the high count of packets lost
in the iperf logs.

So let's put infinity for the moment for the discard timer. From my
understanding of the moment it's not a problem. If for some reason we
should set it to some non-infinity value, then we can change later.
2021-03-10 10:30:23 +01:00
francescomani 35bbbe635f fixing a compilation error 2021-03-10 09:12:18 +01:00
rmagueta 7be1952c82 Add back-off indicator subheader to Msg2 2021-03-09 16:29:04 +00:00
rmagueta e5ee51964b Add temporary LOGs for Msg2 2021-03-09 15:00:06 +00:00
matzakos 906fd2b68f Merge branch NR_SA_F1AP_RFSIMULATOR3 into NR_SA_F1AP_5GRECORDS 2021-03-09 15:24:11 +01:00
francescomani 3cfc9ae93c fix in handling csi meas report on pucch 2021-03-09 14:32:40 +01:00
Thomas Schlichter 2cf4daefa8 NR: move nr_bandtable from nr_mac_common.c to nr_common.c so PHY can use it, too 2021-03-09 11:56:06 +01:00
francescomani feaccd964c change a log to D from I 2021-03-09 11:12:16 +01:00
cig 443a449119 Fix after review MR 1039
- FAPI structures not to be used as config_req at MAC since that FAPI is
  just for communication between MAC and PHY
- additional frame_type member added to the FAPI struct
2021-03-09 10:36:27 +01:00
yoshio.inoue 81c92d226f Define variables according to coding conventions. 2021-03-09 18:14:39 +09:00
francescomani a4da922053 bugfix in switch 2021-03-09 09:02:50 +01:00
Wang He 264af1860f fix build error and core dump error. 2021-03-09 15:43:18 +09:00
luis_pereira87 45b86847b7 Fix DMRS sequence generation for BWPStart>0 (Msg2 and Msg4) 2021-03-08 19:35:49 +00:00
rmagueta f88dff1bca Uniformization of coreset start subcarrier at gNB for coreset0 2021-03-08 14:02:56 +01:00
Raymond Knopp d72b9c4e71 Merge remote-tracking branch 'origin/develop' into oairu 2021-03-08 13:41:14 +01:00
rmagueta dc9425ee91 Uniformization of coreset start subcarrier at gNB for coreset0 2021-03-08 12:05:25 +00:00
francescomani de0492b26e adding a log at mac 2021-03-08 11:02:09 +01:00
masayuki.harada c9906d1a70 Merge remote-tracking branch 'remotes/oai/NR_SA_F1AP_RFSIMULATOR3' into NR_SA_F1AP_RFSIMULATOR3_Lo
# Conflicts:
#	openair2/LAYER2/nr_pdcp/nr_pdcp_entity_drb_am.c
#	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2021-03-08 13:43:39 +09:00
rmagueta 99711020bd Update generate_nr_prach after receiving RA-Msg2 at UE 2021-03-06 20:13:14 +00:00
Thomas Schlichter 2411743f44 gNB: move get_band() to its only user in nr_init.c 2021-03-05 17:27:45 +01:00
francescomani 287e6078e2 ssb slot computation from starting symbol in sib1 function 2021-03-05 15:36:43 +01:00
Xue Song 834d6f1055 Merge branch 'master' into NR_SA_F1AP_RFSIMULATOR3_Lo
Conflicts:
	cmake_targets/CMakeLists.txt
	executables/nr-softmodem.c
	executables/nr-uesoftmodem.c
	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_entity_drb_am.c
	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
	openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
2021-03-05 19:07:43 +09:00
rmagueta ba8c14debc Update RA succeeded procedures 2021-03-04 19:58:11 +00:00
francescomani 8756a56121 tentative fix for scheduling multiple sib1 instances 2021-03-04 17:48:10 +01:00
rmagueta cfd5adcc84 Segmentation fault prevention in RA-Msg2 2021-03-04 16:11:44 +00:00
francescomani 18b1218779 reworking of MAC functions to schedule SSBs, including VRB map occupation and get_type0_PDCCH_CSS_config_parameters 2021-03-04 14:32:41 +01:00
wf d6763661be du-cu tested ok 2021-03-04 19:30:49 +08:00
wf 44d40219f2 modify fro comments, no warning now 2021-03-04 16:42:20 +08:00
Francesco Mani 1eb4438742 bugfix in csirs vrb map occupation 2021-03-04 09:02:09 +01:00
rmagueta 245f1e066f Improvements in RA-Msg4 2021-03-04 01:23:56 +00:00
rmagueta ab3794e62c Improvements in RA-Msg2 2021-03-03 20:16:14 +00:00
Thomas Schlichter 62612feebf change get_band() to take the duplex spacing into account 2021-03-03 18:02:10 +01:00
Thomas Schlichter 7a6f789aed Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-03-03 17:59:17 +01:00
Thomas Schlichter 01645168f0 NR_UE: handle initial TA the same way as TA updates, independent of the UE_mode
In FDD mode, the UE_mode switches to PUSCH mode before the initial TA value was applied.
Because of this, the ta_command was misinterpreted.
Fix this by adding 31 to the initial TA comamnd and handle it the same as TA updates.
2021-03-03 17:58:07 +01:00
luis_pereira87 bb0507a846 Revert code from commit fc9b781c 2021-03-03 16:03:18 +00:00
Cedric Roux 9edc8cce0a nr pdcp: improvements
Implement data transfer (38.331 5.2):
    - transmit operation (in nr_pdcp_entity_recv_sdu)
    - receive operation (in nr_pdcp_entity_recv_pdu)
    - t-Reordering expiration

To keep track of time the function nr_pdcp_wakeup_timer_thread has been
added and is called by the gNB's MAC scheduler via nr_pdcp_tick.

(The UE has not been modified.)

A thread has been introduced to set time of all the existing PDCP
entities in the system. This probably does not scale well with many
PDCP entities (many UEs connected to the gNB). To be changed at some
point when needed. Hopefully, with a few UEs this mechanism won't be
too problematic (ie. won't cause realtime problems).

The problem with time in PDCP is that SDUs are kept if some are
missing, to do reordering. A timer is started and when it expires
we have to transmit the SDUs even if some are still missing. We
want to do that as soon as possible. So we have to check timers
often (every millisecond).

In RLC the time is set when there is some activity (SDU or PDU
received). In PDCP we cannot wait for this kind of activity. We
would keep packets longer than necessary, which may disturb
upper layers (think: TCP). That is why we introduced the thread,
as a simple mechanism to keep packets no longer than necessary.

The locking done by this thread may create realtime issues.

The whole logic of time keeping can be changed later if it turns
out that it is not efficient.

The functions dealing with DRB AM have been removed. All the types
of PDCP entities (DRB AM, DRB UM, SRB) use the same mechanism for
transmit and receive operations. So the code has been made common
for all those types.

We don't deal with:
    - entity re-establishment, entity release or entity suspend
    - SDU discard (the timer is present but not used)
    - status reporting
    - data recovery
    - data volume calculation
    - header compression / decompression

There is no plan to implement those features in a near future.

Integrity protection is not done yet, and will be implemented soon.
2021-03-03 14:06:31 +01:00
luis_pereira87 efd1f46f1f Fix Msg4 mcsIndex assignment 2021-03-03 12:12:39 +00:00
luis_pereira87 c457cf6455 Msg2 temporary fix for PDSCH time domain resource allocation (use the same as SIB1 from TS 38.214 Table 5.1.2.1.1-2) 2021-03-03 10:01:35 +00:00