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 | |