OpenWrt Forum Archive

Topic: Adventures with the TP-Link TL-WR710N US v1.0

The content of this topic has been archived on 6 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I recently bought a TP-Link TL-WR710N. This is an awesome device.

My image gallery is here:
http://imgur.com/a/9QwkM

My OpenWRT boot log is here:
http://pastebin.com/RKmhpZ4T

My factory boot log is here:
http://pastebin.com/Gb9ZPJu0

The wiki page for this device is here:
http://wiki.openwrt.org/toh/tp-link/tl-wr710n

The latest trunk image is here:
http://downloads.openwrt.org/snapshots/trunk/ar71xx/
http://downloads.openwrt.org/snapshots/ … actory.bin

There is no stable image for this device as I write this. Then again, AA is so ridiculously out of date that using stable is pointless.

I flashed r41391 and it worked perfectly.  Beware the dangers of flashing trunk images without knowing what their current status is.



I have attached images of my unit removed from it's plastic casing. I show how I attached a little pinout connector next to the ethernet jack so that I could attach my TTL serial to USB adapter to get console access.

What makes this device unique is it's small size, low cost, and built-in power plug.  It has two 100BASE-T network interfaces, a 2.4Ghz 802.11b/g/n wireless interface, and a USB2 port.

CPU is an Atheros AR9331-AL31
RAM is a Winbond W9425G6JH-5

400MHz CPU
8MB Flash
32MB RAM

No JTAG headers that I am aware of.

There are TTL serial test points on the back of the board to which you can solder on a connector and get a console.



Potential uses:

Serial to ethernet/802.11 server.  These days you can get a cheap single-port RS232 to ethernet server for $80-$120 USD , but they are often buggy, limited to telnet, or have other issues.  Multi-port serial servers get much, much, more expensive.  By using the TL-WR710N as a serial port server, you get a fully featured OpenWRT linux box, can put as many serial ports onto that USB port as you can afford (the OpenWRT kernel I used supports up to 16, but you can change this), and you can use it over 802.11 wireless. That's awesome, and cheaper than a regular serial port server.

Connect to the serial port on a UPS, such as an older APC, and use nut the monitor the UPS stats and notify of a power outage. This is especially handy since the TL-WR710N is so small and has a built-in power plug. You can plug it right into the UPS with a short USB to RS232 adapter and then connect to your network via ethernet or 802.11 wireless.

The USB offers a lot of possibilities. You can connect a printer to it, some kind of environmental monitor probe, USB camera, sound card, flash storage, or whatever.



Getting the box open:

Getting the board out of the TL-WR710N is not easy, but it is not impossible.  No screws are involved.

Take a flat-head screwdriver and pry the light-grey lid out of the remainder of the white box. There is a clip just above the LED, and a small nub at the corner where the power plug is located at.  I would suggest starting near the power plug corner and working your way down towards and around the corner where the USB/network jacks are.

Note that the chassis is melted/glued together.  The marks you see on my pictures under the grey lid are not screwdriver marks; those are molded points where the white chassis ridges were melted onto the grey lid. You will need to pop these glue points.

Don't be afraid to get a little rough with the lid. It's not going to come off easily. Wedge something in there and pry it open by force.  Just don't stab anything inside.

When you get the lid popped off, there is white plastic shield behind the power plug. Take note of how it is positioned and remove it.

Next up, you need to remove the LED light clear plastic bit.  It is glued in place with melted plastic, similar to the lid. Just use a razor knife to cut around it's edges and then pry it out or push it out from the front/exterior.

Now you should be able to wiggle the board out. You might need to get a hook tool in there to pull the board up. I recommend you pull from the side away from the ports, as the plastic chassis keep them in place. Beware bending the thin power contacts which connect to the plug part; do not bend these contacts.

With the board is out, you can remove the plug part, but there is no reason to do so.

When re-assembling, remember to put the plug back in first, followed by the board, then the white plug shield/cover, glue the LED light bit into place, and finally snap the grey lid back on.  As long as you didn't mangle the lid too badly, it should snap nicely back into place.



Because I want to use this device as a serial port server, I installed the following extra packages with okpg:

kmod-usb-serial - 3.10.44-1 - Kernel support for USB-to-Serial converters
kmod-usb-serial-pl2303 - 3.10.44-1 - Kernel support for Prolific PL2303 USB-to-Serial converters
kmod-usb-serial-keyspan - 3.10.44-1 - Kernel support for Keyspan USB-to-Serial devices
kmod-usb-serial-ftdi - 3.10.44-1 - Kernel support for FTDI USB-to-Serial converters
kmod-usb-serial-ch341 - 3.10.44-1 - Kernel support for Winchiphead CH341 USB-to-Serial converters

minicom - 2.7-1 - Terminal emulation program
microcom - 1.02-1 - microcom is a minicom-like serial terminal emulator with scripting support.
picocom - 1.7-1 - minimal dumb-terminal emulation program

setserial - 2.17-2 - setserial is a program designed to set and/or report the configuration information associated with a serial port. This information includes what I/O port and IRQ a particular serial port is using, and whether or not the break key should be interpreted as the Secure Attention Key, and so on.

coreutils-stty - 8.16-1 - Full version of standard GNU stty utility. Normally, you would not use this package, since the functionality in BusyBox is more than sufficient.



Have fun with your own.

(Last edited by jmomo on 2 Jul 2014, 04:45)

Great info. Can you confirm that your US model came with 8MB of flash and 32MB RAM or did you upgrade it yourself? The wiki says it's only 2MB & 16MB respectively. Makes a big difference for running openwrt.

drawz wrote:

Great info. Can you confirm that your US model came with 8MB of flash and 32MB RAM or did you upgrade it yourself? The wiki says it's only 2MB & 16MB respectively. Makes a big difference for running openwrt.

The wiki is confusing. It has a line down at the bottom of the hardware chart for the US version, which does have 8MB flash and 32MB of RAM. Only the Chinese version has the 2MB of flash and 16MB of RAM. The top line needs to reflect that it is only applicable to the CN version of the device.

If you read Amazon.com reviews on this device, you will note that some people bought from shady dealers and they got the Chinese versions. Look out for that and make sure to buy from a reputable seller. This could, however, been another incidence of counterfeit items getting into Amazons binning system. Not sure.

(Last edited by jmomo on 2 Jul 2014, 04:44)

Good to know. I'll probably pick one up as a travel router. Feel free to update the wiki with the correct info (or to clarify).

(Last edited by drawz on 3 Jul 2014, 02:54)

I wrote a HOW-TO on how I set up my SSH reverse tunnel system so that my serial port server now tunnels home so that I can reach it wherever it goes.

https://forum.openwrt.org/viewtopic.php?pid=239360

The only way it could get more awesome would be if it had a GSM modem and battery pack on it... which is doable, but outside what I want to do with it.

Today I was experimenting with my device.

I found a nice white USB hub for it here (USA):
http://www.amazon.com/Sabrent-4-Port-In … 00BWF5U0M/

I was also testing how much power the USB port could provide. Apparently plenty, as it was able to power up all of the different USB-SATA disk drives I tested with.

Thanks for sharing this interesting way to build an OpenWRT-based "console server" !

So, has it been working as expected in production, or have there been any pitfalls ?

kpv wrote:

So, has it been working as expected in production, or have there been any pitfalls ?

It works awesome. I am also able to fit an OpenVPN server on it, so I can tunnel in to a customer's site with my laptop and ssh/VNC/RDP to local computers without changing their existing firewall. When my remote hands-on guy goes to a site, he can plug it in and I can get to work right away.

I have to make my own custom OpenWRT build, but that's not too hard.

(Last edited by jmomo on 24 Jul 2014, 00:21)

I noticed that in your "fixme" comments inside the tunnelhome script (posted at pastebin a few weeks ago), you contemplated using Dropbear's ssh client. Have you managed to make it work, or are you still using OpenSSH's ssh client ?

I have to make my own custom OpenWRT build, but that's not too hard.

Yes, doing a custom OpenWRT build is still practically mandatory, also because of some relatively minor (but still annoying) bugs, at least until the core devs find the time to fix them ...

kpv wrote:

I noticed that in your "fixme" comments inside the tunnelhome script (posted at pastebin a few weeks ago), you contemplated using Dropbear's ssh client. Have you managed to make it work, or are you still using OpenSSH's ssh client ?

Originally, I was using the dropbear ssh client (dbclient), but it wasn't good in this particular application.

The problem with using dropbear as a client is that it took an unreasonable amount of time for the client to detect connection problems.  I need the client to exit if the tunnel goes down or is otherwise unusable, so that it can re-try.

https://www.mail-archive.com/dropbear@u … 01237.html

It looks like a change has been made upstream to try to correct this issue, but I've not tested it.  I don't plan on revisiting it because what I have now works and including openssh client will probably allow me to do other things in the future that I could not do with dropbear.

If I remember correctly, the openssh client and related tools take up about 1.5MB of flash in overlay/jffs.  It's probably a little less than that in the squashfs image since I build it in.  Even after including all of my tools onto my device image, I still have 2.5MB of overlay/jffs free space.

jmomo wrote:

I am also able to fit an OpenVPN server on it, so I can tunnel in to a customer's site with my laptop and ssh/VNC/RDP to local computers without changing their existing firewall. When my remote hands-on guy goes to a site, he can plug it in and I can get to work right away.

I've been thinking about it, and I wonder what are the benefits of this particular approach (reverse SSH tunnel + OpenVPN server etc) over simply running an OpenVPN client on the "probe" device ?

One can "push" routes to the OpenVPN client and do firewall filtering on the tunX device.

(Last edited by kpv on 27 Jul 2014, 19:50)

Putting a client on the device gives you no control over when it connects. What if two devices are connected at the same time, and both are using the same subnet at the far end?

kpv wrote:

I've been thinking about it, and I wonder what are the benefits of this particular approach (reverse SSH tunnel + OpenVPN server etc) over simply running an OpenVPN client on the "probe" device ?

You can do both at the same time, or one or the other. Doesn't really matter. The SSH tunnel works for me.

FYI Dropbear updated the -K argument per my feedback which seems to resolve the issue I noted above:

https://github.com/mkj/dropbear/blob/master/CHANGES

2014.64 - Sunday 27 July 2014

- The -K keepalive option now behaves more like OpenSSH's "ServerAliveInterval".
  If no response is received after 3 keepalives then the session is terminated. This
  will close connections faster than waiting for a TCP timeout.

This is just a quick heads up that with https://dev.openwrt.org/changeset/42131/trunk OpenWRT now includes the very latest dropbear 2014.65 which fixes the problematic behavior with the -K keep-alive option.

You can turn the USB port on and off with this device like so:

    on
        echo 1 > /sys/devices/virtual/gpio/gpio8/value
    off
        echo 0 > /sys/devices/virtual/gpio/gpio8/value

Reference: http://wiki.openwrt.org/doc/howto/usb.overview

I've been testing this for awhile and it works.

Unfortunately, I have been having problems with these devices and USB-serial adapters connected to them.

Reference my bug post here:
https://dev.openwrt.org/ticket/16467#comment:2

I've noted a number of comments here and there regarding the ar71xx platform and USB problems:

http://wiki.openwrt.org/toh/tp-link/tl-wr703n
    TP-Link TL-WR703N
    "USB 2.0 port (High-Speed only, use an external High-Speed hub for Full/Low-Speed devices)"
    "The USB port on the WR703n is not compatible with USB1 devices (aka full speed) and only works properly with USB2 (aka high speed) devices."

https://dev.openwrt.org/ticket/15239
    "It's a known problem. USB2 works. USB1 sometimes. If you connect a USB2 hub between the USB1 the problem will go away."

Other tickets:
    https://dev.openwrt.org/ticket/6779
    https://dev.openwrt.org/ticket/16610

The problem is very sporadic for me. Yesterday I couldn't make it stop. Today I can't reproduce the issue at all. Very frustrating.

--

20150429 update

I have not had this problem in awhile since I use a USB hub in between my serial devices and the host, but I was reading about and found some new information.

This thread has some hardware details on the apparent cause of the issue:
    https://forum.openwrt.org/viewtopic.php?id=39956

Specific technical explanations:
    https://forum.openwrt.org/viewtopic.php … 24#p231324
    https://forum.openwrt.org/viewtopic.php … 80#p232780

