DEVELOPMENT OF A WIRELESS COMMUNICATION SYSTEM FOR SWARM INTELLIGENT ROBOTS

Martina Russitano Lanza

Internship Report submitted to the International Space University in partial fulfillment of the requirements of the M.Sc. Degree in Space Studies

August, 2016

Internship Mentor: Prof. Kazuya Yoshida Host Institution: Tohoku University, Sendai, Japan ISU Academic Advisor: Prof. Hugh Hill

ABSTRACT

This report discusses the activities performed during the three-month internship at the Space Robotics Laboratory of Tohoku University, in Sendai (Japan), the internship being the final module of the International Space University’s Master of Space Studies program. The project, which envisaged the development of a wireless communication system for swarm intelligent robots based on the LTE technology, has been widely described in all its phases, from the Literature Review to the practical experience. A detailed description of all the hardware, procedures tested, trouble shooting methods and results obtained is also included. Due to the large number of problems encountered when trying to connect the LTE modem device, it was not possible to accomplish the task of building a real communication system. Nonetheless, possible reasons for all the issues occurred have been explained and motivated, and some recommendations for further studies have been stated. At the same time, a research concerning the next steps of the project has been carried out and a feasible method to establish a communication between different platforms has been analyzed and proposed. In addition to the main project, this report introduces also the activities of the Tohoku University Engineering Summer Program (TESP), to which I participated, as well as its positive outcomes.

i

ACKNOWLEDGEMENTS

I would like to extend my appreciation to those who have both guided and assisted me during the whole internship. Their contribution, both direct and indirect, has been an essential factor towards completion of the project. I first and foremost would like to thank my academic advisor, IPR supervisor and “mentor” Prof. Hugh Hill for his “fatherly” presence, even beyond the long distance. His affection and interest for my work and my stay in Japan itself have been precious to me. Similarly, I wish to also thank Prof. Kazuya Yoshida for giving me the chance to do an internship in one of the most prestigious space robotics laboratory of the world, for supervising my project and for allowing me to attend his lectures, as well as the TESP 2016. I am sure that it would have not been the same without his precious advices and support. In addition, I thank Dr. Nathan Britton, Dr. John Walker, Mickaël Laine, Dr. Toshiro Shimizu, Nicolò Carletti, Louis Burtz, Marc Hulcelle, Oriol Gasquez Garcia, Takuto Oikawa, Hugo Zuliani, Kentaro Uno, Shoko Ono, James Harpur, Marc Pech and all the other people working at the Space Robotics Laboratory for their help and contribution to this work, as well as for all the laughter and their invaluable friendship. Furthermore, I extend my gratitude to all my friends at Urban Castle Kawauchi. Their presence and all the moments shared together have made my stay even more beautiful and pleasant that I could have ever imagined. Finally, yet importantly, I want to thank my family, who unstoppably supported me even from afar.

ii

TABLE OF CONTENTS

ABSTRACT……………………………………………………………………………………………………………………………………... i ACKNOWLEDGEMENTS ……………………………………..…………………………………………………………………………. ii TABLE OF CONTENTS …………..………………………………………………………………………………………………………. iii LIST OF FIGURES …………..…………………………………………………………………………………………..……………….… v LIST OF TABLES ………………..…………………………………………………………………………………………..………….…. vi ABBREVIATIONS …….………………………………………………………………………………………………………………..... vii 1 INTRODUCTION …..……………………………………………………………………………………………………..…………… 1 1.1 Purpose of the Document …………….……………………………………………………………………………..………. 1 1.2 Scope of the Document …………………………………………….…………………………………...... ……………..…. 1 1.3 Summary of the Project ……………………………………………………………………………………………..……….. 1 2 THE LTE NETWORK TECHNOLOGY …………………….……………………………………………………………………… 2 2.1 Main Features and Advantages .…………………………………………………………………………………………… 2 2.2 Network Architecture ……………………………………………………………………………………………………….…. 5 2.2.1 The User Equipment ……………………………………………………………………………………………..… 5 2.2.2 The Evolved UMTS Terrestrial Radio Access Network ….…………………………………..……… 5 2.2.3 The Evolved Packet Core ……………………………………………………………………………..……..…… 6 2.3 Physical Layer ……..…………………………………………………………………………………………………………….… 8 2.3.1 OFDMA Multiplexing …..………………………………………………………………………………………..… 9 2.3.2 SC-FDMA Multiplexing …………….………………………………………….………………………………….. 9 2.4 Quality of Service and Bearers ………………………………………………………………………………………..…. 10 3 THE HARDWARE ………………………………………………………………………………………………………………….… 12 3.1 Development Board …..………………………………………………………………………………………………………. 13 3.1.1 Main Features and Advantages ……………………………………………………………………………… 14 3.1.2 The HummingBoard-Edge ……………………………………………………………………………………… 14 3.2 LTE Modem ………………….……………………………………………………………………………………………………. 16 3.2.1 Access Network Technology ANT30MO ………………………………………………………………… 17 3.2.2 Huawei E3276 USB Dongle ……………………………………………………………………………………. 18 4 CONNECTING THE HUMMINGBOARD …..……………………………………………………………………..………… 19 4.1 Hardware First Setup and OS Installation ………………………………………………………………………..…. 19 4.2 Remote Access …….……………………………………………………………………………………………………………. 19 4.2.1 Setting the Static IP ……………………………………………………………………………………………….. 20 4.2.2 The Secure Shell ……………………………………………………………………………………………………. 20 4.3 SIM Card Activation …………………………………………………………………………………………………………... 20 4.4 ANT30MO Modem Configuration ………………………………………………………………………………………. 21 4.4.1 Connman ………………………………………………………………………………………………………………. 21 4.4.2 Sakis3G …………………………………………………………………………………………………………………. 22 4.4.3 PPP and /etc/network/interfaces ……………………………………………………………………….…. 24

iii

4.4.4 Wvdial …………………………………………………………………………………………………………………... 24 4.4.5 Network Manager and ModemManager ……………………………………………………………….. 25 4.4.6 Libmbim ………………………………………………………………………………………………………………… 28 4.4.7 Other Trouble Shooting Procedures ………………………………………………………………………. 29 4.5 Huawei E3276 Modem Configuration ………………………………………………………………………………… 30 4.6 Conclusions …………………………………………………………………………………………………………………………31 5 REMOTE CONTROL OF THE HUMMINGBOARD CONNECTED WITH A LTE MODEM ………..………… 32 5.1 The Reverse SSH Tunnel …………………………………………………………………………………………………….. 32 5.2 System Requirements ………………………………………………………………………………………………………… 32 5.3 Building Up the Reverse Tunnel …………………………………………………………………………………………. 32 6 TESP 2016 …………………………………………………..…………………………………………………………….…………… 34 6.1 Main Activities ………………………………………………………………………………………………………………..…. 34 6.2 Conclusions …………….……………………………………………………………………………………..………………….. 34 7 CONCLUSIONS AND RECOMMENDATIONS …………………………………………………………………………..… 36 7.1 Conclusions ……………………………………………………………………………………………………………………..… 36 7.2 Recommendations …………………………………………………………………………………………………………..… 36 8 BIBLIOGRAPHY ………………………………………………………………………………………………………….………..… 38

iv

LIST OF FIGURES

Figure 1: Diagram of the LTE network architecture ……………………….………………………………………………… 5 Figure 2: Scheme of functioning of the E-UTRAN Photo Credits: www.tutorialspoint.com, 2016a .…. 6 Figure 3: Outline of the EPC main nodes. Photo Credits: www.tutorialspoint.com, 2016 ……….……….. 8 Figure 4: SolidRun HummingBoard-Edge, front view. Photo Credits: SolidRun, 2016 …………………..… 15 Figure 5: SolidRun HummingBoard-Edge, back view. Photo Credits: SolidRun, 2016 ……………………... 16 Figure 6: The HummingBoard and its antenna ..……………………………………………………………………….…….. 17 Figure 7: The ANT30MO LTE modem, front view. Photo Credits: Yahoo! Japan, 2016a ..…...... ….. 17 Figure 8: The ANT30MO LTE modem, back view. Photo Credits: Yahoo! Japan, 2016a …………………. 17 Figure 9: The Huawei E3276 USB modem ………………………………………………………………………………………. 18 Figure 10: Sakis3G user interface, main page ……………………………………………………………………………....… 23 Figure 11: Sakis3G user interface, 3G modem menu ………………….………………………………………………….. 23 Figure 12: The output of the nmcli device status command, showing that the LTE modem is connected .…………….……………………………………………………………………………………………………..……………….. 26 Figure 13: The Huawei online modem manager on Windows 10, showing that there is no service available .………………………………………………………………………………………………………………………….……..…….. 31 Figure 14: Diagram showing the functioning of the Reverse SSH Tunnel. Photo Credits: Zihlmann, 2014a………………………………………………………………………………………………………………………………….…………. 33 Figure 15: Group photo with Prof. Yoshida, some colleagues of the Space Robotics Lab. and some new friends from TESP ………………………………………………………………………………………………………..………… 35 Figure 16: Traditional painting on shogi pieces at Tendo Tower, Yamagata ………………………………….. 35 Figure 17: Kimono dressing …………………………….…………………………………………………………………………….. 35 Figure 18: Green tea preparation at the Tea Ceremony .………………………………………………………..……… 35 Figure 19: Tea Ceremony ……………………………………………………………………………………………………………… 35

v

LIST OF TABLES

Table 1: Some features of the LTE technology ……………………………………………………………….………………… 3 Table 2: Frequency ranges for some of the LTE supported bands .…………………………………………………… 3 Table 3: Main advantages of the LTE technology ..………………………………………………….……………………….. 4 Table 4: The main functions performed by the LTE’s E-UTRAN ……………………..…………………………….…... 6 Table 5: Some of the main nodes composing the EPC ……………………………………………………………………… 7 Table 6: The two main categories of Bearers …………………………………………………………………………………. 10 Table 7: The nine possible standardized QCIs in LTE ………………………………………………………………………. 11 Table 8: The hardware and equipment used for the project. Photo credits: Huawei Technologies Co. Ltd., 2016; Yahoo! Japan, 2016a .……..…………………………………………………………………………….………………. 12 Table 9: Main features and advantages of the development boards …………………………….……….………. 14 Table 10: Specifications of the SolidRun HummingBoard-Edge ……………………………………………………… 15 Table 21: Main features of the Access Network Technology ANT30MO LTE modem ..…………………… 17 Table 32: Huawei E3276 USB dongle specifications ..………………………………………………………..…………… 18 Table 43: APN settings of the IIJmio SIM card ..……………………….………………………………………..…………… 21 Table 54: Commands used to activate and connect Wi-Fi through Connman ..……………………….…….. 21 Table 65: Commands used to install Sakis3G ..………….…………….………………………………………..…………… 22 Table 76: Some basic commands of Network Manager ………….………………………………………..…………… 25 Table 87: Some basic commands of ModemManager ..………..…………………………………………..…………… 27 Table 98: Some basic commands of Libmbim ..……………………….………………………………………..…………… 29 Table 19: Trouble shooting methods used ……………………………………………………………………………………… 30

vi

ABBREVIATIONS

ARP Allocation and Retention Priority CDMA Code Division Multiple Access CP Cyclic Prefix e.g. Exempli Gratia (for example) eNB evolved Node B EPC Evolved Packet Core et al. Et Alii/Et Aliæ/Et Alia (and others) E-UTRAN Evolved UMTS Terrestrial Radio Access Network FDD Frequency Division Duplex FFT Fast Fourier Transform GSM Global System for Mobile communication HSS Home Subscriber Server IDFT Inverse Discrete Fourier Transform i.e. Id Est (that is) IFFT Inverse Fast Fourier Transform IP Internet Protocol ISU International Space University LTE Long Term Evolution MBR Maximum Bit Rate ME Mobile Equipment MIMO Multiple In Multiple Out MME Mobility Management Entity MSS16 Master of Space Studies 2016 OFDMA Orthogonal Frequency-Division Multiple Access PCIe Peripheral Component Interconnect Express PCRF Policy Control and Charging Rules Function P-GW Packet Data Network Gateway QCI Quality of Service Class Identifier QoS Quality of Service RNC Radio Network Control SC-FDMA Single Carrier Frequency Division Multiple Access S-GW Serving Gateway TCP Transmission Control Protocol TDD Time Division Duplex TESP Tohoku University Engineering Summer Program UE User Equipment UICC Universal Integrated Circuit Card UMTS Universal Mobile Telecommunication System USB Universal Serial Bus USIM Universal Subscriber Identity Module VoIP Voice over Internet Protocol WCDMA Wideband Code Division Multiple Access WWAN Wireless Wide Area Network

vii

Martina Russitano Lanza 1

1 INTRODUCTION

1.1 PURPOSE OF THE DOCUMENT The purpose of this document is to report my internship project’s research and work, including the results obtained and lessons learned. This report constitutes the final deliverable requested for the ISU MSS16 Internship.

1.2 SCOPE OF THE DOCUMENT The document provides a detailed description of the internship’s work, thus including research, hands- on activities and other related experiences. The main contents of this report can be summarized as follows:  Introduction to the project and its objectives.  A literature review of relevant background information.  A description of the hardware used and practical activities performed, including approach, rationales, analysis of the results and a solution proposal for carrying on with the project.  A description of the TESP 2016 activities, a spin-off of the internship project.  A discussion section, which summarizes the overall conclusions, including some issues occurred, and provides lessons learned and personal recommendations.  Useful appendices, containing some deepening material.

1.3 SUMMARY OF THE PROJECT The main theme of the project was agreed after I expressed my interest in the field of swarm intelligent robots. Born from an idea of Dr. Nathan Britton, MSS09 alumnus and Engineering Manager of the Hakuto Team for the Google XPRIZE competition, and Mickaël Laine, PhD student at the Space Robotics Laboratory of Tohoku University, the project consisted in designing a wireless communication system for a group of smart robots based on the LTE technology. This system would represent a testbed for further research and implementation on groups of multiple rovers for lunar exploration. During my work, I was supervised by Prof. Kazuya Yoshida and some key members of the Laboratory; hence, I became part of the XPRIZE Hakuto Team. In order to achieve the goal of the project, I was allowed to use all the hardware and equipment of the laboratory. In particular, I worked with a SolidRun HummingBoard Edge, a very small computer which can be used as the “core” of a robot, once programmed accordingly, and a LTE modem device, indispensable to create a wireless communication system (see Chapter 3). After a first phase, consisting in collecting general information about the LTE technology and familiarizing with the hardware, I passed to more practical activities and tried several techniques to try and connect the HummingBoard to the internet by means of the LTE modem. However, this apparently simple task proved to be harder than expected, and a large number of issues were encountered. Therefore, some trouble shooting procedures were tested, as it will be discussed in Chapter 4. At the same time, I researched some methods to control the board remotely, once the connection was established, and I found an easy and feasible way to do that, described in Chapter 5. During the last weeks, from the 25th July to the 5th August, I also attended the Tohoku University Engineering Summer Program (TESP), which represented an integral part of my internship thanks to its many lectures and activities, as detailed in Chapter 6. 2 Internship Final Report

2 THE LTE NETWORK TECHNOLOGY

Long Term Evolution (LTE) is the evolution of the third generation telecommunication systems. It evolved from the earlier 3G system, also known as the Universal Mobile Telecommunication System (UMTS), which is, in turn, an evolution from the Global System for Mobile Communications (GSM) (tutorialspoint.com, 2016), and it was created with the aim of encountering the new more and more challenging requests of the market. In fact, the rise of new services and the diffusion of cutting-edge devices (smartphones, tablets, etc.) has made the development of evolved network architectures and protocols necessary, as a way to take full advantage of the available frequency bands. LTE seems to be a valid solution thanks to its efficiency and reasonable costs. This technology is able to support high data-rate with peaks of 75 Mbps in uplink and 300 Mbps in downlink and the bandwidth going from 1.25 to 20 MHz (Guzzon, 2012).

2.1 MAIN FEATURES AND ADVANTAGES The unification of all network protocols is one of the biggest innovations brought by LTE, as it allows to reduce costs and latency significantly and to provide high data-rate. All data run through TCP/IP protocols and the connection between the mobile interface and the external networks is ruled by IP (Guzzon, 2012). Moreover, the network’s architecture can support packet-switched traffic, meaning that all transmitted data are packed together into blocks, which are then retransmitted through a medium that may be shared by multiple simultaneous communication sessions, thus enabling the technological convergence of different applications which operate within the same network. Moreover, this method makes the network more robust and efficient (tutorialspoint.com, 2016). Another important characteristic of LTE is the use of different types of interfaces (radio links) for the downlink and uplink, thus optimizing the network and the connection along both ways and increasing the devices’ battery duration (Gompa, 2015). The LTE technology is available in two variants, based on two different frequencies usages: Frequency Division Duplex (FDD), used more commonly, and Time Division Duplex (TDD). The FDD uses separate frequencies for downlink and uplink, so every band supported by the device has actually two distinct frequency ranges (paired frequency bands). The TDD uses one single segmented frequency range in a frequency band in order to support both transmission and reception of the signal in that range (Gompa, 2015). The following Tables 1 and 2 report some specifications of the LTE technology and the frequency ranges for some of the supported bands (tutorialspoint.com, 2016; Wikipedia, 2016b).

Martina Russitano Lanza 3

PARAMETERS DESCRIPTION Frequency range See Table 2 Duplexing FDD, TDD, half-duplex FDD Channel coding Turbo code Mobility 350 km/h Channel bandwidth (MHz) 1.4, 3, 5, 10, 15, 20 Multiple access schemes Uplink: DFTS-OFDMA Downlink: OFDMA Peak data rate Uplink: 75Mbps (20MHz bandwidth) Downlink: 300 Mbps Coverage 5 – 100 km, with slight degradation after 30km QoS End-to-end QoS allowing prioritization of different class of service Latency End-user latency < 10 mS Table 1: Some features of the LTE technology.

