Commit 78814cae authored by Jonathon Duerig's avatar Jonathon Duerig

Fix indentation. Add links. Change profile text to point to new docs.

parent bc0d5d1a
......@@ -21,5 +21,10 @@ processes on the `epc` and `enb1` nodes. Execute `sudo screen -ls` to
see what sessions are available. The commands for controlling services
on these nodes are located in `/local/repository/bin`.
For more detailed information, see control.md, inspect.md, and modify.md.
For more detailed information:
* [Controlling OAI](https://gitlab.flux.utah.edu/blob/master/control.md)
* [Inspecting OAI](https://gitlab.flux.utah.edu/blob/master/inspect.md)
* [Modifying OAI](https://gitlab.flux.utah.edu/blob/master/modify.md)
......@@ -12,7 +12,7 @@ the UE should attach and connect to provide end-to-end connectivity.
Log into the `adb-tgt` node on your experiment. This node links to the
UE via an adb proxy with this command:
pnadb -a
pnadb -a
Sometimes just after rebooting this command will fail to connect. If
so, try running it again after a few minutes. If it persists, you can
......@@ -21,14 +21,14 @@ try connecting again once it is complete.
You can log into the UE using adb:
adb shell
adb shell
From there, you can manipulate or run any system on the phone. To see
if there is end to end connectivity, try `ping 8.8.8.8` for example.
The adb node can be rebooted from the command line with:
adb reboot
adb reboot
Any other adb command can be run as well.
......@@ -38,11 +38,11 @@ The startup script on the `enb1` node always waits for the EPC node
and then starts the enb service when booting. You can start the enb
service by hand by running:
sudo /local/repository/bin/enb.start.sh
sudo /local/repository/bin/enb.start.sh
Or you can kill a running enb service with:
sudo /local/repository/bin/enb.kill.sh
sudo /local/repository/bin/enb.kill.sh
The enb service should be started last because if it doesn't detect an
mme when it starts, it will never connect.
......@@ -54,17 +54,17 @@ services. After all three of these are started, it syncronises with
the startup script on the `enb1`. To manually start any of these
services, run one of these scripts on the `epc` node:
sudo /local/repository/bin/hss.start.sh
sudo /local/repository/bin/mme.start.sh
sudo /local/repository/bin/spgw.start.sh
sudo /local/repository/bin/hss.start.sh
sudo /local/repository/bin/mme.start.sh
sudo /local/repository/bin/spgw.start.sh
When starting them all by hand, make sure to start them in that order.
To kill these scripts, just run one of these on the `epc` node:
sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/spgw.kill.sh
sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/spgw.kill.sh
## Restarting without rebooting
......@@ -72,11 +72,11 @@ If you want to restart all the services but don't want to reboot the
nodes themselves, you can first kill all services, then on the `enb1`
node, run:
sudo /local/repository/bin/config_oai.pl -r ENB
sudo /local/repository/bin/config_oai.pl -r ENB
And on the `epc` node, run:
sudo /local/repository/bin/config_oai.pl -r EPC
sudo /local/repository/bin/config_oai.pl -r EPC
## Tweaking Configuration
......
......@@ -11,7 +11,7 @@ to interact and inspect the UE using adb from the `adb-tgt` node. Once
you log into the `adb-tgt` node, you first need to make sure that the
adb is connected to the UE through our proxy.
pnadb -a
pnadb -a
Sometimes just after rebooting this command will fail to connect. If
so, try running it again after a few minutes. If it persists, you can
......@@ -21,11 +21,11 @@ try connecting again once it is complete.
Once connected through the proxy, almost any adb command will
work. You can log into the UE with:
adb shell
adb shell
You can inspect its device logs as well. Most usefully, you can see its radio log:
adb logcat -b radio
adb logcat -b radio
## Startup Scripts
......@@ -43,7 +43,7 @@ in `/var/log/oai/enb.log`.
To view the live output via screen, run:
sudo screen -r enb
sudo screen -r enb
To detach from the screen without stopping the program, type `Ctrl-a d`.
You can find out more about using screen with `man screen`.
......@@ -54,22 +54,22 @@ error instead of handling it gracefully. If this happens, the screen
will go away, but the log file persists so you can investigate the
cause. And you can restart the service by hand with:
sudo /lcoal/repository/bin/enb.start.sh
sudo /lcoal/repository/bin/enb.start.sh
## Inspecting the EPC
The EPC works in much the same way as the eNodeB. The MME, HSS, and
SPGW services all run on the `epc` node. These services log to:
/var/log/oai/mme.log
/var/log/oai/hss.log
/var/log/oai/spgw.log
/var/log/oai/mme.log
/var/log/oai/hss.log
/var/log/oai/spgw.log
And they all have screen sessions as well that can be found at:
sudo screen -r mme
sudo screen -r hss
sudo screen -r spgw
sudo screen -r mme
sudo screen -r hss
sudo screen -r spgw
In particular, by default the MME logs a status message every few
seconds which indicates if there is a connected eNodeB, attached UE,
......@@ -102,7 +102,7 @@ at the configuration file for the enb service at
running `ifconfig`, you can find the vlan interface on that same
subnet. And now you can run something like:
sudo tcpdump -i vlan123
sudo tcpdump -i vlan123
This will let you see the traffic as it flows or you can redirect the
output to a file and run wireshark or other analysis software on it.
......@@ -117,4 +117,4 @@ Look in `/usr/local/etc/oai/hss.conf` to see the database
parameters. You can then log into the database to see or change the
persistent state of the HSS:
mysql --user=root --password=linux oai_db
mysql --user=root --password=linux oai_db
......@@ -26,13 +26,13 @@ correct order afterwards.
Run this on the `enb1` node:
sudo /local/repository/bin/enb.kill.sh
sudo /local/repository/bin/enb.kill.sh
Run this on the `epc` node:
sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/spgw.kill.sh
sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/spgw.kill.sh
After these steps, rebuild whichever services you have modified as described below.
......@@ -47,8 +47,8 @@ experiment located at `/opt/oai/openairinterface5g`.
You can see exactly which commit this blockstore was forked from:
cd /opt/oai/openairinterface5g
git log
cd /opt/oai/openairinterface5g
git log
Aside from a minor patch which slimmed down the build dependencies,
this is a snapshot of the development branch of the repository.
......@@ -56,8 +56,8 @@ this is a snapshot of the development branch of the repository.
If you would like to rebuild the source after making some
modification, first kill the enodeb service:
cd /opt/oai/openairinterface5g/cmake_targets
sudo ./build_oai --eNB -w USRP
cd /opt/oai/openairinterface5g/cmake_targets
sudo ./build_oai --eNB -w USRP
### Building the MME, HSS, or SPGW
......@@ -70,17 +70,18 @@ experiment in the `/opt/oai/openair-cn` directory.
To build the MME from source:
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_mme
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_mme
To build the HSS from source:
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_hss
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_hss
To build the SPGW from source:
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_spgw
cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_spgw
### Restarting After Rebuilding
......@@ -91,11 +92,11 @@ the start in the proper order.
On the `epc` node:
sudo /local/repository/bin/config_oai.pl -r EPC
sudo /local/repository/bin/config_oai.pl -r EPC
On the `enb` node:
sudo /local/repository/bin/config_oai.pl -r ENB
sudo /local/repository/bin/config_oai.pl -r ENB
### Saving Source Code Changes Permanently
......@@ -103,9 +104,9 @@ In order to save changes permanently, you will need an external git
repository. Then add it as a remote in `/opt/oai/openair-cn` or
`/opt/oai/openairinterface5g` and push up your changes.
cd /opt/oai/openair-cn
git remote add myrepo url-or-ssh-path-to-my-repo
git push myrepo
cd /opt/oai/openair-cn
git remote add myrepo url-or-ssh-path-to-my-repo
git push myrepo
Then on later experiments you can add your experiment as a remote,
pull, and rebuild.
......
......@@ -16,27 +16,12 @@ the following resources:
PhantomNet startup scripts automatically configure OAI for the
specific allocated resources.
Instructions:
Be sure to setup your SSH keys as outlined in the manual; it's better
to log in via a real SSH client to the nodes in your experiment.
The Open Air Interface source is located under /opt/oai on the enb1
and epc nodes. It is mounted as a clone of a remote blockstore
(dataset) maintained by PhantomNet. Feel free to change anything in
here, but be aware that your changes will not persist when your
experiment terminates.
To access the UE via ADB, first log in to the 'adb-tgt' node, then run
'pnadb -a' to connect to the UE. Use ADB commands as per normal
afterward. If/when you reboot the UE, be aware that you will need to
again run 'pnadb -a' to reestablish the ADB connection; wait a minute
or so for the UE to become available again before doing this.
The OAI mobile networking functions should automatically start up when
your experiment starts up. You can pull up and monitor the OAI
processes on the 'epc' and 'enb' nodes. Execute 'sudo screen -ls'
to see what sessions are available.
For more detailed information:
* [Getting Started](https://gitlab.flux.utah.edu/blob/master/README.md)
* [Controlling OAI](https://gitlab.flux.utah.edu/blob/master/control.md)
* [Inspecting OAI](https://gitlab.flux.utah.edu/blob/master/inspect.md)
* [Modifying OAI](https://gitlab.flux.utah.edu/blob/master/modify.md)
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment