====== RAN Checklist ====== \\ This page is designed to describe all check points to perform before and after installing RAN packages for a RAN platform connectivity. ===== Before installing RAN packages (preconditions) ===== \\ Here are the needed artefacts to install RAN packages on your gateway operating system.\\ The recommended package version number to use for a RAN platform compatibility is indicated in the [[wiki:releases|Compatibility Matrix]]. ^ Step ^ Needed Artefact ^ Verification (OK/KO) ^ | 1 | Compatibility Matrix | ^ Step ^ Needed Artefacts ^ Verification (OK/KO) ^ | 2 | BSCC package / Compatibility Matrix | | 3 | SNMP package / Compatibility Matrix | | 4 | OPENVPN package / Compatibility Matrix | ^ Step ^ Needed Artefacts ^ Verification (OK/KO) ^ | 5 | LIBLORAGW (HAL) package version / Compatibility Matrix | | 6 | PACKET FORWARDER package version / Compatibility Matrix | Internet access is mandatory to create a VPN tunnel to the RAN platform. If this is your first install of RAN packages (no VPN tunnel currently up), you can check you have an internet access by issuing a ''ping 8.8.8.8'' command to your gateway's operating system. \\ ===== After installing RAN packages (postconditions) ===== \\ Here are the list of operations to perform to check that the install process has been correctly done. ^ Step ^ Check operation ^ Verification (OK/KO) ^ | 1 | Check install of RAN packages | | 2 | Check firewall rules | | 3 | Check RAN processes run | | 4 | Check RAN/VPN connection (ifconfig) | | 5 | Check VPN Server access | | 6 | Check SNMP access | | 7 | Check LNS access | | 8 | Check RAN/VPN connection (dashboard) | | 9 | Check Packet Forwarding (logs) | | 10 | Check Packet Forwarding (dashboard) | The following describe the operating commands to perform in your gateway's environnment (via a local or remote access) to check these steps. \\ === 1. Check install of RAN packages === Check that all packages in your gateway environnment are correctly installed. __command__ : * For iBTS: ''# opkg list-installed'' * For iFemtoCell: ''# opkg list-installed'' * For Wirnet Station: ''# get_version -u -v'' __expected result__ : All RAN packages (BSCC, SNMP, OpenVPN, HAL, SPF) have been correctly installed with the requested version. __For example__ (iBTS):\\ bscc - v2.1 kerlink-openvpn-config-pki2-klk-lpbs-060337 - 1.8 keros - 3.1.13-0-ga05e3252 libloragw2 - 4.0.1-klk3 lorasnmp - v2.1 spf2 - 4.0.0-klk9_4.0.1-klk3 \\ === 2. Check firewall rules === Check that following ports accept all input and output connections from/to: * port 1194: OpenVPN Server * port 10161/10162: RAN BSC component (SNMP & Trap management) * port 1700: Packet Forwarding Server __command__ : '# iptables --list-rules' __expected result__ :\\ port 1194 accept I/O connections: -A INPUT -p udp -m udp --sport 1194 -j ACCEPT -A OUTPUT -p udp -m udp --dport 1194 -j ACCEPT ports 10161 and 10162 accept I/O connections: -A INPUT -p udp -m udp --sport 10161:10162 -j ACCEPT -A OUTPUT -p udp -m udp --dport 10161:10162 -j ACCEPT port 1700 accept I/O connections: -A INPUT -p udp -m udp --sport 1700 -j ACCEPT -A OUTPUT -p udp -m udp --dport 1700 -j ACCEPT __For example__ (iBTS):\\ -P INPUT DROP -P FORWARD DROP -P OUTPUT DROP -A INPUT -p udp -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT ... -A INPUT -p udp -m udp --sport 1194 -j ACCEPT -A INPUT -p udp -m udp --sport 1700 -j ACCEPT -A OUTPUT -p udp -m udp --sport 10161:10162 -j ACCEPT -A OUTPUT -p udp -m udp --dport 10161:10162 -j ACCEPT ... -A OUTPUT -p icmp -j ACCEPT -A OUTPUT -p udp -m udp --dport 1700 -j ACCEPT -A OUTPUT -p udp -m udp --dport 1194 -j ACCEPT ... \\ === 3. Check RAN processes run === Check that the following processes are running : __command__ : ''# ps'' __expected result__ : bscc process is running openvpn process is running snmpd process is running spf process is running __For example__ (iBTS):\\ PID USER VSZ STAT COMMAND 1 root 1688 S init [5] 166 root 2864 S /sbin/udevd -d 811 root 17912 S {kerosd} /usr/bin/python /usr/sbin/kerosd -p -r 600 825 root 2088 S /usr/bin/kgpsd -f /etc/kgpsd.conf 904 messageb 2892 S /usr/bin/dbus-daemon --system 908 root 4492 S /usr/sbin/connmand 917 root 4660 S /usr/sbin/sshd -f /etc/ssh/sshd_config 931 ntp 5508 S /usr/sbin/ntpd -u ntp:ntp -p /var/run/ntpd.pid -g 936 root 2728 S /sbin/syslogd -n -O /var/log/messages -b 10 940 root 2728 S /sbin/klogd -n 942 root 4884 S /usr/sbin/ofonod 948 root 2964 S /usr/sbin/crond -c /etc/cron/crontabs 1002 root 2728 S /usr/sbin/ifplugd -n -I -f -d 1 -r /etc/network/ifplugd/local.action -i eth1 1008 root 13228 S /usr/bin/monit -c /etc/monitrc 1020 root 2596 S /sbin/watchdog -t 30 /dev/watchdog 1022 root 27304 S **/user/bscc/bscc -t /user/bscc** 1044 root 2744 S {start_getty} /bin/sh /bin/start_getty 115200 ttymxc0 1045 root 2976 S -sh 1416 root 2740 S {execute_spf2.sh} /bin/sh -e /user/spf2/bin/execute_spf2.sh 1418 root 52144 S **/user/spf2/bin/spf2 -g /dev/nmea1 -y** 1419 root 2964 S logger -p local1.notice -t spf2 1711 root 0 SW< [kworker/u3:7] 1715 root 0 SW< [kworker/u3:12] 1786 nobody 4952 S **/usr/sbin/openvpn --remote demoran.wanesy.fr --port 1194 --cipher AES-256-CBC --comp-lzo --remote-cert-tls server --config /etc/op** 1844 root 27944 S **snmpd -C -c snmpd.conf -f -Lo -Ddlmod,trap,klk_notifications** 1845 root 2964 S logger -p local0.notice ... \\ === 4. Check RAN/VPN connection (ifconfig) === Check that the VPN tunnel has been correctly created.\\ __command__ : ''# ifconfig'' __expected result__ : "tun0" or "vpn0" interface should be up. An IP adress 10.8.0.X should be assigned to this interface. __For example__ (iBTS):\\ vpn0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00\\ inet addr:**10.8.0.13** P-t-P:10.8.0.13 Mask:255.255.0.0\\ UP POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1\\ RX packets:44 errors:0 dropped:0 overruns:0 frame:0\\ TX packets:205 errors:0 dropped:0 overruns:0 carrier:0\\ collisions:0 txqueuelen:100\\ RX bytes:2325 (2.2 KiB) TX bytes:21686 (21.1 KiB)\\ \\ === 5. Check VPN Server access === Check you can ping the VPN Server (10.8.0.1): __command__ : ''# ping 10.8.0.1'' __expected result__ : ping result OK __For example__: PING 10.8.0.1 (10.8.0.1): 56 data bytes 64 bytes from 10.8.0.1: seq=0 ttl=64 time=22.011 ms 64 bytes from 10.8.0.1: seq=1 ttl=64 time=22.680 ms 64 bytes from 10.8.0.1: seq=2 ttl=64 time=21.465 ms \\ === 6. Check SNMP access === Check you can ping the RAN SNMP component (172.18.0.1): __command__ : ''# ping snmp'' __expected result__ : ping result OK __For example__: PING snmp (172.18.0.1): 56 data bytes 64 bytes from 172.18.0.1: seq=0 ttl=64 time=23.195 ms 64 bytes from 172.18.0.1: seq=1 ttl=64 time=22.896 ms 64 bytes from 172.18.0.1: seq=2 ttl=64 time=23.204 ms \\ === 7. Check LNS access === Check you can ping the RAN LNS component (172.18.0.1): __command__ : ''# ping lns'' __expected result__ : ping result OK __For example__: PING lns (172.18.0.1): 56 data bytes\\ 64 bytes from 172.18.0.1: seq=0 ttl=64 time=26.369 ms 64 bytes from 172.18.0.1: seq=1 ttl=64 time=29.609 ms 64 bytes from 172.18.0.1: seq=2 ttl=64 time=25.731 ms \\ === 8. Check RAN/VPN connection (dashboard) === Check that the gateway appears as connected to the RAN platform. __command__ : Declare your gateway in a fleet (create a new fleet if it does not exist) Follow this link to know how to proceed :[[wiki:bsc|Base Station Controller]] __expected result__ : The Gateway should appears with the status: "connected" __For example__: {{:wiki:connected.png?600|}} \\ === 9. Check Packet Forwarding (logs) === Check that the Packet Forwarding is working correctly by analysing the logs.\\ You should declare a cluster and add a new end-device or using an existing one to check this function.\\ Follow this link to know how to proceed :[[wiki:bsc|Base Station Controller]] \\ * For iBTS: ''/user/spf2/var/log/'' * For iFemtoCell: ''/user/spf/var/log/'' * For Wirnet Station: ''/mnt/fsuser-1/spf/var/log'' Check that the gateway has received some messages from the end-device. __For example__: Dec 11 13:17:52 Wirgrid local1.notice spf: INFO: Received pkt from mote: 003EB638 (fcnt=1) Dec 11 13:17:52 Wirgrid local1.notice spf: JSON up: {"rxpk": [{"tmst":628163636,"chan":5,"rfch":1,"freq":868.100000,"stat":1,"modu":"LORA","datr":"SF7BW125","codr":"4/5", "lsnr":8.8,"rssi":-44,"size":19,"data":"QDi2PgAAAQAPkq7BWJzilVB2Lg=="}]} Dec 11 13:17:52 Wirgrid local1.notice spf: INFO: [up] PUSH_ACK received in 19 ms Dec 11 13:17:53 Wirgrid local1.notice spf: WARNING: [gps] could not get UTC time from GPS Dec 11 13:17:53 Wirgrid local1.notice spf: INFO: [down] PULL_ACK received in 25 ms \\ === 10. Check Packet Forwarding (dashboard) === Check that the Packet Forwarding is working correctly by analysing the uplink messages reported to the RAN dashboard.\\ Follow this link to know how to proceed :[[wiki:bsc|Base Station Controller]] {{:wiki:check_spf.png?600|}}