diff --git a/LICENSE b/LICENSE
index 05b42e7c30..44a9a405fb 100755
--- a/LICENSE
+++ b/LICENSE
@@ -1,94 +1,200 @@
- OAI PUBLIC LICENSE V1.0
+ The OpenAirInterface Software Alliance (OSA)
+ OAI Public License (Version 1.1)
- Copyright (C) 2016 OpenAirInterface Software Alliance, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
+LICENSE TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION OF OPENAIR 5G SOFTWARE.
-Definitions.
-“License” shall mean the terms and conditions for use, reproduction, and distribution set forth in this document.
+1. Definitions.
+
+“License” shall mean the terms and conditions for use, reproduction, and distribution set forth
+in this document.
“Licensor” shall mean the OpenAirInterface Software Alliance.
-“Legal Entity” shall mean the union, at the time an acting entity joins the Alliance, of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+“Legal Entity” shall mean the union, at the time an acting entity joins the Alliance, of the
+acting entity and all other entities that control, are controlled by, or are under common control
+with that entity. For the purposes of this definition, “control” means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii)
+beneficial ownership of such entity.
-“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.
+“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by
+this License.
-“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+“Source” form shall mean the preferred form for making modifications, including but not
+limited to software source code, documentation source, and configuration files.
-“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+“Object” form shall mean any form resulting from mechanical transformation or translation of
+a Source form, including but not limited to compiled object code, generated documentation,
+and conversions to other media types.
-“OpenAirInterface Software Alliance” shall mean the endowment fund established at the initiative of Eurecom, an educational and research establishment located at Campus Sophia Tech, 450 Route des Chappes, 06410 Biot, France, which statutes were signed on 18 November 2014.
+“OpenAirInterface Software Alliance” shall mean the endowment fund established at the
+initiative of Eurecom, an educational and research establishment located at Campus Sophia
+Tech, 450 Route des Chappes, 06410 Biot, France, which statutes were signed on 18
+November 2014.
-“ “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+“Work” shall mean the work of authorship, whether in Source or Object form, made available
+under the License, as indicated by a copyright notice that is included in or attached to the
+work (an example is provided in the Appendix below).
-“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+“Derivative Works” shall mean any work, whether in Source or Object form, that is based on
+(or derived from) the Work and for which the editorial revisions, annotations, elaborations, or
+other modifications represent, as a whole, an original work of authorship. For the purposes of
+this License, Derivative Works shall not include works that remain separable from, or merely
+link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-“Contribution” shall mean any work of authorship that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, , or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work “Contributor License Agreement” shall mean the agreement signed by any Contributor setting forth the terms and conditions applicable to its Contribution. “Contributor” shall mean any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+“Contribution” shall mean any work of authorship that is intentionally submitted to Licensor
+for inclusion in the Work by the copyright owner or by an individual or Legal Entity
+authorized to submit on behalf of the copyright owner. For the purposes of this definition,
+“submitted” means any form of electronic, , or written communication sent to the Licensor or
+its representatives, including but not limited to communication on electronic mailing lists,
+source code control systems, and issue tracking systems that are managed by, or on behalf of,
+the Licensor for the purpose of discussing and improving the Work
-Grant of Copyright License.
-Subject to the terms and conditions of this License, Licensor and each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form
+“Contributor License Agreement” shall mean the agreement signed by any Contributor setting
+forth the terms and conditions applicable to its Contribution.
-3. Grant of Patent License.
+“Contributor” shall mean any individual or Legal Entity on behalf of whom a Contribution
+has been received by Licensor and subsequently incorporated within the Work.
-3.1 Grant of Patent License for non-commercial purposes:
+2. Grant of Copyright License.
+Subject to the terms and conditions of this License, Licensor and each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of, publicly display, publicly
+perform, and distribute the Work and such Derivative Works in Source or Object form
-Subject to the terms and conditions of this License, Licensor and each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, import, and otherwise transfer the Work, for non-commercial purposes, where such license applies only to those patent claims licensable by such Contributor or Licensor that are necessarily infringed by the Work and/or their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.
+3. Grant of Patent License.
-3.2 Grant of Patent License for commercial purposes:
+3.1 Grant of Patent License for study, testing and research purposes:
+Subject to the terms and conditions of this License, Licensor and each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made, use, and otherwise
+transfer (excluding selling) the Work, solely for study, testing and research purposes, where
+such license applies only to those patent claims licensable by Licensor or such Contributor
+that are necessarily infringed respectively by the Work and/or the said Contributor
+Contribution(s) alone or by combination of their Contribution(s) with the Work to which
+such Contribution(s) was submitted (“Essential Patents”).
-For commercial purposes, and subject to the terms and conditions of this License, You commits to be prepared to negotiate a patent license with each Contributor and/or the Licensor on Fair, Reasonable and Non-Discriminatory (“FRAND”) terms and conditions for the Work or Contribution(s) incorporated within the Work.
-
-Licensor and/or each Contributor, by submitting a Contribution, will identify any patent it owns related to the Work and/or its Contribution.
+3.2 Grant of Patent License for purposes other than study and research:
+For purposes other than study, testing and research, and subject to the terms and conditions of
+this License, You commit to be prepared to negotiate a non-exclusive, non-transferable, non-
+assignable license of Essential Patents with each Contributor and/or the Licensor on Fair,
+Reasonable and Non-Discriminatory (“FRAND”) terms and conditions for the use of the
+Work or Contribution(s) incorporated within the Work.
+Licensor and/or each Contributor, by submitting a Contribution, will identify any of its known
+Essential Patent it owns related to the Work and/or its Contribution.
3.3 Patent Litigation
+If You institute patent litigation against any entity making use of the Work solely for study,
+testing and research purposes (including a cross-claim or counterclaim in a lawsuit) alleging
+that the Work or a Contribution incorporated within the Work constitutes direct or
+contributory patent infringement, then the patent licenses granted to You under section 3.1 of
+this License for that Work shall terminate as of the date such litigation is filed.
-If You institute patent litigation against any entity making non-commercial use of the Work (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+4. Sublicensing
+You may grant sublicenses under the licenses granted under sections 2 and 3.1 provided that
+the sublicense is subject to and inclusive of all the terms of and rights under this License to
+which the Work is or was distributed by the OpenAirInterface Software Alliance.
-4. Redistibution
+5. Redistribution
+Subject to terms and conditions set forth in sections 2 and 3, You may reproduce and
+distribute copies of the Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You meet the following
+conditions:
-Subject to terms and conditions set forth in articles 2 and 3, You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+1. You must give any other recipients of the Work or Derivative Works a copy of this
+License; and
+2. You must cause any modified files by You to carry prominent notices stating that You
+changed the files; and
+3. You must retain, in the Source form of any Derivative Works that You distribute, all
+copyright, patent, trademark, and attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of the Derivative Works; and
+4. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative
+Works that You distribute must include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not pertain to any part of the
+Derivative Works, in at least one of the following places: within a NOTICE text file
+distributed as part of the Derivative Works; within the Source form or documentation, if
+provided along with the Derivative Works; or, within a display generated by the Derivative
+Works, if and wherever such third-party notices normally appear. The contents of the
+NOTICE file are for informational purposes only and do not modify the License. You may
+add Your own attribution notices within Derivative Works that You distribute, alongside or as
+an addendum to the NOTICE text from the Work, provided that such additional attribution
+notices cannot be construed as modifying the License.
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or distribution of
+Your modifications, or for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with the conditions stated in
+this License.
-1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+6. Submission of Contributions.
+Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be
+under the terms and conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of any
+separate license agreement such as the Contributor License Agreement You may have
+executed with Licensor regarding such Contributions.
-2. You must cause any modified files by You to carry prominent notices stating that You changed the files; and
+7. Trademarks.
+This License does not grant permission to use the trade names, trademarks, service marks, or
+product names of the Licensor, except as required for reasonable and customary use in
+describing the origin of the Work and reproducing the content of the NOTICE file.
-3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+8. Disclaimer of Warranty.
+Unless required by applicable law or agreed to in writing, Licensor provides the Work (and
+each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
+without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
+responsible for determining the appropriateness of using or redistributing the Work and
+assume any risks associated with your exercise of permissions under this License.
-4. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+9. Limitation of Liability.
+In no event and under no legal theory, whether in tort (including negligence), contract, or
+otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or
+agreed to in writing, shall Licensor and any Contributor, as such, be liable to You for
+damages, including any direct, indirect, special, incidental, or consequential damages of any
+character arising as a result of this License or out of Your use or inability to use the Work
+(including but not limited to damages for loss of goodwill, work stoppage, computer failure or
+malfunction, or any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+10. Accepting Warranty or Additional Liability.
+While redistributing the Work or Derivative Works thereof, You may choose to offer, and
+charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations
+and/or rights consistent with this License. However, in accepting such obligations, You may
+act only on Your own behalf and on Your sole responsibility, not on behalf of any other
+Contributor and/or the Licensor, and only if You agree to indemnify, defend, and hold each
+Contributor and/or the Licensor harmless for any liability incurred by, or claims asserted
+against, such Contributor and/or Licensor by reason of Your accepting any such warranty or
+additional liability.
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement such as the Contributor License Agreement You may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall Licensor and any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor and/or the Licensor,and only if You agree to indemnify, defend, and hold each Contributor and/or the Licensor harmless for any liability incurred by, or claims asserted against, such Contributor and/or Licensor by reason of Your accepting any such warranty or additional liability.
-
-10. Applicable law. The present license shall be governed by the laws of France.
+11. Applicable law.
+The present license shall be governed by the laws of France.
END OF TERMS AND CONDITIONS
-APPENDIX: How to apply the PRESENT OPENAIR 5G License to your work
-To apply the present License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
+1. APPENDIX: How to apply the PRESENT OPENAIR 5G License to your work
+To apply the present License to your work, attach the following boilerplate notice, with the
+fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t
+include the brackets!) The text should be enclosed in the appropriate comment syntax for the
+file format. We also recommend that a file or class name and description of purpose be
+included on the same “printed page” as the copyright notice for easier identification within
+third-party archives.
Copyright [yyyy] [name of copyright owner]
-Licensed under the License terms and conditions for use, reproduction, and distribution of OPENAIR 5G software (the “License”);
-you may not use this file except in compliance with the License.You may obtain a copy of the License at
-Unless required by applicable law or agreed to in writing, software
+Licensed under the License terms and conditions for use, reproduction, and distribution of
+OPENAIR 5G software (the “License”);
-distributed under the License is distributed on an “AS IS” BASIS,
+you may not use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+Unless required by applicable law or agreed to in writing, software distributed under the
+License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
+See the License for the specific language governing permissions and limitations under the
+License.
-limitations under the License.
diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 6058fb9436..3e5a05e2d2 100755
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
@@ -27,7 +27,8 @@ cmake_minimum_required (VERSION 2.8)
# Base directories, compatible with legacy OAI building
################################################
set (OPENAIR_DIR $ENV{OPENAIR_DIR})
-set (NFAPI_DIR $ENV{NFAPI_DIR})
+#set (NFAPI_DIR $ENV{NFAPI_DIR})
+set (NFAPI_DIR ${OPENAIR_DIR}/nfapi)
set (OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
set (OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
@@ -311,11 +312,11 @@ if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${fix_asn1c_call}: error")
endif (NOT ${ret} STREQUAL 0)
file(GLOB rrc_source ${RRC_FULL_DIR}/*.c)
-set(rrc_source ${rrc_source} ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1_msg.c)
file(GLOB rrc_h ${RRC_FULL_DIR}/*.h)
set(rrc_h ${rrc_h} ${RRC_FULL_DIR}/asn1_constants.h)
set_source_files_properties(${rrc_source} PROPERTIES COMPILE_FLAGS -w) # suppress warnings from generated code
-add_library(RRC_LIB ${rrc_h} ${rrc_source})
+add_library(RRC_LIB ${rrc_h} ${rrc_source}
+ ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1_msg.c)
include_directories ("${RRC_FULL_DIR}")
# add the command to generate the source code
@@ -563,6 +564,15 @@ add_library(oai_mobipass MODULE ${TPLIB_MOBIPASS_SOURCE} )
get_target_property(mobipas_cflags oai_mobipass COMPILE_FLAGS)
set_target_properties(oai_mobipass PROPERTIES COMPILE_FLAGS "${mobipass_cflags} -fvisibility=hidden")
+set(HWLIB_TCP_BRIDGE_SOURCE
+ ${OPENAIR_TARGETS}/ARCH/tcp_bridge/tcp_bridge.c
+ )
+add_library(oai_tcp_bridge MODULE ${HWLIB_TCP_BRIDGE_SOURCE} )
+
+#get_target_property(tcp_bridge_cflags oai_tcp_bridge COMPILE_FLAGS)
+#set_target_properties(oai_tcp_bridge PROPERTIES COMPILE_FLAGS "${tcp_bridge_cflags} -fvisibility=hidden")
+set_target_properties(oai_tcp_bridge PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
+
##########################################################
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt
index db49a9181d..54f369f977 100755
--- a/cmake_targets/at_commands/CMakeLists.txt
+++ b/cmake_targets/at_commands/CMakeLists.txt
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/core.py b/cmake_targets/autotests/core.py
index 2665e57372..09785df120 100755
--- a/cmake_targets/autotests/core.py
+++ b/cmake_targets/autotests/core.py
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/log.py b/cmake_targets/autotests/log.py
index 25eb2b5ffb..5a97b19cf2 100755
--- a/cmake_targets/autotests/log.py
+++ b/cmake_targets/autotests/log.py
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py
index 7ad118ef1b..beb12cd2a2 100755
--- a/cmake_targets/autotests/openair.py
+++ b/cmake_targets/autotests/openair.py
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/run_compilation_autotests.bash b/cmake_targets/autotests/run_compilation_autotests.bash
index a6a861cb60..10e4caa04b 100755
--- a/cmake_targets/autotests/run_compilation_autotests.bash
+++ b/cmake_targets/autotests/run_compilation_autotests.bash
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash
index 5551ede44d..ff38ae9d3c 100755
--- a/cmake_targets/autotests/run_exec_autotests.bash
+++ b/cmake_targets/autotests/run_exec_autotests.bash
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py
index 9f08a00d1a..65bcfd5af8 100755
--- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py
+++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
index f03facc7da..ee4f3f93bc 100755
--- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
+++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py b/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py
index 52178a32a1..42e4b2ea9a 100755
--- a/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py
+++ b/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py b/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py
index 42ed5fdeba..8c2c1dd7f2 100755
--- a/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py
+++ b/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/configure_usrpb210.py b/cmake_targets/autotests/tools/configure_usrpb210.py
index 860a717d72..588bde9d33 100755
--- a/cmake_targets/autotests/tools/configure_usrpb210.py
+++ b/cmake_targets/autotests/tools/configure_usrpb210.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/find_usb_path.bash b/cmake_targets/autotests/tools/find_usb_path.bash
index c115d7a9dc..91156012b7 100755
--- a/cmake_targets/autotests/tools/find_usb_path.bash
+++ b/cmake_targets/autotests/tools/find_usb_path.bash
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/free_mem.bash b/cmake_targets/autotests/tools/free_mem.bash
index 8196bf3428..a5b2b00cb6 100755
--- a/cmake_targets/autotests/tools/free_mem.bash
+++ b/cmake_targets/autotests/tools/free_mem.bash
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/git-retry.sh b/cmake_targets/autotests/tools/git-retry.sh
index 9f4d96af8d..f0366b2ae5 100755
--- a/cmake_targets/autotests/tools/git-retry.sh
+++ b/cmake_targets/autotests/tools/git-retry.sh
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/iperf3_script b/cmake_targets/autotests/tools/iperf3_script
index bf506bbc65..93aa742bd3 100755
--- a/cmake_targets/autotests/tools/iperf3_script
+++ b/cmake_targets/autotests/tools/iperf3_script
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/iperf3_script_phone b/cmake_targets/autotests/tools/iperf3_script_phone
index e4ccc38237..1d9e9322a1 100755
--- a/cmake_targets/autotests/tools/iperf3_script_phone
+++ b/cmake_targets/autotests/tools/iperf3_script_phone
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/iperf_script b/cmake_targets/autotests/tools/iperf_script
index 28f239af09..d74462cbcc 100755
--- a/cmake_targets/autotests/tools/iperf_script
+++ b/cmake_targets/autotests/tools/iperf_script
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/iperf_script_phone b/cmake_targets/autotests/tools/iperf_script_phone
index 0195ee9eb3..29c670f826 100755
--- a/cmake_targets/autotests/tools/iperf_script_phone
+++ b/cmake_targets/autotests/tools/iperf_script_phone
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/lib_autotest.py b/cmake_targets/autotests/tools/lib_autotest.py
index 2e9a7df11f..54be808e1d 100755
--- a/cmake_targets/autotests/tools/lib_autotest.py
+++ b/cmake_targets/autotests/tools/lib_autotest.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/run_gdb b/cmake_targets/autotests/tools/run_gdb
index 9dea2d350c..ace8e7a296 100755
--- a/cmake_targets/autotests/tools/run_gdb
+++ b/cmake_targets/autotests/tools/run_gdb
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py
index c3e73ccde4..f34533cfd0 100755
--- a/cmake_targets/autotests/tools/search_repl.py
+++ b/cmake_targets/autotests/tools/search_repl.py
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/autotests/v2/actions/3276.txt b/cmake_targets/autotests/v2/actions/3276.txt
new file mode 100644
index 0000000000..1976ceb3f3
--- /dev/null
+++ b/cmake_targets/autotests/v2/actions/3276.txt
@@ -0,0 +1,13 @@
+When running lsusb, if you have:
+
+ Bus 001 Device 002: ID 12d1:14fe Huawei Technologies Co., Ltd. Modem (Mass Storage Mode)
+
+You need to run:
+
+ usb_modeswitch -v 12d1 -p 14fe -M '55534243123456780000000000000011062000000100000000000000000000'
+
+After what, running lsusb should give:
+
+ Bus 001 Device 004: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
+
+Values of 'Bus' and 'Device' may differ of course.
diff --git a/cmake_targets/autotests/v2/actions/bandrich.txt b/cmake_targets/autotests/v2/actions/bandrich.txt
index 8533750c5b..faa294465b 100755
--- a/cmake_targets/autotests/v2/actions/bandrich.txt
+++ b/cmake_targets/autotests/v2/actions/bandrich.txt
@@ -13,6 +13,16 @@ containing lines:
SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="bandrich.data", MODE="0666"
SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="bandrich.control", MODE="0666"
+To avoid NetworkManager to play with the bandrich, add also the line:
+
+ ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MM_DEVICE_IGNORE}="1"
+
+Maybe also add; , ENV{ID_MM_DEVICE_IGNORE}="1"
+to the two other lines.
+
+Then run: udevadm control --reload-rules
+And: service network-manager restart
+
Change vendor_id/model_id/serial/interface num to match yours.
Use lsusb -v to find values.
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index 01d94da73e..d3a13c41c9 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
@@ -856,11 +856,9 @@ function main() {
ln -sf $dbin/liboai_exmimodevif.so.$REL $dbin/liboai_device.so
echo_info "liboai_device.so is linked to EXMIMO device library"
elif [ "$HW" == "OAI_USRP" ] ; then
- if [ -d "/usr/include/uhd" ] ; then
- compilations \
- $build_dir oai_usrpdevif \
- liboai_usrpdevif.so $dbin/liboai_usrpdevif.so.$REL
- fi
+ compilations \
+ $build_dir oai_usrpdevif \
+ liboai_usrpdevif.so $dbin/liboai_usrpdevif.so.$REL
ln -sf liboai_usrpdevif.so liboai_device.so
ln -sf $dbin/liboai_usrpdevif.so.$REL $dbin/liboai_device.so
diff --git a/cmake_targets/tools/asn1tostruct.py b/cmake_targets/tools/asn1tostruct.py
index e8ebb03d6d..8c0f7e8a16 100755
--- a/cmake_targets/tools/asn1tostruct.py
+++ b/cmake_targets/tools/asn1tostruct.py
@@ -38,7 +38,7 @@ def outputHeaderToFile(f, filename):
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+ * the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index f6c51944d2..8cf0d22e91 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/build_test_epc_tools b/cmake_targets/tools/build_test_epc_tools
index f9d8057c93..dc2d016545 100755
--- a/cmake_targets/tools/build_test_epc_tools
+++ b/cmake_targets/tools/build_test_epc_tools
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
index 546ae1ba86..238554f8e2 100755
--- a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
+++ b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
index baccdbc288..9996a53e19 100755
--- a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
+++ b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/indent_source_code b/cmake_targets/tools/indent_source_code
index 17a29fb073..a16914a91d 100755
--- a/cmake_targets/tools/indent_source_code
+++ b/cmake_targets/tools/indent_source_code
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/init_exmimo2 b/cmake_targets/tools/init_exmimo2
index 1ed65cf0e0..8e902a8433 100755
--- a/cmake_targets/tools/init_exmimo2
+++ b/cmake_targets/tools/init_exmimo2
@@ -5,7 +5,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/init_nas_nos1 b/cmake_targets/tools/init_nas_nos1
index 3aaf547823..9bcaa0afb5 100755
--- a/cmake_targets/tools/init_nas_nos1
+++ b/cmake_targets/tools/init_nas_nos1
@@ -5,7 +5,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/init_nas_s1 b/cmake_targets/tools/init_nas_s1
index 003a3ae600..cab4ad047b 100755
--- a/cmake_targets/tools/init_nas_s1
+++ b/cmake_targets/tools/init_nas_s1
@@ -8,7 +8,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/perf_oai.bash b/cmake_targets/tools/perf_oai.bash
index 44d9d1c74a..cd1ef5a400 100755
--- a/cmake_targets/tools/perf_oai.bash
+++ b/cmake_targets/tools/perf_oai.bash
@@ -3,7 +3,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo
index 028b492341..1bb6ce4425 100755
--- a/cmake_targets/tools/run_enb_s1_exmimo
+++ b/cmake_targets/tools/run_enb_s1_exmimo
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/run_enb_s1_usrp b/cmake_targets/tools/run_enb_s1_usrp
index 3d49fe40bd..e119126683 100755
--- a/cmake_targets/tools/run_enb_s1_usrp
+++ b/cmake_targets/tools/run_enb_s1_usrp
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/run_enb_ue_virt_noS1 b/cmake_targets/tools/run_enb_ue_virt_noS1
index a5139d4b44..79d5bc35dc 100755
--- a/cmake_targets/tools/run_enb_ue_virt_noS1
+++ b/cmake_targets/tools/run_enb_ue_virt_noS1
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/run_enb_ue_virt_s1 b/cmake_targets/tools/run_enb_ue_virt_s1
index 8e717f393a..50fc819ec8 100755
--- a/cmake_targets/tools/run_enb_ue_virt_s1
+++ b/cmake_targets/tools/run_enb_ue_virt_s1
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/cmake_targets/tools/stop_exmimo2 b/cmake_targets/tools/stop_exmimo2
index 85d9bec309..fdfe19425d 100755
--- a/cmake_targets/tools/stop_exmimo2
+++ b/cmake_targets/tools/stop_exmimo2
@@ -4,7 +4,7 @@
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
-# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
+# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
diff --git a/common/utils/T/T.c b/common/utils/T/T.c
index 5d84afa660..f1fce83538 100755
--- a/common/utils/T/T.c
+++ b/common/utils/T/T.c
@@ -36,7 +36,7 @@ static void get_message(int s)
int is_on;
if (read(s, &t, 1) != 1) QUIT("get_message fails");
-printf("got mess %d\n", t);
+printf("T tracer: got mess %d\n", t);
switch (t) {
case 0:
/* toggle all those IDs */
diff --git a/common/utils/T/local_tracer.c b/common/utils/T/local_tracer.c
index 68a937a6b5..6d0ecddd45 100755
--- a/common/utils/T/local_tracer.c
+++ b/common/utils/T/local_tracer.c
@@ -63,7 +63,7 @@ static int get_connection(char *addr, int port)
socklen_t alen;
int s, t;
- printf("waiting for connection on %s:%d\n", addr, port);
+ printf("T tracer: waiting for connection on %s:%d\n", addr, port);
s = socket(AF_INET, SOCK_STREAM, 0);
if (s == -1) { perror("socket"); exit(1); }
@@ -82,7 +82,7 @@ static int get_connection(char *addr, int port)
if (t == -1) { perror("accept"); exit(1); }
close(s);
- printf("connected\n");
+ printf("T tracer: connected\n");
return t;
}
@@ -150,7 +150,7 @@ process:
while (size) {
int l = write(f->socket_remote, b, size);
if (l <= 0) {
- printf("forward error\n");
+ printf("T tracer: forward error\n");
close(f->socket_remote);
f->socket_remote = -1;
break;
@@ -268,7 +268,7 @@ static void *forwarder(int port, int s)
f->memusage = 0;
f->last_warning_memusage = 0;
- printf("waiting for remote tracer on port %d\n", port);
+ printf("T tracer: waiting for remote tracer on port %d\n", port);
f->remote_port = port;
f->socket_remote = get_connection("0.0.0.0", port);
@@ -305,7 +305,7 @@ static void forward(void *_forwarder, char *buf, int size)
if (f->memusage > f->last_warning_memusage &&
f->memusage - f->last_warning_memusage > 100000000) {
f->last_warning_memusage += 100000000;
- printf("WARNING: memory usage is over %"PRIu64"MB\n",
+ printf("T tracer: WARNING: memory usage is over %"PRIu64"MB\n",
f->last_warning_memusage / 1000000);
} else
if (f->memusage < f->last_warning_memusage &&
diff --git a/common/utils/T/tracer/enb.c b/common/utils/T/tracer/enb.c
index 74bea1e675..f607743d15 100755
--- a/common/utils/T/tracer/enb.c
+++ b/common/utils/T/tracer/enb.c
@@ -31,12 +31,16 @@ void reset_ue_ids(void)
int i;
printf("resetting known UEs\n");
for (i = 0; i < 65536; i++) ue_id[i] = -1;
- next_ue_id = 0;
+ ue_id[65535] = 0;
+ ue_id[65534] = 1; /* HACK: to be removed */
+ ue_id[2] = 2; /* this supposes RA RNTI = 2, very openair specific */
+ next_ue_id = 3;
}
int ue_id_from_rnti(void *_priv, int rnti)
{
-rnti = 0; /* HACK, to be removed */
+ if (rnti < 0) rnti = 65534; /* HACK, to be removed */
+
if (rnti < 0 || rnti > 65535) { printf("bad rnti %d\n", rnti); exit(1); }
/* rnti not seen yet? give it a new ue_id */
if (ue_id[rnti] == -1) {
@@ -93,6 +97,7 @@ typedef struct {
enb_gui *e;
int ue; /* what UE is displayed in the UE specific views */
void *database;
+ int nb_rb;
} enb_data;
void is_on_changed(void *_d)
@@ -120,27 +125,6 @@ connection_dies:
if (pthread_mutex_unlock(&d->lock)) abort();
}
-void usage(void)
-{
- printf(
-"options:\n"
-" -d this option is mandatory\n"
-" -on turn log ON for given GROUP or ID\n"
-" -off turn log OFF for given GROUP or ID\n"
-" -ON turn all logs ON\n"
-" -OFF turn all logs OFF\n"
-" note: you may pass several -on/-off/-ON/-OFF,\n"
-" they will be processed in order\n"
-" by default, all is off\n"
-" -ip connect to given IP address (default %s)\n"
-" -p connect to given port (default %d)\n"
-" -debug-gui activate GUI debug logs\n",
- DEFAULT_REMOTE_IP,
- DEFAULT_REMOTE_PORT
- );
- exit(1);
-}
-
static void *gui_thread(void *_g)
{
gui *g = _g;
@@ -247,13 +231,15 @@ static void click(void *private, gui *g,
enb_data *ed = private;
enb_gui *e = ed->e;
int ue = ed->ue;
+ int do_reset = 0;
if (button != 1) return;
if (w == e->prev_ue_button) { ue--; if (ue < 0) ue = 0; }
if (w == e->next_ue_button) ue++;
- if (w == e->current_ue_button) reset_ue_ids();
+ if (w == e->current_ue_button) do_reset = 1;
if (pthread_mutex_lock(&ed->lock)) abort();
+ if (do_reset) reset_ue_ids();
if (ue != ed->ue) {
set_current_ue(g, ed, ue);
ed->ue = ue;
@@ -313,14 +299,14 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database,
input_signal_plot = new_xy_plot(g, 256, 55, "input signal", 20);
widget_add_child(g, line, input_signal_plot, -1);
- xy_plot_set_range(g, input_signal_plot, 0, 7680*10, 20, 70);
+ xy_plot_set_range(g, input_signal_plot, 0, 7680*10 * ed->nb_rb/25, 20, 70);
input_signal_log = new_framelog(h, database,
"ENB_PHY_INPUT_SIGNAL", "subframe", "rxdata");
/* a skip value of 10 means to process 1 frame over 10, that is
* more or less 10 frames per second
*/
framelog_set_skip(input_signal_log, 10);
- input_signal_view = new_view_xy(7680*10, 10,
+ input_signal_view = new_view_xy(7680*10 * ed->nb_rb/25, 10,
g, input_signal_plot, new_color(g, "#0c0c72"), XY_LOOP_MODE);
logger_add_view(input_signal_log, input_signal_view);
@@ -638,7 +624,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database,
container_set_child_growable(g, top_container, text, 1);
e->legacy = new_view_textlist(10000, 10, g, text);
- set_current_ue(g, ed, 0);
+ set_current_ue(g, ed, ed->ue);
register_notifier(g, "click", e->current_ue_button, click, ed);
register_notifier(g, "click", e->prev_ue_button, click, ed);
register_notifier(g, "click", e->next_ue_button, click, ed);
@@ -660,6 +646,28 @@ void view_add_log(view *v, char *log, event_handler *h, void *database,
on_off(database, log, is_on, 1);
}
+void usage(void)
+{
+ printf(
+"options:\n"
+" -d this option is mandatory\n"
+" -rb setup for this number of RBs (default 25)\n"
+" -on turn log ON for given GROUP or ID\n"
+" -off turn log OFF for given GROUP or ID\n"
+" -ON turn all logs ON\n"
+" -OFF turn all logs OFF\n"
+" note: you may pass several -on/-off/-ON/-OFF,\n"
+" they will be processed in order\n"
+" by default, all is off\n"
+" -ip connect to given IP address (default %s)\n"
+" -p connect to given port (default %d)\n"
+" -debug-gui activate GUI debug logs\n",
+ DEFAULT_REMOTE_IP,
+ DEFAULT_REMOTE_PORT
+ );
+ exit(1);
+}
+
int main(int n, char **v)
{
extern int volatile gui_logd;
@@ -680,6 +688,8 @@ int main(int n, char **v)
reset_ue_ids();
+ enb_data.nb_rb = 25;
+
/* write on a socket fails if the other end is closed and we get SIGPIPE */
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) abort();
@@ -690,6 +700,8 @@ int main(int n, char **v)
if (!strcmp(v[i], "-h") || !strcmp(v[i], "--help")) usage();
if (!strcmp(v[i], "-d"))
{ if (i > n-2) usage(); database_filename = v[++i]; continue; }
+ if (!strcmp(v[i], "-rb"))
+ { if (i > n-2) usage(); enb_data.nb_rb = atoi(v[++i]); continue; }
if (!strcmp(v[i], "-ip")) { if (i > n-2) usage(); ip = v[++i]; continue; }
if (!strcmp(v[i], "-p"))
{ if (i > n-2) usage(); port = atoi(v[++i]); continue; }
@@ -705,6 +717,11 @@ int main(int n, char **v)
usage();
}
+ switch (enb_data.nb_rb) {
+ case 25: case 50: case 100: break;
+ default: printf("ERROR, bad value for -rb (%d)\n", enb_data.nb_rb); exit(1);
+ }
+
if (database_filename == NULL) {
printf("ERROR: provide a database file (-d)\n");
exit(1);
@@ -723,7 +740,7 @@ int main(int n, char **v)
g = gui_init();
new_thread(gui_thread, g);
- enb_data.ue = 0;
+ enb_data.ue = 3;
enb_data.e = ⪚
enb_data.database = database;
diff --git a/common/utils/T/tracer/extract_input_subframe.c b/common/utils/T/tracer/extract_input_subframe.c
index b5f74b3b27..02c5f3d565 100755
--- a/common/utils/T/tracer/extract_input_subframe.c
+++ b/common/utils/T/tracer/extract_input_subframe.c
@@ -12,7 +12,9 @@ void usage(void)
"usage: [options] \n"
"options:\n"
" -d this option is mandatory\n"
+" -o