discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Understanding USRP2 flow control


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Understanding USRP2 flow control
Date: Tue, 20 Jul 2010 11:18:43 -0700
User-agent: Mutt/1.5.20 (2009-08-17)

On Tue, Jul 20, 2010 at 10:24:51AM +0200, OE1RSA wrote:
> Thank you for your answer.
> 
> Am 2010-07-19 22:06, schrieb Eric Blossom:
> > 
> > Flow control is handled at the link level using ethernet PAUSE frames.
> 
> I was not aware of this ethernet "feature". Having learned
> something new.
> 
> > 
> > Be sure to enable real-time scheduling by calling
> > 
> >     if gr.enable_realtime_scheduling() != gr.RT_OK:
> >         print "Note: failed to enable realtime scheduling, continuing"
> >     
> > before starting or running the flow graph.
> > 
> > If you haven't already, ensure that /etc/security/limits.conf contains
> > this line:
> > 
> > @usrp                -       rtprio          50
> > 
> > and that you are a member of group "usrp".
> 
> Made everyting as told, but still no success.

Just to be clear, do you get the 

  "Note: failed to enable realtime scheduling"

or not.  I'm assuming that you're not seeing this.

> Another observation I have made:
> 
> I am using two kernels from the ubuntu 10.04 LTS distro:
> 
> 2.6.32 generic and
> 2.6.31 rt
> 
> It is interesting that the generic kernel does better than
> the rt kernel. I.e. the rt is practically unusable at
> interpolation 4. The generic does quite well for a while,
> then suddenly drops off.
> 
> Btw.: I am using the e1000e driver for intel cards.
>
> Possibly it may be an issue with the driver?

That driver should be fine.

If your machine has any kind of power control and/or frequency
scaling, be sure that it's configured in its "Performance mode".  That
is, run at full speed all the time, do not try to save energy,
throttle the CPU, etc.

Be sure that flow control is properly configured.
It should look like this with a USRP2 plugged in and powered up:

    $ ethtool -a eth1
    Pause parameters for eth1:
    Autonegotiate:  on
    RX:             on
    TX:             off

> Do you have an idea how I could find out whether my
> problems are because of buffer overrun or underrun?

On transmit, it'll be a buffer underrun.  The host isn't keeping up.

You could hook up a USB CMOS/TTL to serial dongle and watch the diagnostic
output from the USRP2's serial port.

Eric



reply via email to

[Prev in Thread] Current Thread [Next in Thread]