usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Fwd: Re[2]: Hardware selection for X310-based system

V
Vladimir
Mon, Apr 11, 2016 12:04 PM

Hello,

Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq?

If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means?

Vladimir

Hello, Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq? If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means? Vladimir
M
mleech@ripnet.com
Mon, Apr 11, 2016 2:54 PM

The standard DSP chain in the X3xx family only allows sample rates that
are an integer fraction of the master clock rate (200MHhz,
by default).

If you want to re-sample with such fine resolution, you'll have to do it
in host-side software, or do an implementation of a fractional resampler
in the FPGA.

On 2016-04-11 08:04, Vladimir via USRP-users wrote:

Hello,

Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq?

If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means?

Vladimir


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

The standard DSP chain in the X3xx family only allows sample rates that are an integer fraction of the master clock rate (200MHhz, by default). If you want to re-sample with such fine resolution, you'll have to do it in host-side software, or do an implementation of a fractional resampler in the FPGA. On 2016-04-11 08:04, Vladimir via USRP-users wrote: > Hello, > > Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq? > > If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means? > > Vladimir > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com [1] Links: ------ [1] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
V
Vladimir
Mon, Apr 11, 2016 5:45 PM

Thank you!

On Ettus site a support for 184.32 and 120 MHz is also declared for X300. This might help us to some degree. But set_master_clock_rate() seems to have no effect. How difficult is to build FPGA image with either of those hardcoded - is it like changing some const in firmware source or requires significant effort to get it running?

Vladimir

Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com:

The standard DSP chain in the X3xx family only allows sample rates that are an integer fraction of the master clock rate (200MHhz,
 by default).
If you want to re-sample with such fine resolution, you'll have to do it in host-side software, or do an implementation of a fractional resampler in the FPGA.
 
 
On 2016-04-11 08:04, Vladimir via USRP-users wrote: Hello,

Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq?

If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means?

Vladimir


USRP-users mailing list



Thank you! On Ettus site a support for 184.32 and 120 MHz is also declared for X300. This might help us to some degree. But set_master_clock_rate() seems to have no effect. How difficult is to build FPGA image with either of those hardcoded - is it like changing some const in firmware source or requires significant effort to get it running? Vladimir >Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com: > >The standard DSP chain in the X3xx family only allows sample rates that are an integer fraction of the master clock rate (200MHhz, > by default). >If you want to re-sample with such fine resolution, you'll have to do it in host-side software, or do an implementation of a fractional resampler in the FPGA. >  >  >On 2016-04-11 08:04, Vladimir via USRP-users wrote: Hello, >> >>Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq? >> >>If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means? >> >>Vladimir >> >> >> >>_______________________________________________ USRP-users mailing list >>USRP-users@lists.ettus.com >>http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com 
MM
Marcus Müller
Mon, Apr 11, 2016 5:53 PM

You can select one of the three possible master clock rates, 200MHz,
184.32MHz or 120MHz directly at initialization. A possible way to do so
is adding e.g "master_clock_rate=184.32e6" to the device address you use
with multi_usrp::make()

Note that you can't really use the 120MHz clock rate with the UBX-160;
the daughterboard has a 160MHz baseband with, and Nyquist frowns upon
sampling that with 120MS/s!

The real problem is that something like arbitrary resampling is usually
very demanding – if you do it on a CPU, then it's often done with an
adjustable interpolation polynomial, and eats a lot of cycles, and if
done in hardware, complicated multi-staged fractional resamplers might
be the answer, or living with reduced signal quality, switching between
two "relatively close" resampling ratios.

Now, one thing to realize: When sampling at 200MS/s, a sample rate
resolution of 1Hz is but 5ppb, so you'll need an insanely accurate
oscillator to even notice that. Usually, you don't resample for such
imperfections, at least not statically; you rather use a symbol timing
tracking loop in software, if you're building a communications system.

May I hence ask: Why do you need finely adjustable sampling rates for?

Best regards,
Marcus

On 11.04.2016 19:45, Vladimir via USRP-users wrote:

Thank you!

On Ettus site a support for 184.32 and 120 MHz is also declared for
X300. This might help us to some degree. But set_master_clock_rate()
seems to have no effect. How difficult is to build FPGA image with
either of those hardcoded - is it like changing some const in firmware
source or requires significant effort to get it running?

