wiki:Resources/Notes/N310Usage

Version 3 (modified by mpk2138, 4 years ago) ( diff )

typo in image name

N310 configuration and access

Description

This tutorial shows how to configure and access the N310 SDR from an experiment server. The N310 is used as a network based USRP which has a 1Gb control interface and a 10Gb data interface. Both interfaces need to be configure properly for control and data streaming. Product information for the N310 is here.

Network configuration

From a COSMOS console, load a baseline sdr image onto an experiment server - for this example srv1-lg1.sb1.cosmos-lab.org is used.

console:~$ omf load -i baseline_uhd_1804.ndz  -t srv1-lg1.sb1.cosmos-lab.org
console:~$ omf tell -a on -t srv1-lg1.sb1.cosmos-lab.org

After the experiment server is up, ssh into it and list the all interfaces.

$ ifconfig -a
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.113.1.1  netmask 255.255.0.0  broadcast 10.113.255.255
        inet6 fe80::3697:f6ff:fe2a:c2e2  prefixlen 64  scopeid 0x20<link>
        ether 34:97:f6:2a:c2:e2  txqueuelen 1000  (Ethernet)
        RX packets 947973  bytes 1253989955 (1.2 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 712093  bytes 660515688 (660.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7e00000-f7e20000

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8000
        inet 10.115.1.1  netmask 255.255.0.0  broadcast 10.115.255.255
        inet6 fe80::f652:14ff:fe83:b930  prefixlen 64  scopeid 0x20<link>
        ether f4:52:14:83:b9:30  txqueuelen 1000  (Ethernet)
        RX packets 18775  bytes 2348158 (2.3 MB)
        RX errors 0  dropped 17339  overruns 0  frame 0
        TX packets 637  bytes 267736 (267.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::3697:f6ff:fe2a:c2e1  prefixlen 64  scopeid 0x20<link>
        ether 34:97:f6:2a:c2:e1  txqueuelen 1000  (Ethernet)
        RX packets 1095  bytes 67703 (67.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 571  bytes 177910 (177.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • en01 is the 1Gb control interface.
  • enp1s0 is the 10Gb data interface

Configure enp1s0 so it can talk to the N310's data interface.

$ sudo ifconfig enp1s0 10.115.1.1 netmask 255.255.0.0 mtu 8000

Run uhd_find_devices to detect the available N310s

$ uhd_find_devices --args="type=n3xx"
[INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.13.1.0-0-unknown
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
    serial: 315A35A
    addr: 10.115.2.1
    claimed: False
    mgmt_addr: 10.113.2.1
    mgmt_addr: 10.115.2.1
    product: n310
    type: n3xx


--------------------------------------------------
-- UHD Device 1
--------------------------------------------------
Device Address:
    serial: 3176DF7
    addr: 10.115.3.1
    claimed: False
    mgmt_addr: 10.113.3.1
    mgmt_addr: 10.115.3.1
    product: n310
    type: n3xx

The above output enumerates all the SDRs that were detected. Use the uhd_usrp_probe command with mgmt_addr to list the device properties of this N310. The ip address must match correctly to the corresponding interface.

interface args address
control network mgmt_addr 10.113.2.1
data network addr 10.115.2.1
$ uhd_usrp_probe --args="mgmt_addr=10.113.2.1,addr=10.115.2.1"
[INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.13.1.0-0-unknown
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=10.113.2.1,type=n3xx,product=n310,serial=315A35A,claimed=False,addr=10.115.2.1
[INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000004)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1346 MB/s)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1356 MB/s)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1347 MB/s)
[INFO] [MPM.PeriphManager] init() called with device args `time_source=internal,clock_source=internal,product=n310,mgmt_addr=10.113.2.1'.
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1355 MB/s)
[INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000011312)
[INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000011312)
[INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000002)
[INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000002)
  _____________________________________________________
 /
|       Device: N300-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: ni-n3xx-315A35A
|   |   eeprom_version: 1
|   |   mpm_version: 3.13.1.0-gbbce3e45
|   |   pid: 16962
|   |   product: n310
|   |   rev: 5
|   |   rpc_connection: remote
|   |   serial: 315A35A
|   |   type: n3xx
|   |   MPM Version: 1.2
|   |   FPGA Version: 5.2
|   |   FPGA git hash: d0360f7.clean
|   |   RFNoC capable: Yes
|   |
|   |   Time sources:  internal, external, gpsdo, sfp0
|   |   Clock sources: external, internal, gpsdo
|   |   Sensors: gps_locked, gps_tpv, ref_locked, fan, gps_sky, gps_time, temp
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: A
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX, RX2, CAL, LOCAL
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 75.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 1
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX, RX2, CAL, LOCAL
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 75.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: A
|   |   |   |   Name: AD9371 Dual ADC
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: B
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX, RX2, CAL, LOCAL
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 75.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 1
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX, RX2, CAL, LOCAL
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 75.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: B
|   |   |   |   Name: AD9371 Dual ADC
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: A
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 65.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 1
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 65.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: A
|   |   |   |   Name: AD9371 Dual DAC
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: B
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 65.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 1
|   |   |   |   Name: Magnesium
|   |   |   |   Antennas: TX/RX
|   |   |   |   Sensors: lo_locked, lowband_lo_locked, ad9371_lo_locked
|   |   |   |   Freq range: 1.000 to 6000.000 MHz
|   |   |   |   Gain range all: 0.0 to 65.0 step 0.5 dB
|   |   |   |   Gain range rfic: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range dsa: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Gain range amp: 0.0 to 0.0 step 0.0 dB
|   |   |   |   Bandwidth range: 20000000.0 to 100000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: B
|   |   |   |   Name: AD9371 Dual DAC
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       RFNoC blocks on this device:
|   |   |
|   |   |   * DmaFIFO_0
|   |   |   * Radio_0
|   |   |   * Radio_1
|   |   |   * DDC_0
|   |   |   * DDC_1
|   |   |   * DUC_0
|   |   |   * DUC_1

Trouble shooting

The FPGA bit file will need to be updated if FPGA version mismatch is generated in the output text of the uhd command above. Follow the steps below to update the FPGA image - this will download and install the FPGA image that is matched with the UHD version being used. Complete details on updating the FPGA is found here.

node:~$ sudo uhd_images_downloader
node:~$ uhd_image_loader --args "type=n3xx,addr=10.113.2.1,fpga=HG"

After the image loader completes, power-cycle the N310 from the console and detect the N310 again.

console:~$ omf tell -a on -t srv1-lg1.sb1.cosmos-lab.org
console:~$ omf tell -a offh -t srv1-lg1.sb1.cosmos-lab.org
Note: See TracWiki for help on using the wiki.