Oops. Sorry about that.
The arch I'm on is AMD64, thus it should be cache coherent. I haven't done
a PCI bus trace. I put the 82574L NIC into the same machine which has the
82576 and it worked there as well. The 82576 works for both PXE as well as
under Linux, so it's not a problem with the card.
I'm assuming it's probably a DMA problem or something. I can add extra code
to check stats registers or something if there are registers which would be
a dead giveaway of that packets are coming in but not being DMAed or
something.
Thanks!
On Mon, Dec 29, 2014 at 11:06 AM, Ronciak, John <john.ronc...@intel.com>
wrote:
> HI Brandon,
>
> You haven't given us much to go on here. Is this on x86 (Intel)
> architecture or something else? Is the system cache coherent? Is it set
> up of big or little end-in? If the DD bit is never getting set it could be
> a cache coherency problem of some kind. Have you done a PCI bus trace to
> see what's happening on bus? Did the 82574 fetch the receive descriptors?
> Is the device writing the packets into host memory and just never setting
> the DD bit?
>
> Let us know. We may have other ideas if you tell us more? Also, does
> running Linux and the Linux driver on that same HW work?
>
> Cheers,
> John
>
> > -----Original Message-----
> > From: Brandon Falk [mailto:bf...@gamozolabs.com]
> > Sent: Saturday, December 27, 2014 7:40 PM
> > To: e1000-devel@lists.sourceforge.net
> > Subject: [E1000-devel] Porting 82574L driver to 82576 RX problems
> >
> > I hope this mailing list is not specifically just for UNIX dev.
> >
> > I have a custom OS (not based on any existing OS) that has a 82574L
> driver.
> > It's very minimal but it's capable of RX and TX at gigabit speeds with
> UDP.
> >
> > I got a new box with an 82576 NIC and booted up my OS on it. TX worked
> out
> > of the box but RX is having problems. Basically I poll for RX descriptor
> flags
> > until DD is set. Descriptor done simply is never getting set on the
> > 82576 machine.
> >
> > Anyone have an idea of what problem I may be having? Is there some
> > filtering that is done by default? I run with unicast promiscuous and
> multicast
> > promiscuous as well as accept broadcast packets. I'm only doing a single
> > queue, and I reset the device fully in my OS.
> >
> > -B
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit
http://communities.intel.com/community/wired