- 15 Feb, 2017 2 commits
-
-
Cedric Roux authored
This commit is a continuation of 614d6bbe (ue_ip: use correct instance). Now in openair2/NETWORK_DRIVER/UE_IP/common.c the 'inst' is not forced to 1 anymore, we take the value 'pdcph_p->inst'. It turns out that 'pdcph_p->inst' is 0 instead of 1 when we run lte-softmodem as an UE. So let's modify PDCP to set 'inst' to 1 where it was set to 0 for the UE softmodem case, and skip the places where it is reset to 0, still for the UE softmodem case. This may break things, I am not sure.
-
Cedric Roux authored
Guess what happens when we return from the function...
-
- 14 Feb, 2017 5 commits
-
-
Cedric Roux authored
For whatever reason, lte-softmodem.c was totally messed up... We took the version from the branch develop and added abstraction_flag, which is needed in openair2/LAYER2/MAC/main.c (this is not clean, previous commit added a comment for this). This has to be cleaned at some point.
-
Cedric Roux authored
-
Cedric Roux authored
- the option --UE was abused! Let's introduce --UE-conf-nvram and --UE-gen-nvram - the option name --UE-OUTPUT was not clear and is now replaced by --UE-gen-nvram - the new options are described when running ./build_oai -h - print_help has been modified (' replaced by ") to print $conf_nvram_path and $gen_nvram_path
-
Cedric Roux authored
The problem was the following. Run oaisim with two UEs: sudo ../cmake_targets/oaisim_build_oai/build/oaisim -O enb.conf -u2 -s15 -AAWGN -y1 -b1 -Q0 Then wait for both UEs to be connected. The interfaces "oip1" and "oip2" are activated, with IP addresses 192.172.0.2 for the first UE and 192.172.0.3 for the second. Then on the EPC machine, do: ping 192.172.0.3 No reply. On the oaisim machine, we see that the packets are sent to "oip1" instead of "oip2". The fix may break softmodem UE. The inst was forced to "1" for some reason. To be checked.
-
Cedric Roux authored
The memset was also too big. It should only clear one subframe. Only tested without abstraction. Abstraction does not work for the moment anyway, but just to keep that in mind.
-
- 13 Feb, 2017 2 commits
-
-
Cedric Roux authored
The idea is as follows. oaisim waits for all tasks to be done for a TTI. To do so it waits for last_rx_timestamp == current_rx_timestamp, for all UEs and eNBs. When it's done, it increases current_rx_timestamp by samples_per_tti, to inform UEs and eNBs that a new TTI is ready. In the functions [UE|eNB]_trx_read, we wait for a new TTI to be ready, that is we wait for current_rx_timestamp != last_rx_timestamp. The UE has also to wait for processing threads to be done. In the eNB it's not necessary because the processing is all done in one thread, that is: read subframe, process this subframe, emit subframe+4, and then back to read subframe. The code is not clean. We should not use usleep but semaphores. Also, do_[DL|UL]_sig should not read from rxdata and write to txdata, but use internal buffers. The functions [UE|eNB]_trx_read should call do_[DL|UL]_sig and then copy from the internal buffers of the channel simulator into rxdata. The functions [UE|eNB]_trx_write should write data passed into the internal buffers of the channel simulator.
-
Cedric Roux authored
-
- 09 Feb, 2017 6 commits
-
-
Cedric Roux authored
Not sure if this is the right thing to do, but it seems to be. "start_eNB = 1;" is also necessary when the l2l1 task gets INITIALIZE_MESSAGE otherwise the eNB does not start. As it is today, I don't think oaisim will work with more than one eNB.
-
Cedric Roux authored
The case instance == INSTANCE_DEFAULT should normally not happen, but let's be a bit verbose if it does.
-
Cedric Roux authored
It's now done in lte-enb.c, even for oaisim.
-
Cedric Roux authored
It was probably the result of a bad merge. At this point eNB_inst is not valid. Plus the T_ENB_MASTER_TICK is now handled in lte-enb.c, even for oaisim.
-
Cedric Roux authored
-
Cedric Roux authored
oaisim is not functional with several UEs. This fixes one issue. (It's still not functional for other reasons.)
-
- 08 Feb, 2017 1 commit
-
-
Cedric Roux authored
We should use ENABLE_USE_MME, not USE_MME. This code is useless anyway (I think, not sure, that's why I leave it here), because the other threads wait for 'sync_var' to become >=0.
-
- 02 Feb, 2017 2 commits
-
-
Cedric Roux authored
It was not setting emm_data->eplmn.plmn[X], only emm_data->eplmn.n_plmns, leading to the UE to dig for PLMN 00000. (It's not the end of the story, seems like the PLMN selection does not work, the UE only tries one from what I've seen, but I didn't dig much, may be wrong.)
-
Cedric Roux authored
Adapt calling sites too. When data comes from the user, it is good to check that what we read is correct and warn the user if it's not.
-
- 01 Feb, 2017 1 commit
-
-
Cedric Roux authored
-
- 27 Jan, 2017 5 commits
-
-
Cedric Roux authored
Also included some source files not related to this branch. modified: openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c modified: openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c modified: openair1/PHY/MODULATION/beamforming.c modified: openair1/PHY/TOOLS/twiddle18432.h modified: openair1/SIMULATION/LTE_PHY/dlsim_tm7.c modified: openair3/NAS/TOOLS/nvram.c modified: openair3/NAS/TOOLS/usim.c modified: openair3/NAS/UE/user_defs.h
-
Cedric Roux authored
The previous version did not compile on ubuntu 16.04. I left the old version, commented, just in case.
-
Cedric Roux authored
That's not the end of the story though.
-
Cedric Roux authored
I am not sure if it's the right way to solve the problem, so I keep the definitions here and put them inside #if 0 #endif
-
Cedric Roux authored
modified: targets/COMMON/openairinterface5g_limits.h
-
- 25 Jan, 2017 16 commits
-
-
Imad ALAWE authored
Ip table clean use to run on oaisim shutdown. It is moved to run on oaisim starts.
-
Imad ALAWE authored
-
Imad ALAWE authored
In openairinterface5g many definitions in many layers of UE or eNB NB_MAX. We created a file called openairinterface5g_limits.h located at openairinterface5g_dir/targets/COMMON/ declaring the number max of UE and eNB to be used in ALL layers depending on launching conditions (LARGE_SCALE for example).
-
Imad ALAWE authored
When using abstraction mode, layer2_init_UE() and openair_rrc_ue_init() are called according to first_sync state and only without MME support. We added the global variable abstraction_flag to allow abstraction mode when MME is enabled. Openair2 is also used in lte-softmodem, so it must have a global variable abstraction_flag. So we moved it out from the main() scope.
-
Frédéric Leroy authored
This commit reverts behaviour of data generation as before commit 7207c65b05fd812a18371827f2bfb1431fc58696: fix .ue* filenames in scripts and documentation TODO add option to conf2uedata and adapt script
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-
Frédéric Leroy authored
-