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

Reply via email to