Overrun Underrun False packets issues on Gnuradio using Beagle Board

Hello,

I have a Beagle Board running Gnuradio(3.2.1). I copied the
gnuradio-examples folder from Gnuradio (3.2.2) on the Beagle Board
(BB).
When I run the usrp_benchmark_usb, I get a maximum throughput of
4MB/sec, instead of 32MB/sec on my regular Linux desktop.
Here is my problem: On the Beagle Board, I am getting lots of dropped
packets, most false packets, u0 and uU when running benchmark_tx/rx, and
tunnel.py.
My first assumption is that I have a USB bottleneck. Am I correct?

I have tried to resolve these problems using a few options so far:
Option 1. Reducing the rate (I modified the gnuradio examples files
accordingly), so I am pretty sure I am reducing the rate of
transmission. [The verbose statements for Requested bit rate and Actual
bitrate are the same]. That did not resolve my problems. Why?

Option 2. Changing buffer size. I am trying to tweak the buffer size(by
modifying fusb_block_size and nblocks) , but I do not know how to check
that the change actually occured in realtime.
(a) Where can I find the real value of the realtime buffer size so I can
print it in verbose. I tried to trace it down, but eventually hit a
wall.
(b) How do you think I can change the buffer size and rate in order to
satisfy a maximum throughput of 2MB/sec and still get reliable data?
© I know that buffer size is B*N, where B is a multiple of 512 bytes.
I also know that a large N can cause latency, but I want to disregard
any latency issues for now.
Will I resolve anything by changing B and N? I have attempted a few
combinations of B, N and rate, still no solutions.

Any suggestions to resolve these issues are welcome.
Thanks,

Jeannette

On 04/08/2010 12:07 AM, Jeannette Nounagnon wrote:

Hello,

I have a Beagle Board running Gnuradio(3.2.1). I copied the
gnuradio-examples folder from Gnuradio (3.2.2) on the Beagle Board (BB).
When I run the usrp_benchmark_usb, I get a maximum throughput of
4MB/sec, instead of 32MB/sec on my regular Linux desktop.
Here is my problem: On the Beagle Board, I am getting lots of dropped
packets, most false packets, u0 and uU when running benchmark_tx/rx, and
tunnel.py.
My first assumption is that I have a USB bottleneck. Am I correct?

Yes. I’m not sure exactly where the bottleneck is, but I suspect the USB
drivers for the OMAP3 have not been optimized for speed.

I have tried to resolve these problems using a few options so far:
Option 1. Reducing the rate (I modified the gnuradio examples files
accordingly), so I am pretty sure I am reducing the rate of
transmission. [The verbose statements for Requested bit rate and Actual
bitrate are the same]. That did not resolve my problems. Why?

Benchmark_{tx,rx} add signal processing right? I would run oprofile and
see what signal processing block is using most of the CPU time. I
suspect that rewriting the signall processing in assembler using NEON
will help a great deal.

Finally, I’d point out that beagleboard.org is a mentoring organization
for Google Summer of Code. The proposal deadline is sometime tomorrow.
We’d be glad to consider a proposal based on getting this working really
well on the Beagle Board.

Philip

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs