TL-MR6400v1 LTE module bricked?

Hello,

I'm looking for help to fix my LTE module in TP-link MR6400.
Long story short: I've had a problem with passing IPsec traffic using the stock firmware. TP-link support advise me to install a beta firmware which suppose to fix this issue.
After the upgrade - the LTE module stopped working (any data from LTE module was show). I couldn't upgrade to stable firmware, while doing that the connection reset is beeing shown.
Then I've used the TFTP method to reverse to orginal firmware. Unfortunately after that, LTE was still not working.

So I've flashed router with openwrt - as expected LTE module is still not working. But here I hope it could be possible to fix the LTE module.
As I understand the LTE module is running as separate android system, and here there has to be something messed up.

I cannot connect with adb to this android device - it doesn't see any.

In dmesg I see that there is ongoing connect/disconnect usb-device - which seems to be lte-module.

[    0.000000] Linux version 5.4.154 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16325-88151b8303)) #0 Sun Oct 24 09:01:35 2021
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is TP-Link TL-MR6400 v1
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    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, VIPT, cache 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]   Normal zone: 144 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    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: 16240
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 57272K/65536K available (5252K kernel code, 191K rwdata, 688K rodata, 1220K init, 205K bss, 8264K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] random: get_random_bytes called from 0x8065fa28 with crng_init=0
[    0.000000] CPU clock: 650.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000009] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008275] Calibrating delay loop... 431.10 BogoMIPS (lpj=862208)
[    0.042742] pid_max: default: 32768 minimum: 301
[    0.047791] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.055506] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.068832] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.079169] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.086483] pinctrl core: initialized pinctrl subsystem
[    0.095199] NET: Registered protocol family 16
[    0.129859] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.144857] clocksource: Switched to clocksource MIPS
[    0.151432] thermal_sys: Registered thermal governor 'step_wise'
[    0.151841] NET: Registered protocol family 2
[    0.163026] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.171551] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.180465] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.188556] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.196006] TCP: Hash tables configured (established 1024 bind 1024)
[    0.202882] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.209841] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.217583] NET: Registered protocol family 1
[    0.222267] PCI: CLS 0 bytes, default 32
[    0.231441] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[    0.246476] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.252695] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.280584] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.293296] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[    0.300025] gpio-export gpio-export: 1 gpio(s) exported
[    0.306450] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.315902] printk: console [ttyS0] disabled
[    0.320538] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.329660] printk: console [ttyS0] enabled
[    0.338726] printk: bootconsole [early0] disabled
[    0.373004] spi-nor spi0.0: s25fl064k (8192 Kbytes)
[    0.378123] 3 fixed-partitions partitions found on MTD device spi0.0
[    0.384690] Creating 3 MTD partitions on "spi0.0":
[    0.389671] 0x000000000000-0x000000020000 : "u-boot"
[    0.395993] 0x000000020000-0x0000007f0000 : "firmware"
[    0.404827] 2 tplink-fw partitions found on MTD device firmware
[    0.411041] Creating 2 MTD partitions on "firmware":
[    0.416190] 0x000000000000-0x0000001f405d : "kernel"
[    0.422457] 0x0000001f4060-0x0000007d0000 : "rootfs"
[    0.428707] mtd: device 3 (rootfs) set to be root filesystem
[    0.436836] 1 squashfs-split partitions found on MTD device rootfs
[    0.443334] 0x0000005e0000-0x0000007d0000 : "rootfs_data"
[    0.450067] 0x0000007f0000-0x000000800000 : "art"
[    0.458437] libphy: Fixed MDIO Bus: probed
[    0.801956] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.160847] random: fast init done
[    1.441295] libphy: ag71xx_mdio: probed
[    1.446840] libphy: ar8xxx-mdio: probed
[    1.460569] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[    1.508759] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.518841] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[    1.525606] i2c /dev entries driver
[    1.532216] NET: Registered protocol family 10
[    1.544330] Segment Routing with IPv6
[    1.548342] NET: Registered protocol family 17
[    1.553052] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.566447] 8021q: 802.1Q VLAN Support v1.8
[    1.886984] ag71xx 19000000.eth: connected to PHY at mdio.0:1f:00 [uid=004dd042, driver=Generic PHY]
[    1.897585] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.905035] hctosys: unable to open rtc device (rtc0)
[    1.915089] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    1.930921] Freeing unused kernel memory: 1220K
[    1.935631] This architecture does not have kernel memory protection.
[    1.942283] Run /sbin/init as init process
[    2.592689] init: Console is alive
[    2.596681] init: - watchdog -
[    3.673350] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.726460] usbcore: registered new interface driver usbfs
[    3.732305] usbcore: registered new interface driver hub
[    3.737937] usbcore: registered new device driver usb
[    3.751078] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.759872] ehci-fsl: Freescale EHCI Host controller driver
[    3.767428] ehci-platform: EHCI generic platform driver
[    3.773236] ehci-platform 1b000000.usb: EHCI Host Controller
[    3.779174] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    3.787415] ehci-platform 1b000000.usb: irq 3, io mem 0x1b000000
[    3.808889] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    3.816344] hub 1-0:1.0: USB hub found
[    3.820788] hub 1-0:1.0: 1 port detected
[    3.828772] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.846869] init: - preinit -
[    4.724422] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    5.055167] random: procd: uninitialized urandom read (4 bytes read)
[    5.260635] random: jshn: uninitialized urandom read (4 bytes read)
[    5.549005] random: jshn: uninitialized urandom read (4 bytes read)
[    6.393186] eth0: link up (1000Mbps/Full duplex)
[    6.405095] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    6.417050] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[    9.098536] usb 1-1: USB disconnect, device number 2
[   10.629990] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   10.641810] urandom-seed: Seed file not found (/etc/urandom.seed)
[   10.742129] eth0: link down
[   10.770174] procd: - early -
[   10.773388] procd: - watchdog -
[   11.417021] procd: - watchdog -
[   11.440551] procd: - ubus -
[   11.506919] urandom_read: 5 callbacks suppressed
[   11.506928] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.521218] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.531943] procd: - init -
[   12.547817] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.596837] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
[   12.604765] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
[   12.668189] usbcore: registered new interface driver usbserial_generic
[   12.675149] usbserial: USB Serial support registered for generic
[   12.721781] xt_time: kernel timezone is -0000
[   12.734455] usbcore: registered new interface driver cdc_ether
[   13.001079] PPP generic driver version 2.4.2
[   13.013913] NET: Registered protocol family 24
[   13.026744] usbcore: registered new interface driver rndis_host
[   13.126378] usbcore: registered new interface driver option
[   13.132340] usbserial: USB Serial support registered for GSM modem (1-port)
[   13.143243] urngd: v1.0.2 started.
[   13.199663] ath: EEPROM regdomain sanitized
[   13.199680] ath: EEPROM regdomain: 0x64
[   13.199683] ath: EEPROM indicates we should expect a direct regpair map
[   13.199708] ath: Country alpha2 being used: 00
[   13.199712] ath: Regpair used: 0x64
[   13.213082] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   13.215629] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=12
[   13.301390] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.600203] random: crng init done
[   20.132975] usb 1-1: new high-speed USB device number 3 using ehci-platform
[   24.635914] usb 1-1: USB disconnect, device number 3
--- cut -----
[ 3125.936695] usb 1-1: new high-speed USB device number 77 using ehci-platform
[ 3130.451840] usb 1-1: USB disconnect, device number 77
[ 3141.456693] usb 1-1: new high-speed USB device number 78 using ehci-platform
[ 3145.970591] usb 1-1: USB disconnect, device number 78

If I run cat /sys/kernel/debug/usb/devices

Then sometime I see android device, and sometimes I can't, as It's disconnecting

root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 5.04
S:  Manufacturer=Linux 5.4.154 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=1b000000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 65 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=18d1 ProdID=d00d Rev= 1.00
S:  Manufacturer=Google
S:  Product=Android
S:  SerialNumber=MDM9625
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=256mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=03 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

Can you advise if it's possible to fix the lte module ? I've intended to flash it with original firmware(in order to fix it), but as adb doesn't see any device and LTE module web interface is down I have no clue how to proceed.

Thanks in advance,

I've forgot to mention, it's MR6400v1

Take a look at the LTE section in the wiki article on the MR6400 v1.0

1 Like

I've check the wiki, but it can't find there any useful hints. As I cannot get into the android module with adb shell - it cannot find any device. And it make sens as it should detect usb device, but from above logs you can see that android usb device is constantly reconnecting (I believe it went into some sort of bootloop) and never get appropriately initialised.