Vladimir

 Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com:

 The standard DSP chain in the X3xx family only allows sample rates
 that are an integer fraction of the master clock rate (200MHhz,
  by default).

 If you want to re-sample with such fine resolution, you'll have to
 do it in host-side software, or do an implementation of a
 fractional resampler in the FPGA.

  

  

 On 2016-04-11 08:04, Vladimir via USRP-users wrote:
 Hello,

 Is it possible by any means to get the sampling rate fine tuned
 in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input
 point where we can provide some reference freq or directly Fs
 from an external source? Or, may be some custom FPGA version
 implementing arbitrary resampling or reprogramming dsp to the
 exact freq?

 If there is no ready solution yet, what would be the best
 (easiest) way to implement it by our own means?

 Vladimir



 _______________________________________________
 USRP-users mailing list
 USRP-users@lists.ettus.com
 <//e.mail.ru/compose/?mailto=mailto%3aUSRP%2dusers@lists.ettus.com>
 http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
You can select one of the three possible master clock rates, 200MHz, 184.32MHz or 120MHz directly at initialization. A possible way to do so is adding e.g "master_clock_rate=184.32e6" to the device address you use with multi_usrp::make() Note that you can't really use the 120MHz clock rate with the UBX-160; the daughterboard has a 160MHz baseband with, and Nyquist frowns upon sampling that with 120MS/s! The real problem is that something like arbitrary resampling is usually very demanding – if you do it on a CPU, then it's often done with an adjustable interpolation polynomial, and eats a lot of cycles, and if done in hardware, complicated multi-staged fractional resamplers might be the answer, or living with reduced signal quality, switching between two "relatively close" resampling ratios. Now, one thing to realize: When sampling at 200MS/s, a sample rate resolution of 1Hz is but 5ppb, so you'll need an insanely accurate oscillator to even notice that. Usually, you don't resample for such imperfections, at least not statically; you rather use a symbol timing tracking loop in software, if you're building a communications system. May I hence ask: Why do you need finely adjustable sampling rates for? Best regards, Marcus On 11.04.2016 19:45, Vladimir via USRP-users wrote: > Thank you! > > On Ettus site a support for 184.32 and 120 MHz is also declared for > X300. This might help us to some degree. But set_master_clock_rate() > seems to have no effect. How difficult is to build FPGA image with > either of those hardcoded - is it like changing some const in firmware > source or requires significant effort to get it running? > > Vladimir > > Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com: > > The standard DSP chain in the X3xx family only allows sample rates > that are an integer fraction of the master clock rate (200MHhz, > by default). > > If you want to re-sample with such fine resolution, you'll have to > do it in host-side software, or do an implementation of a > fractional resampler in the FPGA. > > > > > > On 2016-04-11 08:04, Vladimir via USRP-users wrote: > >> Hello, >> >> Is it possible by any means to get the sampling rate fine tuned >> in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input >> point where we can provide some reference freq or directly Fs >> from an external source? Or, may be some custom FPGA version >> implementing arbitrary resampling or reprogramming dsp to the >> exact freq? >> >> If there is no ready solution yet, what would be the best >> (easiest) way to implement it by our own means? >> >> Vladimir >> >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> <//e.mail.ru/compose/?mailto=mailto%3aUSRP%2dusers@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
MM
Marcus Müller
Mon, Apr 11, 2016 5:53 PM

You can select one of the three possible master clock rates, 200MHz,
184.32MHz or 120MHz directly at initialization. A possible way to do so
is adding e.g "master_clock_rate=184.32e6" to the device address you use
with multi_usrp::make()

Note that you can't really use the 120MHz clock rate with the UBX-160;
the daughterboard has a 160MHz baseband with, and Nyquist frowns upon
sampling that with 120MS/s!

The real problem is that something like arbitrary resampling is usually
very demanding – if you do it on a CPU, then it's often done with an
adjustable interpolation polynomial, and eats a lot of cycles, and if
done in hardware, complicated multi-staged fractional resamplers might
be the answer, or living with reduced signal quality, switching between
two "relatively close" resampling ratios.

Now, one thing to realize: When sampling at 200MS/s, a sample rate
resolution of 1Hz is but 5ppb, so you'll need an insanely accurate
oscillator to even notice that. Usually, you don't resample for such
imperfections, at least not statically; you rather use a symbol timing
tracking loop in software, if you're building a communications system.

May I hence ask: Why do you need finely adjustable sampling rates? What
is your intended application?

Best regards,
Marcus

On 11.04.2016 19:45, Vladimir via USRP-users wrote:

Thank you!

On Ettus site a support for 184.32 and 120 MHz is also declared for
X300. This might help us to some degree. But set_master_clock_rate()
seems to have no effect. How difficult is to build FPGA image with
either of those hardcoded - is it like changing some const in firmware
source or requires significant effort to get it running?

Vladimir

 Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com:

 The standard DSP chain in the X3xx family only allows sample rates
 that are an integer fraction of the master clock rate (200MHhz,
  by default).

 If you want to re-sample with such fine resolution, you'll have to
 do it in host-side software, or do an implementation of a
 fractional resampler in the FPGA.

  

  

 On 2016-04-11 08:04, Vladimir via USRP-users wrote:
 Hello,

 Is it possible by any means to get the sampling rate fine tuned
 in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input
 point where we can provide some reference freq or directly Fs
 from an external source? Or, may be some custom FPGA version
 implementing arbitrary resampling or reprogramming dsp to the
 exact freq?

 If there is no ready solution yet, what would be the best
 (easiest) way to implement it by our own means?

 Vladimir



 _______________________________________________
 USRP-users mailing list
 USRP-users@lists.ettus.com
 <//e.mail.ru/compose/?mailto=mailto%3aUSRP%2dusers@lists.ettus.com>
 http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
You can select one of the three possible master clock rates, 200MHz, 184.32MHz or 120MHz directly at initialization. A possible way to do so is adding e.g "master_clock_rate=184.32e6" to the device address you use with multi_usrp::make() Note that you can't really use the 120MHz clock rate with the UBX-160; the daughterboard has a 160MHz baseband with, and Nyquist frowns upon sampling that with 120MS/s! The real problem is that something like arbitrary resampling is usually very demanding – if you do it on a CPU, then it's often done with an adjustable interpolation polynomial, and eats a lot of cycles, and if done in hardware, complicated multi-staged fractional resamplers might be the answer, or living with reduced signal quality, switching between two "relatively close" resampling ratios. Now, one thing to realize: When sampling at 200MS/s, a sample rate resolution of 1Hz is but 5ppb, so you'll need an insanely accurate oscillator to even notice that. Usually, you don't resample for such imperfections, at least not statically; you rather use a symbol timing tracking loop in software, if you're building a communications system. May I hence ask: Why do you need finely adjustable sampling rates? What is your intended application? Best regards, Marcus On 11.04.2016 19:45, Vladimir via USRP-users wrote: > Thank you! > > On Ettus site a support for 184.32 and 120 MHz is also declared for > X300. This might help us to some degree. But set_master_clock_rate() > seems to have no effect. How difficult is to build FPGA image with > either of those hardcoded - is it like changing some const in firmware > source or requires significant effort to get it running? > > Vladimir > > Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com: > > The standard DSP chain in the X3xx family only allows sample rates > that are an integer fraction of the master clock rate (200MHhz, > by default). > > If you want to re-sample with such fine resolution, you'll have to > do it in host-side software, or do an implementation of a > fractional resampler in the FPGA. > > > > > > On 2016-04-11 08:04, Vladimir via USRP-users wrote: > >> Hello, >> >> Is it possible by any means to get the sampling rate fine tuned >> in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input >> point where we can provide some reference freq or directly Fs >> from an external source? Or, may be some custom FPGA version >> implementing arbitrary resampling or reprogramming dsp to the >> exact freq? >> >> If there is no ready solution yet, what would be the best >> (easiest) way to implement it by our own means? >> >> Vladimir >> >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> <//e.mail.ru/compose/?mailto=mailto%3aUSRP%2dusers@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
V
Vladimir
Tue, Apr 12, 2016 2:20 PM

Marcus,

