wiki:Resources/Services/ArrayMgmt

Version 4 (modified by seskar, 4 years ago) ( diff )

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Service: mmWave Array Management

This service is used to manage various (IBM PAAM, Sivers 60 GHz and Itnerdigital MHU) mmWave arrays.

Array parameters:

  • Name
  • Number of antenna elements
  • TX/RX
  • Polarization
  • Number of ICs

Connect

Connect to the array and initialize it.

<service name="connect">
<info>Connect to the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
<arg isRequired="false" name="ics">
<info>PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)</info>
</arg>
<arg isRequired="false" name="num_elements">
<info>Number of Antenna Elements; 1 to 16 (default=1)</info>
</arg>
<arg isRequired="false" name="txrx">
<info>TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)</info>
</arg>
<arg isRequired="false" name="pol">
<info>Polarization! Should be either h (horizontal) or v (vertical) (default=v)</info>
</arg>
<arg isRequired="false" name="verify">
<info>Verification (boolean flag); Should be true/false (default=False)</info>
</arg>
</args>
</service>

Disconnect

Disconnect the array from the control

<info>Disconnect from the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
</args>
</service>

Steer

<service name="steer">
<info>Steer the array beam</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
<arg isRequired="True" name="theta">
<info>Theta (Beam) Angle! Integer in range -60 to 60 (default=10)</info>
</arg>
<arg isRequired="True" name="phi">
<info>Phi (Beam) Angle! Integer in range -10 to 10 (default=10)</info>
</arg>
</args>
</service>

Status

<service name="status">
<info>Get the status of the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
</args>
</service>

Cleanup

<service name="cleanup">
<info>Cleanup and shutdown the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
</args>
</service>

Configure

<service name="configure">
<info>Configure the array</info>
<args>
<arg isRequired="true" name="dev_name">
<info>Device name; choices are: ['rfdev4-in1.sb1.cosmos-lab.org', 'rfdev4-in2.sb1.cosmos-lab.org', 'rfdev2-1.sb2.cosmos-lab.org', 'rfdev2-2.sb2.cosmos-lab.org']</info>
</arg>
<arg isRequired="false" name="ics">
<info>PAAM ICs; choices are: ['all', '0', '1', '2', '3'] (default=all)</info>
</arg>
<arg isRequired="false" name="num_elements">
<info>Number of Antenna Elements; 1 to 16 (default=1)</info>
</arg>
<arg isRequired="false" name="txrx">
<info>TX/RX Mode Selection! Should be either tx (transmit) or rx (receive) (default=tx)</info>
</arg>
<arg isRequired="false" name="pol">
<info>Polarization! Should be either h (horizontal) or v (vertical) (default=v)</info>
</arg>
<arg isRequired="false" name="theta">
<info>Theta (Beam) Angle! Integer in range -60 to 60 (default=10)</info>
</arg>
<arg isRequired="false" name="phi">
<info>Phi (Beam) Angle! Integer in range -10 to 10 (default=10)</info>
</arg>
<arg isRequired="false" name="verify">
<info>Verification (boolean flag); Should be true/false (default=False)</info>
</arg>
</args>
</service>

Examples

Please note that, if you see a long delay in curl command execution, chances are you forgot to turn the array on

In the returned status messages, "duration" attribute is the operation/step duration time in seconds.

Single command/static array operation
omf tell -a on -t rfdev4-in1.sb1.cosmos-lab.org
curl "http://am1.orbit-lab.org:5054/array_mgmt/configure\?dev_name=rfdev4-in1.sb1.cosmos-lab.org\&theta=16"

This will set the antenna array in corner 1 with all 4 ICs each with 1 element and vertically polarized in TX mode with phi angle at (default) 10 degrees and theta angle at 16 degrees

Resetting the array and turning it off
curl "http://am1.orbit-lab.org:5054/array_mgmt/cleanup\?dev_name=rfdev4-in2.sb1.cosmos-lab.org"
omf tell -a offh -t rfdev4-in2.sb1.cosmos-lab.org
Dynamic array management
omf tell -a on -t rfdev4-in1.sb1.cosmos-lab.org
curl "http://am1.orbit-lab.org:5054/array_mgmt/connect?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=11&phi=10"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=16&phi=8"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/steer?dev_name=rfdev4-in1.sb1.cosmos-lab.org&theta=22&phi=0"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/disconnect?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
...
curl "http://am1.orbit-lab.org:5054/array_mgmt/cleanup?dev_name=rfdev4-in1.sb1.cosmos-lab.org"
omf tell -a offh -t rfdev4-in1.sb1.cosmos-lab.org
Note: See TracWiki for help on using the wiki.