TP-Link TL-WA730RE 2.0
150Mbps Wireless Range Extender, compatible with other 802.11n/g/b products.
OpenWrt support
Not officially supported yet, but apparently compatible modified firmware available, which can be used as a starting point from unofficial 15.05.1 firmware to finally official 18.06.5 tl-wa701ND-v2 hexedited crossflashed firmware!
Supporting activities
Experimental firmware
- Experimental modified firmware : openwrt-15.05.1-ar71xx-generic-tl-wa730re-v2-squashfs-factory.bin To be flashed on OEM firmware.
md5sum 15126ba440ed6e746ff377235b2f037b openwrt-15.05.1-ar71xx-generic-tl-wa730re-v2-squashfs-factory.bin sha256sum e19a432291de09b0a5e047a36172abed023dc8e21d4e57abb1933222ff9ab133 openwrt-15.05.1-ar71xx-generic-tl-wa730re-v2-squashfs-factory.bin
- Derived from OpenWrt factory firmware for
TP-Link TL-WR740N v4.20TL-WR741ND v4 with modified header by the forum provided HW ID Tool. - People in the OpenWrt forum may used the tl-wr740n_v4.20 firmware image modified with HW ID Tool, however the linked experimental firmware here is really tl-wr741nd_v4 derived but it works.
root@OpenWrt:/tmp# cat sysinfo/model TP-Link TL-WA730RE v2 root@OpenWrt:/tmp# cat sysinfo/board_name tl-wr741nd-v4 !!! not tl-wr740n_v4.20 derived!!!
- Successfull firmware upgrade from the TP-Link OEM Firmware (3.16.6 Build130510 Rel.63318n)&(3.16.1 Build 120928 Rel.39381n)
- Notice this model has 1 ethernet port and no switch, flashing it with the experimental TL-WR741ND v4 version gives a workable lan port with fake switch0, but vlan support (guided by the switch interface) is broken!
- Successfull OpenWrt firmware sysupgrade from 15.05.1 to 18.06.5 by just hex editing the header info (no need for checksum fix) from original OpenWrt release:openwrt-18.06.5-ar71xx-tiny-tl-wr741nd-v4-squashfs-sysupgrade.bin.
md5sum openwrt-18.06.5-ar71xx-tiny-tl-wr741nd-v4-squashfs-sysupgrade.bin #860f35ce65a958ade17f4eaca3eac83e cp openwrt-18.06.5-ar71xx-tiny-tl-wr741nd-v4-squashfs-sysupgrade.bin wr741nd-v4-modid.bin sed -i 's/\x07\x41\x00\x04/\x07\x30\x00\x02/g' wr741nd-v4-modid.bin #changes the HW ID to TP-Link TL-WA730RE v2 md5sum wr741nd-v4-modid.bin #f98640b1912c2e6bee4a096e95838b45 #use wr741nd-v4-modid.bin for sysupgrade from 15.05.1 to 18.06.5
- Successfull crossflash to TP-LINK TL-WA701ND v2 by again hex editing (without checksum fix) that original OpenWrt release: openwrt-18.06.5-ar71xx-tiny-tl-wa701nd-v2-squashfs-sysupgrade.bin and sysupgrade “from OpenWrt of course, not OEM” which gives valid eth0 vlan support and removes the fake switch0!
md5sum openwrt-18.06.5-ar71xx-tiny-tl-wa701nd-v2-squashfs-sysupgrade.bin #edec6acaeb9536f02bd0eff91dbcdd86 cp openwrt-18.06.5-ar71xx-tiny-tl-wa701nd-v2-squashfs-sysupgrade.bin wr741nd-v4-to-wa701nd-v2-modid.bin sed -i 's/\x07\x01\x00\x02/\x07\x30\x00\x02/g' wr741nd-v4-to-wa701nd-v2-modid.bin md5sum wr741nd-v4-to-wa701nd-v2-modid.bin #02769a130f4770b2b5460d15f5f98250 #use wr741nd-v4-to-wa701nd-v2-modid.bin for sysupgrade/crossflash to wa701nd-v2
cat /var/sysinfo/* tl-wa701nd-v2 TP-Link TL-WA730RE v2
Hardware highlights
CPU | Ram | Flash | Network | WLAN | USB | Serial | JTag |
---|---|---|---|---|---|---|---|
Atheros AR9331 @ ... MHz | 32 MiB | 4 MiB | 1x 10/100 | bgn | No | Yes | ? |
Hardware
Info
Architecture | MIPS |
---|---|
Vendor | Atheros |
Bootloader | U-Boot |
System-On-Chip | AR9331-AL1A |
CPU/Speed | 400MHz?? (External XTAL 25 MHz) |
Flash-Chip | SPANSION FL032PIF |
Flash size | 4 MB |
RAM | 32 MB (Zentel A3S56d40ftp-g5) |
Wireless | 2.4GHz SoC integrated |
Ethernet | 1x Port 10/100 Mbit/s |
USB | No |
Serial | Yes |
JTAG | Not populated |
Photos
Opening the case
Remove 2x rubber feet, unscrew 2 screws, gently unclick the blue cover by going along the groove with nails and a little force and pacience.
Serial
→ port.serial general information about the serial port, serial port cable, etc.
How to connect to the Serial Port of this specific device:
Insert photo of PCB with markings for serial port
Replace EXAMPLE by real values.
Serial connection parameters for TP-Link TL-WA730RE 2.0 | 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
Bootlogs
OEM bootlog
COPY HERE THE BOOTLOG WITH THE ORIGINAL FIRMWARE
OpenWrt bootlog
[ 0.000000] Linux version 4.9.198 (buildbot@a6cb27977ad2) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7897-9d401013fc) ) #0 Tue Nov 5 14:12:18 2019 [ 0.000000] MyLoader: sysp=fa89c804, boardp=69cd3b24, parts=31a09c82 [ 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] 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-0x0000000001ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000001ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff] [ 0.000000] On node 0 totalpages: 8192 [ 0.000000] free_area_init_node: node 0, pgdat 80444ae4, node_mem_map 81000020 [ 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] 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-WA701ND-v2 console=ttyATH0,115200 rootfstype=squashfs 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: 27604K/32768K available (3408K kernel code, 160K rwdata, 424K rodata, 224K init, 211K bss, 5164K 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] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns [ 0.000014] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns [ 0.007582] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.088757] pid_max: default: 32768 minimum: 301 [ 0.093341] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.099518] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.110239] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.118274] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.125933] NET: Registered protocol family 16 [ 0.130841] MIPS: machine is TP-LINK TL-WA701ND v2 [ 0.404638] ar71xx: using random MAC address for eth1 [ 0.674008] clocksource: Switched to clocksource MIPS [ 0.679013] NET: Registered protocol family 2 [ 0.683142] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.688534] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.694589] TCP: Hash tables configured (established 1024 bind 1024) [ 0.700762] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.706255] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.712498] NET: Registered protocol family 1 [ 0.716416] PCI: CLS 0 bytes, default 32 [ 0.721369] Crashlog allocated RAM at address 0x1f00000 [ 0.726599] workingset: timestamp_bits=30 max_order=13 bucket_order=0 [ 0.741680] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.745925] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.768157] io scheduler noop registered [ 0.770524] io scheduler deadline registered (default) [ 0.776070] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.785470] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a AR933X UART [ 0.793247] console [ttyATH0] enabled [ 0.800156] bootconsole [early0] disabled [ 0.816128] m25p80 spi0.0: found s25sl032p, expected m25p80 [ 0.820261] m25p80 spi0.0: s25sl032p (4096 Kbytes) [ 0.826123] 5 tp-link partitions found on MTD device spi0.0 [ 0.830576] Creating 5 MTD partitions on "spi0.0": [ 0.835429] 0x000000000000-0x000000020000 : "u-boot" [ 0.842978] 0x000000020000-0x00000016d7d0 : "kernel" [ 0.849418] 0x00000016d7d0-0x0000003f0000 : "rootfs" [ 0.855241] mtd: device 2 (rootfs) set to be root filesystem [ 0.859486] 1 squashfs-split partitions found on MTD device rootfs [ 0.865710] 0x0000003a0000-0x0000003f0000 : "rootfs_data" [ 0.874103] 0x0000003f0000-0x000000400000 : "art" [ 0.880247] 0x000000020000-0x0000003f0000 : "firmware" [ 0.888300] libphy: Fixed MDIO Bus: probed [ 0.910315] libphy: ag71xx_mdio: probed [ 1.535721] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY] [ 1.544473] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII [ 2.175492] ag71xx-mdio.1: Found an AR7240/AR9330 built-in switch [ 2.217582] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII [ 2.224896] NET: Registered protocol family 10 [ 2.233449] NET: Registered protocol family 17 [ 2.236601] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 2.249540] 8021q: 802.1Q VLAN Support v1.8 [ 2.256050] hctosys: unable to open rtc device (rtc0) [ 2.266132] VFS: Mounted root (squashfs filesystem) readonly on device 31:2. [ 2.273434] Freeing unused kernel memory: 224K [ 2.276483] This architecture does not have kernel memory protection. [ 2.544023] random: fast init done [ 3.185277] init: Console is alive [ 3.187516] init: - watchdog - [ 4.350205] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 4.427109] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 4.435131] init: - preinit - [ 5.358545] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 5.393739] random: procd: uninitialized urandom read (4 bytes read) [ 7.455492] eth0: link up (100Mbps/Full duplex) [ 7.458610] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 8.755791] jffs2: notice: (398) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 8.774900] mount_root: overlay filesystem has not been fully initialized yet [ 8.848962] mount_root: switching to jffs2 overlay [ 8.894428] urandom-seed: Seed file not found (/etc/urandom.seed) [ 9.151891] eth0: link down [ 9.169940] procd: - early - [ 9.171492] procd: - watchdog - [ 9.849997] procd: - watchdog - [ 9.852055] procd: - ubus - [ 9.991271] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.065850] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.071406] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.078473] procd: - init - [ 10.537807] kmodloader: loading kernel modules from /etc/modules.d/* [ 10.548671] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 10.567844] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180 [ 10.574482] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d [ 10.585180] ip_tables: (C) 2000-2006 Netfilter Core Team [ 10.600730] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 10.681092] xt_time: kernel timezone is -0000 [ 10.754805] PPP generic driver version 2.4.2 [ 10.761067] NET: Registered protocol family 24 [ 10.816459] ath: EEPROM regdomain: 0x0 [ 10.816473] ath: EEPROM indicates default country code should be used [ 10.816478] ath: doing EEPROM country->regdmn map search [ 10.816498] ath: country maps to regdmn code: 0x3a [ 10.816505] ath: Country alpha2 being used: US [ 10.816511] ath: Regpair used: 0x3a [ 10.828227] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 10.834414] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2 [ 10.995849] kmodloader: done loading kernel modules from /etc/modules.d/* [ 12.346441] urandom_read: 5 callbacks suppressed [ 12.346453] random: jshn: uninitialized urandom read (4 bytes read) [ 32.688606] br-lan: port 1(eth0) entered blocking state [ 32.692391] br-lan: port 1(eth0) entered disabled state [ 32.698203] device eth0 entered promiscuous mode [ 32.754358] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 44.095497] eth0: link up (100Mbps/Full duplex) [ 44.098656] br-lan: port 1(eth0) entered blocking state [ 44.103798] br-lan: port 1(eth0) entered forwarding state [ 44.134091] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
Notes
It is possibly unsafe todo a direct sysupgrade from original unmodified OpenWrt “tl-wr41nd-v4 / tl-wa701nd-v2” without hex editing the HW ID into the firmware first. Permanent solution maybe to reflash the bootloader pepe2k u-boot_modwithout the HW ID check or the HW ID of tl-wa701nd-v2!