Apparently it's caused by a clock problem related to the 802.11 radio. It is unknown why USB2-mode is not affected, but USB1-mode is. When the 802.11 radio changes channels, it is affecting the 12Mhz clock which the USB interface uses.

In my case, since I use these devices as an 802.11 client and they are sometimes not associated with a base station, this exacerbates the issue due to wifi channel scanning.

Workarounds include:
    Use a passive USB2 hub in between the host and the USB1 device.
    Disable the 802.11 radio.

There have been patches to improve the issue, but I suspect this problem may never be fully fixed.

Basically, it's a hardware bug.

(Last edited by jmomo on 29 Apr 2015, 23:21)

Hello jmomo,

thanks for the great information. I have got the same TP router that I am trying to set it up with Arduino Uno R3. I want to use the USB port to connect to Arduino Uno.

I have flashed the router with the latest trunk build, and installed the following firmware:
OpenWrt Chaos Calmer r45001 / LuCI (git-15.079.29361-3e37216)

currently I have set the router up as wireless client and I can connect to the internet using one of the ethernet port that says Lan, however, I cannot connect to the internert using the second lan port or the USB port.

the biggest problem is I cannot see the USB on the admin pages, and I don't know how to bring it up. I want to test it with my PC connecting to the USB port to access Internet first.

any help you can offer is greatly appreciated.

