== !AmariSoft LTE == [[Include(Documentation/Short/Prereq)]] === Imaging === The image used for this experiment is 'baseline.ndz'. In this tutorial we will use nodes equipped with Netgear AC341u LTE dongles. The basestation is Amarisoft running on Bsc03out. During a normal experiment using OMF, the following actions are scripted and automated. This is a look at the steps involved in something as simple as starting an LTE connection behind the scenes. You will run the following commands on node7-1, node1-7, and node19-3 in the Grid. After connecting to the grid console: 1. {{{ omf load -i baseline.ndz -t node7-1.grid.orbit-lab.org }}} 1. {{{ omf tell -a on -t node7-1.grid.orbit-lab.org }}} 1. It will take roughly 60 seconds to come up. 1. {{{ ssh root@node7-1.grid.orbit-lab.org }}} === Commands on the node === ==== Loading the driver ==== By Default Orbit nodes do not configure any wireless devices so the first thing, when manually configuring the device is to load the drivers; the following 2 lines will load the Sierra wireless Netgear LTE dongle:[[BR]] {{{ modprobe GobiSerial modprobe GobiNet }}} ==== Connecting to the device ==== Control of the device is done over the serial port that is created by the driver (in this case '''/dev/ttyUSB1''') through a sequence of AT commands and you can use your favorite serial port communication program to talk to it; in this tutorial we will use '''Minicom''. To start to program execute: {{{ minicom -D /dev/ttyUSB1 }}} ==== Managing the LTE connection ==== Once in minicom, one can issue series of commands to the LTE modem typically consisting of: a.) Configure modem for pass-through mode: {{{ AT!ippassthrough? }}} It should return '''1''' . If it does not, run the following commands: 1. {{{ AT!ippassthrough=1 }}} 1. {{{ AT!entercnd="A710" }}} 1. {{{ AT!dxcfg=profile,Autoconnect,Never }}} 1. {{{ AT!reset }}} which will reset the modem. b.) {{{ AT!entercnd="A710" }}} You should see {{{ OK }}} c.) Connect to the basestation: {{{ AT!dxcfg=wwan,connect,11 }}} You should see {{{ OK }}} shortly followed by {{{ $QCRMCALL: 1, V4 }}} d.) Check the status of the connection: {{{ at!gstatus? }}} Will return a status like: {{{ at!gstatus? !GSTATUS: Current Time: 10049 Temperature: 42 Bootup Time: 0 Mode: ONLINE System mode: LTE PS state: Attached LTE band: B25 LTE bw: 10 MHz LTE Rx chan: 8365 LTE Tx chan: 26365 EMM state: Registered Normal Service RRC state: RRC Connected IMS reg state: No Srv RSSI (dBm): -83 Tx Power: 0 RSRP (dBm): -117 TAC: 0001 (1) RSRQ (dB): -10 Cell ID: 01A2D001 (27447297) SINR (dB): 1.6 }}} The LTE link is established. Exit Minicom by **PRESSING** {{{ Ctrl+A followed by x}}}, then {{{enter}}} to select '''OK''' option. ==== Testing the connection ==== Once the modem is connected, IP address has to be assigned to the newly created Ethernet device (in this case '''eth2'''): {{{ dhcpcd eth2 }}} The node should get an address in the 192.168.3.0/24 subnet (any existing dhcpd instance on eth2 has to be killed). Use ICMP to test connectivity with the default gateway: {{{ ping 192.168.3.1 }}} resulting in: {{{ root@node1-7:~# ping 192.168.3.1 PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data. 64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=44.9 ms 64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=42.8 ms }}} The ping can be canceled with {{{Ctrl+C}}}. More elaborate link performance test can be done by using '''iperf''' between multiple nodes that are connected to the basestation. ==== Reconnecting the client ==== Use minicom (or any other serial port program) to issue a set of AT commands to reset the connection. Commands are: {{{ AT!reset }}} (NOTE: after the AT!reset command the minicom will display the popup window that the connection was lost- one has to wait for the pop-up to go away before proceeding) {{{ AT!entercnd="A710" AT!dxcfg=wwan,connect,11 }}} The output should look like: {{{ root@node1-7:~# minicom -D /dev/ttyUSB1 Welcome to minicom 2.7 OPTIONS: I18n Compiled on Jan 1 2014, 17:13:19. Port /dev/ttyUSB1, 06:02:02 Press CTRL-A Z for help on special keys AT OK AT!reset OK AT!entercnd="A710" OK AT!dxcfg=wwan,connect,11 OK $QCRMCALL: 1, V4 at!gstatus? !GSTATUS: Current Time: 58 Temperature: 28 Bootup Time: 6 Mode: ONLINE System mode: LTE PS state: Attached LTE band: B25 LTE bw: 10 MHz LTE Rx chan: 8365 LTE Tx chan: 26365 EMM state: Registered Normal Service RRC state: RRC Connected IMS reg state: No Srv RSSI (dBm): -69 Tx Power: -33 RSRP (dBm): -90 TAC: 0001 (1) RSRQ (dB): -5 Cell ID: 01A2D001 (27447297) SINR (dB): 21.2 OK }}} Once connection is reset, dhcp lease needs to be renewed; if there is already dhcpd session it needs to be terminated: {{{ root@node1-7:~# dhcpcd eth2 err, eth2: dhcpcd already running on pid 2071 (/var/run/dhcpcd-eth2.pid) root@node1-7:~# kill 2071 root@node1-7:~# dhcpcd eth2 root@node1-7:~# dhcpcd.sh: interface eth2 has been configured with new IP=192.168.3.2 root@node1-7:~# }}} === Managing the basestation === Uses rest interface to manage the BS. To set the LTE connection bandwidth to 5 MHz issue the following commands on the console (not node): {{{ wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/default_cell_parameters?n_rb_dl=25 wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/restart }}} Setting '''n_rb_dl''' to 50 sets it to 10 MHz while setting it to 100 sets the bandwidth to 20 MHz. After basestatin restart, most of the clients need to be also reconnected.