Frequently Asked Questions
This section lists some of the commonly asked questions related to Magma operation.
Access Gateway
How can I check the status of eNodeB(s) connected on a particular gateway?
- Run 
sudo enodebd_cli.py get_all_statusto check eNodeB(s) status. - NOTE: Output of this command will only show eNodeB(s) configured with TR069 protocol.
 
How can I see different interfaces of gateway?
- Run 
sudo ip addrto see all configured interfaces. - Commonly, interface 
eth0is used for internet connectivity andeth1is used for RAN connectivity. - You may run 
ping google.com -I eth0to check AGW connectivity with internet. - Also, you may run 
ping <eNodeB IP> -I eth1to check AGW connectivity with eNodeB. You can get eNodeB IP fromenodeb_clias mentioned in above question. 
How can I see attached subscribers list on a particular gateway and their browsing status?
- Run 
sudo mobility_cli.py get_subscriber_table, to see all attached subscribers. - Note down the IP obtained by the user from above command, then run 
sudo pipelined_cli.py debug display_flows | grep <USER IP>for packet flow info of that user. 
How can I check services running on a gateway and their status?
- Check all services: 
sudo service magma@* status. - Check specific service: 
sudo service magma@<SERVICE_NAME> status. e.g.sudo service magma@enodebd status. 
How can I collect logs for a particular service?
- Run 
sudo journalctl -fu magma@<SERVICE NAME>, e.g. for enodeb service, runsudo journalctl -fu magma@enodebd. 
How can I check the status of the OVS module on a gateway?
- Run 
sudo ovs-vsctl showto check. 
How can I capture packets for troubleshooting?
- You can use general purpose tcpdump command to capture traffic at any of your interfaces. e.g. run 
sudo tcpdump -i eth1 -w /tmp/capture.pcapto capture packet at eth1 interface. 
What are the common troubleshooting logs in gateway?
- syslog: 
/var/log/syslogs. - MME logs: 
/var/log/mme.log. - eNodeB logs: 
/var/log/enodebd.log. 
Where can I find the configuration of a gateway?
- File 
/var/opt/magma/configs/gateway.mconfigis the configuration streamed down from Orchestrator. - Any custom static configs will also be in directory 
/var/opt/magma/configswith a.ymlextension. - Default static configs are located at 
/etc/magma/configs. - systemd unit files are located at 
/etc/system/systemd. 
How can I restart gateway services?
- There are 2 options to restart gateway services. First from CLI and other from NMS UI.
 - To restart services from CLI, login to AGW node, then perform below steps:
- Run 
sudo service magma@* stopto stop services. - Then, run 
sudo service magma@magmad restartto restart services. 
 - Run 
 - To restart services from NMS UI, perform below steps:
- Login to NMS UI and go to Gateways option from left hand pane menu.
 - Then, click on edit option against the gateway for which you wish to reboot services.
 - From the popup window, select tab COMMANDS. Then, check section Reboot.
 - Click on Restart Services to restart all AGW services.
 
 
How can I reboot the gateway?
- There are 2 options to reboot gateway. First from CLI and other from NMS UI.
 - To reboot AGW from CLI, login to AGW node, then run 
sudo init 6to reboot whole AGW node. - To reboot AGW from NMS UI, perform below steps:
- Login to NMS UI and go to Gateways option from left hand pane menu.
 - Then, click on edit option against the gateway which you wish to reboot.
 - From the popup window, select tab COMMANDS. Then, check section Reboot.
 - Click on Reboot to reboot the AGW node.
 
 
Does the AGW support IPv6?
- IPv6 and dual stack IPv4v6 session support is implemented for Magma v1.7 and later.
 
How to change hardware UUID of AGW?
- Hardware UUID is in 
/etc/snowflake. - Delete file 
/etc/snowflakeand restart magma@magmad systemd service, which will create new one. - NOTE If you reinstall magma, the UUID hardware ID will change.
 
How to switch between info/debug mode in mme logs?
- Modify 
/var/opt/magma/configs/mme.ymland add the line"log_level: DEBUG", - Restart the mme service with 
sudo service magma@mme restart. - NOTE Expect impact of service while doing above procedure.
 
What's the command to flush the redis state?
- The command in AGW
redis-cli -p 6380 FLUSHALLwill flush the redis state 
Where can I get more information about services running in Magma?
How can I detach/purge a subscriber from AGW?
- The command 
s6a_service_cli.py delete <IMSI>,<IMSI>will detach the list of subscriber from MME. - Detached subscribers will need to reattach to the network.
 
