TP-Link TL-MR3020 v3

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

Write a short, relevant description of the device. Include a technical overview, but avoid marketing buzzwords/useless stuff. Two to four sentences is about right. A picture is good, too. Edit the page to see how to add pictures.

TP-Link TL-MR3020 v3

ModelVersionSoCCPU MHzFlash MBRAM MBWLAN HardwareWLAN2.4WLAN5.0100M portsGbit portsModemUSB
TL-MR3020v3MediaTek MT7628NN575864MediaTek MT7628NNb/g/n-1--1x 2.0

Install OpenWrt (generic explanation)

Configure a TFTP server as follows:

  • IP address 192.168.0.225
  • The *.tftp-recovery.bin file is available in the root and renamed as tp_recovery.bin
  • Connected to the mr3020v3 via a wired connection

Install OpenWRT

  1. Power off the mr3020v3
  2. Hold down the 'reset' button - this is adjacent to the row of lights on the top panel
  3. Apply USB power to the mr3020v3 while holding the reset button
  4. After 20-30 seconds the upload will be complete, release the reset button

The OpenWRT image will now be loaded on the device. By default wireless will be disabled. The system will be available on its wired interface on 192.168.1.1.

Architecture Mediatek Ralink MIPS 24KEc V5.5
Vendor Mediatek Ralink
Bootloader U-Boot 1.1.3 / Ralink UBoot Version: 4.3.0.0
System-On-Chip MediaTek MT7628NN
CPU/Speed 575 MHz
Flash-Chip GD25Q64B
Flash size 8 MiB
RAM 64 MiB
Wireless EXAMPLE RT2860v2 2.4GHz 802.11bgn
Ethernet 10/100 Mbit/s w/ vlan support
USB 1x 2.0
Serial Yes
JTAG Not populated
0x000000000000-0x000000020000 : "boot"
0x000000020000-0x000000170000 : "kernel"
0x000000170000-0x0000007c0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
0x0000007c0000-0x0000007d0000 : "config"
0x0000007d0000-0x0000007e0000 : "romfile"
0x0000007e0000-0x0000007f0000 : "rom"
0x0000007f0000-0x000000800000 : "radio"

In the linux console (shell below) the flash is mapped as following:

~ # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00010000 "boot"
mtd1: 00150000 00010000 "kernel"
mtd2: 00650000 00010000 "rootfs"
mtd3: 00010000 00010000 "config"
mtd4: 00010000 00010000 "romfile"
mtd5: 00010000 00010000 "rom"
mtd6: 00010000 00010000 "radio"

“config” isn't mounted in the embedded linux system. You can read the whole configuration from within the linux console with:

~ # cat /dev/mtd3

TL-MR3020 v3 top TL-MR3020 v3 bottom TL-MR3020 v3 ethernet port TL-MR3020 v3 USB port

tl-mr3023-v3_pcb_top.jpg tl-mr3023-v3_pcb_bottom.jpg

TP-Link TL-MR3020 v3

The top cover is held on two latches and slightly glued around the perimeter.

I put the same cover on top so you can see the location of the latches. Highlighted the latches in red.

TL-MR3020 open case

Insert a thin screwdriver between the ethernet and the USB ports. Press on the latch.

TL-MR3020 open case

Carefully hold the screwdriver around the perimeter.

TL-MR3020 open case

Red highlighted places where there was glue.

TL-MR3020 open case

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

How to connect to the Serial Port of this specific device:

TP2 == TX, TP1 == RX

Serial connection parameters
for TP-Link MR-3020 v3
115200, 8N1

Linux Console

Once the original firmware has booted up completely, you can press return to activate the Linux login prompt.

The username to get a root Shell is admin The password to get a root Shell access is 1234:

starting pid 101, tty '': '/sbin/getty -L ttyS1 115200 vt100'

TL-MR3020 login: admin
password: 1234

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

DDR Calibration DQS reg = 00008789 U-Boot 1.1.3 (Dec 6 2017 - 18:20:36) Board: Ralink APSoC DRAM: 64 MB relocate_code Pointer at: 83fb8000 gpiomode1 54050404. gpiomode1 54150404. gpiomode2 05540554. gpiomode2 00000000. gpiomode2 05550555. ######GPIO CTRL 0 for GPIO 0~32 OUTPUT tmp(0x0000000c)##### ##########Led gpio info: power(37),wps(2),lan(3),wan_green(43),wlan(44)######### flash manufacture id: c8, device id 40 17 find flash: GD25Q64B ============================================ Ralink UBoot Version: 4.3.0.0 -------------------------------------------- ASIC 7628_MP (Port5<->None) DRAM component: 512 Mbits DDR, width 16 DRAM bus: 16 bit Total memory: 64 MBytes Flash component: SPI Flash Date:Dec 6 2017 Time:18:20:36 ============================================ icache: sets:512, ways:4, linesz:32 ,total:65536 dcache: sets:256, ways:4, linesz:32 ,total:32768 ##### The CPU freq = 575 MHZ #### estimate memory size =64 Mbytes RESET MT7628 PHY!!!!!! continue to starting system. 0 disable switch phyport... 3: System Boot system code via Flash.(0xbc020000) do_bootm:argc=2, addr=0xbc020000 ## Booting image at bc020000 ... Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 8000c150) ... ## Giving linux memsize in MB, 64 Starting kernel ... 怘▒▒▒▒fff▒▒~▒▒~fx▒▒▒怘▒怘▒f▒▒▒▒f▒▒▒▒f▒f▒▒▒Linux version 2.6.36 (tp-link@Sohoidev) (gcc version 4.6.3 (Buildroot 2012.11.1) ) #1 Wed Dec 6 18:24:02 CST 2017 The CPU feqenuce set to 575 MHz MIPS CPU sleep mode enabled. CPU revision is: 00019655 (MIPS 24Kc) Software DMA cache coherency Determined physical RAM map: memory: 04000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00000000 -> 0x00004000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00004000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: console=ttyS1,115200 root=/dev/mtdblock2 rootfstype=squashfs init=/sbin/init PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Primary instruction cache 64kB, VIPT, , 4-waylinesize 32 bytes. Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes Writing ErrCtl register=0001e4bd Readback ErrCtl register=0001e4bd Memory: 61024k/65536k available (2830k kernel code, 4480k reserved, 679k data, 164k init, 0k highmem) NR_IRQS:128 console [ttyS1] enabled Calibrating delay loop... 386.04 BogoMIPS (lpj=772096) pid_max: default: 4096 minimum: 301 Mount-cache hash table entries: 512 NET: Registered protocol family 16 bio: create slab <bio-0> at 0 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Switching to clocksource Ralink Systick timer NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NET: Registered protocol family 1 RT3xxx EHCI/OHCI init. squashfs: version 4.0 (2009/01/31) Phillip Lougher fuse init (API version 7.15) msgmni has been set to 119 io scheduler noop registered io scheduler deadline registered (default) Ralink gpio driver initialized i2cdrv_major = 218 Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled serial8250: ttyS0 at MMIO 0x10000d00 (irq = 21) is a 16550A serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block k u e s:block brd: module loaded flash manufacture id: c8, device id 40 17 GD25Q64B(c8 40170000) (8192 Kbytes) mtd .name = raspi, .size = 0x00800000 (8M) .erasesize = 0x00010000 (64K) .numeraseregions = 0 Creating 7 MTD partitions on "raspi": 0x000000000000-0x000000020000 : "boot" k u e s:block 0x000000020000-0x000000170000 : "kernel" k u e s:block 0x000000170000-0x0000007c0000 : "rootfs" k u e s:block mtd: partition "rootfs" set to be root filesystem 0x0000007c0000-0x0000007d0000 : "config" k u e s:block 0x0000007d0000-0x0000007e0000 : "romfile" k u e s:block 0x0000007e0000-0x0000007f0000 : "rom" k u e s:block 0x0000007f0000-0x000000800000 : "radio" k u e s:block Register flash device:flash0 PPP generic driver version 2.4.2 PPP MPPE Compression module registered NET: Registered protocol family 24 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver FM_OUT value: u4FmOut = 0(0x00000000) FM_OUT value: u4FmOut = 135(0x00000087) FM detection done! loop = 1 SR calibration value u1SrCalVal = 6 #######GPIO_BTN_MODE_C1:0 , GPIO_BTN_MODE_C2:1 rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1 rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000 rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected k u e s:usb_device ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2 rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected k u e s:usb_device Mirror/redirect action on u32 classifier Actions configured Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (953 buckets, 3812 max) ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux TCP cubic registered NET: Registered protocol family 10 ip6_tables: (C) 2000-2006 Netfilter Core Team IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 NET: Registered protocol family 15 Ebtables v2.0 registered 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> VFS: Mounted root (squashfs filesystem) readonly on device 31:2. Freeing unused kernel memory: 164k freed starting pid 61, tty '': '/etc/init.d/rcS' SCSI subsystem initialized insmod: can't insert '/lib/modules/kmdir/kernel/drivers/usb/core/usbcore.ko': No such file or directory Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. insmod: can't insert '/lib/modules/kmdir/kernel/drivers/usb/host/ifxusb_host.ko': No such file or directory rdm_major = 253 spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6 Read MAC from flash(0x7DF100) 7c-ffffff8b-ffffffca-fffffff3-54-ffffff82 GMAC1_MAC_ADRH -- : 0x00007c8b GMAC1_MAC_ADRL -- : 0xcaf35482 Ralink APSoC Ethernet Driver Initilization. v3.1 256 rx/tx descriptors allocated, mtu = 1500! spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6 Read MAC from flash(0x7DF100) 7c-ffffff8b-ffffffca-fffffff3-54-ffffff82 GMAC1_MAC_ADRH -- : 0x00007c8b GMAC1_MAC_ADRL -- : 0xcaf35482 PROC INIT OK! dns_init domain_name:tplinkwifi.net L2TP core driver, V2.0 PPPoL2TP kernel driver, V2.0 Please press Enter to activate this console. [err] syslogd[main --763] syslogd : syslogd_init [ dm_readFile ] 2042: can not open xml file /var/tmp/pc/reduced_data_model.xml!, about to open file /etc/reduced_data_model.xml spiflash_ioctl_read, Read from 0x007c0000 length 0x10000, ret 0, retlen 0x10000 spiflash_ioctl_read, Read from 0x007c0000 length 0x100, ret 0, retlen 0x100 [ dm_loadCfg ] 2381: software version is not match, in config, version = 0 [ dm_readFile ] 2042: can not open xml file /var/tmp/pc/default_config.xml!, about to open file /etc/default_config.xml [ parseConfigNode ] 540: Meet unrecognized object node "PhDDNSCfg", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "PhDDNSCfg", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "SnmpCfg", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "QueueManagspiflash_ioctl_read, Read from 0x007df500 length 0x29, ret 0, retlen 0x29 ement", skip thespiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6 node [ parseCospiflash_ioctl_read, Read from 0x007df200 length 0x4, ret 0, retlen 0x4 nfigNode ] 540: spiflash_ioctl_read, Read from 0x00020000 length 0x200, ret 0, retlen 0x200 Meet unrecognizspiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6 ed object node "X_TP_Iqos", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "X_TP_IPTV", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "VoiceService", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "VoiceService", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "StorageService", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "X_TP_CallFireWallCfg", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "X_TP_SpeedDialCfg", skip the node [ parseConfigNode ] 540: Meet unrecognized object node "X_TP_MultiIspDialPlan", skip the node [ parseConfigNode ] 540: MeRaeth v3.1 (et unrecognized Taskletobject node "X_T,SkbRecycleP_CallLogCfg", s) kip the node [ phy_tx_ring = 0x035cc000, tx_ring = 0xa35cc000 parseConfigNode phy_rx_ring0 = 0x035cd000, rx_ring0 = 0xa35cd000 ] 540: Meet unr[fe_sw_init:4892]rt305x_esw_init. ecognized object node "X_TP_IPv6Cfg", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized paramedisable switch phyport... ter node "WEPKeyGMAC1_MAC_ADRH -- : 0x00007c8b Index", skip theGMAC1_MAC_ADRL -- : 0xcaf35482 node [ parseCoRT305x_ESW: Link Status Changed nfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node [ parseConfigNode ] 545: Meet unrecognized parameter node "WEPKeyIndex", skip the node sendto /var/tmp/7 msg 2001 error No such file or directory ,pid 100 ioctl: No such device ifconfig: ioctl 0x8913 failed: No such device brctl: bridge br0: Invalid argument set if eth0.2 to wan dev device eth0.2 entered promiscuous mode device eth0 entered promiscuous mode br0: port 1(eth0.2) entering forwarding state br0: port 1(eth0.2) entering forwarding state [ util_execSystem ] 139: Parameter contains illegal character! ra0 no private ioctls. RT305x_ESW: Link Status Changed === pAd = c0a3c000, size = 1472584 === <-- RTMPAllocTxRxRingMemory, Status=0, ErrorValue=0x <-- RTMPAllocAdapterBlock, Status=0 RtmpChipOpsHook(492): Not support for HIF_MT yet! mt7628_init()--> mt7628_init(FW(8a00), HW(8a01), CHIPID(7628)) e2.bin mt7628_init(1135)::(2), pChipCap->fw_len(64736) mt_bcn_buf_init(218): Not support for HIF_MT yet! <--mt7628_init() TX_BCN DESC a36bd000 size = 320 RX[0] DESC a36c0000 size = 1024 RX[1] DESC a36c1000 size = 1024 RT_CfgSetApcliMacAddress : invalid mac setting cfg_mode=9 cfg_mode=9 wmode_band_equal(): Band Equal! AndesSendCmdMsg: Could not send in band command due to diable fRTMP_ADAPTER_MCU_SEND_IN_BAND_CMD APSDCapable[0]=0 APSDCapable[1]=0 APSDCapable[2]=0 APSDCapable[3]=0 APSDCapable[4]=0 APSDCapable[5]=0 APSDCapable[6]=0 APSDCapable[7]=0 APSDCapable[8]=0 APSDCapable[9]=0 APSDCapable[10]=0 APSDCapable[11]=0 APSDCapable[12]=0 APSDCapable[13]=0 APSDCapable[14]=0 APSDCapable[15]=0 default ApCliAPSDCapable[0]=0 Key1Str is Invalid key length(0) or Type(0) Key1Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) WscKeyASCII=8 WscKeyASCII=8 [RTMPReadParametersHook:297]wifi read profile faild. load fw image from fw_header_image AndesMTLoadFwMethod1(2182)::pChipCap->fw_len(64736) FW Version:1 FW Build Date:20170411104110 CmdAddressLenReq:(ret = 0) CmdFwStartReq: override = 1, address = 1048576 CmdStartDLRsp: WiFI FW Download Success MtAsicDMASchedulerInit(): DMA Scheduler Mode=0(LMAC) efuse_probe: efuse = 10000012 RtmpChipOpsEepromHook::e2p_type=2, inf_Type=4 RtmpEepromGetDefault::e2p_dafault=2 RtmpChipOpsEepromHook: E2P type(2), E2pAccessMode = 2, E2P default = 2 NVM is FLASH mode 1. Phy Mode = 14 exec! spiflash_ioctl_read, Read from 0x007f0000 length 0x400, ret 0, retlen 0x400 eeFlashId = 0x7628! Country Region from e2p = ffff tssi_1_target_pwr_g_band = 30 2. Phy Mode = 14 3. Phy Mode = 14 NICInitPwrPinCfg(11): Not support for HIF_MT yet! NICInitializeAsic(651): Not support rtmp_mac_sys_reset () for HIF_MT yet! mt_mac_init()--> MtAsicInitMac()--> mt7628_init_mac_cr()--> MtAsicSetMacMaxLen(1277): Set the Max RxPktLen=450! <--mt_mac_init() WTBL Segment 1 info: MemBaseAddr/FID:0x28000/0 EntrySize/Cnt:32/128 WTBL Segment 2 info: MemBaseAddr/FID:0x40000/0 EntrySize/Cnt:64/128 WTBL Segment 3 info: MemBaseAddr/FID:0x42000/64 EntrySize/Cnt:64/128 WTBL Segment 4 info: MemBaseAddr/FID:0x44000/128 EntrySize/Cnt:32/128 AntCfgInit(2946): Not support for HIF_MT yet! MCS Set = ff ff 00 00 01 MtAsicSetChBusyStat(861): Not support for HIF_MT yet! CmdSlotTimeSet:(ret = 0) open DNS error: No such file or directory [ oal_sys_getOldTZInfo ] 625: Open TZ file error! [PMF]ap_pmf_init:: apidx=0, MFPC=0, MFPR=0, SHA256=0 [PMF]RTMPMakeRsnIeCap: RSNIE Capability MFPC=0, MFPR=0 [PMF]ap_pmf_init:: apidx=1, MFPC=0, MFPR=0, SHA256=0 MtAsicSetRalinkBurstMode(3056): Not support for HIF_MT yet! MtAsicSetPiggyBack(796): Not support for HIF_MT yet! reload DPD from flash , 0x9F = [0000] doReload bit7[0] CmdLoadDPDDataFromFlash: Channel = 11, DoReload = 0 MtAsicSetTxPreamble(3035): Not support for HIF_MT yet! MtAsicAddSharedKeyEntry(1344): Not support for HIF_MT yet! The 4-BSSID mode is enabled, the BSSID byte5 MUST be the multiple of 4 MtAsicSetPreTbtt(): bss_idx=0, PreTBTT timeout = 0xf0 ap_ftkd> Initialize FT KDP Module... Main bssid = 7c:8b:ca:f3:54:82 <==== rt28xx_init, Status=0 @@@ ed_monitor_init : ===> @@@ ed_monitor_init : <=== mt7628_set_ed_cca: TURN ON EDCCA mac 0x10618 = 0xd7c87d0f, EDCCA_Status=1 WiFi Startup Cost (ra0): 3.780s device ra0 entered promiscuous mode br0: port 2(ra0) entering forwarding state br0: port 2(ra0) entering forwarding state ==== @@@ ed_status_read: EDCCA TH - H pAd->ed_trigger_cnt : 1 > 20 || pAd->ed_big_rssi_stat : 0 < 50 ==== device apcli0 entered promiscuous mode brctl: bridge br0: Device or resource busy device ra1 entered promiscuous mode spiflash_ioctl_read, Read from 0x007f0000 length 0x2, ret 0, retlen 0x2 WLAN-Start wlNetlinkTool Waiting for Wireless Events from interfaces... swWlanChkAhbErr: netlink to do wscd: SSDP UDP PORT = 1900 sendto /var/tmp/8 msg 2030 error No such file or directory ,pid 100 sendto /var/tmp/9 msg 2004 error No such file or directory ,pid 100 [ rsl_initWanIpConnObj ] 770: This connType(ewan_ipoe_s) is not up in current mode! [ rsl_initWanIpConnObj ] 770: This connType(ewan_ipoe_d) is not up in current mode! [ rsl_initWanPppConnObj ] 286: This connType(ewan_pppoe) is not up in current mode! [ rsl_initAppObj ] 860: ==> start dhcp client iptables: Bad rule (does a matching rule exist in that chain?). radvd starting [ getPidFromPidFile ] 112: Cann't open file: /var/run/zebra.pid. [ getPidFromPidFile ] 112: Cann't open file: /var/run/ripd.pid. iptables: Bad rule (does a matching rule exist in that chain?). iptables: Bad rule (does a matching rule exist in that chain?). iptables: Bad rule (does a matching rule exist in that chain?). nf_nat_rtsp v0.6.21 loading iptables: Bad rule (does a matching rule exist in that chain?). ip6tables: Bad rule (does a matching rule exist in that chain?). ip6tables: Bad rule (does a matching rule exist in that chain?). [ rsl_initWanL2tpConnObj ] 125: This connType(ewan_l2tp) is not up in current mode! [ rsl_initWanPptpConnObj ] 138: This connType(ewan_pptp) is not up in current modeenable switch phyport... ! Set: phy[0].reg[RT305x_ESW: Link Status Changed 0] = 3900 Set: phy[1].reg[0] = 3900 Set: phy[2].reg[0] = 3900 Set: phy[3].reg[0] = 3900 Set: phy[4].reg[0] = 3900 Set: phy[0].reg[0] = 3300 Set: phy[1].reg[0] = 3300 Set: phy[2].reg[0] = 3300 Set: phy[3].reg[0] = 3300 Set: phy[4].reg[0] = 3300 resetMiiPortV over. Set: phy[0].reg[4] = 01e1 Set: phy[0].reg[0] = 3300 Set: phy[1].reg[4] = 01e1 Set: phy[1].reg[0] = 3300 Set: phy[2].reg[4] = 01e1 Set: phy[2].reg[0] = 3300 Set: phy[3].reg[4] = 01e1 Set: phy[3].reg[0] = 3300 Set: phy[4].reg[4] = 01e1 Set: phy[4].reg[0] = 3300 turn off flow control over. RT305x_ESW: Link Status Changed


[ 0.000000] Linux version 4.14.87 (anesth@i7-buildhost) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r8684-f6e9f23771)) #0 Mon Dec 10 15:32:22 2018 [ 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-MR3020 v3 [ 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] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=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=0001d9f0 [ 0.000000] Readback ErrCtl register=0001d9f0 [ 0.000000] Memory: 59868K/65536K available (3617K kernel code, 170K rwdata, 840K rodata, 164K init, 200K bss, 5668K 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.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.007542] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.073491] pid_max: default: 32768 minimum: 301 [ 0.078157] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.084508] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.096493] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.105987] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.111927] pinctrl core: initialized pinctrl subsystem [ 0.117464] NET: Registered protocol family 16 [ 0.144987] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.150630] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.156109] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.165636] clocksource: Switched to clocksource MIPS [ 0.171561] NET: Registered protocol family 2 [ 0.176538] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.183227] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.189416] TCP: Hash tables configured (established 1024 bind 1024) [ 0.195697] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.201297] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.207604] NET: Registered protocol family 1 [ 0.214955] Crashlog allocated RAM at address 0x3f00000 [ 0.221518] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.232914] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.238539] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.257368] io scheduler noop registered [ 0.261099] io scheduler deadline registered (default) [ 0.266860] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled [ 0.274020] console [ttyS0] disabled [ 0.277520] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A [ 0.286238] console [ttyS0] enabled [ 0.286238] console [ttyS0] enabled [ 0.293232] bootconsole [early0] disabled [ 0.293232] bootconsole [early0] disabled [ 0.301812] cacheinfo: Failed to find cpu0 device node [ 0.307063] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.313899] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 0.325447] m25p80 spi0.0: gd25q64 (8192 Kbytes) [ 0.330241] 4 fixed-partitions partitions found on MTD device spi0.0 [ 0.336689] Creating 4 MTD partitions on "spi0.0": [ 0.341554] 0x000000000000-0x000000020000 : "boot" [ 0.347274] 0x000000020000-0x0000007c0000 : "firmware" [ 0.355328] 2 tplink-fw partitions found on MTD device firmware [ 0.361406] Creating 2 MTD partitions on "firmware": [ 0.366460] 0x000000000000-0x00000017c784 : "kernel" [ 0.372384] 0x00000017c784-0x0000007a0000 : "rootfs" [ 0.378196] mtd: device 3 (rootfs) set to be root filesystem [ 0.385393] 1 squashfs-split partitions found on MTD device rootfs [ 0.391741] 0x0000004e0000-0x0000007a0000 : "rootfs_data" [ 0.398088] 0x0000007c0000-0x0000007d0000 : "config" [ 0.403880] 0x0000007d0000-0x000000800000 : "factory" [ 0.410527] libphy: Fixed MDIO Bus: probed [ 0.426588] rt3050-esw 10110000.esw: link changed 0x00 [ 0.433367] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 0.443388] NET: Registered protocol family 10 [ 0.451560] Segment Routing with IPv6 [ 0.455374] NET: Registered protocol family 17 [ 0.460004] 8021q: 802.1Q VLAN Support v1.8 [ 0.475257] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 0.483366] Freeing unused kernel memory: 164K [ 0.487906] This architecture does not have kernel memory protection. [ 1.712506] init: Console is alive [ 1.716296] init: - watchdog - [ 2.260602] random: fast init done [ 3.429932] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 3.633317] usbcore: registered new interface driver usbfs [ 3.639053] usbcore: registered new interface driver hub [ 3.644537] usbcore: registered new device driver usb [ 3.655719] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 3.664073] ehci-platform: EHCI generic platform driver [ 3.679748] phy phy-10120000.usbphy.0: remote usb device wakeup disabled [ 3.686561] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz [ 3.691869] ehci-platform 101c0000.ehci: EHCI Host Controller [ 3.697739] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 3.705893] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 3.735675] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 3.743012] hub 1-0:1.0: USB hub found [ 3.747257] hub 1-0:1.0: 1 port detected [ 3.754860] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 3.762599] ohci-platform: OHCI generic platform driver [ 3.768233] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 3.775142] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 3.783326] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 3.860687] hub 2-0:1.0: USB hub found [ 3.864880] hub 2-0:1.0: 1 port detected [ 3.873513] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 3.882204] init: - preinit - [ 5.167395] rt3050-esw 10110000.esw: link changed 0x00 Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 5.345952] random: procd: uninitialized urandom read (4 bytes read) [ 8.549595] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 8.591130] urandom-seed: Seed file not found (/etc/urandom.seed) [ 8.703923] procd: - early - [ 8.706943] rt3050-esw 10110000.esw: link changed 0x01 [ 8.713009] procd: - watchdog - [ 9.426892] procd: - watchdog - [ 9.430398] procd: - ubus - [ 9.532680] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.619586] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.626633] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.634074] procd: - init - Please press Enter to activate this console. [ 10.025480] kmodloader: loading kernel modules from /etc/modules.d/* [ 10.037100] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 10.053248] Netfilter messages via NETLINK v0.30. [ 10.061221] ip_set: protocol 6 [ 10.105709] usbcore: registered new interface driver cdc_wdm [ 10.113128] Loading modules backported from Linux version v4.19-rc5-0-g6bf4ca7fbc85 [ 10.120975] Backport generated by backports.git v4.19-rc5-1-0-g05571dcd [ 10.131344] ip_tables: (C) 2000-2006 Netfilter Core Team [ 10.147925] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 10.157469] ctnetlink v0.93: registering with nfnetlink. [ 10.225615] usbcore: registered new interface driver usbserial [ 10.231706] usbcore: registered new interface driver usbserial_generic [ 10.238451] usbserial: USB Serial support registered for generic [ 10.266152] xt_time: kernel timezone is -0000 [ 10.335727] mt76_wmac 10300000.wmac: ASIC revision: 76280001 [ 10.346683] mt76_wmac 10300000.wmac: Firmware Version: 20151201 [ 10.352702] mt76_wmac 10300000.wmac: Build Time: 20151201183641 [ 10.375649] mt76_wmac 10300000.wmac: firmware init done [ 10.568886] PPP generic driver version 2.4.2 [ 10.580926] usbcore: registered new interface driver qmi_wwan [ 10.596026] usbcore: registered new interface driver sierra [ 10.601778] usbserial: USB Serial support registered for Sierra USB modem [ 10.684962] usbcore: registered new interface driver sierra_net [ 10.693761] kmodloader: done loading kernel modules from /etc/modules.d/* [ 11.890694] urandom_read: 5 callbacks suppressed [ 11.890704] random: jshn: uninitialized urandom read (4 bytes read) [ 19.296837] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 19.303830] jffs2_build_filesystem(): unlocking the mtd device... [ 19.319856] done. [ 19.328147] jffs2_build_filesystem(): erasing all blocks after the end marker... [ 25.520794] br-lan: port 1(eth0) entered blocking state [ 25.533772] br-lan: port 1(eth0) entered disabled state [ 25.539434] device eth0 entered promiscuous mode [ 25.636494] br-lan: port 1(eth0) entered blocking state [ 25.641822] br-lan: port 1(eth0) entered forwarding state [ 25.647543] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 26.575768] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 31.389749] done. [ 31.391750] jffs2: notice: (970) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan. [ 31.707617] overlayfs: upper fs does not support tmpfile.


