1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-30 22:29:43 +02:00

atheros: in later kernels, vlan 0 no longer works as expected, switch to (1,2) instead of (0,1) for lan/wan

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14981 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2009-03-22 20:19:23 +00:00
parent 6417f404c6
commit 6623e9fd70
3 changed files with 10 additions and 8 deletions

View File

@ -4,8 +4,8 @@ grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && {
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
vconfig set_name_type DEV_PLUS_VID_NO_PAD vconfig set_name_type DEV_PLUS_VID_NO_PAD
ifconfig eth0 up ifconfig eth0 up
vconfig add eth0 0 vconfig add eth0 1
ifname=eth0.0 ifname=eth0.1
else else
ifname=eth0 ifname=eth0
fi fi
@ -15,7 +15,7 @@ grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && {
sleep 2 sleep 2
if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
vconfig rem eth0.0 vconfig rem eth0.1
ifconfig eth0 down ifconfig eth0 down
fi fi
} }

View File

@ -2,9 +2,9 @@
if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
uci batch <<EOF uci batch <<EOF
set network.lan.ifname=eth0.0 set network.lan.ifname=eth0.1
set network.wan=interface set network.wan=interface
set network.wan.ifname=eth0.1 set network.wan.ifname=eth0.2
set network.wan.proto=dhcp set network.wan.proto=dhcp
commit network commit network
EOF EOF

View File

@ -32,7 +32,7 @@
/* Undefine this to use trailer mode instead. /* Undefine this to use trailer mode instead.
* I don't know if header mode works with all chips */ * I don't know if header mode works with all chips */
#define HEADER_MODE 1 //#define HEADER_MODE 1
MODULE_DESCRIPTION("Marvell 88E6060 Switch driver"); MODULE_DESCRIPTION("Marvell 88E6060 Switch driver");
MODULE_AUTHOR("Felix Fietkau"); MODULE_AUTHOR("Felix Fietkau");
@ -251,7 +251,7 @@ mvswitch_config_init(struct phy_device *pdev)
/* initialize default vlans */ /* initialize default vlans */
for (i = 0; i < MV_PORTS; i++) for (i = 0; i < MV_PORTS; i++)
priv->vlans[(i == MV_WANPORT ? 1 : 0)] |= (1 << i); priv->vlans[(i == MV_WANPORT ? 2 : 1)] |= (1 << i);
/* before entering reset, disable all ports */ /* before entering reset, disable all ports */
for (i = 0; i < MV_PORTS; i++) for (i = 0; i < MV_PORTS; i++)
@ -422,7 +422,9 @@ mvswitch_fixup(struct phy_device *dev)
{ {
u16 reg; u16 reg;
/* look for the switch on the bus */ if (dev->addr != 0x10)
return 0;
reg = dev->bus->read(dev->bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK; reg = dev->bus->read(dev->bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK;
if (reg != MV_IDENT_VALUE) if (reg != MV_IDENT_VALUE)
return 0; return 0;