| 17 | | By Default Orbit nodes do not configure any wireless devices. The following 2 are the drivers for the Sierra wireless Netgear LTE dongle [[BR]] |
| 18 | | 1. {{{ modprobe GobiSerial }}} |
| 19 | | 1. {{{ modprobe GobiNet }}} |
| 20 | | 1. {{{ minicom -D /dev/ttyUSB1 }}} |
| 21 | | 1. {{{ AT!ippassthrough? }}} |
| 22 | | 1. It should return 1 |
| 23 | | 1. If it does not, run the following commands: |
| 24 | | 1. {{{ AT!ippassthrough=1 }}} |
| 25 | | 1. {{{ AT!entercnd="A710" }}} |
| 26 | | 1. {{{ AT!dxcfg=profile,Autoconnect,Never }}} |
| 27 | | 1. {{{ AT!reset }}} |
| 28 | | 1. {{{ AT!entercnd="A710" }}} |
| 29 | | 1. You should see {{{ OK }}} |
| 30 | | 1. {{{ AT!dxcfg=wwan,connect,11 }}} |
| 31 | | 1. You should see {{{ OK }}} then {{{ $QCRMCALL: 1, V4 }}} |
| 32 | | 1. {{{ at!gstatus? }}} |
| 33 | | 1. Will return a status like: |
| | 18 | |
| | 19 | ==== Loading the driver ==== |
| | 20 | |
| | 21 | 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]] |
| | 22 | {{{ |
| | 23 | modprobe GobiSerial |
| | 24 | modprobe GobiNet |
| | 25 | }}} |
| | 26 | |
| | 27 | ==== Connecting to the device ==== |
| | 28 | 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: |
| | 29 | |
| | 30 | {{{ minicom -D /dev/ttyUSB1 }}} |
| | 31 | |
| | 32 | ==== Managing the LTE connection ==== |
| | 33 | |
| | 34 | Once in minicom, one can issue series of commands to the LTE modem typically consisting of: |
| | 35 | |
| | 36 | a.) Configure modem for pass-through mode: |
| | 37 | |
| | 38 | {{{ AT!ippassthrough? }}} |
| | 39 | |
| | 40 | It should return '''1''' . If it does not, run the following commands: |
| | 41 | 1. {{{ AT!ippassthrough=1 }}} |
| | 42 | 1. {{{ AT!entercnd="A710" }}} |
| | 43 | 1. {{{ AT!dxcfg=profile,Autoconnect,Never }}} |
| | 44 | 1. {{{ AT!reset }}} |
| | 45 | which will reset the modem. |
| | 46 | |
| | 47 | b.) |
| | 48 | |
| | 49 | {{{ AT!entercnd="A710" }}} |
| | 50 | |
| | 51 | You should see {{{ OK }}} |
| | 52 | |
| | 53 | c.) Connect to the basestation: |
| | 54 | |
| | 55 | {{{ AT!dxcfg=wwan,connect,11 }}} |
| | 56 | |
| | 57 | You should see {{{ OK }}} shortly followed by {{{ $QCRMCALL: 1, V4 }}} |
| | 58 | |
| | 59 | d.) Check the status of the connection: |
| | 60 | |
| | 61 | {{{ at!gstatus? }}} |
| | 62 | |
| | 63 | Will return a status like: |
| 51 | | 1. Exit Minicom by **PRESSING** {{{ Ctrl+A followed by x}}}, then {{{enter}}} to select ok. |
| 52 | | 1. {{{ dhcpcd eth2 }}} followed by {{{enter}}} to get a new line. |
| 53 | | 1. You should get an address in the 192.168.3.0/24 subnet. |
| 54 | | 1. {{{ ping 192.168.3.1 }}} |
| 55 | | 1. You have successfully communicated with the basestation. |
| 56 | | 1. You can cancel the ping with {{{Ctrl+C}}} |
| 57 | | 1. Attempt running iperf between your nodes. |
| 58 | | 1. This will report your bandwidth to the basestation. |
| | 81 | |
| | 82 | The LTE link is established. Exit Minicom by **PRESSING** {{{ Ctrl+A followed by x}}}, then {{{enter}}} to select '''OK''' option. |
| | 83 | |
| | 84 | ==== Testing the connection ==== |
| | 85 | |
| | 86 | Once the modem is connected, IP address has to be assigned to the newly created Ethernet device (in this case '''eth2'''): |
| | 87 | |
| | 88 | {{{ dhcpcd eth2 }}} |
| | 89 | |
| | 90 | 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: |
| | 91 | {{{ ping 192.168.3.1 }}} |
| | 92 | resulting in: |
| | 93 | {{{ |
| | 94 | root@node1-7:~# ping 192.168.3.1 |
| | 95 | PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data. |
| | 96 | 64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=44.9 ms |
| | 97 | 64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=42.8 ms |
| | 98 | }}} |
| | 99 | 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. |
| | 100 | |
| | 101 | ==== Reconnecting the client ==== |
| | 102 | |
| | 103 | Use minicom (or any other serial port program) to issue a set of AT commands to reset the connection. Commands are: |
| | 104 | |
| | 105 | {{{ |
| | 106 | AT!reset |
| | 107 | }}} |
| | 108 | |
| | 109 | (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) |
| | 110 | |
| | 111 | {{{ |
| | 112 | AT!entercnd="A710" |
| | 113 | AT!dxcfg=wwan,connect,11 |
| | 114 | }}} |
| | 115 | |
| | 116 | The output should look like: |
| | 117 | {{{ |
| | 118 | root@node1-7:~# minicom -D /dev/ttyUSB1 |
| | 119 | |
| | 120 | Welcome to minicom 2.7 |
| | 121 | |
| | 122 | OPTIONS: I18n |
| | 123 | Compiled on Jan 1 2014, 17:13:19. |
| | 124 | Port /dev/ttyUSB1, 06:02:02 |
| | 125 | |
| | 126 | Press CTRL-A Z for help on special keys |
| | 127 | |
| | 128 | AT |
| | 129 | OK |
| | 130 | AT!reset |
| | 131 | OK |
| | 132 | AT!entercnd="A710" |
| | 133 | OK |
| | 134 | AT!dxcfg=wwan,connect,11 |
| | 135 | OK |
| | 136 | |
| | 137 | $QCRMCALL: 1, V4 |
| | 138 | at!gstatus? |
| | 139 | !GSTATUS: |
| | 140 | Current Time: 58 Temperature: 28 |
| | 141 | Bootup Time: 6 Mode: ONLINE |
| | 142 | System mode: LTE PS state: Attached |
| | 143 | LTE band: B25 LTE bw: 10 MHz |
| | 144 | LTE Rx chan: 8365 LTE Tx chan: 26365 |
| | 145 | EMM state: Registered Normal Service |
| | 146 | RRC state: RRC Connected |
| | 147 | IMS reg state: No Srv |
| | 148 | |
| | 149 | RSSI (dBm): -69 Tx Power: -33 |
| | 150 | RSRP (dBm): -90 TAC: 0001 (1) |
| | 151 | RSRQ (dB): -5 Cell ID: 01A2D001 (27447297) |
| | 152 | SINR (dB): 21.2 |
| | 153 | |
| | 154 | |
| | 155 | OK |
| | 156 | }}} |
| | 157 | |
| | 158 | Once connection is reset, dhcp lease needs to be renewed; if there is already dhcpd session it needs to be terminated: |
| | 159 | |
| | 160 | {{{ |
| | 161 | root@node1-7:~# dhcpcd eth2 |
| | 162 | err, eth2: dhcpcd already running on pid 2071 (/var/run/dhcpcd-eth2.pid) |
| | 163 | root@node1-7:~# kill 2071 |
| | 164 | root@node1-7:~# dhcpcd eth2 |
| | 165 | root@node1-7:~# dhcpcd.sh: interface eth2 has been configured with new IP=192.168.3.2 |
| | 166 | |
| | 167 | root@node1-7:~# |
| | 168 | }}} |
| | 169 | |
| | 170 | |
| | 171 | === Managing the basestation === |
| | 172 | |
| | 173 | 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): |
| | 174 | {{{ |
| | 175 | wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/default_cell_parameters?n_rb_dl=25 |
| | 176 | wget http://bsc03out.orbit-lab.org:5054/bscontrol/bs/1/restart |
| | 177 | }}} |
| | 178 | |
| | 179 | Setting '''n_rb_dl''' to 50 sets it to 10 MHz while setting it to 100 sets the bandwidth to 20 MHz. |
| | 180 | After basestatin restart, most of the clients need to be also reconnected. |
| | 181 | |