The TL-WDR4300 is an up-to-date router of the Chinese network equipment producer TP-Link.
|AR9344||8MB||128MB||4x1 GigE||1x1 GigE||x2 v2.0||Yes||Yes|
I'm replacing my TP-Link TL-WR1043ND with that newer and faster model. Most of the hints and tricks for OpenWrt on the TL-WR1043ND given on that page still work for this model.
- OpenWrt v14.07 factory (If you upgrade from the TP-Link factory firmware)
- OpenWrt v14.07 sysupgrade (If you upgrade already from an OpenWrt firmware version)
Ports of the switch:
|port no in swconfig configuration →||port 0||port 1||port 2||port 3||port 4||port 5|
|name on the device's case / function →||none / internal: CPU||"Internet" / WAN||"1"||"2"||"3"||"4"|
As of the OpenWrt version I'm using currently (
Linux shark 3.6.10 #1 Thu Dec 13 00:51:37 PST 2012 mips GNU/Linux), only VLAN IDs up to 128 seem to work (no 4k support yet?!). It also doesn't help to set
option enable_vlan4k '1' in the to the switch config settings in
The output of
swconfig dev eth0 help also gives a hint that the switch currently only supports vlans up to
switch0: eth0(Atheros AR8327), ports: 7 (cpu @ 0), vlans: 128 --switch Attribute 1 (int): enable_vlan (Enable VLAN mode) Attribute 2 (none): reset_mibs (Reset all MIB counters) Attribute 3 (none): apply (Activate changes in the hardware) Attribute 4 (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 (string): link (Get port link information)
Here is the detailed
swconfig output of a working setup I'm using (vlan 2 and vlan 102 configured):
swconfig dev eth0 show output.
One thing to note is that the switch supports configuring external trunk ports! I'm using it.
The switch supports port mirroring. The functionality is also built-in to the driver.
It can be configured in
/etc/config/network in the switch section by setting the following properties:
Add the following lines before the
exit 0 statement in
ifconfig eth0 txqueuelen 10500 ifconfig wlan0 txqueuelen 7935 mtu 1328 ifconfig wlan1 txqueuelen 7935 mtu 1328
vm.min_free_kbytes=4096 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.core.netdev_max_backlog = 30000
The built-in switch is a Qualcomm Atheros AR8327N 7-port Low-power Managed/Layer3 Gigabit Switch with Hardware NAT. It supports jumbo frames in general but only after this change on 2013-12-15 the support for large packets was enabled by default.
- #11762 Enable dsp for WDR4300 AR9344 SoC
- #11779 WDR4300 - hardware nat feature
- #12181: VLAN tagging of TP-Link WDR4300 v1.1
- #12391: ath9k reading of /sys/kernel/debug/ieee80211/phy0/ath9k/regdump produces data bus error
- #12443 Add support for MIB counters in AR8327N
- #12464 The TL-WDR4300 firmware image do not registers all led devices
- #12550: VLAN Switch Config don't work on TP-Link TL-WDR4300 (RC-1)
- #12814 ar71xx/tl-wdr4300: doesn't use txpower above 14dBm
- #13352 AR8327 switch driver does not support tagged and untagged on same port
- #14167 - AR8327 doesn't support Jumbo frames (the configured MTU is too low)
Fixes (without bug reports):