{"id":3308,"date":"2020-05-27T15:44:32","date_gmt":"2020-05-27T15:44:32","guid":{"rendered":"https:\/\/open-cells.com\/?p=3308"},"modified":"2020-07-23T09:37:23","modified_gmt":"2020-07-23T09:37:23","slug":"5g-openair-first-run","status":"publish","type":"post","link":"https:\/\/open-cells.com\/index.php\/2020\/05\/27\/5g-openair-first-run\/","title":{"rendered":"5G OpenAir first run"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">version: update July, 23rd 2020<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tutorial to run 5G OpenAir, from current develop branch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OAI 5G is very partial, only a fixed scheduler, for one UE, no network entry (no radio network entry, no upper layers network entry). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can use &#8220;phy-test&#8221; mode, that hard code a permanent UL and DL shared channel (means a data channel dedicated to one UE in 3GPP jargon).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course there is no core network in this very special &#8220;phy-test&#8221; mode and some upper layer pieces are still 4G (PDCP for example).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please read the 4G tutorial for more information on how to make initial installation of OpenAir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, you can compile and run 5G tests<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To compile:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.\/build_oai --gNB --nrUE<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run the gNB in one windows<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo .\/nr-softmodem -O ..\/..\/..\/ci-scripts\/conf_files\/gnb.band78.tm1.106PRB.usrpn300.conf --parallel-config PARALLEL_SINGLE_THREAD --rfsim --phy-test --rfsimulator.serveraddr server --noS1 -d<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you use the same machine for the UE, we have the same IP address problem as in 4G (see our post <a href=\"https:\/\/open-cells.com\/index.php\/2019\/09\/23\/rf-simulator-and-oai-ue-tutorial\/\">rf-simulator-and-oai-ue-tutorial<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">so, create a new Linux namespace as in this tutorial<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the namespace, run<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo .\/nr-uesoftmodem -d --rrc_config_path . --nokrnmod --phy-test --rfsim --rfsimulator.serveraddr 10.200.1.1 --noS1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If it runs fine, you should see this graph:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"802\" height=\"888\" src=\"https:\/\/open-cells.com\/wp-content\/uploads\/2020\/05\/image.png\" alt=\"\" class=\"wp-image-3310\" srcset=\"https:\/\/open-cells.com\/wp-content\/uploads\/2020\/05\/image.png 802w, https:\/\/open-cells.com\/wp-content\/uploads\/2020\/05\/image-271x300.png 271w, https:\/\/open-cells.com\/wp-content\/uploads\/2020\/05\/image-768x850.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If the graph doesn&#8217;t show working PDSCH, restart the UE as there is a random bug in UE initial synchronization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, open one more text window and set it in the UE network name space<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo ip netns exec ueNameSpace bash<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It is now possible to ping the gNB output interface<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ping -I oaitun_ue1 10.0.1.1 -s 1000<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sends in both directions packets of 1000 bytes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ping also checks the packet content is the same.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is today available on top of this simple tutorial:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>If you make IP routing configuration, any IP traffic can get through the pair UE+gNB<\/li><li>if you run the UE on another machine, it is also fine (no need of network namespaces)<\/li><li>Ettus RF board may also work, if the machine is fast enough<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>version: update July, 23rd 2020 Tutorial to run 5G OpenAir, from current develop branch. OAI 5G is very partial, only a fixed scheduler, for one UE, no network entry (no radio network entry, no upper layers network entry). We can use &#8220;phy-test&#8221; mode, that hard code a permanent UL and DL shared channel (means a &hellip; <a href=\"https:\/\/open-cells.com\/index.php\/2020\/05\/27\/5g-openair-first-run\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;5G OpenAir first run&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-3308","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/posts\/3308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/comments?post=3308"}],"version-history":[{"count":3,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/posts\/3308\/revisions"}],"predecessor-version":[{"id":3413,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/posts\/3308\/revisions\/3413"}],"wp:attachment":[{"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/media?parent=3308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/categories?post=3308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/open-cells.com\/index.php\/wp-json\/wp\/v2\/tags?post=3308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}