Sorry if I'm misguiding, didn't follow the entire thread just beginning and this.
maybe just try tcpdump. Find which extra bytes are there, and see how the phy driver is handling all this. Such that, maybe it has a flag saying to handle priority tags, but it doesn't get set, yet you have them... Is similar problem I had with adm8668.. -scott Sent via BlackBerry Bold 9700 -----Original Message----- From: Jonas Gorski <[email protected]> Sender: [email protected] Date: Wed, 3 Nov 2010 13:33:47 To: OpenWrt Development List<[email protected]> Reply-To: OpenWrt Development List <[email protected]> Subject: Re: [OpenWrt-Devel] [PATCH] ag71xx: Fix ar8216 devices and remove the ar8216 workaround. On 2 November 2010 21:24, Luca Olivetti <[email protected]> wrote: > Well, I tried but I failed (unsurprisingly since I know nothing about Linux > network code). > This is a danube based board and this is the patch I tried: > --- trunk/target/linux/ifxmips/files-2.6.33/drivers/net/ifxmips.c.orig > 2010-11-02 17:53:28.187618000 +0100 > +++ trunk/target/linux/ifxmips/files-2.6.33/drivers/net/ifxmips.c 2010-11-02 > 20:02:13.871765000 +0100 > @@ -141,8 +141,14 @@ > > skb_put(skb, len); > skb->dev = dev; > - skb->protocol = eth_type_trans(skb, dev); > - netif_rx(skb); > + if (priv->phydev) { > + printk(KERN_INFO "using ar8216 netif_rx\n"); > + priv->phydev->netif_rx(skb); > + } else { > + printk(KERN_INFO "cannot see ar8216 here!!!\n"); > + skb->protocol = eth_type_trans(skb, dev); > + netif_rx(skb); > + } > > priv->stats.rx_packets++; > priv->stats.rx_bytes += len; > > > The printks are to see what path the code took, it takes the "correct" one > but still the network doesn't work (but I still can see the arp entries). The code looks good. I don't know much about proper kernel debugging, so my next step would be e.g. printk'ing the first 16 bytes of received packets, so you have the ethernet header + the atheros header, if VLAN is enabled (you should only see the atheros header in this case). So you should probably either see: [dst mac] [src mac] [0x80 0x0?] [first two bytes of content] or [ath header] [dst mac] [src mac] [0x81 0x00] I think the atheros header should look something like [0x10 0x8<src_port>]). Btw, you should have "ethX: AR8216 switch driver attached." line in your kernel log, do you see it? Regards Jonas _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