E-UTRA DUPLEX FREQUENCY COMMON NAME UPLINK BAND DOWNLINK BAND MODE (MHz) (MHz) BAND (MHz) 1 FDD 2100 IMT 1920 – 1980 2110 – 2170 2 FDD 1900 PCS blocks A-F 1850 – 1910 1930 – 1990 3 FDD 1800 DCS 1710 – 1785 1805 – 1880 4 FDD 1700 AWS blocks A-F (AWS-1) 1710 – 1755 2110 – 2155 5 FDD 850 CLR 824 – 849 869 – 894 7 FDD 2600 IMT-E 2500 – 2570 2620 – 2690 8 FDD 900 E-GSM 880 – 915 925 – 960 9 FDD 1800 Japan UMTS 1700 / 1749.9 – 1784.9 1844.9 – 1879.9 Japan DCS 10 FDD 1700 Ext. AWS blocks A-I 1710 – 1770 2110 – 2170 11 FDD 1500 Lower PDC 1427.9 – 1447.9 1475.9 – 1495.9 23 FDD 2000 S-Band (AWS-4) 2000 – 2020 2180 – 2200 24 FDD 1600 L-Band (US) 1626.5 – 1660.5 1525 – 1559 33 TDD 2100 IMT 1900 – 1920 37 TDD 1900 PCS (Duplex spacing) 1910 – 1930 38 TDD 2600 IMT-E (Duplex Spacing) 2570 – 2620 4 Internship Final Report

39 TDD 1900 DCS-IMT gap 1880 – 1920 41 TDD 2500 BRS / EBS 2496 – 2690 44 TDD 700 APT 703 – 803 45 TDD 1500 L-Band (China) 1447 – 1467 46 TDD 5200 NII 5150 – 5925 Table 2: Frequency ranges for some of the LTE supported bands.

LTE provides connections with different Qualities of Service (QoS). A specific class of QoS is associated to each flow of information, and the IP flux together with its specific class forms a bearer. The network can manage many bearers from the same user simultaneously. To make an example, during a voice call, a user could access a website, or download a file. All these actions require different QoS, the voice call needing the highest. The LTE network is structured in a way that all QoS are handled efficiently, guaranteeing user’s security and privacy at the same time (Guzzon, 2012). The main advantages of the LTE technology are summarized in Table 3 (tutorialspoint.com, 2016).

ADVANTAGES DESCRIPTION High data-rate with peaks of 75 Mbps in uplink and High throughput 300 Mbps in downlink Very short time ranges required to connect to the Low latency network and to enter/exit power saving states. FDD and TDD in the same platform See Sec. 2.1  Better mobility management Improved end-user experience  Improved signaling for connection establishment  Reduced latency Support for seamless connection to existing Seamless Connection networks (e.g. GSM, CDMA and WCDMA) Plug and play All drivers are installed automatically  Unified protocols Simple architecture  Packet-switched traffic  Efficient management of all QoS Table 3: Main advantages of the LTE technology.

Martina Russitano Lanza 5

2.2 NETWORK ARCHITECTURE Compared to UMTS, LTE has a simplified architecture, which consists of three main components:  The User Equipment (UE).  The Evolved UMTS Terrestrial Radio Access Network (E-UTRAN).  The Evolved Packet Core (EPC). The interfaces between the different parts of the system are denoted Uu, S1 and SGi (tutorialspoint.com, 2016), as it is shown in Figure 1.

Figure 1: Diagram of the LTE network architecture.

2.2.1 THE USER EQUIPMENT The LTE User Equipment (UE) is made of a Mobile Equipment (ME) and a Universal Subscriber Identity Module (USIM), identical to the ones used in UMTS and GSM systems. The ME is the terminal which contains the hardware and software indispensable to perform the LTE functionalities. The USIM consists of a Universal Integrated Circuit Card (UICC), which contains all the information related to the user, the network and the supported services. The UEs can belong to different categories according to their capacities and specifications. Based on the category, when the UE connects to the network, the evolved Node B (eNB) selects the proper operating parameters (Guzzon, 2012; tutorialspoint.com, 2016).

2.2.2 THE EVOLVED UMTS TERRESTRIAL RADIO ACCESS NETWORK The E-UTRAN handles the communications between the User Equipment (UE) and the Evolved Packet Core (EPC). It is made of a single element, the so-called evolved Node B (eNB), which includes all those functionalities that were managed separately from the Node B and Radio Network Control (RNC) in UMTS systems. The eNBs are connected to each other by means of the X2 interface, which is mainly used during handover, i.e. to transfer a data session from one node to another, and each eNB is connected to the EPC through the S1 interface (Guzzon, 2012; tutorialspoint.com, 2016), as shown in Figure 2. The four main functions performed by the E-UTRAN are described in Table 4 (Guzzon, 2012). 6 Internship Final Report

Figure 2: Scheme of functioning of the E-UTRAN. Photo Credit: www.tutorialspoint.com, 2016a

FUNCTIONS DESCRIPTION Radio Resource Management System-level management of radio transmission features, such as radio resources, mobility, scheduling, interference and dynamic resources allocation Header Compression The compression of the headers of internet packets is fundamental, due to the limited capacity of wireless systems, in order to reduce the signaling traffic as much as possible Security All data transmitted are encrypted, user and network are authenticated and the integrity of the unit of information is checked Connectivity to the EPC Handling of the signaling messages towards the nodes of the EPC Table 4: The main functions performed by the LTE’s E-UTRAN.

2.2.3 THE EVOLVED PACKET CORE The EPC has the role of transferring the data towards the external packet networks. It is composed by several nodes, the more important being described in Table 5 (Guzzon, 2012) and outlined in Figure 3.

Martina Russitano Lanza 7

COMPONENTS DESCRIPTION Home Subscriber Server (HSS) It consists of a database containing all useful information to manage a mobile user. In particular:  The correspondence between the temporary identity assigned to the UE and the identity of the user itself  The QoS profile subscribed  The available Packet Data Networks (PDN)  The identity of the MME to which it is registered. The HSS includes also the Authentication Center (AuC) which generates the keys for encrypting data and reciprocally authenticating user and network. Serving Gateway (S-GW) It represents the interface node with the E-UTRAN and other 3GPP networks (i.e. UMTS/GPRS). It takes care of handling the mobility of a mobile terminal moving from a eNB to another. Moreover, it memorizes a UE’s packets in the idle state and manages packets’ download during the paging operations, necessary to reestablish a connection between UE and EPC. PDN Gateway (P-GW) It takes care of the allocation of IP addresses to the UEs and the management of the flows of information, based on the specific QoS and the information received by the Policy Control and Charging Rules Function (PCRF). Moreover, it acts like an interface with the external packet data networks (non 3GPP). Mobility Management Entity (MME) It is the main control node of the EPC. It handles the signaling between UE and EPC and takes care of the procedures of connection establishment for a terminal that connects to the network for the first time. It also tracks the position of the mobile terminal, manages the paging operations and assigns temporary identities to the UEs. Policy Control and Charging Rules Function It is the node responsible for the control of the (PCRF) QoS. It manages the assignment of data flows to the different classes and decides how the Policy Control Enforcement Function (PCEF), located in the P-GW, has to handle the data flows in a way of respecting the agreements subscribed with the users. Table 5: Some of the main nodes composing the EPC. 8 Internship Final Report

Figure 3: Outline of the EPC main nodes. Photo Credits: www.tutorialspoint.com, 2016

2.3 PHYSICAL LAYER The Physical Layer has been designed in order to be able to guarantee:  Scalable bandwidth from 1.25 to 20 MHz  Data-rate with variable peaks, relatively to the band itself: up to 100 Mbps in downlink and 75 Mbps in uplink for a 20 MHz band  Multi-antenna configuration in both reception and transmission  High mobility support: fully guaranteed for up to 15 km/h, with high performance from 15 to 120 km/h and still functional up to 350 km/h  High levels of quality of service  Reduced latencies: less than 100 ms to pass from an idle state to an active state, and inferior to 5 ms for small IP packets  High spectrum efficiency (the number of bit per second transmitted for each Hz used): three times higher than UMTS  Download data transfer speed up to 100 Mbps  Upload data transfer speed up to 50 Mbps  Support of at least 200 users per cell with over 5 MHz band allocation

To satisfy these requirements, LTE makes use of two different interfaces for downlink and uplink, both based on the division of an available band into a group of orthogonal subcarriers: the Orthogonal Frequency-Division Multiple Access (OFDMA) for the downlink and the Single Carrier Frequency Division Multiple Access (SC-FDMA) for the uplink (Guzzon, 2012). Martina Russitano Lanza 9

2.3.1 OFDMA MULTIPLAXING The OFDMA technique represents a multi-user evolution of the Orthogonal Frequency Division Multiplexing (OFDM) modulation. In the scheme of the OFDM modulation, the data flow to be transmitted is divided into N sub-flows, and each of them is modulated individually at the beginning. The modulation symbols are transmitted in parallel by means of a group of orthogonal subcarriers through a block of different Inverse Discrete Fourier Transforms (IDFTs). The orthogonality of the subcarriers not only allows the separation of the single flows in reception, but also guarantees higher robustness to interference phenomena between the flows themselves. Successively, the data blocks are reconverted into a serial flow, to which a cyclic prefix (CP) is assigned. The objective of the CP is to mitigate the effects of the intersymbol interference. In the OFDMA multiplexing, every user has a subgroup of the subcarriers assigned for a determined time interval. The referring scheme is the same as the OFDM, but now the subcarriers are no more assigned to different data blocks of the same user, but to different users instead. This allocation is not static in time, but it varies dynamically according to the users’ needs and the network status. One of the main disadvantages of this modulation is the high peak-to-average ratio (PAR), defined as the ratio between the peak factor and the root-mean-square value. A signal with a high PAR requires more powerful amplifier in order to be received correctly, thus increasing the costs of the receivers. For this reason, the multiplexing technique used in uplink is a modified version of the OFDMA, as it will be described in Sec. 2.3.2 (Guzzon, 2012; Durigon, 2011).

2.3.2 SC-FDMA MULTIPLEXING The SC-FDMA, used for the uplink, is very similar to the OFDMA. The available band into a series of orthogonal subcarriers, which, differently from the OFDMA, are transmitted in sequence instead of in parallel. This solution allows to reduce the fluctuations of the transmitted signal significantly, thus giving a lower PAR value compared to the OFDMA. However, the SC-FDMA signal is often affected by intersymbol interference, so equalization systems are required. While in OFDMA is subcarrier is modulated independently from the others, in SC-FDMA modulation the signal transmitted on the single subcarriers is a combination of all the symbols transmitted at the same time. The input flow (relative to a single user) is divided into blocks of length M, each one singularly modulated. The data are first mapped in the frequency domain by means of a Fast Fourier Transform (FFT) on M points, and successively brought back to the time domain in order to be transmitted on the channel by means of an Inverse Fast Fourier Transform (IFFT) calculated on N > M points. The overall result of this operation is the distribution of the information content on a wider frequency band (Guzzon, 2012; Durigon, 2011).

10 Internship Final Report

2.4 QUALITY OF SERVICE AND BEARERS The LTE provides connections with different QoSs to the users. A specific class of QoS is associated to each information flow, and the IP flow together with its class represents a bearer. Bearers can be divided into two main categories, based on the level of QoS they can provide and listed in Table 6 (Guzzon, 2012).

BEARERS CATEGORIES DESCRIPTION Minimum Guaranteed Bit Rate (GBR) These bearers have dedicated resources during the whole transmission duration. Therefore, they are dedicated to high priority information flows (e.g. VoiP). They can ensure high data rates, reduced delays and limited error rates. GBR guarantees a minimum bit rate by default, but in some cases it is possible to fix a Maximum Bit Rate (MBR). Non-GBR These bearers can be used for applications that do not necessarily require high bit rates (e.g. web browsing). No resources are allocated to these bearers. Table 6: The two main categories of Bearers.

Each bearer can be described by two parameters: the QoS Class Identifier (QCI) and Allocation and Retention Priority (ARP). Every QCI is characterized by a priority level, a delay and a maximum acceptable packet loss rate. There are nine possible standardized QCIs in LTE, which allow to make the traffic management uniform between different providers (see Table 7 (Guzzon, 2012)). The ARP parameter is used for the management of the access procedures in case of cell congestion and it affects the priority of the connections of various users. However, once the connection is set, this parameter has no influence on the way the network handles the associated information flow (Guzzon, 2012).

Martina Russitano Lanza 11

QCI RESOURCE TYPE PRIORITY PACKET DELAY PACKET ERROR EXAMPLE SERVICES BUDGET (ms) LOSS RATE 1 GBR 2 100 10-2 Coversational voice 2 GBR 4 150 10-3 Conversational video (live streaming) 3 GBR 5 300 10-6 Non-conversational video (buffered streaming) 4 GBR 3 50 10-3 Real-time gaming 5 Non- GBR 1 100 10-6 IMS signaling 6 Non- GBR 7 100 10-3 Voice, video (live streaming), interactive gaming 7 Non- GBR 6 300 10-6 Video (buffered streaming) 8 Non- GBR 8 300 10-6 TCP-based (e.g. e-mail or WWW), chat, p2p file sharing, progressive videos, etc. 9 Non- GBR 9 300 10-6 Table 7: The nine possible standardized QCIs in LTE.

12 Internship Final Report

3 THE HARDWARE

In order to satisfy the requirements of my project, I was provided with the instruments listed and described in Table 8. It is useful to note that some of the hardware was not available since the beginning of the project and has been purchased in later phases, according to the incoming needs.

HARDWARE DESCRIPTON PICTURE SolidRun HummingBoard-Edge See Sec. 3.1.2

Access Network Technology See Sec. 3.2.1 ANT30MO mini-PCIe LTE modem

Huawei E3276 USB LTE modem See Sec. 3.2.2

IIJmio SIM card A mobile nano SIM card with adapter, provided with an active 4G service plan

Mini-PCIe – USB adapters Used to connect the mini-PCIe modem to the Hummingboard through USB port, when needed

Antenna connector A very thin wire used to connect the antenna to the mini-PCIe modem Martina Russitano Lanza 13

Antenna It satisfies the modem’s requirements

Wi-Fi antenna Already mounted on the Hummingboard (used occasionally) Ethernet cable Indispensable to connect the Hummingboard to the internet and to remotely access to it from my laptop Power adapter A 15 V adapter, which satisfies the power requirements of the Hummingboard (see Sec. 3.1.2) HDMI cable Used to connect the Hummingboard to a monitor, when needed Monitor Used when accessing to the Hummingboard not remotely was needed Keyboard Used when accessing to the Hummingboard not remotely was needed Mouse Used when accessing to the Hummingboard not remotely was needed My laptop Provided with Windows 10 OS and an Ubuntu 16.04 virtual machine, it was mainly used to access remotely to the Hummingboard and to make researches Table 8: The hardware and equipment used for the project. Photo credits: Huawei Technologies Co. Ltd., 2016; Yahoo! Japan, 2016a

3.1 DEVELOPMENT BOARD

A development board is a compact, low-cost and handy computer which integrates high-level software and low-level electronics in order to develop several complex applications. It consists of a printed circuit board provided with a high‐performance microprocessor and can be customized by adding different components to perform a large number of tasks and expand its functionality. Most of the development boards can run operating systems, thus allowing to use open-source software libraries, applications and drivers which enable to manage several devices and perform many functions. 14 Internship Final Report

In other words, this small, but powerful device, can be modified and adapted to a large variety of applications, by combining the power of Linux and embedded systems. Robotics, 3D-printing, vending machines, onboard computers, are only a few examples of what can be done with a development board (Molloy, 2015).

3.1.1 MAIN FEATURES AND ADVANTAGES Development boards are ideal for creating projects that combine the power and freedom of Linux with an easy, direct access to electronics components and devices. The main characteristics of these platforms are listed in Table 9 (Molloy, 2015).

FEATURES/ADVANTAGES DESCRIPTION Powerful The processor can perform up to 2 billion instructions per second Low-cost The price goes from about 40 € to a maximum of 270 € (example: a complete Raspberry Pi 3 starter kit costs about 45 – 50 €) Suitable for several applications Many standard interfaces for electronics devices are supported Low power requirements They usually run between about 1 and 2.3 W Expandable/Open-hardware Daughterboards and other devices can be added Open-software support Several open-source applications and drivers can be used Table 9: Main features and advantages of the development boards.

One of the major advantages of the development boards is the possibility of using Linux . As previously mentioned, Linux not only gives free access to a series of open-source tools, thus providing support to several devices, but also allows to perform complex functions simply by means of command lines (Molloy, 2015; SolidRun, 2015).

3.1.2 THE HUMMINGBOARD-EDGE Among the different models of development boards, the Space Robotics Laboratory at Tohoku University makes wide use of the SolidRun HummingBoard, due to its high performance, reliability and features. The model that I used is called HummingBoard-Edge, and its specifications are listed in Table 10 (SolidRun, 2015).

Martina Russitano Lanza 15

FEATURES SPECIFICATIONS System-on-Module (SOM) i.MX6 based, single core Memory and storage Up to 4GB DDR3, uSD, eMMC (4GB), M.2 Connectivity 1xRJ-45, 4xUSB2.0, mini-PCIe with SIM card holder Media HDMI-Out, LVDS, Analog Audio, MIPI-CSI-2 and MIPI-DSI, Parallel Camera (on GPIO header) I/O Reset Button, 36 pins GPIO Header, RTC with Battery, IR Power 7 V – 36 V, 5.5 mm Dimensions 10.2 x 6.9 cm Software Linux (Debian Jessie) Price About 100 € Table 10: Specifications of the SolidRun HummingBoard-Edge.

Figure 4: SolidRun HummingBoard-Edge, front view. Photo Credits: SolidRun, 2016

16 Internship Final Report

Figure 5: SolidRun HummingBoard-Edge, back view. Photo Credits: SolidRun, 2016

3.2 LTE MODEM

The initial idea of the project envisaged to connect the HummingBoard to the internet by means of an LTE modem to be directly plugged to the board by means of the mini-PCIe port. The unit I used consisted of an Access Network Technology ANT30MO modem, together with an M.2-to-mini-PCIe adapter provided with a SIM card slot. However, due to the connectivity issues emerged during the project (widely discussed in Chap. 4), a second modem was purchased and tested. Differently from the ANT30MO, the Huawei E3276 is a USB modem. Both devices are described in detail in the next two sections.

Martina Russitano Lanza 17

3.2.1 ACCESS NETWORK TECHNOLOGY ANT30MO The main features of the ANT30MO module are listed on Table 11 (Yahoo! Japan, 2016b).

