On Tue, Mar 24, 2009 at 04:03:36PM -0300, Ronaldo N. wrote:
Sometimes the item number changes to 4 or 8…
What that mean?
I took a look at the usrp2_impl.cc (last revision) and i couldn’t
identify any problem…
Any suggestion is welcome.
There’s a bug in the on-the-wire format for the USRP2 where we’re not
currently transmitting the valid length of the packet. With ethernet,
the minimum packet size is 64-bytes, and there are some times where
the host code is naively fragmenting the received samples in a way
that produces a packet that is too short for ethernet.
I’ve opened ticket:378 on this. It will be properly fixed when we
rework the on-the-wire format as part of the VRT work, but I think
there’s an intermediate step that can avoid most cases of the problem
happening. I’m not sure that I can find time to fix this in time for
3.2.0, but if you’d like to take a look at it, we’d love a patch for
it. What needs to happen is that the loop in usrp2_impl.cc(tx_raw)
that fragments the nitems items needs to be a little smarter about
breaking the items into ethernet frames. Each piece needs to be
between 9 and U2_MAX_SAMPLES samples long. (9 works out to the
smallest number of samples that plus the headers ends up being >= 64