Version 5 (modified by 8 years ago) ( diff ) | ,
---|
COTS UE on ORBIT Node
Prerequisites
This tutorial series assumes you have an ORBIT account, have scheduled a session on the ORBIT testbed, are familiar with SSH'ing into the testbed itself, and are familiar with the basics of running ORBIT experiments. If you have not done these things yet, you may wish to do so before taking a look at this slightly more advanced experiment. If you are unfamiliar with or are entirely new to ORBIT, you may wish to start here.
Compatibility
In this tutorial we will use nodes equipped with Netgear AC341u LTE dongles. The basestation in use will depend on which one you have configured. The other tutorials specify which combinations are known to work well, as well as which nodes are close enough physically.
This particular LTE device operates only on the following Bands.
- TX
- Band 25: 1850-1915 MHz
- Band 26: 814-849 MHz
- Band 41 (TDD): 2496-2690 MHz
- RX
- Band 25: 1930-1995 MHz
- Band 26: 859-894 MHz
- Band 41 (TDD): 2496-2690 MHz
Imaging
The image used for this experiment is 'baseline.ndz'.
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 and node1-7 in the Grid.
After connecting to the grid console:
omf load -i baseline.ndz -t node7-1.grid.orbit-lab.org
omf tell -a on -t node7-1.grid.orbit-lab.org
- It will take roughly 60 seconds to come up.
ssh root@node7-1.grid.orbit-lab.org
- repeat the above commands, replacing "node7-1" with the node name in question.
Commands on the node
Loading the driver
By default ORBIT nodes do not enable any wireless devices. Therefore, the first thing when manually configuring the device is to load drivers; the following 2 lines will load the Sierra wireless Netgear LTE dongle:
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:
AT!ippassthrough=1
AT!entercnd="A710"
AT!dxcfg=profile,Autoconnect,Never
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, we need to fix the default routing to use the new LTE link, as well as assign an address. First, to remove the existing default route, run:
ip r del default
Then, we run a dhcp client on the new interface (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).
Once routing tables are adjusted, ICMP can be used 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: gets the IP address, de 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 and new default route added again; 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:~# route add default eth2 root@node1-7:~#