Table of Contents

TP-Link TL-MR3420 v5

Under Construction!
This page is currently under construction. You can edit the article to help completing it.

The TP-Link TL-MR3420 v5 is a simple N300 router with 5-port FE switch and non-detachable antennas.

Its very similar to the TP-Link TL-WR841N v13 and identical to TL-WR842N v5

TP-Link TL-MR3420 v5

FIXME

Getting started with a new Device Page

  1. This is an empty template that suggests the information that should be present on a well-constructed Device Page. This means, that you have to fill it with life and information.
  2. There are several “fixme” tags with text on a light background (like this text) throughout this template. As you fill in the page, remove those tags so that people can judge its completeness.
  3. When there are no more “fixme” tags left, delete this one too, along with the <WRAP> that encloses it.

Keep the articles modular

  • Please include only model specific information, omit bla,bla and put everything generic into separate articles
  • If you have no time to write certain stuff, link to docs
  • base-system should lead the way, do not explain this again
  • DO NOT provide a complete howto here! Instead groom the general documentation.

Supported Versions

Hardware Highlights

Installation

The only way to flash an OpenWrt image to TL-MR3420 v5 is to use tftp recovery mode in U-Boot:

  1. Configure PC with static IP 192.168.0.225/24 and tftp server.
  2. Rename ...squashfs-tftp-recovery.bin to tp_recovery.bin and place it in the tftp server directory.
  3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed for around 6-7 seconds, until device starts downloading the file.
  4. Router will download file from server, write it to flash and reboot.

Flash Layout

FIXME Find out flash layout, then add the flash layout table here (copy, paste, modify the example).

Please check out the article Flash layout. It contains examples and explanations that describe how to document the flash layout.

Upgrading OpenWrt

generic.sysupgrade

FIXME These are generic instructions. Update with your router's specifics.

LuCI Web Upgrade Process

  • Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL
  • Upload image file for sysupgrade to LuCI
  • Wait for reboot

Terminal Upgrade Process

If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. There are two command line methods for upgrading:

  • sysupgrade
  • mtd

Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

sysupgrade

  • Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc
sysupgrade /tmp/xxx.abc

mtd

If sysupgrade does not support this router, use mtd.

  • Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc
mtd write /tmp/xxx.abc linux && reboot

Debricking

generic.debrick

Failsafe mode

failsafe_and_factory_reset

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Specific Configuration

FIXME Please fill in real values for this device, then remove the EXAMPLEs

Network interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan EXAMPLE LAN & WiFi EXAMPLE 192.168.1.1/24
vlan0 (eth0.0) EXAMPLE LAN ports (1 to 4) EXAMPLE None
vlan1 (eth0.1) EXAMPLE WAN port EXAMPLE DHCP
wl0 EXAMPLE WiFi EXAMPLE Disabled

Switch Ports (for VLANs)

FIXME Please fill in real values for this device, then remove the EXAMPLEs

Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on.

Port Switch port
Internet (WAN) EXAMPLE 4
LAN 1 EXAMPLE 3
LAN 2 EXAMPLE 2
LAN 3 EXAMPLE 1
LAN 4 EXAMPLE 0

Buttons

hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.

FIXME Please fill in real values for this device, then remove the EXAMPLEs

The TP-Link TL-MR3420 has the following buttons:

BUTTON Event
EXAMPLE Reset reset
EXAMPLE Secure Easy Setup ses
EXAMPLE No buttons at all. -

Hardware

Info

Photos

Front:

Back:

Backside label:

Opening the case

Note: This will void your warranty!

  1. Open the two screws
  2. there are four clips in every corner (inside)
  3. there are two clips in the front (inside)
  4. there is one clip on the side without USB

Main PCB:

Serial

port.serial general information about the serial port, serial port cable, etc.

FIXME Replace EXAMPLE by real values.

Serial connection parameters
for TP-Link TL-MR3420 v5
EXAMPLE 115200, 8N1

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

How to connect to the JTAG Port of this specific device:
Insert photo of PCB with markings for JTAG port

Bootloader mods

bootloader

Hardware mods

None so far.

Bootlogs

OEM bootlog

COPY HERE THE BOOTLOG WITH THE ORIGINAL FIRMWARE


OpenWrt bootlog 19.07.2

[ 0.000000] Linux version 4.14.171 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r10947-65030d81f3)) #0 Thu Feb 27 21:05:12 2020 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc) [ 0.000000] MIPS: machine is TP-Link TL-MR3420 v5 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 8047fa90, node_mem_map 81000040 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] random: get_random_bytes called from 0x80483740 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Writing ErrCtl register=0002c59e [ 0.000000] Readback ErrCtl register=0002c59e [ 0.000000] Memory: 58816K/65536K available (3922K kernel code, 186K rwdata, 504K rodata, 1204K init, 208K bss, 6720K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 256 [ 0.000000] intc: using register map from devicetree [ 0.000000] CPU Clock: 580MHz [ 0.000000] timer_probe: no matching timers found [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns [ 0.000009] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.007547] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.073515] pid_max: default: 32768 minimum: 301 [ 0.078181] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.084541] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.096541] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.106037] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.111975] pinctrl core: initialized pinctrl subsystem [ 0.119500] NET: Registered protocol family 16 [ 0.144117] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.149769] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.155280] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.165560] clocksource: Switched to clocksource MIPS [ 0.171540] NET: Registered protocol family 2 [ 0.176670] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.183358] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.189547] TCP: Hash tables configured (established 1024 bind 1024) [ 0.195795] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.201396] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.207751] NET: Registered protocol family 1 [ 0.211922] PCI: CLS 0 bytes, default 32 [ 0.215122] Crashlog allocated RAM at address 0x3f00000 [ 0.221801] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.233511] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.239142] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.258822] io scheduler noop registered [ 0.262552] io scheduler deadline registered (default) [ 0.268439] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.277174] console [ttyS0] disabled [ 0.280612] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A [ 0.289390] console [ttyS0] enabled [ 0.296391] bootconsole [early0] disabled [ 0.305896] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 0.319872] m25p80 spi0.0: gd25q64 (8192 Kbytes) [ 0.324603] 4 fixed-partitions partitions found on MTD device spi0.0 [ 0.331109] Creating 4 MTD partitions on "spi0.0": [ 0.335991] 0x000000000000-0x000000020000 : "boot" [ 0.341721] 0x000000020000-0x0000007c0000 : "firmware" [ 0.349816] 2 tplink-fw partitions found on MTD device firmware [ 0.355898] Creating 2 MTD partitions on "firmware": [ 0.360943] 0x000000000000-0x00000017e8be : "kernel" [ 0.366883] 0x00000017e8c0-0x0000007a0000 : "rootfs" [ 0.372630] mtd: device 3 (rootfs) set to be root filesystem [ 0.379914] 1 squashfs-split partitions found on MTD device rootfs [ 0.386276] 0x0000003e0000-0x0000007a0000 : "rootfs_data" [ 0.392613] 0x0000007c0000-0x0000007d0000 : "config" [ 0.398524] 0x0000007d0000-0x000000800000 : "factory" [ 0.405091] libphy: Fixed MDIO Bus: probed [ 0.421485] rt3050-esw 10110000.esw: link changed 0x00 [ 0.428281] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 0.438357] NET: Registered protocol family 10 [ 0.447037] Segment Routing with IPv6 [ 0.450852] NET: Registered protocol family 17 [ 0.455398] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 0.468599] 8021q: 802.1Q VLAN Support v1.8 [ 0.483157] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 0.496957] Freeing unused kernel memory: 1204K [ 0.501552] This architecture does not have kernel memory protection. [ 1.592829] init: Console is alive [ 1.596611] init: - watchdog - [ 2.215572] random: fast init done [ 2.769120] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 2.853814] usbcore: registered new interface driver usbfs [ 2.859536] usbcore: registered new interface driver hub [ 2.865024] usbcore: registered new device driver usb [ 2.876056] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.884377] ehci-platform: EHCI generic platform driver [ 2.900042] phy phy-10120000.usbphy.0: remote usb device wakeup disabled [ 2.906864] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz [ 2.912178] ehci-platform 101c0000.ehci: EHCI Host Controller [ 2.918080] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 2.926253] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 2.955605] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 2.962877] hub 1-0:1.0: USB hub found [ 2.967202] hub 1-0:1.0: 1 port detected [ 2.974232] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 2.982146] ohci-platform: OHCI generic platform driver [ 2.987776] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 2.994718] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 3.002869] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 3.080613] hub 2-0:1.0: USB hub found [ 3.084822] hub 2-0:1.0: 1 port detected [ 3.094119] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 3.112027] init: - preinit - [ 4.425049] rt3050-esw 10110000.esw: link changed 0x00 [ 4.595960] random: procd: uninitialized urandom read (4 bytes read) [ 7.889662] jffs2: notice: (396) jffs2_build_xattr_subsystem: complete building xattr subsystem, 3 of xdatum (0 unchecked, 1 orphan) and 4 of xref (1 dead, 0 orphan) found. [ 7.907245] mount_root: switching to jffs2 overlay [ 7.939173] overlayfs: upper fs does not support tmpfile. [ 7.952457] urandom-seed: Seeding with /etc/urandom.seed [ 8.033849] rt3050-esw 10110000.esw: link changed 0x02 [ 8.142449] procd: - early - [ 8.145491] procd: - watchdog - [ 8.872172] procd: - watchdog - [ 8.875801] procd: - ubus - [ 9.117347] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.126200] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.133157] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.140581] procd: - init - [ 9.983092] kmodloader: loading kernel modules from /etc/modules.d/* [ 10.150566] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 10.176529] Loading modules backported from Linux version v4.19.98-0-gd183c8e2647a [ 10.184212] Backport generated by backports.git v4.19.98-1-0-g8204eb99 [ 10.218155] ip_tables: (C) 2000-2006 Netfilter Core Team [ 10.232878] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 10.369066] xt_time: kernel timezone is -0000 [ 10.484353] mt76_wmac 10300000.wmac: ASIC revision: 76280001 [ 10.533638] urngd: v1.0.2 started. [ 10.743101] random: crng init done [ 10.746592] random: 6 urandom warning(s) missed due to ratelimiting [ 11.527858] mt76_wmac 10300000.wmac: Firmware Version: 20151201 [ 11.533880] mt76_wmac 10300000.wmac: Build Time: 20151201183641 [ 11.575579] mt76_wmac 10300000.wmac: firmware init done [ 11.744147] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 11.778381] PPP generic driver version 2.4.2 [ 11.796565] NET: Registered protocol family 24 [ 11.817086] kmodloader: done loading kernel modules from /etc/modules.d/* [ 17.597050] rt3050-esw 10110000.esw: link changed 0x00 [ 21.219475] rt3050-esw 10110000.esw: link changed 0x02 [ 23.124045] br-lan: port 1(eth0.1) entered blocking state [ 23.129607] br-lan: port 1(eth0.1) entered disabled state [ 23.135424] device eth0.1 entered promiscuous mode [ 23.140526] device eth0 entered promiscuous mode [ 23.209625] br-lan: port 1(eth0.1) entered blocking state [ 23.215131] br-lan: port 1(eth0.1) entered forwarding state [ 23.221372] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 24.208958] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready


Notes

Space for additional notes, links to forum threads or other resources.

Tags

How to add tags