My sense is that a couple of things are "in play" in these
scenarios: 

 o UHD seems a little better at reporting under/overflow
than "classic" 

 o UHD consumes a slightly-larger amount of CPU in some
critical parts of the USB processing than in "classic". Which means that
situations that may have been marginal before are now over the edge.


I'm also not sure what makes a "good" USB controller and a "not so
good" USB controller. 

-Marcus 

On Wed, 21 Mar 2012 11:59:14 -0700,
Nick Foster wrote: 

> On Wed, Mar 21, 2012 at 11:42 AM, Vincenzo
Pellegrini wrote:
> 
>> HI fellows, 
>> 
>> I was wondering if anybody
has been trying to reach 8 Complex Msps over the USB 2.0 on the Tx path.

>> While this has always been OK with old libusrp (and USRP 1) it
appears to be no longer possible by means of UHD 
>> neither when trying
to do that on USRP1 (a few underruns) nor on B100 (lots of overruns).

>> 
>> Everything appears instead fine on the Rx path 
>> 
>> Is there
any workaround to this? 
>> 
>> ..or did I miss something? 
>> 
>>
thanks everybody 
>> 
>> PS 
>> USB 3.0 seems to be capable enough for
the 8 Msps. 
>> Is USB3.0 a requirement for 8 Msps on the B100?
> 
>
Look for other devices on that USB bus using lsusb. Avoid sharing the
bus with other peripherals (bluetooth, wlan, etc). You can also modify
the transport parameters using
--args=recv_frame_size=xxxxx,send_frame_size=xxxxx. This will give you
the same control over receive & send frame size that the old USRP1
drivers had. The default receive/send frame sizes are 16K, which seems
to work OK on most machines. 
> 
> For comparison, the USB host
controller I'm using is the Intel 6 Series/C200, and on B100 I can use a
TX send rate of 10.67Msps without underflow, although occasionally
underflows occur at the very beginning of the transmission (likely due
to interrupt coalescing on the USB controller). 
> 
> I also have a USB
3.0 controller (an NEC Corporation uPD720200) on this laptop, which
fares more poorly, but still easily achieves 8Msps. I don't have a good
explanation as to why some USB controllers do better than others. USB
3.0 is certainly not required on B100/USRP1, as neither device uses USB
3.0. 
> 
> --n 
> 
>>
____________________________________________________________B100 
>> 
>>
./benchmark_rate --tx_rate 8e6 
>> linux; GNU C++ version 4.6.1 20110908
(Red Hat 4.6.1-9); Boost_104600; UHD_003.004.000-325-g7e296167 
>> 
>>
Creating the usrp device with: ... 
>> -- USRP-B100 clock control: 10

>> -- r_counter: 2 
>> -- a_counter: 0 
>> -- b_counter: 20 
>> --
prescaler: 8 
>> -- vco_divider: 5 
>> -- chan_divider: 5 
>> --
vco_rate: 1600.000000MHz 
>> -- chan_rate: 320.000000MHz 
>> --
out_rate: 64.000000MHz 
>> -- 
>> Using Device: Single USRP: 
>> Device:
B-Series Device 
>> Mboard 0: B100 (B-Hundo) 
>> RX Channel: 0 
>> RX
DSP: 0 
>> RX Dboard: A 
>> RX Subdev: WBX RX v3 + Simple GDB 
>> TX
Channel: 0 
>> TX DSP: 0 
>> TX Dboard: A 
>> TX Subdev: WBX TX v3 +
Simple GDB 
>> 
>> Testing transmit rate 8.000000 Msps 
>>
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

>> Benchmark rate summary: 
>> Num received samples: 0 
>> Num dropped
samples: 0 
>> Num overflows detected: 0 
>> Num transmitted samples:
79931260 
>> Num sequence errors: 0 
>> Num underflows detected: 406 
>>

>> Done! 
>> 
>> ./benchmark_rate --tx_rate 8e6 --tx_otw sc16 
>>
linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
UHD_003.004.000-325-g7e296167 
>> 
>> Creating the usrp device with: ...

>> -- USRP-B100 clock control: 10 
>> -- r_counter: 2 
>> -- a_counter:
0 
>> -- b_counter: 20 
>> -- prescaler: 8 
>> -- vco_divider: 5 
>> --
chan_divider: 5 
>> -- vco_rate: 1600.000000MHz 
>> -- chan_rate:
320.000000MHz 
>> -- out_rate: 64.000000MHz 
>> -- 
>> Using Device:
Single USRP: 
>> Device: B-Series Device 
>> Mboard 0: B100 (B-Hundo)

>> RX Channel: 0 
>> RX DSP: 0 
>> RX Dboard: A 
>> RX Subdev: WBX RX
v3 + Simple GDB 
>> TX Channel: 0 
>> TX DSP: 0 
>> TX Dboard: A 
>> TX
Subdev: WBX TX v3 + Simple GDB 
>> 
>> Testing transmit rate 8.000000
Msps 
>>
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

>> Benchmark rate summary: 
>> Num received samples: 0 
>> Num dropped
samples: 0 
>> Num overflows detected: 0 
>> Num transmitted samples:
79890620 
>> Num sequence errors: 0 
>> Num underflows detected: 696 
>>

>> Done! 
>> 
>>
____________________________________________________________USRP 1 
>>

>> ./benchmark_rate --tx_rate 8e6 --tx_otw sc16 
>> linux; GNU C++
version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
UHD_003.004.000-325-g7e296167 
>> 
>> *** Warning! *** 
>> Benchmark
results will be inaccurate on USRP1 due to insufficient features. 
>>

>> Creating the usrp device with: ... 
>> -- Opening a USRP1 device...

>> -- Using FPGA clock rate of 64.000000MHz... 
>> Using Device: Single
USRP: 
>> Device: USRP1 Device 
>> Mboard 0: USRP1 (Classic) 
>> RX
Channel: 0 
>> RX DSP: 0 
>> RX Dboard: B 
>> RX Subdev: WBX RX v2 +
Simple GDB 
>> TX Channel: 0 
>> TX DSP: 0 
>> TX Dboard: B 
>> TX
Subdev: WBX TX v2 + Simple GDB 
>> 
>> Testing transmit rate 8.000000
Msps 
>> UUUUU 
>> Benchmark rate summary: 
>> Num received samples: 0

>> Num dropped samples: 0 
>> Num overflows detected: 0 
>> Num
transmitted samples: 80022656 
>> Num sequence errors: 0 
>> Num
underflows detected: 5 
>> 
>> Done! 
>> 
>>
____________________________________________________________everything
fine with 8bit samples 
>> 
>> ./benchmark_rate --tx_rate 8e6 --tx_otw
sc8 
>> linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9);
Boost_104600; UHD_003.004.000-325-g7e296167 
>> 
>> -- Loading firmware
image: /usr/share/uhd/images/usrp_b100_fw.ihx... done 
>> Creating the
usrp device with: ... 
>> -- USRP-B100 clock control: 10 
>> --
r_counter: 2 
>> -- a_counter: 0 
>> -- b_counter: 20 
>> -- prescaler:
8 
>> -- vco_divider: 5 
>> -- chan_divider: 5 
>> -- vco_rate:
1600.000000MHz 
>> -- chan_rate: 320.000000MHz 
>> -- out_rate:
64.000000MHz 
>> -- 
>> -- Loading FPGA image:
/usr/share/uhd/images/usrp_b100_fpga.bin... done 
>> Using Device:
Single USRP: 
>> Device: B-Series Device 
>> Mboard 0: B100 (B-Hundo)

>> RX Channel: 0 
>> RX DSP: 0 
>> RX Dboard: A 
>> RX Subdev: WBX RX
v3 + Simple GDB 
>> TX Channel: 0 
>> TX DSP: 0 
>> TX Dboard: A 
>> TX
Subdev: WBX TX v3 + Simple GDB 
>> 
>> Testing transmit rate 8.000000
Msps 
>> 
>> Benchmark rate summary: 
>> Num received samples: 0 
>> Num
dropped samples: 0 
>> Num overflows detected: 0 
>> Num transmitted
samples: 80053688 
>> Num sequence errors: 0 
>> Num underflows
detected: 0 
>> 
>> Done! 
>> 
>> -- 
>> Vincenzo Pellegrini
>>
http://www.youtube.com/user/wwvince1 [1] 
>>
_______________________________________________
>> Discuss-gnuradio
mailing list
>> Discuss-gnuradio@gnu.org [2]
>>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio [3]

 


Links:
------
[1] http://www.youtube.com/user/wwvince1
[2]
mailto:Discuss-gnuradio@gnu.org
[3]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[4]
mailto:wwvi...@gmail.com
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to