[OpenWrt-Devel] [RFC]ramips: fix embedded switch init
John Crispin
blogic at openwrt.org
Tue Mar 1 03:19:25 EST 2016
On 28/02/2016 04:59, serge wrote:
> Starting from AA when ramips support was added we get failsafe mode issue.
> Digging the problem I suggest:
>
> 1. Change switch init: if vlan disabled set pvid 1 for all ports and add
> all ports
> into vlan0 with vid=1
> 2. Change init order in ethernet driver probe - init ESW after FE.
>
> First step allow to set eth0 in predictable state after ethernet
> driver init'ed or at any time with simple:
> swconfig dev switch0 set reset 1
>
> Second step is needed because some SOCs (rt5350,rt3352) reset FE and ESW
> together
> during ethernet probe but I think only for AA.
>
> All these allow simplify ramips_set_preinit_iface() to set ifname=eth0
> only.
> Or add fallback to eth0 into preinit if both pi_ifname and ifname are
> undefined.
> In last case no need ramips_set_preinit_iface() at all.
>
> Was tested for rt5350. Check for other SOCs is needed.
Hi,
can you test this on more SoCs please and also add the changes to
ramips_set_preinit_iface in a second patch please. if all works i'll
apply the same style fix to the gsw driver aswell
John
>
> Signed-off-by: Serge Vasilugin <vasilugin at yandex.ru>
>
> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c
> +++ c/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3052.c
> @@ -768,7 +768,7 @@ static int esw_apply_config(struct switc
> doubletag |= x << i;
> en_vlan |= x << i;
> untag |= x << i;
> - pvid = 0;
> + pvid = 1;
> }
> esw_set_pvid(esw, i, pvid);
> if (i < RT305X_ESW_NUM_LEDS)
> @@ -795,7 +795,7 @@ static int esw_apply_config(struct switc
> * isolated.
> * NOTE: vlan 0 is special, no vlan tag is prepended
> */
> - esw_set_vlan_id(esw, 0, 0);
> + esw_set_vlan_id(esw, 0, 1);
> esw_set_vmsc(esw, 0, RT305X_ESW_PORTS_ALL);
> }
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list