Thank you for comprehensive answer! In fact, note, I didn't speak about 5 ppb accuracy :). I'm not so experienced in sdr field yet, it's why I missed an order of value - actually I should be talking about 1Hz at 2 MHz sampling rate, and it makes it 0.5 ppm. But all this happened from my inexperience - actually what I'm doing is trying to see a presence of LTE signal in the air, and having X300 I tried to get an open src utility LTE Cell Scanner to work with it. Actually, 184.32 MHz ideally fits this task, so problem is over now, it works just fine. The matter was that LTE Scanner (working with RTLSDR) sets up the sampling rate multiplied by some correction coeff wich is like 0.999998..., so I didn't realize at once how to get a working set up.

Speaking about parameters passed to make() - can I find the list of all them somewhere summarized? Couldn't find it. Can I cut some initialization time instructing it not to perform some searching procedures - for example, tell it not to search for GPSDO since it's not installed? Which parameters should I pass to make() to minimize startup time of this combo - X300+UBX?

Thanks!
Vladimir

Понедельник, 11 апреля 2016, 20:53 +03:00 от Marcus Müller via USRP-users usrp-users@lists.ettus.com:

You can select one of the three possible master clock rates, 200MHz,

184.32MHz or 120MHz directly at initialization. A possible way to do
so is adding e.g "master_clock_rate=184.32e6" to the device address
you use with multi_usrp::make()

Note that you can't really use the 120MHz clock rate with the

UBX-160; the daughterboard has a 160MHz baseband with, and Nyquist
frowns upon sampling that with 120MS/s!

The real problem is that something like arbitrary resampling is

usually very demanding – if you do it on a CPU, then it's often done
with an adjustable interpolation polynomial, and eats a lot of
cycles, and if done in hardware, complicated multi-staged fractional
resamplers might be the answer, or living with reduced signal
quality, switching between two "relatively close" resampling ratios.

Now, one thing to realize: When sampling at 200MS/s, a sample rate

resolution of 1Hz is but 5ppb, so you'll need an insanely accurate
oscillator to even notice that. Usually, you don't resample for such
imperfections, at least not statically; you rather use a symbol
timing tracking loop in software, if you're building a
communications system.

May I hence ask: Why do you need finely adjustable sampling rates

for?

Best regards,
Marcus

On 11.04.2016 19:45, Vladimir via

  USRP-users wrote:

Thank you!

On Ettus site a support for 184.32 and 120 MHz is also declared

  for X300. This might help us to some degree.
  But set_master_clock_rate() seems to have no effect. How difficult
  is to build FPGA image with either of those hardcoded - is it like
  changing some const in firmware source or requires significant
  effort to get it running?

Vladimir

Понедельник, 11 апреля 2016, 17:54 +03:00

    от  mleech@ripnet.com :

The standard DSP chain in the X3xx family only allows

              sample rates that are an integer fraction of the
              master clock rate (200MHhz,

 by default).
If you want to re-sample with such fine resolution,

              you'll have to do it in host-side software, or do an
              implementation of a fractional resampler in the FPGA.

 
 
On 2016-04-11 08:04, Vladimir via USRP-users wrote: Hello,

Is it possible by any means to get the sampling rate

              fine tuned in X300 (eg 1 Hz resolution at 20 Msps
              point)? Is there any input point where we can provide
              some reference freq or directly Fs from an external
              source? Or, may be some custom FPGA version
              implementing arbitrary resampling or reprogramming dsp
              to the exact freq?

If there is no ready solution yet, what would be the

              best (easiest) way to implement it by our own means?

Vladimir


USRP-users mailing list

USRP-users mailing list



Marcus, Thank you for comprehensive answer! In fact, note, I didn't speak about 5 ppb accuracy :). I'm not so experienced in sdr field yet, it's why I missed an order of value - actually I should be talking about 1Hz at 2 MHz sampling rate, and it makes it 0.5 ppm. But all this happened from my inexperience - actually what I'm doing is trying to see a presence of LTE signal in the air, and having X300 I tried to get an open src utility LTE Cell Scanner to work with it. Actually, 184.32 MHz ideally fits this task, so problem is over now, it works just fine. The matter was that LTE Scanner (working with RTLSDR) sets up the sampling rate multiplied by some correction coeff wich is like 0.999998..., so I didn't realize at once how to get a working set up. Speaking about parameters passed to make() - can I find the list of all them somewhere summarized? Couldn't find it. Can I cut some initialization time instructing it not to perform some searching procedures - for example, tell it not to search for GPSDO since it's not installed? Which parameters should I pass to make() to minimize startup time of this combo - X300+UBX? Thanks! Vladimir >Понедельник, 11 апреля 2016, 20:53 +03:00 от Marcus Müller via USRP-users <usrp-users@lists.ettus.com>: > >You can select one of the three possible master clock rates, 200MHz, 184.32MHz or 120MHz directly at initialization. A possible way to do so is adding e.g "master_clock_rate=184.32e6" to the device address you use with multi_usrp::make() > >Note that you can't really use the 120MHz clock rate with the UBX-160; the daughterboard has a 160MHz baseband with, and Nyquist frowns upon sampling that with 120MS/s! > >The real problem is that something like arbitrary resampling is usually very demanding – if you do it on a CPU, then it's often done with an adjustable interpolation polynomial, and eats a lot of cycles, and if done in hardware, complicated multi-staged fractional resamplers might be the answer, or living with reduced signal quality, switching between two "relatively close" resampling ratios. > >Now, one thing to realize: When sampling at 200MS/s, a sample rate resolution of 1Hz is but 5ppb, so you'll need an insanely accurate oscillator to even notice that. Usually, you don't resample for such imperfections, at least not statically; you rather use a symbol timing tracking loop in software, if you're building a communications system. > >May I hence ask: Why do you need finely adjustable sampling rates for? > >Best regards, >Marcus > >On 11.04.2016 19:45, Vladimir via USRP-users wrote: >>Thank you! >> >>On Ettus site a support for 184.32 and 120 MHz is also declared for X300. This might help us to some degree. But set_master_clock_rate() seems to have no effect. How difficult is to build FPGA image with either of those hardcoded - is it like changing some const in firmware source or requires significant effort to get it running? >> >>Vladimir >> >>>Понедельник, 11 апреля 2016, 17:54 +03:00 от mleech@ripnet.com : >>> >>>The standard DSP chain in the X3xx family only allows sample rates that are an integer fraction of the master clock rate (200MHhz, >>> by default). >>>If you want to re-sample with such fine resolution, you'll have to do it in host-side software, or do an implementation of a fractional resampler in the FPGA. >>>  >>>  >>>On 2016-04-11 08:04, Vladimir via USRP-users wrote: Hello, >>>> >>>>Is it possible by any means to get the sampling rate fine tuned in X300 (eg 1 Hz resolution at 20 Msps point)? Is there any input point where we can provide some reference freq or directly Fs from an external source? Or, may be some custom FPGA version implementing arbitrary resampling or reprogramming dsp to the exact freq? >>>> >>>>If there is no ready solution yet, what would be the best (easiest) way to implement it by our own means? >>>> >>>>Vladimir >>>> >>>> >>>> >>>>_______________________________________________ USRP-users mailing list >>>>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 > >_______________________________________________ >USRP-users mailing list >USRP-users@lists.ettus.com >http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com 
V
Vladimir
Mon, Sep 25, 2017 4:17 PM

Hello USRP team!

In our Linux application for quite a while we use some 3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors:

Error    500    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z)

Error    501    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ)

in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj

Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK.

BTW, I use the following sequence to build boost:

bootstrap
b2 toolset=msvc-12.0  address - model = 64
b2 toolset=msvc-12.0  address - model = 64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5.

Thank you!
Vladimir Pavlenko

Hello USRP team! In our Linux application for quite a while we use some 3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors: Error    500    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z) Error    501    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ) in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK. BTW, I use the following sequence to build boost: bootstrap b2 toolset=msvc-12.0 address - model = 64 b2 toolset=msvc-12.0 address - model = 64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5. Thank you! Vladimir Pavlenko
JS
Josh Sendall
Mon, Sep 25, 2017 5:27 PM

Hi Vladimir,
You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not.

Kind regards,
Joshua Sendall

On 25 Sep 2017 6:18 PM, Vladimir via USRP-users usrp-users@lists.ettus.com wrote:[The e-mail server of the sender could not be verified (SPF Record)]Hello USRP team!

In our Linux application for quite a while we use some 3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors:

Error    500    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z)

Error    501    error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ)

in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj

Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK.

BTW, I use the following sequence to build boost:

bootstrap

b2 toolset=msvc-12.0 address-model=64

b2 toolset=msvc-12.0 address-model=64 --with-test link=shared

As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5.

Thank you!
Vladimir Pavlenko

--

This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard.
The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.

Please consider the environment before printing this email.

Hi Vladimir, You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not. Kind regards, Joshua Sendall On 25 Sep 2017 6:18 PM, Vladimir via USRP-users <usrp-users@lists.ettus.com> wrote:[The e-mail server of the sender could not be verified (SPF Record)]Hello USRP team! In our Linux application for quite a while we use some 3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I&#39;m getting two strange linking errors: Error 500 error LNK2019: unresolved external symbol &#34;public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)&#34; (??1usb_device_handle&#64;transport&#64;uhd&#64;&#64;UEAA&#64;XZ) referenced in function &#34;public: virtual void * __cdecl uhd::transport::usb_device_handle::&#96;vector deleting destructor&#39;(unsigned int)&#34; (??_Eusb_device_handle&#64;transport&#64;uhd&#64;&#64;UEAAPEAXI&#64;Z) Error 501 error LNK2019: unresolved external symbol &#34;public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)&#34; (??1usb_zero_copy&#64;transport&#64;uhd&#64;&#64;UEAA&#64;XZ) referenced in function &#34;public: void __cdecl uhd::transport::usb_zero_copy::&#96;vbase destructor&#39;(void)&#34; (??_Dusb_zero_copy&#64;transport&#64;uhd&#64;&#64;QEAAXXZ) in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj Looks like it&#39;s related with boost libs, which I&#39;m not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK. BTW, I use the following sequence to build boost: bootstrap b2 toolset&#61;msvc-12.0 address-model&#61;64 b2 toolset&#61;msvc-12.0 address-model&#61;64 --with-test link&#61;shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5. Thank you! Vladimir Pavlenko -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. Please consider the environment before printing this email.
V
Vladimir
Mon, Sep 25, 2017 7:27 PM

Joshua,
Thanks for your reply! It was my first thought too. But 1) ver 3.9.7 as I wrote builds w/o a glitch, and 2) looking at the error messages it's not obvious how libusb could help here. Those functions that it misses are compiler-generated helper-funcs for uhd::... class(es), so I doubt it will find them in libusb... May be I don't see something, but it would be good if someone from USRP team confirmed that libusb is absolutely required here (starting from v. 3.10.0.0).
Vladimir понедельник, 25 сентября 2017г., 20:28 +03:00 от Josh Sendall  jsendall@csir.co.za :

Hi Vladimir,

You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not. 

Kind regards,
Joshua Sendall 

On 25 Sep 2017 6:18 PM, Vladimir via USRP-users < usrp-users@lists.ettus.com > wrote:

[The e-mail server of the sender could not be verified (SPF Record)]
Hello USRP team!

In our Linux application for quite a while we use some��3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors:

Error���� ��500���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z)

Error���� ��501���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ)

in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj

Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK.

BTW, I use the following sequence to build boost:

bootstrap
b2 toolset=msvc-12.0 address-model=64
b2 toolset=msvc-12.0 address-model=64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5.

Thank you!
Vladimir Pavlenko


This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard.
The full disclaimer details can be found at  http://www.csir.co.za/disclaimer.html .

Please consider the environment before printing this email.

Joshua, Thanks for your reply! It was my first thought too. But 1) ver 3.9.7 as I wrote builds w/o a glitch, and 2) looking at the error messages it's not obvious how libusb could help here. Those functions that it misses are compiler-generated helper-funcs for uhd::... class(es), so I doubt it will find them in libusb... May be I don't see something, but it would be good if someone from USRP team confirmed that libusb is absolutely required here (starting from v. 3.10.0.0). Vladimir понедельник, 25 сентября 2017г., 20:28 +03:00 от Josh Sendall jsendall@csir.co.za : >Hi Vladimir, > >You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not.  > >Kind regards, >Joshua Sendall  > >On 25 Sep 2017 6:18 PM, Vladimir via USRP-users < usrp-users@lists.ettus.com > wrote: >>[The e-mail server of the sender could not be verified (SPF Record)] >> Hello USRP team! >> >>In our Linux application for quite a while we use some��3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors: >> >>Error���� ��500���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z) >> >>Error���� ��501���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ) >> >>in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj >> >>Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK. >> >>BTW, I use the following sequence to build boost: >> >>bootstrap >>b2 toolset=msvc-12.0 address-model=64 >>b2 toolset=msvc-12.0 address-model=64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5. >> >>Thank you! >>Vladimir Pavlenko >> >> >> >> >> >> >> >> > >---------------------------------------------------------------------- >This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. >The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html . > >Please consider the environment before printing this email.
V
Vladimir
Mon, Sep 25, 2017 7:32 PM

