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 ...@@ -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 see what sessions are available. The commands for controlling services
on these nodes are located in `/local/repository/bin`. 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. ...@@ -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 Log into the `adb-tgt` node on your experiment. This node links to the
UE via an adb proxy with this command: UE via an adb proxy with this command:
pnadb -a pnadb -a
Sometimes just after rebooting this command will fail to connect. If 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 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. ...@@ -21,14 +21,14 @@ try connecting again once it is complete.
You can log into the UE using adb: 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 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. 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: The adb node can be rebooted from the command line with:
adb reboot adb reboot
Any other adb command can be run as well. 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 ...@@ -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 and then starts the enb service when booting. You can start the enb
service by hand by running: 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: 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 The enb service should be started last because if it doesn't detect an
mme when it starts, it will never connect. mme when it starts, it will never connect.
...@@ -54,17 +54,17 @@ services. After all three of these are started, it syncronises with ...@@ -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 the startup script on the `enb1`. To manually start any of these
services, run one of these scripts on the `epc` node: services, run one of these scripts on the `epc` node:
sudo /local/repository/bin/hss.start.sh sudo /local/repository/bin/hss.start.sh
sudo /local/repository/bin/mme.start.sh sudo /local/repository/bin/mme.start.sh
sudo /local/repository/bin/spgw.start.sh sudo /local/repository/bin/spgw.start.sh
When starting them all by hand, make sure to start them in that order. 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: To kill these scripts, just run one of these on the `epc` node:
sudo /local/repository/bin/hss.kill.sh sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/mme.kill.sh sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/spgw.kill.sh sudo /local/repository/bin/spgw.kill.sh
## Restarting without rebooting ## Restarting without rebooting
...@@ -72,11 +72,11 @@ If you want to restart all the services but don't want to reboot the ...@@ -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` nodes themselves, you can first kill all services, then on the `enb1`
node, run: 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: 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 ## Tweaking Configuration
......
...@@ -11,7 +11,7 @@ to interact and inspect the UE using adb from the `adb-tgt` node. Once ...@@ -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 you log into the `adb-tgt` node, you first need to make sure that the
adb is connected to the UE through our proxy. adb is connected to the UE through our proxy.
pnadb -a pnadb -a
Sometimes just after rebooting this command will fail to connect. If 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 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. ...@@ -21,11 +21,11 @@ try connecting again once it is complete.
Once connected through the proxy, almost any adb command will Once connected through the proxy, almost any adb command will
work. You can log into the UE with: 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: 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 ## Startup Scripts
...@@ -43,7 +43,7 @@ in `/var/log/oai/enb.log`. ...@@ -43,7 +43,7 @@ in `/var/log/oai/enb.log`.
To view the live output via screen, run: 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`. To detach from the screen without stopping the program, type `Ctrl-a d`.
You can find out more about using screen with `man screen`. 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 ...@@ -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 will go away, but the log file persists so you can investigate the
cause. And you can restart the service by hand with: 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 ## Inspecting the EPC
The EPC works in much the same way as the eNodeB. The MME, HSS, and 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: SPGW services all run on the `epc` node. These services log to:
/var/log/oai/mme.log /var/log/oai/mme.log
/var/log/oai/hss.log /var/log/oai/hss.log
/var/log/oai/spgw.log /var/log/oai/spgw.log
And they all have screen sessions as well that can be found at: And they all have screen sessions as well that can be found at:
sudo screen -r mme sudo screen -r mme
sudo screen -r hss sudo screen -r hss
sudo screen -r spgw sudo screen -r spgw
In particular, by default the MME logs a status message every few In particular, by default the MME logs a status message every few
seconds which indicates if there is a connected eNodeB, attached UE, seconds which indicates if there is a connected eNodeB, attached UE,
...@@ -102,7 +102,7 @@ at the configuration file for the enb service at ...@@ -102,7 +102,7 @@ at the configuration file for the enb service at
running `ifconfig`, you can find the vlan interface on that same running `ifconfig`, you can find the vlan interface on that same
subnet. And now you can run something like: 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 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. 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 ...@@ -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 parameters. You can then log into the database to see or change the
persistent state of the HSS: 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. ...@@ -26,13 +26,13 @@ correct order afterwards.
Run this on the `enb1` node: 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: Run this on the `epc` node:
sudo /local/repository/bin/mme.kill.sh sudo /local/repository/bin/mme.kill.sh
sudo /local/repository/bin/hss.kill.sh sudo /local/repository/bin/hss.kill.sh
sudo /local/repository/bin/spgw.kill.sh sudo /local/repository/bin/spgw.kill.sh
After these steps, rebuild whichever services you have modified as described below. After these steps, rebuild whichever services you have modified as described below.
...@@ -47,8 +47,8 @@ experiment located at `/opt/oai/openairinterface5g`. ...@@ -47,8 +47,8 @@ experiment located at `/opt/oai/openairinterface5g`.
You can see exactly which commit this blockstore was forked from: You can see exactly which commit this blockstore was forked from:
cd /opt/oai/openairinterface5g cd /opt/oai/openairinterface5g
git log git log
Aside from a minor patch which slimmed down the build dependencies, Aside from a minor patch which slimmed down the build dependencies,
this is a snapshot of the development branch of the repository. 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. ...@@ -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 If you would like to rebuild the source after making some
modification, first kill the enodeb service: modification, first kill the enodeb service:
cd /opt/oai/openairinterface5g/cmake_targets cd /opt/oai/openairinterface5g/cmake_targets
sudo ./build_oai --eNB -w USRP sudo ./build_oai --eNB -w USRP
### Building the MME, HSS, or SPGW ### Building the MME, HSS, or SPGW
...@@ -70,17 +70,18 @@ experiment in the `/opt/oai/openair-cn` directory. ...@@ -70,17 +70,18 @@ experiment in the `/opt/oai/openair-cn` directory.
To build the MME from source: To build the MME from source:
cd /opt/oai/openair-cn/SCRIPTS cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_mme sudo ./build_mme
To build the HSS from source: To build the HSS from source:
cd /opt/oai/openair-cn/SCRIPTS cd /opt/oai/openair-cn/SCRIPTS
sudo ./build_hss sudo ./build_hss
To build the SPGW from source: 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 ### Restarting After Rebuilding
...@@ -91,11 +92,11 @@ the start in the proper order. ...@@ -91,11 +92,11 @@ the start in the proper order.
On the `epc` node: 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: 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 ### Saving Source Code Changes Permanently
...@@ -103,9 +104,9 @@ In order to save changes permanently, you will need an external git ...@@ -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 repository. Then add it as a remote in `/opt/oai/openair-cn` or
`/opt/oai/openairinterface5g` and push up your changes. `/opt/oai/openairinterface5g` and push up your changes.
cd /opt/oai/openair-cn cd /opt/oai/openair-cn
git remote add myrepo url-or-ssh-path-to-my-repo git remote add myrepo url-or-ssh-path-to-my-repo
git push myrepo git push myrepo
Then on later experiments you can add your experiment as a remote, Then on later experiments you can add your experiment as a remote,
pull, and rebuild. pull, and rebuild.
......
...@@ -16,27 +16,12 @@ the following resources: ...@@ -16,27 +16,12 @@ the following resources:
PhantomNet startup scripts automatically configure OAI for the PhantomNet startup scripts automatically configure OAI for the
specific allocated resources. specific allocated resources.
Instructions: For more detailed information:
Be sure to setup your SSH keys as outlined in the manual; it's better * [Getting Started](https://gitlab.flux.utah.edu/blob/master/README.md)
to log in via a real SSH client to the nodes in your experiment. * [Controlling OAI](https://gitlab.flux.utah.edu/blob/master/control.md)
* [Inspecting OAI](https://gitlab.flux.utah.edu/blob/master/inspect.md)
The Open Air Interface source is located under /opt/oai on the enb1 * [Modifying OAI](https://gitlab.flux.utah.edu/blob/master/modify.md)
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.
""" """
......
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