AVM FRITZ!Repeater 1200: VLAN Setup

Hi there,

I have spent a lot of time trying to setup VLANs on my AVM FRITZ!Repeater 1200.
I also tested to a switch setup as described here: AVM FRITZ!Repeater 3000/1200 - Can't use VLANs

Unfortunately I did not have success. The VLAN interfaces do not have any network acccess. If I define an interface as DHCP client it does not retrieve an IP address.

Did anybody manage to setup VLANs on a FRITZ!Repeater 1200?

Thanks in advance
Alex

Hey Alex,

did you manage to get the VLAN-Config working?

I'd love to see this repeaters working, since they are very affordable and the hardware looks quite good. Power consumption seems to be nice as well... and you could probably put 2-3 of them in place instead of a more powerful devices with better antennas.

Here are some references... doesn't look pretty good for the VLAN support... LAN chip (Atheros AR8035) seems to be the same as in Meraki MR33:

Matthias

No, it did not try anything else. I just accepted that the AVM 1200 won't work for me.

On my AVM 3000 I managed to use the VLANs, unfortunately I do not have an AVM 1200.

You can test if VLANs are supported with "swconfig dev switch0 help" (see vlans: 128) and the current Switch0 config with swconfig dev switch0 show (see the lines with "VLAN" at the very end of the output).

But in the WebGui (luci) I still could not manage the switch0..

I had to change the file /etc/board.d/02_network

....
  avm,fritzrepeater-3000)
    ucidef_set_interface_lan "eth0 eth1"
    ucidef_add_switch "switch0" \
            "0u@eth0" "4:lan" "5:lan"
    ;;
  compex,wpj428)
    ucidef_set_interface_lan "eth0 eth1"
    ;;
...

Then I had to delete the file /etc/board.json and call the command /bin/board_detect, then the file /etc/board.json was recreated. After that I could change the VLANs in the WebGUI.


