Hi @psherman!
By your suggestion in my last thread, I share the problem and some relevant information:
Main router:
Device: TP-Link Archer C6 v3
OpenWrt version: 25.12.2
Dumb AP:
Device: TP-Link Archer C60 v3
OpenWrt version: 25.12.2
So, my goal is to pass the VLAN with ID 24, coming from the LAN3 port of my main router to a “dumb” AP. I would also like to have access to the AP’s LuCI web interface (and SSH) in order to make updates and whatnot.
Here is the config for the main router:
root@OpenWrt:~# ubus call system board
{
"kernel": "6.12.74",
"hostname": "OpenWrt",
"system": "MediaTek MT7621 ver:1 eco:3",
"model": "TP-Link Archer C6 v3",
"board_name": "tplink,archer-c6-v3",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "25.12.2",
"firmware_url": "https://downloads.openwrt.org/", "revision": "r32802-f505120278",
"target": "ramips/mt7621",
"description": "OpenWrt 25.12.2 r32802-f505120278",
"builddate": "1774469393"
}
}
root@OpenWrt:~# cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fdd0:37d3:e148::/48'
option packet_steering '1'
option dhcp_default_duid '0004a3d55cf9e50743feac5626605958cfdb'
config device
option name 'br-lan'
option type 'bridge'
option bridge_empty '1'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan.20'
option proto 'static'
option ipaddr '10.12.20.1'
option netmask '255.255.255.0'
option ip6assign '60'
option multipath 'off'
config interface 'wan'
option device 'wan'
option proto 'pppoe'
option username 'xxx'
option password 'xxx'
option ipv6 'auto'
option peerdns '0'
config interface 'guests'
option proto 'static'
option device 'br-lan.21'
option ipaddr '10.12.21.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'depts'
option proto 'static'
option device 'br-lan.22'
option ipaddr '10.12.22.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'iot'
option proto 'static'
option device 'br-lan.23'
option ipaddr '10.12.23.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'ext'
option proto 'static'
option device 'br-lan.24'
option ipaddr '10.12.24.1'
option netmask '255.255.255.0'
option multipath 'off'
config bridge-vlan
option device 'br-lan'
option vlan '20'
list ports 'lan1:u*'
list ports 'lan2:t'
list ports 'lan3:t'
list ports 'lan4:u*'
config bridge-vlan
option device 'br-lan'
option vlan '21'
list ports 'lan2:t'
config bridge-vlan
option device 'br-lan'
option vlan '22'
list ports 'lan2:t'
config bridge-vlan
option device 'br-lan'
option vlan '23'
list ports 'lan2:t'
config bridge-vlan
option device 'br-lan'
option vlan '24'
list ports 'lan3:t'
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
option band '2g'
option channel '1'
option htmode 'HT20'
option cell_density '0'
option disabled '1'
config wifi-device 'radio1'
option type 'mac80211'
option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
option band '5g'
option channel '36'
option htmode 'VHT80'
option cell_density '0'
option disabled '1'
root@OpenWrt:~# cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option cachesize '1000'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option localservice '1'
option ednspacket_max '1232'
option noresolv '1'
option port '0'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option ra 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
list dhcp_option '6,10.12.20.1'
option ra_preference 'medium'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option leasefile '/tmp/odhcpd.leases'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
option piodir '/tmp/odhcpd-piodir'
option hostsdir '/tmp/hosts'
config dhcp 'guests'
option interface 'guests'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option '6,10.12.21.1'
config dhcp 'depts'
option interface 'depts'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option '6,10.12.22.1'
config host
option name 'server'
option ip '10.12.20.10'
option leasetime 'infinite'
list mac 'xx:xx:xx:xx:xx:xx'
config host
option name 'printer-epson-l3150'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.20.20'
option leasetime 'infinite'
config host
option name 'poe-switch'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.20.30'
option leasetime 'infinite'
config dhcp 'iot'
option interface 'iot'
option start '100'
option limit '150'
option leasetime '12h'
option dynamicdhcp '0'
config host
option name 'omada'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.20.40'
option leasetime 'infinite'
# DHCP reservation for the "dumb" AP
config host
option name 'archer-c60'
list mac 'xx:xx:xx:xx:xx:xx'
option leasetime 'infinite'
option ip '10.12.20.50'
config host
option name 'cam-entrance'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.23.10'
option leasetime 'infinite'
config host
option name 'cam-garage'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.23.20'
option leasetime 'infinite'
# Interface for the "dumb" AP
config dhcp 'ext'
option interface 'ext'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option '6,10.12.24.1'
config host
option name 'cam-reception'
list mac 'xx:xx:xx:xx:xx:xx'
option ip '10.12.23.30'
option leasetime 'infinite'
root@OpenWrt:~# cat /etc/config/firewall
config defaults
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config zone
option name 'guests'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'guests'
config forwarding
option src 'guests'
option dest 'wan'
config zone
option name 'depts'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'depts'
config forwarding
option src 'depts'
option dest 'wan'
config zone
option name 'iot'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'iot'
config forwarding
option src 'lan'
option dest 'iot'
config rule
option name 'Allow-DHCP-Guests'
list proto 'udp'
option src 'guests'
option dest_port '67-68'
option target 'ACCEPT'
config rule
option name 'Allow-DNS-Guests'
option src 'guests'
option dest_port '53'
option target 'ACCEPT'
config rule
option name 'Allow-DHCP-Depts'
list proto 'udp'
option src 'depts'
option dest_port '67-68'
option target 'ACCEPT'
config rule
option name 'Allow-DNS-Depts'
option src 'depts'
option dest_port '53'
option target 'ACCEPT'
config rule
option name 'Allow-DHCP-Iot'
list proto 'udp'
option src 'iot'
option dest_port '67-68'
option target 'ACCEPT'
config rule
option name 'Allow-DNS-Iot'
option src 'iot'
option dest_port '53'
option target 'ACCEPT'
option enabled '0'
config rule
option name 'Allow-NTP-Iot'
option src 'iot'
option dest_port '123'
option target 'ACCEPT'
list proto 'udp'
config rule
option name 'Allow-DHCP-Ext'
list proto 'udp'
option src 'ext'
option dest_port '67-68'
option target 'ACCEPT'
config rule
option name 'Allow-DNS-Ext'
option src 'ext'
option dest_port '53'
option target 'ACCEPT'
config zone
option name 'ext'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'ext'
config forwarding
option src 'ext'
option dest 'wan'
config forwarding
option src 'iot'
option dest 'lan'
The “dumb” AP router is with the default values because I had to reset it. But, the first thing I did before was assign the 10.12.20.50/24 static IP address. Then I basically did what I commented before:
The Archer C60 works with “switch”, not DSA. So what I did was create two VLANs, 20 for access to the router, and 24 for normal traffic. Then, I created a new bridge device with port
Ethernet Switch: “eth0”. Finally, I created two new interfaces, one for VLAN 20 and other for VLAN 24, both with protocol Unmanaged and the corresponding devices.
After doing that, LuCI was working fine but then it got disconnected. So the device became unreachable.
Here’s my network topology and desired dumb AP:
I hope that the information is useful. I appreciate your valuable help!
