MAC driver issue
Martin, Tim
tim.martin at viasat.com
Thu Sep 7 04:11:14 EST 2006
>
> > I have no doubt it is with the driver. I am somewhat
> fortunate in
> > this instance that I have a nearly identical setup - this
> is an FPGA
> > based system
> > I can swap the FPGA firmware, get an almost identical
> kernel with
> > a slightly different NIC, and everything works - same
> cables, same IP's,
> > Same switch, The only things different are the NIC and
> its driver.
> > Even the Linux kernels are identical - except the NIC driver.
> >
> > BUT so is the data received and passed on to the kernel
> (outside
> > random differences in the padding of the ARP packet)
Why is the ARP packet padding random? I would think it would be fixed,
since the ARP packet itself is a fixed length (for IPv4<->Ethernet ARPs)
and the minimum Ethernet frame is 64 bytes...
> > One works the other doesn't.
> >
>
> Well ethernet device drivers contain multiple arp supporting
> methods, e.g. header_cache, header_cache_update,
> hard_header_parse, etc etc.
> Generally driver writers don't need to concern themselves
> about these as they are assigned to generic handlers by
> ether_setup(). However, your problematic driver may do
> something different.
>
> Given this problem appears to be driver specific rather than
> PPC specific your best bet is to try and contact the author.
> BTW, I don't think you've said which driver you are using, a
> key piece of info....
>
Might I suggest putting static ARP entries in the kernel (use the "arp"
command from a prompt) and some other packet traffic - UDP perhaps. See
if the problem is specifically with the way your network driver handles
ARP packets, or if it's a more fundamental problem of how the driver
hands any type of Ethernet packet off to the upper kernel stack layers.
More information about the Linuxppc-embedded
mailing list