root@avm3000:~# swconfig dev switch0 help
switch0: 90000.mdio(QCA AR40xx), ports: 6 (cpu @ 0), vlans: 128
     --switch
	Attribute 1 (int): enable_vlan (Enable VLAN mode)
	Attribute 2 (none): reset_mibs (Reset all MIB counters)
	Attribute 3 (int): enable_mirror_rx (Enable mirroring of RX packets)
	Attribute 4 (int): enable_mirror_tx (Enable mirroring of TX packets)
	Attribute 5 (int): mirror_monitor_port (Mirror monitor port)
	Attribute 6 (int): mirror_source_port (Mirror source port)
	Attribute 7 (int): linkdown (Link down all the PHYs)
	Attribute 8 (none): apply (Activate changes in the hardware)
	Attribute 9 (none): reset (Reset the switch)
     --vlan
	Attribute 1 (int): vid (VLAN ID (0-4094))
	Attribute 2 (ports): ports (VLAN port mapping)
     --port
	Attribute 1 (none): reset_mib (Reset single port MIB counters)
	Attribute 2 (string): mib (Get port's MIB counters)
	Attribute 3 (int): pvid (Primary VLAN ID)
	Attribute 4 (unknown): link (Get port link information)
root@avm3000:~# swconfig dev switch0 show
Global attributes:
	enable_vlan: 1
	enable_mirror_rx: 0
	enable_mirror_tx: 0
	mirror_monitor_port: 0
	mirror_source_port: 0
	linkdown: ???
Port 0:
	mib: Port 0 MIB counters
RxBroad     : 35144
RxPause     : 0
RxMulti     : 10261
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 1172491
Rx128Byte   : 611836
Rx256Byte   : 1635125
Rx512Byte   : 1259579
Rx1024Byte  : 82840
Rx1518Byte  : 127610
RxMaxByte   : 71876
RxTooLong   : 0
RxGoodByte  : 1130374902
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 31253
TxBroad     : 13718
TxPause     : 0
TxMulti     : 849
TxUnderRun  : 0
Tx64Byte    : 12
Tx128Byte   : 3310418
Tx256Byte   : 1050198
Tx512Byte   : 1978809
Tx1024Byte  : 205858
Tx1518Byte  : 815438
TxMaxByte   : 1463638
TxOverSize  : 0
TxByte      : 4560917643
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 0
	link: port:0 link:up speed:1000baseT full-duplex txflow rxflow 
Port 1:
	mib: Port 1 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 0
	link: port:1 link:down
Port 2:
	mib: Port 2 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 0
	link: port:2 link:down
Port 3:
	mib: Port 3 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 0
	link: port:3 link:down
Port 4:
	mib: Port 4 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 1
	link: port:4 link:down
Port 5:
	mib: Port 5 MIB counters
RxBroad     : 13724
RxPause     : 0
RxMulti     : 849
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 18
Rx128Byte   : 3310426
Rx256Byte   : 1050198
Rx512Byte   : 1978809
Rx1024Byte  : 205858
Rx1518Byte  : 815438
RxMaxByte   : 1463639
RxTooLong   : 0
RxGoodByte  : 4560920300
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 15
TxBroad     : 3904
TxPause     : 0
TxMulti     : 10248
TxUnderRun  : 0
Tx64Byte    : 1172491
Tx128Byte   : 611825
Tx256Byte   : 1635123
Tx512Byte   : 1228340
Tx1024Byte  : 82840
Tx1518Byte  : 127609
TxMaxByte   : 71876
TxOverSize  : 0
TxByte      : 1119438807
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0

	pvid: 2
	link: port:5 link:up speed:1000baseT full-duplex txflow rxflow auto
VLAN 1:
	vid: 1
	ports: 0t 4 
VLAN 2:
	vid: 2
	ports: 0t 5 
VLAN 20:
	vid: 20
	ports: 0t 5t 
VLAN 21:
	vid: 21
	ports: 0t 5t 
VLAN 22:
	vid: 22
	ports: 0t 5t 
VLAN 23:
	vid: 23
	ports: 0t 5t
 root@avm3000:~# cat /etc/board.json 
{
	"model": {
		"id": "avm,fritzrepeater-3000",
		"name": "AVM FRITZ!Repeater 3000"
	},
	"network": {
		"lan": {
			"ifname": "eth0 eth1",
			"protocol": "static"
		}
	},
	"switch": {
		"switch0": {
			"enable": true,
			"reset": true,
			"ports": [
				{
					"num": 0,
					"device": "eth0",
					"need_tag": false,
					"want_untag": true
				},
				{
					"num": 4,
					"role": "lan"
				},
				{
					"num": 5,
					"role": "lan"
				}
			],
			"roles": [
				{
					"role": "lan",
					"ports": "4 5 0",
					"device": "eth0"
				}
			]
		}
	}
}
root@avm3000:~# cat /etc/config/network 

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd79:xxxx:xxxx::/48'

config interface 'lan'
	option type 'bridge'
	option proto 'dhcp'
	option ifname 'eth0'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0t 4'
	option vid '1'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '0t 5'
	option vid '2'

config switch_vlan
	option device 'switch0'
	option vlan '20'
	option ports '0t 5t'
	option vid '20'

config switch_vlan
	option device 'switch0'
	option vlan '21'
	option ports '0t 5t'
	option vid '21'

config switch_vlan
	option device 'switch0'
	option vlan '22'
	option ports '0t 5t'
	option vid '22'

config switch_vlan
	option device 'switch0'
	option vlan '23'
	option ports '0t 5t'
	option vid '23'

config interface 'vlan21'
	option ifname 'eth1.21'
	option type 'bridge'
	option proto 'none'

config interface 'vlan22'
	option ifname 'eth1.22'
	option type 'bridge'
	option proto 'none'

config interface 'vlan23'
	option ifname 'eth1.23'
	option type 'bridge'
	option proto 'none'

config interface 'vlan20'
	option proto 'dhcp'
	option type 'bridge'
	option ifname 'eth1.20'

VLANs should work for all ipq40xx RGMII PHY devices as expected since

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=2e6c236abd0bebe82bf9020941f34344acb3ae1f

Is this already contained in 19.07.4 release?
I tried to install the Nightly Snapshot but it does not start the luci webinterface which makes things a little bit complicated as I would have to do all configuration stuff via ssh only.

I don't know for this specific device. But you could try it and give feedback. If the flash process is just using sysupgrade or oem interface.

Snapshot do not include LuCI. But you can install it:

opkg update
opkg install luci

Thanks for the hint. I used Snapshots in the past but it cannot remember that luci is not included in general.

I can confirm that VLANs are working on AVM 1200. It justs works, no complicated switch setup is necessary as suggested above or described in other threads. It is also possible to create multiple wireless networks on each radio which does not work for all devices.

The relevant commit is not part of 19.07.4. I don't know if it will ever make into a 19.07.x release or if it will be included into the next major release.

How did you get the VLAN to work on this device? Unfortunately it doesn't work for me.

Well this was really straight forward. Make sure to use the 21.02 release.

For each VLAN I created a eth0.XXX interface (protocol: unmanaged). Next I created one or two wireless networks (2,4 and or 5GHz) for each VLAN. In the final step I created bridges to bind the wireless networks to the bridges.

I would recommend to keep one additional wireless network as management network which has DHCP server enabled. Otherwise I could happen that due to some mistake in VLAN setup you get locked out. It's quite complicated to reset the AVM1200.

1 Like

Thanks a lot! Would you mind posting your network config file?

Edit: Nevermind, I managed to configure my device as needed. Thank you again.

config interface 'loopback'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'
	option device 'lo'

config globals 'globals'
	option ula_prefix 'XXXXXXXXXXXXXXXXXXXXXXXXXX'

config interface 'fallback'
	option type 'bridge'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'

config interface 'guest'
	option proto 'none'
	option device 'br-guest'

config interface 'mobile'
	option proto 'none'
	option device 'br-mobile'

config interface 'media'
	option proto 'none'
	option device 'br-media'

config interface 'infra'
	option proto 'dhcp'
	option device 'br-infra'

config device
	option name 'br-guest'
	option type 'bridge'
	list ports 'eth0.104'

config device
	option name 'br-mobile'
	option type 'bridge'
	list ports 'eth0.105'

config device
	option name 'br-media'
	option type 'bridge'
	list ports 'eth0.103'

config device
	option name 'br-infra'
	option type 'bridge'
	list ports 'eth0.111'

Just in case any one else needs it, this is my config with one fallback device for fallback WIFI + 4 VLAN interfaces just for pass through from VLAN to wireless. The pass though interfaces do not need an IP except one which is set as DHCP client to retrieve an IP from the central router.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.