We've seen errors like this before with two possible causes: 
  *) What software versions are you running? 
https://casper.berkeley.edu/w/index.php?title=LatestVersions
  *) Ensure the PPC is clocked at 533/66MHz.

Jason

On 20 Jul 2011, at 18:10, Jon Losh wrote:

> Hi everyone,
> 
> Thanks for all of your helpful replies!
> 
> We only have one standing request to the roach at a time if my understanding 
> of the Python katcp package is correct. All of the fpga.read_int calls (no 
> explicit blindwrite calls anywhere) from Python won't allow the Python 
> program to proceed until they return with some value or error, right? As 
> we're only communicating with the roach via these calls, I think we're 
> waiting for responses as it stands, but still getting the odd timeout error. 
> For what it's worth, I've also gotten the odd read request timeout with other 
> designs during the course of casually making manual read and write requests, 
> sometimes persistent to the point of having to reprogram/reset the roach.
> 
> I've already forced the computer's network connection going to the roach 
> network to be 100Mbit and verified that it's running at that rate with 
> ethtool. Is there anything else that should be set? I need to find a serial 
> cable so I can take a look at those diagnostic messages....
> 
> The PPC-side data dump is a good idea, but a bit overkill for what we're 
> doing. We can still read data from the roach; it just locks up somewhat 
> frequently and has to be jiggered until it unsticks itself. For what we want 
> from this tool at the moment, it's probably not worth the overhead.
> 
> On Wed, Jul 20, 2011 at 3:45 AM, Andrew Siemion <[email protected]> wrote:
> Hi Jon,
> 
> When we have needed to read a BRAM or register repeatedly and at a high
> cadence, we have instantiated a simple C program running directly on the
> PPC that queries the memory and dumps it out in UDP packets.  We have
> occasionally combined this with repeated reads of an accumulation counter
> to, for example, output spectra from a spectrometer every time a new
> accumulation was ready.  For applications where you want to read out
> memory as fast as possible, a push architecture over UDP is probably
> better than repeated TCP requests.  This would require writing a bit of
> code though, maybe "start-send" and "end-send" commands, then executing
> them using KATCP's shell execute functionality.
> 
> Cheers,
> 
> Andrew
> 
> 
> 
> On 7/20/11 12:30 AM, "Jason Manley" <[email protected]> wrote:
> 
> >Are you continuously sending requests even before you get the responses?
> >If you keep sending requests while the ROACH is processing a request
> >(like retrieving the snap block's BRAM contents) then those will be
> >queued in the networking stack's TCP receive buffer. They should be
> >serviced when tcpborphserver completes its current task, unless the
> >buffer overflows. Maybe this is what's happening if you're bombarding it
> >with requests.
> >
> >My current use of the system is sub-optimal in that I wait for a request
> >to complete before issuing the next command. This is bulletproof but you
> >do take a performance hit without any pipelining due to network
> >round-trip times.
> >
> >Jason
> >
> >
> >On 19 Jul 2011, at 23:19, Jon Losh wrote:
> >
> >> Hi,
> >>
> >> We have a piece of diagnostic software that continually reads from a
> >>snap to give us real-time data at various stages in our F-engine. One of
> >>the issues we're running into is read and requests to the roach timing
> >>out. I saw a suggestion in another thread on the mail archive to force
> >>the ethernet link speed to 100Mbit/sec, which I did, but this doesn't
> >>appear to have helped. Our network topology is a computer is connected
> >>to the roach via a gigabit ethernet switch.
> >>
> >> Am I perhaps inundating the PowerPC with read/write requests? They're
> >>going out at about 25 requests/second. If that's not the issue, are
> >>there any other known workarounds like the forcing of the ethernet link
> >>speed?
> >
> >
> 
> 
> 


Reply via email to