FEATURES SPECIFICATIONS Reception speed 100 Mbps Transmission speed 37.5 Mbps LTE Frequencies 800 (19), 1500 (21), 2100 (1) MHz Dimensions 7.9 x 5.9 x 0.4 cm (modem without adapter) Port M.2, but used with mini-PCIe adapter SIM card slot No, but added through the mini-PCIe adapter Integrated antenna No, external antenna added by means of a specific connector Table 11: Main features of the Access Network Technology ANT30MO LTE modem.

Figure 7: The ANT30MO LTE modem, front view. Photo Credits: Yahoo! Japan, 2016a

Figure 6: The HummingBoard and its antenna.

Figure 8: The ANT30MO LTE modem, back view. Photo Credits: Yahoo! Japan, 2016a

18 Internship Final Report

3.2.2 HUAWEI E3276 USB DONGLE This modem, tested only further in the project in order to try to solve the connectivity issues, at the end was poorly used due to its incompatibility with Japanese mobile providers, as it will be explained in Chap. 4. Its specifications are shown in Table 12 (Huawei, 2016).

FEATURES SPECIFICATIONS Speed  High-speed LTE FDD packet data service of up to 150/50 Mbps  High-speed LTE TDD packet data service of up to 112/10 Mbps Dimensions 9.2 x 3.2 x 1.4 cm Port USB SIM card slot Yes Integrated antenna Yes Table 12: Huawei E3276 USB dongle specifications.

Figure 9: The Huawei E3276 USB modem.

Martina Russitano Lanza 19

4 CONNECTING THE HUMMINGBOARD

The first step necessary to create a wireless communication system is, clearly, to connect the development board to the internet by means of an LTE modem device. For this purpose, the Access Network Technology ANT30MO mini PCIe modem has been installed on the HummingBoard, as mentioned in Chap. 3, and an LTE plan has been agreed with a mobile provider. As it will be discussed further in this chapter, the connection process has resulted more challenging than expected, and a series of trouble shooting procedures have been carried out.

4.1 HARDWARE FIRST SETUP AND OS INSTALLATION As previously described in Chap. 3, the main hardware component is a HummingBoard Edge. In order to be able to use it, an operating system (OS) had to be installed first. To do so, the following equipment was required:  A monitor  A keyboard  A mouse  A power adapter  A micro SD card with adapter  A laptop with a Ubuntu 16.04 virtual machine installed. Before connecting the HummingBoard to the monitor, following the instructions provided on the SolidRun official website, on my laptop, I downloaded the Ignition software’s ISO image file, necessary to install the OS on the micro SD and, consequently, the board. This image file was successively written into the micro SD, previously formatted, by means of the software named Win32 Disk Imager. At that point, the micro SD was inserted into the dedicated slot of the development board, which was connected to the above listed hardware afterwards. Once the HummingBoard was turned on, the Ignition software started and provided a list of recommended operating systems. Among all the options, I was suggested to choose Debian Jessie, a Linux distribution. After the installation process, Ignition is automatically removed and the board rebooted. As recommended for the first usage of the board, I updated and upgraded the system by means of the commands sudo apt-get update and sudo apt-get upgrade, where sudo stands for “super user do”, the super user being a user with administrator’s permissions.

4.2 REMOTE ACCESS Accessing the HummingBoard remotely from another computer by means of a terminal is often easier and time saving, as it prevents from plugging the board to all the hardware required to use it autonomously. Therefore, in most cases I used my laptop’s Ubuntu terminal to work on the 20 Internship Final Report

HummingBoard. To do so, two main steps were required, as it will be described in the next sub- sections.

4.2.1 SETTING THE STATIC IP When the HummingBoard is connected to the internet for the first time, by means of an Ethernet cable or Wi-Fi, a dynamic IP address is automatically assigned to it by the Internet Service Provider (ISP). This means that the ISP chooses a random available IP from a pool of addresses and assigns it to the board. However, this address is dynamic, meaning that it can change in time and that, after some weeks or months, the HummingBoard could be assigned to another IP. To prevent that and make things easier when one wants to access remotely to the board, it is useful to set a static IP address. To do so, we only need to edit the configuration file /etc/network/interfaces by adding the following strings: auto eth0 iface eth0 inet static address 192.168.11.212

This way, the IPv4 static address 192.168.11.212 will be assigned to the HummingBoard immediately after reboot, and we will be able to use the board remotely by accessing always to the same address.

4.2.2 THE SECURE SHELL Once the static IPv4 address is assigned to the board, we can easily access to it from another platform by means of a terminal. In my case, I used the Ubuntu 16.04 virtual machine installed in my laptop. After plugging the HummingBoard to the modem by means of an Ethernet cable and giving power to it through the adapter, we can first verify if it is connected by inputting the command ping 192.168.11.212 on the laptop terminal. This software utility tests the reachability of the board’s IP address. If everything is working, we should obtain a similar output: PING 192.168.11.212 (192.168.11.212) 56(84) bytes of data. From 192.168.10.1 icmp_seq=1 ttl=50 time=19.8 ms From 192.168.10.1 icmp_seq=2 ttl=50 time=18.0 ms…

Meaning that the HummingBoard is connected and responding to our verification request. In this case, we can login to the board from the laptop’s terminal by means of the Secure Shell (SSH), which creates a safe channel between the two devices across the network. The command line to use is: ssh [email protected]. Once the password is inserted, the channel is opened and we are able to use the HummingBoard from the laptop.

4.3 SIM CARD ACTIVATION In order to use the LTE modem, a mobile plan must be agreed with a provider and activated on the SIM. I used an IIJmio SIM card, which has NTT Docomo as a mobile provider, and the whole procedure was carried out online through the company’s website. Martina Russitano Lanza 21

Based on the website’s information, the mobile network has the Access Point Name (APN) settings listed in Table 13.

APN iijmio.jp Username mio@iij Password iij Authentication type PAP or CHAP Table 13: APN settings of the IIJmio SIM card.

4.4 ANT30MO MODEM CONFIGURATION In this Section, all the methods used to try to configure and connect the ANT20MO LTE modem will be described. In fact, even if the modem worked perfectly on a Windows 10 OS, as it was tested by means of a Mini-PCIe – USB adapter, it did not work well on the HummingBoard and it was not possible to connect it to the internet, even after several trouble shooting procedures.

4.4.1 CONNMAN The HummingBoard’s operating system is provided with a default network manager, named Connman. Connman allows the user to enable and disable connection services and hardware interfaces, and it consists of both a user interface, connman-curses, and a command line client, connmanctl. To give an example, if we want to enable the Wi-Fi interface for the first use, we can enter the connmanctl client (sudo connmanctl) and input the command described in Table 14 (Archlinux, 2016).

COMMANDS DESCRIPTION enable wifi It powers the wifi on scan wifi It scans nearby Wi-Fi networks services It lists all the available Access Points agent on It registers the agent to handle user requests connect wifi_... It connects to the chosen service names “wifi_...”, as listed after the command services Table 14: Commands used to activate and connect Wi-Fi through Connman.

However, I realized that Connman cannot be used to manage LTE connections. Therefore, after looking for some information online, I discovered that the software Sakis3G was widely used for setting up and connecting 3G and 4G modems.

22 Internship Final Report

4.4.2 SAKIS3G Sakis3G is a script developed by Sakis Dimopoulos to manage connections using 3G modems. Its installation consists of the steps listed on Table 15 (Disqus, 2016).

COMMANDS DESCRIPTION sudo apt-get install ppp Install ppp, an open source package which implements the Point-to-Point Protocol (PPP) on Linux OS (Canonical Ltd., 2016a). sudo wget "http://www.sakis3g.com/downloads/sakis3g.tar.gz" Download Sakis3G -O sakis3g.tar.gz sudo tar -xzvf sakis3g.tar.gz Unzip the downloaded file sudo chmod +x sakis3g Make the file executable ./sakis3g --interactive Launch Sakis3G Table 15: Commands used to install Sakis3G.

Once Sakis3G is launched in interactive mode, it is possible to choose among different options, according to the modem type, and set the connection’s APN. However, when I tried to connect the ANT30MO, even if the device was recognized by Sakis3G as a modem, the setup phase failed at “Locating tty”, the tty being the drivers of serial port style devices, such as USB (Corbet et al., 2005). After checking the drivers’ list in the /dev/ directory, I realized that the ANT30MO modem worked with another type of driver, named cdc-wdm0, which represent a sub- category of the so called cdc_mbim drivers, characteristic of mobile broadband modems (Linux Kernel Organization, Inc., 2014). In fact, the command dmesg, which prints the messages produced by the device drivers, returns the message: cdc_mbim 1-1.2:2.0 cdc-wdm0: USB WDM Device cdc_mbim 1-1.2:2.0 wwan0: register 'cdc_mbim' at usb-bcm2708_usb-1.2, CDC_MBIM, [hw address] For this reason, I did not manage to use Sakis3G, as this script works only with modems characterized by tty-type drivers or Bluetooth devices. Martina Russitano Lanza 23

Figure 10: Sakis3G user interface, main page.

Figure 11: Sakis3G user interface, 3G modem menu.

24 Internship Final Report

4.4.3 PPP AND /ETC/NETWORK/INTERFACES Given the impossibility of using Sakis3G, after looking for some information online, I decided to try a new method, based on the use of the ppp package and editing of the /etc/network/interfaces configuration file. This procedure was widely described on Wiki Debian (Torracca, 2015a) and consists of the following steps: 1. Install the packages netbase, ifupdown and ppp: sudo apt-get install netbase ifupdown ppp. 2. Using a text editor (e.g. nano), create a file /etc/ppp/peers/gprs with the following content: user "mio@iij" password “iij” connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs -T iijmio.jp" /dev/cdc-wdm0 noipdefault defaultroute replacedefaultroute hide-password #lcp-echo-interval 30 #lcp-echo-failure 4 noauth persist #mtu 1492 #maxfail 0 #holdoff 20 usepeerdns #Optional, make it always appear as ppp2: #unit 2 Where username, password and APN are the ones listed on Section 4.3. 3. Edit /etc/ppp/chap-secrets and add at the end: "mio@iij" * "iij". 4. Edit /etc/ppp/pap-secrets and add at the end: "mio@iij" * "iij". 5. Edit /etc/network/interfaces and add: auto gprs iface gprs inet ppp provider gprs

Once all the steps have been done, technically the connection should be working at boot or can be started by means of the command ifup gprs. However, this method did not produce any good result in my case, probably because it can be used only with serial-type modem (LinuxQuestions.org, 2015), i.e. provided with tty drivers, as for Sakis3G. For this reason, I tried to use Wvdial, as it will be discussed in the next Section.

4.4.4 WDVIAL Wvdial is a smart dialer for internet connection management (Canonical Ltd., 2016b). Once the dialer has been installed (sudo apt-get install wvdial), the only thing to do is to create its configuration file, /etc/wdvial.conf, by adding to the file’s content the following lines (Canonical Ltd., 2016b; The Fan Club, 2013): Martina Russitano Lanza 25

[Dialer 3gconnect] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","iijmio.jp" Stupid Mode = 1 Modem Type = Analog Modem ISDN = 0 Phone = *99# Modem = /dev/cdc-wdm0 Username = mio@iij Password = iij Baud = 460800

Once the configuration file has been created, Wvdial can be launched by using the command line sudo wvdial, which starts the connection. However, when I tried to launch the program, it gave me the error: “Cannot open /dev/cdc-wdm0: Inappropriate ioctl for device”. After making research, I discovered that this was a consequence of the fact, again, that the modem I was using was not serial-type, as it happened with Sakis3G and ppp (ModeSwitchForum, 2014). Therefore, Wvdial is not able to make it work. Based on the information found later online, it is recommended to use either Network Manager or Libmbim for mobile broadband non-serial devices.

4.4.5 NETWORK MANAGER AND MODEMMANAGER Network Manager is a software for networks’ detection and configuration (Torracca, 2015b). The easiest way to use it is by means of a command line tool, nmcli, which allows to manage network connections and control their status (The GNOME Project, 2014). After inputting some basic commands, listed in Table 16, I finally managed to connect the LTE modem.

COMMANDS DESCRIPTION nmcli device status Shows the status of all networking devices nmcli connection show Lists all available connections nmcli connection up “martina” ifname cdc-wdm0 Activates the connection profile with name "martina" on interface cdc-wdm0 nmcli radio wwan Shows WWAN (mobile broadband) status nmcli device connect cdc-wdm0 Connects the cdc-wdm0 device, by trying to find a suitable connection nmcli connection add type gsm con-name Creates the GSM connection profile “martina” martina ifname cdc-wdm0 on interface cdc-wdm0 nmcli networking connectivity Gets network connectivity status Table 16: Some basic commands of Network Manager.

26 Internship Final Report

Figure 12: The output of the nmcli device status command, showing that the LTE modem is connected.

However, even if Network Manager shows that the modem is connected, for some reasons there is no internet access. In fact, when I try to test the reachability of any IP with ping, I obtain the output “Destination Host Unreachable”. Also, the command , used for checking the connectivity, shows no connection for the WWAN interface, i.e.: wwan0 Link encap:Ethernet HWaddr ba:1b:6c:0d:8b:b4 inet6 addr: fe80::b81b:6cff:fe0d:8bb4/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:720 (720.0 B)

At that point, I tried to use ModemManager, a daemon able to communicate with several types of modems which can be used by means of a command line, mmcli, (Williams and Morgado, 2016). The main commands used are listed in Table 17 (Russel, 2012).

Martina Russitano Lanza 27

COMMANDS DESCRIPTION mmcli -L Lists all the available modem devices mmcli -m 0 Shows the status of the modem with index number “0” mmcli -m 0 --enable Enable the modem with index number “0” mmcli -m 0 --simple-connect=”apn=iijmio.jp, Connect the modem with index number “0” to user=mio@iij, password=iij, ip-type=ipv4” the bearer characterized by APN, username and password specified and IPv4 Table 17: Some basic commands of ModemManager.

Despite the fact that ModemManager gave “Successfully connected the modem” as an output of the simple-connect command, as well as the following modem status: /org/freedesktop/ModemManager1/Modem/0 (device id '99353e3b60b8eef0b89b94dc18a5dd70028cf3af') ------Hardware | manufacturer: 'Generic' | model: 'MBIM [2948:0103]' | revision: 'V08R59A' | supported: 'gsm-umts, lte' | current: 'gsm-umts, lte' | equipment id: '359052051039350' ------System | device: '/sys/devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2/2-1/2-1.3' | drivers: 'cdc_mbim' | plugin: 'Generic' | primary port: 'cdc-wdm0' | ports: 'cdc-wdm0 (mbim), wwan0 (net)' ------Numbers | own : '07041602051' ------Status | lock: 'none' | unlock retries: 'sim-pin2 (3)' | state: 'connected' | power state: 'on' | access tech: 'lte' | signal quality: '19' (recent) ------Modes | supported: 'allowed: 3g, 4g; preferred: none' | current: 'allowed: 3g, 4g; preferred: none' ------Bands | supported: 'unknown' | current: 'unknown' ------IP | supported: 'ipv4, ipv6, ipv4v6' ------28 Internship Final Report

3GPP | imei: '359052051039350' | enabled locks: 'fixed-dialing' | operator id: '44010' | operator name: 'NTT DOCOMO' | subscription: 'unknown' | registration: 'home' ------SIM | path: '/org/freedesktop/ModemManager1/SIM/0'

------Bearers | paths: '/org/freedesktop/ModemManager1/Bearer/0'

The modem was not really connected, as there was no actual internet access. In fact, the output of ifconfig showed, again, that no IPv4 was assigned to the WWAN modem device. So I tried to dynamically assign an IP address to the wwan0 device, using the command string dhclient wwan0 (Computer Hope, 2016), but the process timed out without any result after a while. Similarly, nothing changed when I edited /etc/network/interfaces, by adding (ModeSwitchForum, 2013; Howell, 2013): allow-hotplug wwan0 iface wwan0 inet dhcp wwan_apn "iijmio.jp" wwan_user "mio@iij" wwan_pw "iij" # enable script debugging wwan_debug 1

After doing further research online, I decided to try the only remaining method for connecting the ANT30MO LTE modem: the Libmbim library.

4.4.6 LIBMBIM The Libmbim package contains a library which is able to interact with WWAN modem devices based on the Mobile Interface Broadband Model (MBIM) protocol (Beyond Linux, 2016), specifically designed for high speed mobile broadband modem devices (Morgado, 2013a). Libmbim makes use of two utilities to launch a connection: mbimcli, a command line, and mbim-network, a helper script (Beyond Linux, 2016; Morgado, 2013b). To install Libmbim we need to follow the steps below (Beyond Linux, 2016): 1. Download Libmbim: sudo wget http://www.freedesktop.org/software/libmbim/libmbim- 1.14.0.tar.xz 2. Unzip the file: tar -xvf libmbim-1.14.0.tar.xz 3. Move to the new Libmbim directory: cd libmbim-1.14.0 4. Run the following commands to install Libmbim: ./configure --prefix=/usr --disable-static make sudo make install Martina Russitano Lanza 29

Once the library is installed, we can use the commands listed in Table 18 to connect the modem by means of the command line utility and the helper script respectively (Morgado, 2015a; b, 2014, 2013a; b).

COMMANDS DESCRIPTION mbimcli -d /dev/cdc-wdm0 --connect=”apn=iijmio.jp, It connects the modem in the path username=mio@iij, password=iij” /dev/cdc-wdm0 through the command line utility mbimcli. mbim-network /dev/cdc-wdm0 start It can be used after creating the configuration file /etc/mbim-network.conf, which should contain the following lines: APN=iijmio.jp APN_USER=mio@iij APN_PASS=iij PROXY=yes

Once the command is launched, the modem in the path /dev/cdc-wdm0 is connected. A DHCP client should be run afterwards in order to associate a dynamic IP to the WWAN interface. Table 18: Some basic commands of Libmbim.

Despite the fact that both commands reported a successful activation and connection of the modem, there was no actual internet connection, as it could be proven by using the command ping. Once again, the problem seemed to be related to the absence of an IPv4 assigned to the LTE modem, and neither dhclient or editing /etc/network/interfaces gave any satisfying result, as in the case of ModemManager. Nonetheless, the output of ifconfig provided a certain value for the WWAN interface’s TX (transmission) buffer, but a null value for the RX (reception) buffer. This means that, for some reasons, the modem did not manage to receive enough signal to get connected. Due to the impossibility of establishing a real connection, several trouble shooting methods have been tested to try to make the ANT30MO modem, as it will be discussed in the next Section. At the same time, another modem device was tested, yet unfortunately with no good results, as we will see in Section 4.5.

