On 02/08/2019 01:31 PM, akin soysal wrote:
I tried setting it with the following command:

uhd_usrp_probe --args="master_clock_rate=184.32e6"
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.13.1.HEAD-0-gbbce3e45
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 8000 bytes.
[INFO] [X300] Radio 1x clock: 184.32 MHz

Master clock rate is a *PER SESSION* parameter! You need to specify it in the device arguments of applications.

tx_samples_from_file -a "type=x300,master_clock_rate=182.32e6"

And then the rest of your parameters.


It seems to work in the beginning but when I repeat the previous command, I see that master clock rate is set back to 200 MHz.

sudo ./tx_samples_from_file --rate 61.44e6

Creating the usrp device with: ...
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.13.1.HEAD-0-gbbce3e45
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 8000 bytes.
[INFO] [X300] Radio 1x clock: 200 MHz

Then I found the following useful thread, it was first said that only 200MHz is supported but then it was said that 184.32MHz is also supported so I cannot be sure.

http://ettus.80997.x6.nabble.com/USRP-users-Clock-rate-of-x310-td9744.html

Is there a way to set the 184.32 MHz clock rate and if yes, is it possible to set it as default?

Thanks.

On Fri, Feb 8, 2019 at 5:24 PM Marcus D. Leech via USRP-users <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote:

    On 02/08/2019 04:37 AM, akin soysal via USRP-users wrote:
    I am resending the mail to the forum so that everybody benefits.

    ---------- Forwarded message ---------
    From: *akin soysal* <akinsoy...@gmail.com
    <mailto:akinsoy...@gmail.com>>
    Date: Fri, Feb 8, 2019 at 10:29 AM
    Subject: Re: [USRP-users] USRP X310 Ubuntu 16.04 LowLatency
    Timing Problems Possibly Because of UHD Drivers
    To: Marcus D. Leech <patchvonbr...@gmail.com
    <mailto:patchvonbr...@gmail.com>>


    Hello Marcus,

    OK, I tried, it seems the HW is not supporting the desired rate.
    It is a NI CBX120 MHz daughterboard with USRP X310. Does that
    make sense? I thought these sample rates were specifically for
    this HW??

    ulak@5g-NR-gNB:/usr/local/lib/uhd/examples$ sudo
    ./tx_samples_from_file --rate 61.44e6

    Include "master_clock_rate=184.32e6" in your device arguments--the
    default master clock is 200MHz, and 61.44Msps is definitely not an
    integer
      fraction of 200MHz...



    Creating the usrp device with: ...
    [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800;
    UHD_3.13.1.HEAD-0-gbbce3e45
    [INFO] [X300] X300 initialization sequence...
    [INFO] [X300] Maximum frame size: 8000 bytes.
    [INFO] [X300] Radio 1x clock: 200 MHz
    [INFO] [0/DmaFIFO_0] Initializing block control (NOC ID:
    0xF1F0D00000000000)
    [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1302 MB/s)
    [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1313 MB/s)
    [INFO] [0/Radio_0] Initializing block control (NOC ID:
    0x12AD100000000001)
    [INFO] [0/Radio_1] Initializing block control (NOC ID:
    0x12AD100000000001)
    [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:
    0xD0C0000000000000)
    [INFO] [0/DUC_1] Initializing block control (NOC ID:
    0xD0C0000000000000)
    Using Device: Single USRP:
    Device: X-Series Device
    Mboard 0: X310
    RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: CBX-120 RX
    RX Channel: 1
    RX DSP: 0
    RX Dboard: B
    RX Subdev: CBX-120 RX
    TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: CBX-120 TX
    TX Channel: 1
    TX DSP: 0
    TX Dboard: B
    TX Subdev: CBX-120 TX

    Setting TX Rate: 61.440000 Msps...
    [WARNING] [RFNOC] The requested interpolation is odd; the user
    should expect passband CIC rolloff.
    Select an even interpolation to ensure that a halfband filter is
    enabled.
    interpolation = dsp_rate/samp_rate -> 3 = (200.000000
    MHz)/(61.440000 MHz)

    [WARNING] [RFNOC] The requested interpolation is odd; the user
    should expect passband CIC rolloff.
    Select an even interpolation to ensure that a halfband filter is
    enabled.
    interpolation = dsp_rate/samp_rate -> 3 = (200.000000
    MHz)/(61.440000 MHz)

    [WARNING] [MULTI_USRP] The hardware does not support the
    requested TX sample rate:
    Target sample rate: 61.440000 MSps
    Actual sample rate: 66.666667 MSps

    [WARNING] [MULTI_USRP] The hardware does not support the
    requested TX sample rate:
    Target sample rate: 61.440000 MSps
    Actual sample rate: 66.666667 MSps

    Actual TX Rate: 66.666667 Msps...

    Please specify the center frequency with --freq

    On Thu, Feb 7, 2019 at 5:18 PM Marcus D. Leech via USRP-users
    <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>>
    wrote:

        On 02/07/2019 08:50 AM, akin soysal via USRP-users wrote:

        Dear all,


        We are trying to make the OpenAirInterface 5G SW work on our
        own setup with NI USRPs. We are trying to use it with the
        following configuration:


        sudo ./benchmark_rate --args
        "type=x300,addr=10.10.1.5,master_clock_rate=184.32e6"
        --rx_rate 61.44e6 --tx_rate 61.44e6 --channels="0"


        For different UHD versions we get different results.
        Firstly, we know that the OAI setup in France is using the
        following driver and gives the following output:


        ---

        [0m[PHY]  Checking for USRPs :UHD 003.009.007-0-g50839059(3.9.7)
        [0m[PHY]  Found USRP X300
        [0m[PHY]  ru_thread_prach() RACH waiting for RU to be configured
        -- X300 initialization sequence...
        -- Connecting to niusrpriorpc at localhost:5444...
        -- Using LVBITX bitfile
        /usr/local/share/uhd/images/usrp_x310_fpga_HGS.lvbitx...
        [0m[PHY]  ru_thread_prach() RACH waiting for RU to be configured
        [0m[PHY]  ru_thread_prach() RACH waiting for RU to be configured
        [0m[PHY]  ru_thread_prach() RACH waiting for RU to be configured
        -- Setup basic communication...
        -- Loading values from EEPROM...
        -- Setup RF frontend clocking...
        -- Radio 1x clock:184.32
        -- Detecting internal GPSDO.... Found an internal GPSDO:
        LC_XO, Firmware Rev 0.929a
        ---


        We tried the same configuration, but we got errors:


        ---

        ulak@5g-NR-gNB:/usr/local/lib/uhd/examples$ sudo
        ./benchmark_rate --args
        "type=x300,addr=10.10.1.5,master_clock_rate=184.32e6"
        --rx_rate 61.44e6 --tx_rate 61.44e6 --channels="0"
        [sudo] password for ulak:
        linux; GNU C++ version 5.4.0 20160609;
        Boost_105800;UHD_003.009.007-0-g50839059


        Creating the usrp device with:
        type=x300,addr=10.10.1.5,master_clock_rate=184.32e6...
        -- X300 initialization sequence...
        -- Determining maximum frame size... 8000 bytes.
        -- Setup basic communication...
        -- Loading values from EEPROM...
        -- Setup RF frontend clocking...
        -- Radio 1x clock:184.32
        -- Detecting internal GPSDO.... No GPSDO found
        -- Initialize Radio0 control...
        -- Performing register loopback test... pass

        UHD Error:
        The daughterboard manager encountered a recoverable error in
        init.
            Loading the "unknown" daughterboard implementations to
        continue.
            The daughterboard cannot operate until this error is
        resolved.
            EnvironmentError: IOError: Radio ctrl (A) packet parse
        error - AssertionError: packet_info.packet_count ==
        (seq_to_ack & 0xfff)
              in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
              at
        /home/ulak/uhd/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:264
        Error: EnvironmentError: IOError: Radio ctrl (A) packet
        parse error - AssertionError: packet_info.packet_count ==
        (seq_to_ack & 0xfff)
          in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
          at
        /home/ulak/uhd/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:264

        ---


        By the way, we have bought CBX 120MHz daughterboards instead
        of CBX 40MHz but would that actually create any problems? I
        thought it is just the RF difference but maybe some
        configuration is necessary from the drivers?


        Then we downloaded and compiled the latest UHD version:


        ---

        [PHY]   UHD version3.13.1.HEAD-0-gbbce3e45 (3.13.1)
        [PHY]   Checking for USRP with args
        type=x300,addr=10.10.1.5,master_clock_rate=184.32e6,fpga=HG
        [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609;
        Boost_105800; UHD_3.13.1.HEAD-0-gbbce3e45
        Found USRP x300
        Found USRP x300
        [INFO] [X300] X300 initialization sequence...
        [INFO] [X300] Maximum frame size: 8000 bytes.
        [INFO] [X300] Radio 1x clock: 184.32 MHz
        [INFO] [0/DmaFIFO_0] Initializing block control (NOC ID:
        0xF1F0D00000000000)
        [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1301 MB/s)
        [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1309 MB/s)
        [INFO] [0/Radio_0] Initializing block control (NOC ID:
        0x12AD100000000001)
        [INFO] [0/Radio_1] Initializing block control (NOC ID:
        0x12AD100000000001)
        [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:
        0xD0C0000000000000)
        [INFO] [0/DUC_1] Initializing block control (NOC ID:
        0xD0C0000000000000)
        [PHY]   ru_thread_prach() RACH waiting for RU to be configured
        [PHY]   device_init() sample_rate:61440000
        [WARNING] [RFNOC] The requested decimation is odd; the user
        should expect passband CIC rolloff.
        Select an even decimation to ensure that a halfband filter
        is enabled.
        Decimations factorable by 4 will enable 2 halfbands, those
        factorable by 8 will enable 3 halfbands.
        decimation = dsp_rate/samp_rate -> 3 = (184.320000
        MHz)/(61.440000 MHz)

        [PHY]   cal 0: freq 3500000000.000000, offset 77.000000,
        diff 2262291232.000000
        [PHY]   cal 1: freq 2660000000.000000, offset 81.000000,
        diff 1422291232.000000
        [PHY]   cal 2: freq 2300000000.000000, offset 81.000000,
        diff 1062291232.000000
        [PHY]   cal 3: freq 1880000000.000000, offset 82.000000,
        diff 642291232.000000
        [PHY]   cal 4: freq 816000000.000000, offset 85.000000, diff
        421708768.000000
        [PHY]   RX Gain 0 24.000000 (85.000000) => -61.000000 (max
        37.500000)
        [WARNING] [RFNOC] The requested interpolation is odd; the
        user should expect passband CIC rolloff.
        Select an even interpolation to ensure that a halfband
        filter is enabled.
        interpolation = dsp_rate/samp_rate -> 3 = (184.320000
        MHz)/(61.440000 MHz)
        ---


        Configuration is successful and we can run the code with it
        but we get late packets in the beginning and end. Also
        samples are missed every 50-100 ms.


        ---

        
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLD[PHY]
   [recv]received 28728 samples out of 61440
        L[PHY]   rx_rf: Asked for 61440 samples, got 28728 from USRP
        [PHY]   problem receiving samples
        
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[PHY]
   [recv] received 0 samples out of 61440
        LLLL[PHY]   Time: 4.51512 s
        ERROR_CODE_OVERFLOW (Out of sequence error)

        [PHY]   rx_rf: Asked for 61440 samples, got 0 from USRP
        [PHY]   rx_rf: rfdevice timing drift of -32712 samples (ts_off 
212929711)
        [PHY]   problem receiving samples
        
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[PHY]
   rx_rf: rfdevice timing drift of 858716 samples (ts_off 212896999)
        
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
        ---


        Our setup should be capable of running the SW, so it has to
        be the UHD driver or the 10 GbE cable but we are using
        optical fiber, so I do not think the problem is that either.


        Then we tried another UHD version from the USRP X310
        recovery page:


        ---

        linux; GNU C++ version 5.4.0 20160609;
        Boost_105800;UHD_003.010.001.HEAD-0-gc705922a

        -- X300 initialization sequence...
        -- Determining maximum frame size... 8000 bytes.
        -- Setup basic communication...
        =========================================================
        Warning:
        Expected FPGA compatibility number 33, but got 35:
        The FPGA image on your device is not compatible with this
        host code build.
        Download the appropriate FPGA images for this version of UHD.
        Please run:

         "/usr/local/lib/uhd/utils/uhd_images_downloader.py"

        Then burn a new image to the on-board flash storage of your
        USRP X3xx device using the image loader utility. Use this
        command:

        "/usr/local/bin/uhd_image_loader"
        --args="type=x300,addr=10.10.1.5"

        For more information, refer to the UHD manual:

        
http://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_flash=========================================================
        Error: RuntimeError: Expected firmware compatibility number
        5.1, but got 6.0:
        The firmware build is not compatible with the host code build.
        Please run:

         "/usr/local/lib/uhd/utils/uhd_images_downloader.py"

        ---


        We get a different error after doing what is requested:


        ----

        ulak@5g-NR-gNB:~/uhd/uhd$ uhd_usrp_probe
        linux; GNU C++ version 5.4.0 20160609;
        Boost_105800;UHD_003.010.001.HEAD-0-gc705922a

        -- X300 initialization sequence...
        -- Determining maximum frame size... 8000 bytes.
        -- Setup basic communication...
        -- Loading values from EEPROM...
        -- Setup RF frontend clocking...
        -- Radio 1x clock:200
        -- [DMA FIFO] Running BIST for FIFO 0... pass (Throughput:
        1304.1MB/s)
        -- [DMA FIFO] Running BIST for FIFO 1... pass (Throughput:
        1305.1MB/s)
        -- [RFNoC Radio] Performing register loopback test... pass
        -- [RFNoC Radio] Performing register loopback test... pass
        -- [RFNoC Radio] Performing register loopback test... pass
        -- [RFNoC Radio] Performing register loopback test... pass
        Error: LookupError: KeyError: Unknown settings register
        name: CORDIC_FREQ

        ----


        Your help would be much appreciated.


        Regards,

        Akın


        Start by using a simpler program to diagnose the basics. .

        Use something like tx_samples_from_file at your desired
        rates  (or tx_waveforms).  Do those work?   The problem with
        using full-up complex
          applications for problem diagnosis is that they don't
        actually tell you very much--it's hard to decompose.



        _______________________________________________
        USRP-users mailing list
        USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com>
        http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com



    _______________________________________________
    USRP-users mailing list
    USRP-users@lists.ettus.com  <mailto:USRP-users@lists.ettus.com>
    http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

    _______________________________________________
    USRP-users mailing list
    USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com>
    http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to