How to change MME IP address?
- Edit the IP address of eth1 interface: 
sudo vim /etc/network/interfaces.d/eth1 - Then restart network manager: 
sudo systemctl restart networking - And check IP again: 
ip a s eth1 
How can I check if a given subscriber is idle or connected?
- SSH into the the AGW
 - Fetch the subscriber's state using its IMSI:
state_cli.py parse IMSI716770120257790:MME
 - Looking at the 
ecm_stateconfiguration, the value:- 0 - Indicates the user is IDLE
 - 1 - Indicates the user is CONNECTED
 
 
Orchestrator
How can I check production pods in Orchestrator running on Kubernetes?
- For all pods: 
kubectl --namespace orc8r get pods. - Logs of a particular pod: 
kubectl --namespace orc8r logs -f <CONTROLLER PODNAME>. - NOTE: In above commands, please use the actual namespace after 
--namespaceyou have chosen to install orc8r in. 
How can I test Orchestrator connection with Gateway?
- Login to Gateway, then run 
sudo checkin_cli.py. 
Where can I find API endpoint?
- If you have followed the install guide, it'll be at 
https://api.youdomain.com/swagger/v1/ui/. - You will need to load the 
admin_operator.pfxcertificate into your keychain/browser, otherwise, API access will be blocked. 
How can I use Swagger UI to trigger API request?
- Open Swagger UI, then got to interested section, e.g. EnodeBs.
 - Then click on API trigger action button e.g. GET, PUT, DELETE etc.
 - Click on Try it out button on right hand side.
 - Put in the required inputs and click Execute.
 
How can I check the services running in Orchestrator?
- List the running pods with 
kubectl --namespace orc8r get pods - Grab the name of orc8r-controller pods, they are in the format 
orc8r-controller-xxxxxxxxxx-yyyyy - Collect the state of services on each pod: 
kubectl --namespace orc8r exec orc8r-controller-xxxxxxxxxx-yyyyy bash -- supervisorctl status 
How to verify which services are running in Orc8r-controller?
- Get the controller pods: 
kubectl --namespace orc8r get pods. - Execute the command in the pod: 
kubectl --namespace orc8r exec <CONTROLLER PODNAME> supervisorctl status. 
NMS
What is an NMS (Network Management System)?
- NMS is a simple UI based solution provided to manage, configuring, and monitor the network effectively. You can monitor various network metrics, configure and monitor alerts, subscribers, gateways, eNodeBs etc.
 
How can I check various network metrics over NMS?
- Login to NMS UI, then click Metrics on the left hand side menu to check various network metrics available.
 
How can I configure an alert on NMS?
- Login to NMS UI, then click on Alert on left hand side menu. Go to tab Alert Rules to configure rule for alert.
 
How can I make sure Gateway is properly connected with NMS?
- Login to NMS and select Gateway from left hand side menu bar.
 - You can see all the Gateways configured in NMS.
 - Check for the Green light besides any particular Gateway, if it is green that means it is properly connected.
 
How can I restart eNodeB from NMS?
- Login to NMS UI and go to Gateways option from left hand pane menu.
 - Then, click on edit option against the gateway with which eNodeB is connected.
 - From the popup window, select tab COMMANDS. Then, check section Reboot eNodeB.
 - Enter eNodeB serial ID of eNodeB and click on Reboot to reboot that particular eNodeB.
 - Note:Only those eNodeBs can be rebooted in this manner which are configured with TR069 protocol.
 
How to enable events and log aggregation?
- Network Management → Equipment → Gateways → Select the Gateway → Config → Aggregations → Edit → Enable Log and Even Aggregations.
 - Make sure 
fluentd_addressandfluentd_portis added incontrol_proxy.ymlon AGW. 
How to enable pre-defined alerts on NMS?
- Administrative Tools → Alerts → Select Network → Sync Alert.
 
Miscellaneous
How to disable dhcp in AGW for eNB?
- Network Management → Equipment → Gateways → Select the Gateway → Config → RAN → Edit → Disable eNodeB DHCP service.
 
What is a core dump?
- When AGW services crash with a segmentation fault, a core dump is generated.
 - Core dumps are generated in format 
core-<timestamp>-<process_name>[-<PID>]under/tmpfolder. - Use GDB tool to analyse them as  
cd /tmp/<core-directory>/gunzip <core gzip file>gdb /usr/local/bin/<process name> <unzipped core file>.