4.4.7 OTHER TROUBLE SHOOTING PROCEDURES In light of the fact that all the software tools and packages tested failed in connecting the ANT30MO modem properly, I tried also different kinds of approach, in order to verify the correct functioning of the modem and the independency of the connection problem from the particular OS version or Kernel used. In addition, some requests of support were sent to try and solve the modem’s issues. These methods, as well as the results obtained, are listed and described in Table 19. 30 Internship Final Report

METHODS DESCRIPTION RESULTS Test the modem As it was natural to suspect that the The modem auto-installed after on Windows modem was not working properly, I used plugging it to the USB port and, a mini-PCIe – USB adapter to test the after some easy configuration modem on my Windows 10 laptop. steps, it was perfectly connected to the internet. Connect the I tried to see if the drivers assigned to the Nothing changed: the modem is still modem to the modem were related to the port used recognized as a cdc_mbim device, HummingBoard (mini-PCIe or USB) and if, by plugging the with cdc-wdm0 driver instead of by means of a USB modem through USB, the tty drivers tty. adapter were produced. Try the modem on Having the Raspberry Pi a slightly I encountered the same problems a Raspberry Pi different OS (Rasbian), I tried to see if I on the Raspberry Pi. could make the modem work on a different board. Change OS Both Rasbian and the desktop version of The modem did not connect to the Debian Jessie were installed on the internet in any OS tried. Hummingboard, in order to see if the choice could somehow affect the modem’s functioning. Update Kernel Several versions of Kernel were tested, None of the Kernel’s versions and all the modem devices properties changed the result. enabled. Ask for support I worked side by side with Dr. John None of the procedures tested with Walker, Engineering Manager of Ispace Dr. John Walker and Dr. Toshiro and ISU ex-alumnus, and followed the Shimizu gave good results and we advice of Dr. Toshiro Shimizu, Software did not manage to understand the Engineer of the Hakuto team. At the reason why the modem is not same time, I posted some requests of connecting. Also, I did not receive help on some dedicated forums (Debian any reply to my requests of support User Forums, 2016). posted on some forums. Table 19: Trouble shooting methods used.

As it can be assumed from the Table, unfortunately no solution was found, and even after being helped by some experts I did not manage to find a reason why the device could not be properly connected.

4.5 HUAWEI E3276 MODEM CONFIGURATION Due to the lack of success in connecting the ANT30MO mini-PCIe modem, I decided to try to use a USB device, as connecting a serial-type modem is, apparently, simpler. Among all the possible options, I chose the one that, according to the information found online, seemed to be one of the most user- friendly, as well as the one with highest compatibility with Asian mobile providers, i.e. the Huawei E3276 (Trick77, 2015; Harms, 2015). Martina Russitano Lanza 31

However, when I tried the device on my laptop with Windows 10 OS, even after its auto-installation, it did not manage to connect, as the network signal dropped continuously. After discussing this result with Dr. John Walker, we both agreed that the only possible explanations for this to happen were: 1. The modem is damaged 2. The modem is not compatible with Japanese mobile network providers. The second option being more plausible than the first, as the modem was, at least, recognized and installed by the system. Consequently, it was not possible to test it properly on the HummingBoard.

Figure 13: The Huawei online modem manager on Windows 10, showing that there is no service available.

4.6 CONCLUSIONS Despite the lack of success in finalizing my communication system, due to the several issues encountered, it is undeniable that the experience gained during my internship has deeply enriched my cultural background, allowing me to learn a lot about LTE communication systems, as well as development boards’ programming on Linux operating systems. Therefore, I am confident that, using the right devices, I would now be able to successfully create a communication system for swarm intelligent robots, as well as to program a Hummingboard or similar development boards to perform other kinds of functions. In fact, after acquainting myself with my research online, I have clear ideas about what would need to be done after managing to connect the development board by means of a mobile LTE modem, and this will be described in the next chapter.

32 Internship Final Report

5 REMOTE CONTROL OF THE HUMMINGBOARD CONNECTED WITH A LTE MODEM

In this chapter, I will describe the method that I would have used to access remotely to the HummingBoard if I would have managed to connect the LTE modem successfully. This method consists in building a so called reverse tunnel between the board and another computer or platform, e.g. a laptop, by means of the well-known command string ssh.

5.1 THE REVERSE SSH TUNNEL When we think about a way to control a development board remotely from another device when it is connected with a LTE modem, what may immediately come to our mind is to simply use the Secure Shell command, ssh, as illustrated in Section 4.2.2. However, the connection established by means of the LTE modem is, in most cases, protected by firewall, and consequently all the incoming traffic of data is blocked, thus impeding to access the board. In this case, we can make use of the reverse tunneling from the board to a SSH server on the web, i.e. another computer device connected to the internet and provided with a static IP. Thanks to this method, once the tunnel is built up, we only need to ssh from the computer’s server to the forwarded port 22 onto localhost (Zihlmann, 2014b), the port 22 being the one used from ssh for secure login, file transfer and port forwarding (Wikipedia, 2016a).

5.2 SYSTEM REQUIREMENTS In order to be able to create a reverse tunnel, we need to satisfy the following requirements (Zihlmann, 2014b):  The HummingBoard should be connected to the internet by means of a LTE modem  The Hummingboard should have a Linux OS installed, provided with ssh  The second device (e.g. laptop) should have a Linux OS installed and be reachable by ssh from the internet  The second device should have a static IP address.

5.3 BUILDING UP THE REVERSE TUNNEL To build up a reverse tunnel from the HummingBoard to the laptop, we only need to input on the HummingBoard terminal the command line: ssh -N -R 9091:localhost:22 user@server_IP Where user and server_IP are both referred to the laptop, -R is used to force a reverse tunnel and -N indicates that no commands will be actually executed once the connection is established. If everything works well, the user’s password will be requested. Once this first step has been performed, we only need to type on the laptop’s terminal: ssh -p 9091 debian@localhost Where debian is the common username of a HummingBoard provided with a Debian OS and 9091 is the port number, arbitrarily selected among the unused ones. Martina Russitano Lanza 33

At this point, the HummingBoard’s password is requested and we are finally able to control the board from our laptop (Zihlmann, 2014b).

Figure 14: Diagram showing the functioning of the Reverse SSH Tunnel. Photo Credits: Zihlmann, 2014a

34 Internship Final Report

6 TESP 2016

Among all the activities done during this internship, the Tohoku University Engineering Summer Program (TESP) was probably one of the most exciting. Being part of this program was a great experience not only from the cultural and intercultural point of view, by enriching my background and giving me a broader view of the different branches of robotics, but it also gave me the chance to meet great people and enjoy Japanese traditions.

6.1 MAIN ACTIVITIES

Taking place at Tohoku University Aobayama Campus from 25th July to 5th August 2016, the TESP 2016 two-week program provided a series of lectures and hands-on activities on advanced topics of robotics engineering, as well as various activities that expose the participants to Japanese culture. The lectures were facilitated by Prof. Kazuya Yoshida, Prof. Satoshi Tadokoro, Prof. Takayuki Okatani, Prof. Satoshi Murata, Prof. Kazuhiro Kosuge, Prof. Yasuhisa Hirata, Prof. Yoichi Haga, Assoc. Prof. Keiji Nagatani, Assoc. Prof. Masashi Konyo, Prof. Koichi Hashimoto and Assoc. Prof. Shingo Kagami, all important personalities in the field of robotics. The following topics were covered:  Disaster Robotics  Space Robotics  Computer Vision  Molecular Robotics  Robotics as System Integration  Robotics for Human Assistance  Medical and Health Care Applications of Microsystem Technologies  Field Robotics  Haptic Interfaces  Micro-satellites and Micro-rovers  Visual Servo and its Application in Robotics  Cameras and Image Sensors The cultural and intercultural activities included in the program consisted in:  A field trip to Yamagata area, including a visit to the Nikka whisky distillery, a Mogami river boat ride and a cultural experience consisting of painting shogi wooden pieces.  Kimono dressing and tea ceremony  Japanese dinners at traditional restaurants with Prof. Yoshida, the Space Robotics Lab. team and the TESP participants.

6.2 CONCLUSIONS Despite the fact that I was not be able to join the afternoon hands-on activities because of my commitment with my internship project, indeed the morning lectures provided me an invaluable material of knowledge which definitely enriched my cultural background. Finally, yet importantly, I had the chance to deep into Japanese culture and share awesome moments with people from all around the world. Indeed, joining the TESP 2016 was a real “3Is” experience that made my stay in Japan even more valuable and that I would gladly repeat. Martina Russitano Lanza 35

Figure 15: Group photo with Prof. Yoshida, some colleagues of the Space Robotics Lab. and some new friends from TESP.

Figure 16: Traditional painting on shogi pieces at Tendo Tower, Yamagata.

Figure 18: Green tea preparation at the Tea Ceremony.

Figure 17: Kimono dressing. Figure 19: Tea Ceremony. 36 Internship Final Report

7 CONCLUSIONS AND RECOMMENDATIONS

