atheros: in later kernels, vlan 0 no longer works as expected, switch to (1,2) instead of (0,1) for lan/wan
SVN-Revision: 14981
This commit is contained in:
parent
86883cc2e0
commit
bfa8064ccd
3 changed files with 10 additions and 8 deletions
|
@ -4,8 +4,8 @@ grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && {
|
|||
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
|
||||
vconfig set_name_type DEV_PLUS_VID_NO_PAD
|
||||
ifconfig eth0 up
|
||||
vconfig add eth0 0
|
||||
ifname=eth0.0
|
||||
vconfig add eth0 1
|
||||
ifname=eth0.1
|
||||
else
|
||||
ifname=eth0
|
||||
fi
|
||||
|
@ -15,7 +15,7 @@ grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && {
|
|||
sleep 2
|
||||
if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
|
||||
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
|
||||
vconfig rem eth0.0
|
||||
vconfig rem eth0.1
|
||||
ifconfig eth0 down
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \
|
||||
-e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then
|
||||
uci batch <<EOF
|
||||
set network.lan.ifname=eth0.0
|
||||
set network.lan.ifname=eth0.1
|
||||
set network.wan=interface
|
||||
set network.wan.ifname=eth0.1
|
||||
set network.wan.ifname=eth0.2
|
||||
set network.wan.proto=dhcp
|
||||
commit network
|
||||
EOF
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
/* Undefine this to use trailer mode instead.
|
||||
* 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_AUTHOR("Felix Fietkau");
|
||||
|
@ -251,7 +251,7 @@ mvswitch_config_init(struct phy_device *pdev)
|
|||
|
||||
/* initialize default vlans */
|
||||
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 */
|
||||
for (i = 0; i < MV_PORTS; i++)
|
||||
|
@ -422,7 +422,9 @@ mvswitch_fixup(struct phy_device *dev)
|
|||
{
|
||||
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;
|
||||
if (reg != MV_IDENT_VALUE)
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue