CORNET/HowToUseCORNET

Version 20 (modified by maroje, 10 years ago)

--

Current Testbed Operational Status

NOTE: CORNET recently upgraded the node image to 64 bit Ubuntu 13.10 with GnuRadio 3.7.1 and UHD 3.5.4 (1st and 2nd floor; floors 3 and 4 in progress). In the unlikely case this upgrade has broken your research, the old image can still be installed. Please contact the CORNET administration for details.

All CORNET nodes currently have private IP addresses, and are behind the CORNET firewall. However, the ssh port for each individual node is still directly accessible through the firewall. To access the CORNET nodes you must ssh to the CORNET gateway, 128.173.221.40, using a specific port that is unique to each CORNET node. The CORNET gateway redirects the ssh traffic to the appropriate CORNET node ssh server.

For information on the physical locations of the RF portion of the node, see here: CORNET Node Location and Status Information

The port list is as follows, where NodeX-Y refers to node Y on floor X:

Floor OnePortInternal IP
Node1-17001192.168.1.11
Node1-27002192.168.1.12
Node1-37003192.168.1.13
Node1-47004192.168.1.14
Node1-57005192.168.1.15
Node1-67006192.168.1.16
Node1-77007192.168.1.17
Node1-87008192.168.1.18
Node1-97009192.168.1.19
Node1-107010192.168.1.20
Node1-117011192.168.1.21
Node1-127012192.168.1.22

Floor TwoPortInternal IP
Node2-17013192.168.1.23
Node2-27014192.168.1.24
Node2-37015192.168.1.25
Node2-47016192.168.1.26
Node2-57017192.168.1.27
Node2-67018192.168.1.28
Node2-77019192.168.1.29
Node2-87020192.168.1.30
Node2-97021192.168.1.31
Node2-107022192.168.1.32
Node2-117023192.168.1.33
Node2-127024192.168.1.34

Floor ThreePortInternal IP
Node3-17025192.168.1.35
Node3-27026192.168.1.36
Node3-37027192.168.1.37
Node3-47028192.168.1.38
Node3-57029192.168.1.39
Node3-67030192.168.1.40
Node3-77031192.168.1.41
Node3-87032192.168.1.42
Node3-97033192.168.1.43
Node3-107034192.168.1.44
Node3-117035192.168.1.45
Node3-127036192.168.1.46

Floor FourPortInternal IP
Node4-17037192.168.1.47
Node4-27038192.168.1.48
Node4-37039192.168.1.49
Node4-47040192.168.1.50
Node4-57041192.168.1.51
Node4-67042192.168.1.52
Node4-77043192.168.1.53
Node4-87044192.168.1.54
Node4-97045192.168.1.55
Node4-107046192.168.1.56
Node4-117047192.168.1.57
Node4-127048192.168.1.58

For example, to access node1-3, ssh to cornet.wireless.vt.edu (128.173.221.40) using port 7003.

FCC Authorization

CORNET operates under the authorization of FCC designated call sign  WF2XRP All users are responsible for ensuring that their research is conducted within the limitations of the above license. The permitted bands of operation are listed in the table below:

Lower Bound (MHz)Upper Bound (MHz)
138144
150.5156
157.45161.575
162.0375174
450512
764862
776787
788793
824849
869894
18501910
19301990
34003600

Accessing the network from Windows

From a windows machine, an SSH client is required in order to remotely access the CORNET nodes individually. A popular windows SSH client is  PuTTY.

Accessing the network from Linux

From a linux machine simply issue the following command where the port is 7000 + the node # you want to log into.

# ssh -X <username>@128.173.221.40 -p <7000 + node#>

Note: the -X allows X11 forwarding for running X11 applications remotely.

For example, to login to CORNET node1-2 with the login name "testuser" do the following:

# ssh -X testuser@128.173.221.40 -p 7002

To login to CORNET node1-3 with the login name "testuser" do the following:

# ssh testuser@128.173.221.40 -p 7003