The following section contains detailed project conclusions and recommendations based on the original objectives of the project and the results obtained during the hands-on phase.

7.1 CONCLUSIONS Due to the lack of success when trying to connect the modem, it is evident that it was not possible to accomplish the initial project’s objectives, which envisaged the development of a fully working wireless communication system based on the LTE technology. Nonetheless, thanks to attentive literature review and online research, it was possible to understand the next steps to follow in order to get to that product, as it was detailed in Chapter 5. At the same time, despite of the many problems ecountered, the whole trouble shooting process allowed me to learn a lot about robots’ hardware and software, development boards and communication systems, and it raised considerably my expertise in Linux usage and programming. Moreover, I had the chance to learn the engineeristic approach to problems and case studies, characterized by a sequence of research, testing and problem-solving procedures aimed at “making things work”. Also, based on the information found in several websites and dedicated forums, using serial-type modems, provided with tty drivers, seems to be a lot simpler. In fact, there is a considerably large number of dialers and softwares that can be used to connect this type of devices (Sakis3G, Wvdial, etc.), whereas only a few solutions are able to support MBIM devices. However, as it was observed, Japanese networks are subjected to severe restrictions for security reasons, hence not all dongle modems support them. This is, in fact, what probably happened with the Huawei E3276 USB modem, which was purchased with the idea of solving the connection problems, but proved to be useless because of its incompatibility with the Japanes NTT Docomo SIM card.

7.2 RECOMMENDATIONS Based on the results obtained during the project and the subsequent conclusions derived, some recommendations for future works in the field of wireless communication systems for robotics applications have been produced. Also, some important lessons were learned from the whole project’s outcomes. More specifically, it is now assumed that: 1. A Literature Review of related works and subjects relevant to the background of the project is fundamental, in order to learn all the useful concepts and procedures, to prevent from failure, save time and ensure better outcomes. In the case of this project, all the research conducted helped justifying or explaining the reasons of some negative results, as well as to understand how to use some specific programs and learn several trouble shooting methods. 2. It is important to ask for advices to experts of the field and cooperate with them as much as possible, as their expertise can be crucial to solve problems. 3. Serial-type modems should be preferred to MBIM devices for connecting development boards with Linux OS, as tty drivers are supported by several softwares, differently from cdc_mbim drivers. Martina Russitano Lanza 37

4. When looking for information about various methods and procedures to be used on a development board, it is easier to find sources concerning the Raspberry Pi than other kinds of boards, such as the HummingBoard. As there are not so many differences between boards of distinct brands, it is recommended to type “raspberry pi” instead of, for example, “hummingboard” in the online research bar in order to obtain more results. 5. It is fundamental to verify the compatibility on the modem device with the local mobile services providers, due to possible licence restrictions.

38 Internship Final Report

8 BIBLIOGRAPHY

Archlinux, 2016. Connman - ArchWiki. [online] ArchWiki. Available at: [Accessed 16 Aug. 2016].

Beyond Linux, 2016. libmbim-1.14.0. [online] www.linuxfromscratch.org. Available at: [Accessed 18 Aug. 2016].

Canonical Ltd., 2016a. ppp package in Ubuntu. [online] www.launchpad.net. Available at: [Accessed 17 Aug. 2016].

Canonical Ltd., 2016b. Wvdial. [online] www.wiki.ubuntu-it.org. Available at: [Accessed 17 Aug. 2016].

Computer Hope, 2016. Linux and dhclient command help and examples. [online] www.computerhope.com. Available at: [Accessed 17 Aug. 2016].

Corbet, J., Rubini, A. and Kroah-Hartman, G., 2005. Linux Device Drivers. Third Edition ed. [online] O’Reilly Media. Available at: .

Debian User Forums, 2016. Problems with USB LTE modem connection. [online] www.forums.debian.net. Available at: [Accessed 18 Aug. 2016].

Disqus, 2016. Sakis3g | Script for 3G modems. [online] www.sakis3g.com. Available at: [Accessed 16 Aug. 2016].

Durigon, A., 2011. Studio della tecnologia LTE. [online] Available at: [Accessed 8 Aug. 2016].

Gompa, N., 2015. ExtremeTech explains: What is LTE? [online] ExtremeTech. Available at: [Accessed 8 Aug. 2016].

Guzzon, E., 2012. Long Term Evolution. Appunti per il corso di Telecomunicazioni Wireless. [online] Roma, p.17. Available at: .

Harms, K., 2015. Tutorial for setting up Huawei E3276 4G/LTE Wireless Modem with Debian Linux and Raspberry Pi. Kurtis Harms - Engineer, Technology Enthusiast, Traveller, Cyclist and Life-Long Learner. Available at: [Accessed 18 Aug. 2016].

Howell, G., 2013. How To connect a Raspberry Pi to a 3G network. [online] Gareth Howell. Available at: [Accessed 17 Aug. 2016]. Martina Russitano Lanza 39

Huawei, 2016. E3276-Specifications-Data Card - Huawei Consumer BG. [online] www.consumer.huawei.com. Available at: [Accessed 9 Aug. 2016].

Huawei Technologies Co. Ltd., 2016. Huawei E3276. [Picture] Available at: .

Linux Kernel Organization, Inc., 2014. cdc_mbim - Driver for CDC MBIM Mobile Broadband modems. [online] www.kernel.org. Available at: [Accessed 17 Aug. 2016].

LinuxQuestions.org, 2015. Help using 3G USB dongle through WWAN interface rather than PPP. [online] www.linuxquestions.org. Available at: [Accessed 17 Aug. 2016].

ModeSwitchForum, 2013. USB_ModeSwitch - huawei E398 / Telekom Speedstick LTE /Vodafone K5005. [online] www.draisberghof.de. Available at: [Accessed 17 Aug. 2016].

ModeSwitchForum, 2014. USB_ModeSwitch - Huawei :1f16 K5150 Raspberry Pi 3G cdc-wdm wwan0 no tty. [online] www.draisberghof.de. Available at: [Accessed 17 Aug. 2016].

Molloy, D., 2015. Exploring BeagleBone: tools and techniques for building with embedded Linux. Indianapoli, IN: John Wiley & Sons.

Morgado, A., 2013a. An introduction to libmbim. SIGQUIT. Available at: [Accessed 18 Aug. 2016].

Morgado, A., 2013b. libmbim 1.0.0 released! SIGQUIT. Available at: [Accessed 18 Aug. 2016].

Morgado, A., 2014. LTE in your Linux based system. [online] Available at: .

Morgado, A., 2015a. mbimcli. [online] www.freedesktop.org. Available at: [Accessed 18 Aug. 2016].

Morgado, A., 2015b. mbim-network. [online] www.freedesktop.org. Available at: [Accessed 18 Aug. 2016].

Russel, M., 2012. mmcli. [online] www.freedesktop.org. Available at: [Accessed 17 Aug. 2016]. 40 Internship Final Report

SolidRun, 2015. SolidRun’s HummingBoard family: SR-HummingBoard-MX6. Available at: .

SolidRun, 2016. HummingBoard-Edge. [Picture] Available at: .

The Fan Club, 2013. How to setup a USB 3G Modem on Raspberry PI using usb_modeswitch and wvdial. [online] www.thefanclub.co.za. Available at: [Accessed 17 Aug. 2016].

The GNOME Project, 2014. nmcli: NetworkManager Reference Manual. [online] www.developer..org. Available at: [Accessed 17 Aug. 2016].

Torracca, B., 2015a. Modem 3G - Debian Wiki. [online] www.wiki.debian.org. Available at: [Accessed 17 Aug. 2016].

Torracca, B., 2015b. NetworkManager. [online] www.wiki.debian.org. Available at: [Accessed 17 Aug. 2016].

Trick77, 2015. Setting up a Huawei E3276-150 4G/LTE USB modem on Ubuntu Server/Desktop. [online] www.trick77.com. Available at: [Accessed 18 Aug. 2016]. tutorialspoint.com, 2016. LTE Overview. [online] www.tutorialspoint.com. Available at: [Accessed 8 Aug. 2016].

Wikipedia, 2016a. Lista di porte standard. In: Wikipedia. [online] Available at: [Accessed 18 Aug. 2016].

Wikipedia, 2016b. LTE frequency bands. In: Wikipedia, the free encyclopedia. [online] Available at: [Accessed 11 Aug. 2016].

Williams, D. and Morgado, A., 2016. ModemManager Reference Manual. [online] www.freedesktop.org. Available at: [Accessed 17 Aug. 2016]. www.tutorialspoint.com, 2016a. The E-UTRAN. [Picture] Available at: . www.tutorialspoint.com, 2016b. The Evolved Packet Core (EPC). [Picture] Available at: .

Yahoo! Japan, 2016a. ANT30MO. [Picture] Available at: . Martina Russitano Lanza 41

Yahoo! Japan, 2016b. ANT30MO 4G LTE M.2 wirelessWAN card Docomo MVNO sim correspondence. [Auctions website] www.yahoo.aleado.com. Available at: [Accessed 9 Aug. 2016].

Zihlmann, S., 2014a. Reverse SSH Tunnel scheme. [Picture] Available at: .

Zihlmann, S., 2014b. SSH to your Raspberry Pi behind a 3G USB stick modem. [online] www.thirdway.ch. Available at: [Accessed 18 Aug. 2016].