Using the HG image I am seeing a rate greater than 1 billion bytes/second even 
when connected via 1G (see below). This is with UHD 3.10.1.1. I had missed the 
part where it does set the rate to the 1 Gig constant in the current code. 
Looking at the code I think this line might be wrong? 
https://github.com/EttusResearch/uhd/blob/7ac01c7f979aab8fac5e62f596ff0af52cedec40/host/lib/usrp/x300/x300_impl.hpp#L86
 . Shouldn’t that be 1e9 for 1 GigE?

 

$ uhd_usrp_probe --args addr=192.168.20.2 --double /mboards/0/link_max_rate

linux; GNU C++ version 5.3.1 20160406 (Red Hat 5.3.1-6); Boost_106000; 
UHD_003.010.001.001-0-unknown

 

-- X300 initialization sequence...

-- Determining maximum frame size... 1472 bytes.

-- Setup basic communication...

-- Loading values from EEPROM...

-- Setup RF frontend clocking...

-- Radio 1x clock:200

-- Detecting internal GPSDO.... Found an internal GPSDO: LC_XO, Firmware Rev 
0.929a

-- [DMA FIFO] Running BIST for FIFO 0... pass (Throughput: 1172.9MB/s)

-- [DMA FIFO] Running BIST for FIFO 1... pass (Throughput: 1184.8MB/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

-- Performing timer loopback test... pass

-- Performing timer loopback test... pass

1.21333e+09

 

-Nathan

 

From: Nicolas Cuervo [mailto:nicolas.cue...@ettus.com] 
Sent: Monday, August 7, 2017 7:42 AM
To: Perelman, Nathan <nperel...@lgsinnovations.com>
Cc: usrp-users <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Determining if an X300 is connected via 10 GigE or 1 
GigE

 

Hello Nathan,

 

I think you are referring only to the values that are set in the creation of 
the "max_link_branch" of the property tree. In one version of the code (the one 
you highlighted at [1]) has only the branch called "link_max_rate" and this one 
is created and set to either the PCIE max rate or the 10G max rate with the 
following statements

 

    _tree->create<double>(mb_path / "link_max_rate").set(X300_MAX_RATE_PCIE);   
//L396

  _tree->create<double>(mb_path / "link_max_rate").set(X300_MAX_RATE_10GIGE); 
//L462

 

then, depending on the FPGA image that is loaded, this same branch is set to 
different values for the max rate, including the 1G Ethernet:

 

    
_tree->access<double>("/mboards/"+boost::lexical_cast<std::string>(mb_index) / 
"link_max_rate").set(X300_MAX_RATE_1GIGE); //L1140

 

For the other version (highlighted at [2]), however, this last assignment is 
done a little bit differently, but keeping the same logic [2.a]. 

 

Now, it is not clear to me if your question raises an unexpected behavior of if 
you are only asking about the logic behind scenes. I mean, are retrieving this 
value using different FPGA images and always getting the 10G maximum link rate? 
or if you are only asking about the how this is done in the code? On a quick 
view, the branch value is being set to the correct max rate depending on the 
FPGA image that you are loading into the device, which is the same logic in the 
two mentioned versions.

Regards,

-Nicolas

 

[1] 
https://github.com/EttusResearch/uhd/blob/6a72c16ee909af95b6965f26fb588a29485ef414/host/lib/usrp/x300/x300_impl.cpp

[2] 
https://github.com/EttusResearch/uhd/blob/7ac01c7f979aab8fac5e62f596ff0af52cedec40/host/lib/usrp/x300/x300_impl.cpp

[2.a] 
https://github.com/EttusResearch/uhd/blob/7ac01c7f979aab8fac5e62f596ff0af52cedec40/host/lib/usrp/x300/x300_impl.cpp#L1202

 

On Fri, Jul 28, 2017 at 1:03 AM, Perelman, Nathan via USRP-users 
<usrp-users@lists.ettus.com> wrote:

I had been looking at /mboards/0/link_max_rate to determine if an X300 was 
connected via 10 GigE or 1 GigE. However it seems like sometime between when 
that was implemented for the X300 ( 
https://github.com/EttusResearch/uhd/commit/6a72c16ee909af95b6965f26fb588a29485ef414
 ) and now ( 
https://github.com/EttusResearch/uhd/blob/7ac01c7f979aab8fac5e62f596ff0af52cedec40/host/lib/usrp/x300/x300_impl.cpp#L676
 ) that was changed to always return the 10 G rate even when connected via 1 G. 
Is there another way to determine how an X300 is connected?

-Nathan


_______________________________________________
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

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to