Perhaps you could attach the relevant portions of your init code and capture code?
-Nevada On Mar 23, 2010, at 17:03 PM, mch...@physics.ucsb.edu wrote: > Hi Nevada, > > Thanks for the input. But I haven't yet figured out what's wrong. I > tried setting the source_ip directly as you suggested, but this had no > effect. And in any event, the source_ip, destination_ip, and port as > indicated by Wireshark are all correct (as I set them). It's just that my > python client doesn't read any data. > > Also, I updated my ROACH board just last week according to > http://www.mail-archive.com/casper@lists.berkeley.edu/msg01058.html. With > one difference, I used the kernel uImage-jiffy-20091110. Anyway, I'll > update at the end of the week as Jason suggests. But it'd be nice to > figure this out before then. > > > Sean > > > >> We've had similar problems before. If you're going to use sockets, you >> need to be sure that you are setting the source IP address on the GBE >> module. Otherwise, you will see packets in Wireshark, but not in the >> sockets. You can do this in python with something like >> >> fpga.write(gbe_block, source_ip, offset = 0x10) >> >> (Here gbe_block is the name of the gbe yellow block). Also, it might be a >> good idea to set an arp entry on the roach, with something like the >> following: >> >> >> def set_arp_entry(dev_name, last_ip_octet, mac): >> assert(last_ip_octet < 256) >> fpga.write(dev_name, mac, offset = 0x3002 + last_ip_octet*8) >> ... >> set_arp_entry(gbe_block, 1, pc_mac_addr) >> >> >> You will not get very high data rates through Python (it's too slow). I >> would suggest using similar code, but in C. >> >> -Nevada >> >> On Mar 23, 2010, at 14:21 PM, mch...@physics.ucsb.edu wrote: >> >>> Hi Paul, >>> >>> Thanks for the reply. By "not working" I meant that no data appears and >>> therefore the script stalls on the line >>> data = s.recvfrom(1024)[0] >>> >>> Also, currently I don't need very high data rates (~ 10Mb/s), but I will >>> need them in the near future. >>> >>> >>> Sean >>> >>>> Hi Sean, >>>> >>>> I've used python code almost identical to yours pretty successfully, >>>> mainly for simple tests/debugging. Whether or not this is the right >>>> way >>>> to build a bigger application depends on things like the data rate you >>>> need to support, any additional data processing/formatting that needs >>>> to >>>> be done, etc. >>>> >>>> What form of "not working" are you experiencing? ie, an error message, >>>> no >>>> data appears, data comes in but you can't keep up with it... or >>>> something >>>> else? >>>> >>>> -Paul >>>> >>>> On Tue, 23 Mar 2010, mch...@physics.ucsb.edu wrote: >>>> >>>>> Hi all, >>>>> >>>>> I need to dump data from a ROACH board to a PC over the 10gbe. Do any >>>>> of >>>>> you have any recommendations for what I should use as a client to >>>>> handle >>>>> the incoming data? >>>>> >>>>> I've been trying to use a simple Python client like, >>>>> >>>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) >>>>> s.bind((ip_address, port)) >>>>> data = s.recvfrom(1024)[0] >>>>> >>>>> where "ip_address" is the address of the pc's 10gbe nic. This has >>>>> worked... only occasionally. And I'm not sure why it fails. Using >>>>> Wireshark I can see the incoming packets are coming in with 1024 bytes >>>>> from the ROACH as I expect. Any thoughts? >>>>> >>>>> Thanks a lot. >>>>> >>>>> >>>>> Sean >>>> >>> >>> >>> >> >> >> > >