BTW, I indeed forgot to mention that we use X300 over 10G interface, of course without usb.
Vladimir понедельник, 25 сентября 2017г., 20:28 +03:00 от Josh Sendall  jsendall@csir.co.za :

Hi Vladimir,

You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not. 

Kind regards,
Joshua Sendall 

On 25 Sep 2017 6:18 PM, Vladimir via USRP-users < usrp-users@lists.ettus.com > wrote:

[The e-mail server of the sender could not be verified (SPF Record)]
Hello USRP team!

In our Linux application for quite a while we use some��3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors:

Error���� ��500���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z)

Error���� ��501���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ)

in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj

Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK.

BTW, I use the following sequence to build boost:

bootstrap
b2 toolset=msvc-12.0 address-model=64
b2 toolset=msvc-12.0 address-model=64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5.

Thank you!
Vladimir Pavlenko


This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard.
The full disclaimer details can be found at  http://www.csir.co.za/disclaimer.html .

Please consider the environment before printing this email.

BTW, I indeed forgot to mention that we use X300 over 10G interface, of course without usb. Vladimir понедельник, 25 сентября 2017г., 20:28 +03:00 от Josh Sendall jsendall@csir.co.za : >Hi Vladimir, > >You need to link with libusb. It seems to be needed regardless of whether you enable the sub module or not.  > >Kind regards, >Joshua Sendall  > >On 25 Sep 2017 6:18 PM, Vladimir via USRP-users < usrp-users@lists.ettus.com > wrote: >>[The e-mail server of the sender could not be verified (SPF Record)] >> Hello USRP team! >> >>In our Linux application for quite a while we use some��3.10 version of UHD (which requires FPGA ver. 33) and it works fine. Now we want to use the same version in Windows app, to match the FPGA ver. But trying to build any of 3.10 versions in MS Visual Studio 2013 (Release x64 cfg) I'm getting two strange linking errors: >> >>Error���� ��500���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_device_handle::~usb_device_handle(void)" (??1usb_device_handle@transport@uhd@@UEAA@XZ) referenced in function "public: virtual void * __cdecl uhd::transport::usb_device_handle::`vector deleting destructor'(unsigned int)" (??_Eusb_device_handle@transport@uhd@@UEAAPEAXI@Z) >> >>Error���� ��501���� ��error LNK2019: unresolved external symbol "public: virtual __cdecl uhd::transport::usb_zero_copy::~usb_zero_copy(void)" (??1usb_zero_copy@transport@uhd@@UEAA@XZ) referenced in function "public: void __cdecl uhd::transport::usb_zero_copy::`vbase destructor'(void)" (??_Dusb_zero_copy@transport@uhd@@QEAAXXZ) >> >>in file D:\VS\uhd\host\build\lib\usb_dummy_impl.obj >> >>Looks like it's related with boost libs, which I'm not familiar with. I switched to last boost 1.65.1 (started with 1.60 with the sme results), tried UHD 3.10.0.0, 3.10.2.0 and some one in between like 3.10.1.0 - all the same. Ver. 3.9.7 builds OK. >> >>BTW, I use the following sequence to build boost: >> >>bootstrap >>b2 toolset=msvc-12.0 address-model=64 >>b2 toolset=msvc-12.0 address-model=64 --with-test link=shared As I see you have binaries for VC2013 available, obviously it should build correctly. Do you have any idea of what could be the problem here? I use MS Visual Studio 2013 Ultimate with Update 5. >> >>Thank you! >>Vladimir Pavlenko >> >> >> >> >> >> >> >> > >---------------------------------------------------------------------- >This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. >The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html . > >Please consider the environment before printing this email.