Accessing Nodes via NX Server (Linux and Windows)

Each CORNET node runs a local NX server program for encrypted remote desktop forwarding. Users can download the NX client software for free from the NX website (we recommend version 3.5 for Linux):

 NX Client

After downloading and installing the binaries, start the NX Client software and set up a new connection with the following parameters:

Host: cornet.wireless.vt.edu
Port: 70xx (Each node uses a different tunneling port from the list above)
Desktop: Unix,Gnome,ADSL
Display: Available area

Select 'OK' and enter your user name and password when prompted. You should now have a remote desktop window connected to the specified node.

When ending your session, select "End" instead of "Disconnect" to close all running programs. Users who leave waveforms running after logging off risk losing access privileges.

NX-Server "Address Already in Use" Error

When attempting to access multiple nodes from the same remote machine, the NX server will fail to negotiate a unique X11 display connection on the client machine, and will return an error stating that the display address is already in use. To fix this problem, SSH into the problem node from a local shell:

# ssh [user]@cornet.wireless.vt.edu -p [port]

In the /tools/ directory, execute the script called "NX_offset" as root

#cd /tools/
# sudo ./NX_offset

If the /tools/ directory is not already mounted, you can mount it manually:

# sudo mount 192.168.1.102:/tools /tools

Obtaining Remote Access Login Information

To obtain login credentials for the CORNET nodes, please email the CORNET administration at [vtcornet@…]

Working from your User directory

Each registered user receives a folder on a dedicated NFS drive which allows them to store and access code locally. Each CORNET node mounts the NFS directories at boot time and you may access your directory on each node at /users/*my_login*.

In the interest of open and collaborative development, each user has read access to the other user folders and read/write access to their own folder. You may upload files into your NFS directory in the following way:

- Verify you can login to the node by following the above ssh procedures. - Change to your user directory:

# cd /users/*my_login*

- Open a new local shell (ctrl+shift+t in Ubuntu) - Change to the directory which contains the files to copy:

# cd /path/to/myfiles

- Use the SCP command to copy the local directory "mydir" to the remote node:

# scp -r -P [Port] mydir *my_login*@cornet.wireless.vt.edu:/users/*my_login*

Note: the -P MUST be capitalized. -r means recursive copy, and is used for copying directories. You do not need to use -r to copy single files.

Once you have copied the files to your user directory, verify the copy was successful by issuing the "ls" command in the first shell you opened. You may now directly work with the files in your user directory.

Using OSSIE with CORNET

In order to place custom OSSIE waveforms and components on the nodes, first follow the above procedures to copy the needed directories to your CORNET user directory. When finished, ssh into a node and browse to your user directory. In order for OSSIE and ALF to recognize your components, they must be installed to the node. To install a component or waveform, simply enter the component or waveform directory and issue the following commands. Only waveforms and components developed using OSSIE 0.8.0 and later are supported:

# sudo ./reconf <- Only needed if using a different version of OSSIE than 0.8.1
# sudo ./configure
# make
# sudo make install

This will compile your code and place the binaries in the /sdr/dom/bin and /sdr/dom/waveforms directories. You can then start the waveforms using the c_wavloader command line tools or from the OEF/ALF environment. Provided you are logged in with X11 forwarding enabled, you can load the Eclipse and ALF GUI's on a remote node with the following command:

# cd ~/eclipse
# sudo ./eclipse
# ALF

Time Synchronization

CORNET uses a dedicated NTP server to provide time synchronization between the nodes, but it is not enabled by default. To enable time synchronization, log into the node(s) and run the following command:

# sudo ntpdate 192.168.1.103

It may take up to a minute for the nodes to synchronize, depending on network congestion. To test if the nodes are synchronized, view the output of the following command - it should give a value within a second or two on each node (the difference should only be the amount of time between executing the command on each node):

# date +%s

Node Software

Each node contains the following software:

  • Ubuntu Linux 10.04 Client Version
  • GNU Radio 3.3.0
  • OSSIE 0.8.2