the following is the kernel log:
[    0.000000] Linux version 3.18.9 (openwrt@gb-12) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r45001) ) #1 Thu Mar 26 08:22:37 UTC 2015
[    0.000000] MyLoader: sysp=ad2c3173, boardp=242d95ab, parts=ddad436b
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Atheros AR9330 rev 1
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x01ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x01ffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x01ffffff]
[    0.000000] On node 0 totalpages: 8192
[    0.000000] free_area_init_node: node 0, pgdat 803822b0, node_mem_map 81000000
[    0.000000]   Normal zone: 64 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 8192 pages, LIFO batch:0
[    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] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line:  board=TL-WR710N console=ttyATH0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 28324K/32768K available (2631K kernel code, 127K rwdata, 544K rodata, 208K init, 193K bss, 4444K reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz
[    0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
[    0.080000] pid_max: default: 32768 minimum: 301
[    0.080000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.100000] NET: Registered protocol family 16
[    0.100000] MIPS: machine is TP-LINK TL-WR710N v1
[    0.600000] Switched to clocksource MIPS
[    0.600000] NET: Registered protocol family 2
[    0.610000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.610000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.620000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.620000] TCP: reno registered
[    0.620000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.630000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.640000] NET: Registered protocol family 1
[    0.640000] PCI: CLS 0 bytes, default 32
[    0.640000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.660000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.660000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.670000] msgmni has been set to 55
[    0.670000] io scheduler noop registered
[    0.680000] io scheduler deadline registered (default)
[    0.680000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.690000] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a AR933X UART
[    0.700000] console [ttyATH0] enabled
[    0.710000] bootconsole [early0] disabled
[    0.720000] m25p80 spi0.0: found s25fl064k, expected m25p80
[    0.720000] m25p80 spi0.0: s25fl064k (8192 Kbytes)
[    0.730000] 5 tp-link partitions found on MTD device spi0.0
[    0.730000] Creating 5 MTD partitions on "spi0.0":
[    0.740000] 0x000000000000-0x000000020000 : "u-boot"
[    0.740000] 0x000000020000-0x000000147060 : "kernel"
[    0.750000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[    0.760000] 0x000000147060-0x0000007f0000 : "rootfs"
[    0.760000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[    0.780000] mtd: device 2 (rootfs) set to be root filesystem
[    0.780000] 1 squashfs-split partitions found on MTD device rootfs
[    0.790000] 0x000000330000-0x0000007f0000 : "rootfs_data"
[    0.800000] 0x0000007f0000-0x000000800000 : "art"
[    0.800000] 0x000000020000-0x0000007f0000 : "firmware"
[    0.840000] libphy: ag71xx_mdio: probed
[    1.440000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
[    1.450000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[    2.040000] ag71xx-mdio.1: Found an AR7240/AR9330 built-in switch
[    2.070000] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[    2.070000] TCP: cubic registered
[    2.080000] NET: Registered protocol family 17
[    2.080000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    2.090000] Bridge firewalling registered
[    2.100000] 8021q: 802.1Q VLAN Support v1.8
[    2.110000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    2.120000] Freeing unused kernel memory: 208K (8039c000 - 803d0000)
[    3.380000] init: Console is alive
[    3.380000] init: - watchdog -
[    4.940000] usbcore: registered new interface driver usbfs
[    4.950000] usbcore: registered new interface driver hub
[    4.950000] usbcore: registered new device driver usb
[    4.960000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.970000] ehci-platform: EHCI generic platform driver
[    4.970000] ehci-platform ehci-platform: EHCI Host Controller
[    4.980000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[    4.990000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[    5.010000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[    5.010000] hub 1-0:1.0: USB hub found
[    5.010000] hub 1-0:1.0: 1 port detected
[    5.020000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    5.030000] ohci-platform: OHCI generic platform driver
[    5.470000] init: - preinit -
[    6.310000] random: procd urandom read with 9 bits of entropy available
[    9.610000] jffs2: notice: (353) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 1 of xref (0 dead, 0 orphan) found.
[    9.630000] mount_root: switching to jffs2 overlay
[    9.710000] procd: - early -
[    9.710000] procd: - watchdog -
[   10.520000] procd: - ubus -
[   11.550000] procd: - init -
[   12.530000] NET: Registered protocol family 10
[   12.540000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   12.560000] Loading modules backported from Linux version master-2015-03-09-0-g141f155
[   12.570000] Backport generated by backports.git backports-20150129-0-gdd4a670
[   12.580000] ip_tables: (C) 2000-2006 Netfilter Core Team
[   12.600000] nf_conntrack version 0.5.0 (445 buckets, 1780 max)
[   12.660000] xt_time: kernel timezone is -0000
[   12.700000] cfg80211: Calling CRDA to update world regulatory domain
[   12.700000] cfg80211: World regulatory domain updated:
[   12.710000] cfg80211:  DFS Master region: unset
[   12.710000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   12.720000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   12.730000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   12.740000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   12.750000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   12.760000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   12.760000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   12.770000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   12.780000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[   12.850000] PPP generic driver version 2.4.2
[   12.850000] NET: Registered protocol family 24
[   12.950000] ath: EEPROM regdomain: 0x0
[   12.950000] ath: EEPROM indicates default country code should be used
[   12.950000] ath: doing EEPROM country->regdmn map search
[   12.950000] ath: country maps to regdmn code: 0x3a
[   12.950000] ath: Country alpha2 being used: US
[   12.950000] ath: Regpair used: 0x3a
[   12.960000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   12.970000] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2
[   12.980000] cfg80211: Calling CRDA for country: US
[   12.980000] cfg80211: Regulatory domain changed to country: US
[   12.980000] cfg80211:  DFS Master region: FCC
[   12.990000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   13.000000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[   13.010000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A)
[   13.020000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
[   13.030000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[   13.030000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[   21.600000] device eth1 entered promiscuous mode
[   21.600000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   21.660000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   22.990000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   23.700000] eth1: link up (1000Mbps/Full duplex)
[   23.700000] br-lan: port 1(eth1) entered forwarding state
[   23.710000] br-lan: port 1(eth1) entered forwarding state
[   23.710000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   25.400000] wlan0: authenticate with d0:39:b3:2f:4f:40
[   25.420000] wlan0: send auth to d0:39:b3:2f:4f:40 (try 1/3)
[   25.430000] wlan0: authenticated
[   25.440000] wlan0: associate with d0:39:b3:2f:4f:40 (try 1/3)
[   25.440000] wlan0: RX AssocResp from d0:39:b3:2f:4f:40 (capab=0x411 status=0 aid=12)
[   25.450000] wlan0: associated
[   25.450000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   25.710000] br-lan: port 1(eth1) entered forwarding state
[   55.110000] random: nonblocking pool is initialized
[  243.480000] device eth0 entered promiscuous mode
[  243.490000] IPv6: ADDRCONF(NETDEV_UP): br-wan6: link is not ready
[  309.310000] device eth0 left promiscuous mode
[  309.310000] br-wan6: port 1(eth0) entered disabled state
[  309.320000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  309.330000] device eth0 entered promiscuous mode
[  309.390000] IPv6: ADDRCONF(NETDEV_UP): br-wan6: link is not ready
[  583.150000] wlan0: deauthenticating from d0:39:b3:2f:4f:40 by local choice (Reason: 3=DEAUTH_LEAVING)
[  583.220000] IPv6: ADDRCONF(NETDEV_UP): br-wan: link is not ready
[  583.840000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  632.770000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  634.230000] wlan0: authenticate with d0:39:b3:2f:4f:40
[  634.250000] wlan0: send auth to d0:39:b3:2f:4f:40 (try 1/3)
[  634.260000] wlan0: authenticated
[  634.270000] wlan0: associate with d0:39:b3:2f:4f:40 (try 1/3)
[  634.270000] wlan0: RX AssocResp from d0:39:b3:2f:4f:40 (capab=0x411 status=0 aid=10)
[  634.280000] wlan0: associated
[  634.280000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  675.340000] eth1: link down
[  675.340000] br-lan: port 1(eth1) entered disabled state
[  677.020000] eth0: link up (100Mbps/Full duplex)
[  677.020000] br-wan6: port 1(eth0) entered forwarding state
[  677.030000] br-wan6: port 1(eth0) entered forwarding state
[  677.030000] IPv6: ADDRCONF(NETDEV_CHANGE): br-wan6: link becomes ready
[  679.030000] br-wan6: port 1(eth0) entered forwarding state
[  741.020000] eth0: link down
[  741.020000] br-wan6: port 1(eth0) entered disabled state
[  742.840000] eth1: link up (1000Mbps/Full duplex)
[  742.840000] br-lan: port 1(eth1) entered forwarding state
[  742.840000] br-lan: port 1(eth1) entered forwarding state
[  744.840000] br-lan: port 1(eth1) entered forwarding state
[ 1285.840000] eth1: link down
[ 1285.840000] br-lan: port 1(eth1) entered disabled state
[ 1288.020000] eth0: link up (100Mbps/Full duplex)
[ 1288.020000] br-wan6: port 1(eth0) entered forwarding state
[ 1288.030000] br-wan6: port 1(eth0) entered forwarding state
[ 1290.030000] br-wan6: port 1(eth0) entered forwarding state
[ 1370.020000] eth0: link down
[ 1370.020000] br-wan6: port 1(eth0) entered disabled state
[ 1371.840000] eth1: link up (1000Mbps/Full duplex)
[ 1371.840000] br-lan: port 1(eth1) entered forwarding state
[ 1371.840000] br-lan: port 1(eth1) entered forwarding state
[ 1373.840000] br-lan: port 1(eth1) entered forwarding state
[ 1440.900000] wlan0: deauthenticating from d0:39:b3:2f:4f:40 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1442.210000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1444.700000] wlan0: authenticate with d0:39:b3:2f:4f:40
[ 1444.720000] wlan0: send auth to d0:39:b3:2f:4f:40 (try 1/3)
[ 1444.720000] wlan0: authenticated
[ 1444.740000] wlan0: associate with d0:39:b3:2f:4f:40 (try 1/3)
[ 1444.740000] wlan0: RX AssocResp from d0:39:b3:2f:4f:40 (capab=0x411 status=0 aid=10)
[ 1444.750000] wlan0: associated
[ 1444.750000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1500.650000] IPv6: ADDRCONF(NETDEV_UP): br-wan: link is not ready
[ 1887.670000] device eth0 left promiscuous mode
[ 1887.670000] br-wan6: port 1(eth0) entered disabled state
[ 1887.680000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 1888.110000] wlan0: deauthenticating from d0:39:b3:2f:4f:40 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1889.460000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1892.140000] wlan0: authenticate with d0:39:b3:2f:4f:40
[ 1892.160000] wlan0: send auth to d0:39:b3:2f:4f:40 (try 1/3)
[ 1892.170000] wlan0: authenticated
[ 1892.180000] wlan0: associate with d0:39:b3:2f:4f:40 (try 1/3)
[ 1892.180000] wlan0: RX AssocResp from d0:39:b3:2f:4f:40 (capab=0x411 status=0 aid=10)
[ 1892.190000] wlan0: associated
[ 1892.190000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1993.490000] device eth0 entered promiscuous mode
[ 1993.490000] device eth1 left promiscuous mode
[ 1993.500000] br-lan: port 1(eth1) entered disabled state
[ 1993.520000] eth1: link down
[ 1993.520000] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 1993.660000] device eth1 entered promiscuous mode
[ 1993.660000] br-lan: port 1(eth1) entered forwarding state
[ 1993.670000] br-lan: port 1(eth1) entered forwarding state
[ 1994.250000] wlan0: deauthenticating from d0:39:b3:2f:4f:40 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1994.510000] br-lan: port 1(eth1) entered disabled state
[ 1995.800000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 1997.260000] eth1: link up (1000Mbps/Full duplex)
[ 1997.260000] br-lan: port 1(eth1) entered forwarding state
[ 1997.270000] br-lan: port 1(eth1) entered forwarding state
[ 1998.710000] wlan0: authenticate with d0:39:b3:2f:4f:40
[ 1998.730000] wlan0: send auth to d0:39:b3:2f:4f:40 (try 1/3)
[ 1998.740000] wlan0: authenticated
[ 1998.750000] wlan0: associate with d0:39:b3:2f:4f:40 (try 1/3)
[ 1998.750000] wlan0: RX AssocResp from d0:39:b3:2f:4f:40 (capab=0x411 status=0 aid=10)
[ 1998.760000] wlan0: associated
[ 1998.760000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1999.270000] br-lan: port 1(eth1) entered forwarding state
[ 2013.760000] eth1: link down
[ 2013.760000] br-lan: port 1(eth1) entered disabled state
[ 2016.020000] eth0: link up (100Mbps/Full duplex)
[ 2016.020000] br-wan: port 1(eth0) entered forwarding state
[ 2016.030000] br-wan: port 1(eth0) entered forwarding state
[ 2016.030000] IPv6: ADDRCONF(NETDEV_CHANGE): br-wan: link becomes ready
[ 2018.030000] br-wan: port 1(eth0) entered forwarding state
[ 2066.020000] eth0: link down
[ 2066.020000] br-wan: port 1(eth0) entered disabled state
[ 2066.260000] eth1: link up (1000Mbps/Full duplex)
[ 2066.260000] br-lan: port 1(eth1) entered forwarding state
[ 2066.270000] br-lan: port 1(eth1) entered forwarding state
[ 2068.270000] br-lan: port 1(eth1) entered forwarding state
[ 2128.890000] device eth0 left promiscuous mode
[ 2128.890000] br-wan: port 1(eth0) entered disabled state
[ 2128.900000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 2205.960000] device eth0 entered promiscuous mode
[ 2205.970000] IPv6: ADDRCONF(NETDEV_UP): br-Lan2: link is not ready
[ 2206.040000] device eth0 left promiscuous mode
[ 2206.040000] br-Lan2: port 1(eth0) entered disabled state
[ 2206.050000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 2206.130000] device eth0 entered promiscuous mode
[ 2206.150000] IPv6: ADDRCONF(NETDEV_UP): br-Lan2: link is not ready
[ 2230.760000] eth1: link down
[ 2230.760000] br-lan: port 1(eth1) entered disabled state
[ 2234.020000] eth0: link up (100Mbps/Full duplex)
[ 2234.020000] br-Lan2: port 1(eth0) entered forwarding state
[ 2234.030000] br-Lan2: port 1(eth0) entered forwarding state
[ 2234.030000] IPv6: ADDRCONF(NETDEV_CHANGE): br-Lan2: link becomes ready
[ 2236.030000] br-Lan2: port 1(eth0) entered forwarding state
[ 2284.020000] eth0: link down
[ 2284.020000] br-Lan2: port 1(eth0) entered disabled state
[ 2284.760000] eth1: link up (1000Mbps/Full duplex)
[ 2284.760000] br-lan: port 1(eth1) entered forwarding state
[ 2284.760000] br-lan: port 1(eth1) entered forwarding state
[ 2286.760000] br-lan: port 1(eth1) entered forwarding state

The discussion might have continued from here.