Despite multiple advisories about broken Wi-Fi, it seems to be working smoothly for about 6 hrs. under heavy load in AP bridged to ethernet mode. Surprisingly, it even works in monitor mode.

My device marked as MR3020 rev.3.20 has been shipped (from Polish seller) without power supply. Only ~40 cm USB A-type male to microUSB B male cable provided.

On my MR3020 rev.3.20 with latest 19.07 selfcompiled no matter what device USB 2.0 I connect I see in logs “usb 1-1: device descriptor read/64, error -71” and “usb 1-1: device not accepting address <xy>, error -71” until it falls back to USB 1.1 (in some rare cases it doesn't fall back to ohci). Compared to stock firmware where I only have to enable USB Tethering from my Smartphone and it just works, with OpenWRT is a pain: as soon as I enable USB Tethering the smartphone say USB not connected, I basicaly have too spam click on RNDIS USB until it will stay like that and then enable USB Tethering else it will plain not work (on OpenWRT x86 with same smartphone I only have to enable USB Tethering and it will just work). Most likely the USB is not properly initialised for this device (device works properly with stock firmware and the smartphone, smartphone works properly with OpenWRT x86 so this elimates a hardware issue with the device & smartphone).

L.E.: I bought a powered usb 2.0 hub (LOGILINK UA0085, doubt it matters) and used the powered usb hub to connect the phone to the router. Now it's capable to negotiate usb 2.0 connection and the speeds are normal for usb 2.0. Before even with the OEM firmware it was negotiating USB 1.1 (it was failing to go above 900 kB/s and that's kinda the limit of USB 1.1, now I can hit 3,5 MB/s and that's clearly USB 2.0 because it's higher than the max theoretical 12 Mbps (1,5MB/s) speed of USB 1.1; OEM firmware doesn't show any information about usb so I have to use the speed I see to determine it…). I believe that at least my device either has a problem with the amount of power that the usb port can deliver or there are distortions on the link (based on the device size both are possible). You might want to take into consideration buying a better router if you need the usb port, unless you already have a powered usb 2.0 hub.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2020/11/23 10:26
  • by thedukesd