TP-Link Archer AX1500 - $70 802.11AX router support?

At least for me, "I love all the little antennas you can point different ways to help to get connected." characterizes the target market perfectly.

TP-Link? Cheap TP-Link? -- Between the admissions in the FCC consent decree and the decade-old 4/32 crap they continue to pump into the market, no thanks at any price.

1 Like

What is this?

Found some detailed specs, it uses Broadcom BCM6750 chipset (3 x cortex a7 cpu cores), 16MB Flash, 256MB ram: http://en.techinfodepot.shoutwiki.com/wiki/TP-LINK_Archer_AX1500

TL-WR841 (US$18) and a several more -- worse in other countries. I believe it was in Brazil that they were not only charging a crazy-high price, but deceptively advertising them as "32 mb" storage (bits) rather than the reality that they are effectively unusable 4 MByte devices.

Broadcom's long history of lack of support for open-source development isn't going to be very attractive.

1 Like

Currently there are zero devices with this SoC listed as supported by OpenWrt.

1 Like

Some Broadcom SoCs are supported, but you can be pretty sure there's Broadcom wireless connected (or in it) as well - and that's what you need to support. Don't expect much from Broadcom wireless when it comes to Linux.

Qualcomm/Atheros and Mediatek are still the better choices if you want OpenWrt support and reasonable 802.11an/ac wireless drivers. Ath11k (for 802.11ax) is said to be in the works, no idea if Mediatek has a 802.11ax solution ready (and is willing to open source that driver).

As far as OpenWrt support is concerned, the device you're looking at is dead in the water.

4 Likes

lkml.kernel.org/r/1573810153-29623-1-git-send-email-kvalo@codeaurora.org

Not quite sure if it will make the cut for kernel 5.5, but it's at least on its way (and has been available publicly for almost a year by now)

2 Likes

I was just looking at this device.

Knowing what I know, I think it's unlikely we will ever see OpenWRT support for this. Broadcom doesn't get any love from OpenWRT because the OSS community gets no love from Broadcom.

My recommendation is don't-buy if you ever want OpenWRT support on this device.

Yeah, i'll end up getting a qualcomm based router, will wait until those come down in price though which could take quite a while.

We may want to keep an eye on the TP-Link Archer AX3000 which is $129 at Walmart and seems to be Intel-based.

It is an interesting model.

you can't read or what?

1 Like

Guys, as you can see, if you extract archer ax10 firmware you will find out that in fact ax10 uses by default a custom build of openwrt made by tp link. sooo any dev here able to make a openwrt release?

1 Like

There's only tons of OEMs using old OpenWrt SDKs. You'll still need to find someone willing to tinker with the device (or allow access to yours if you find someone willing to invest time in it).

Try grabbing the FOSS tarball TP-Link offers, if you manage to get a hold of it you'll see there's tons of essential stuff (binary blobs) missing.

If it were as easy as 'Oh this device has OpenWrt from five years ago on it' then OpenWrt itself would support lots and lots more devices than it does now.

The source code for the TP link routers are here https://www.tp-link.com/us/support/gpl-code/

Does it not include the drivers?

  • AX3000
  • AX1500
1 Like

Same story as the TP-Link C2300v1. An old but quite capable router that TP-Link abandoned. It also runs an old version of OpenWRT and the source code provided by TP-Links is missing a lot of binary and closed source files. See Support for TP-link Archer C2300 - #19 by dsouza more details...

I am starting some work on this. I'm learning has I go so bare with me. I have root tty access and am starting to pock around. If anyone is interested in helping let me know.

it does use openwrt 12.09

DISTRIB_ID="OpenWrt"
DISTRIB_RELEASE="Attitude Adjustment"
DISTRIB_REVISION="unknown"
DISTRIB_CODENAME="attitude_adjustment"
DISTRIB_TARGET="model_brcm_bcm490x/generic"
DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1"

I am working on some wiki stuff.

1 Like

No, it does not - its vendor SDK just uses parts of an ancient OpenWrt base, all the important bits and pieces (kernel+drivers, config backing store, webinterface and much more) have been ripped out and replaced with semi-proprietary components. Chances for getting wireless support for broadcom chipsets is close to zero, so even if you do get your device 'working', it will remain rather useless without its wireless (particularly under the topic of " …802.11AX router support").

2 Likes

Hey, I'm interested too. I'm starting too, so I don't have much knowledge.
Where are yours wiki stuff? Have you made some progress? I'm thinking to use the kernel+modules from TP-Link's firmware in combination with OpenWrt.

1 Like

As far as I know, this is somewhere between "impossible", and "extremely_difficult (except maybe, if you write kernel shim modules for a living)".

1 Like

For no particular reason, I was curious to see how far I could keep running make before it I hit a dead end with the sources for the router

I downloaded the GPL sources folder from here: https://www.tp-link.com/uk/support/download/archer-ax10/v1/#GPL-Code

I'm running Ubuntu 20.04 LTS on an X86 Laptop.

Tried it initially with a Ubuntu VM on an Arm Mac and ran into an exec format errors with the cross compiler of course.

For every error I got with make I thought I'd just list what I did to resolve:

Ran make

Error 1: /bin/sh does not invoke bash shell

I use ohmyzsh as my shell so this seems have broken the script

Solution:

Specify bash location when running it

make SHELL=/bin/bash

Error 2: Could not retreive version from automake automake is likely not installed on your system

GNU Automake is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards. Automake requires the use of GNU Autoconf.

Solution

Install automake

sudo apt install automake

Error 3: Could not retreive version from libtoolize libtoolize is likely not installed on your system

"The libtoolize program provides a standard way to add libtool support to your package."

"GNU Libtool is a generic library support script that hides the complexity of using shared libraries behind a consistent, portable interface. "

Solution

Install libtoolize

sudo apt install libtool

Error 4: ERROR: lzo/lzo1x.h development library is required for build usually, this is provided by the liblzo2-dev library

LZO is a compression library

Solution

sudo apt install liblzo2-dev

Error 5: libuuid development library is required for build

The libuuid library is used to generate unique identifiers for objects that may be accessible beyond the local system. The Linux implementation was created to uniquely identify ext2 filesystems created by a machine. This library generates UUIDs compatible with those created by the Open Software Foundation (OSF) Distributed Computing Environment (DCE) utility uuidgen.

The UUIDs generated by this library can be reasonably expected to be unique within a system, and unique across all systems. They could be used, for instance, to generate unique HTTP cookies across multiple web servers without communication between the servers, and without fear of a name clash.

Solution

sudo apt-get install uuid-dev

Error 6: pkg-config zlib failed


Package zlib was not found in the pkg-config search path.

Perhaps you should add the directory containing `zlib.pc'

to the PKG_CONFIG_PATH environment variable

Package 'zlib', required by 'world', not found

Solution

I got lost here, specifing the system's path pkg config path didn't work as it gave an error at: ./ax10v1_GPL/bcm675x/bcm963xx_router/make.common on line 3397

I hopelessly googled zlib and found nothing except this page about building asus routers

https://github-wiki-see.page/m/RMerl/asuswrt-merlin.ng/wiki/Compile-Firmware-from-source

So I just instealled the list of packages they recommended:


sudo apt-get install libtool-bin cmake libproxy-dev uuid-dev liblzo2-dev autoconf automake bash bison \

bzip2 diffutils file flex m4 g++ gawk groff-base libncurses5-dev libtool libslang2 make patch perl pkg-config shtool \

subversion tar texinfo zlib1g zlib1g-dev git gettext libexpat1-dev libssl-dev cvs gperf unzip \

python libxml-parser-perl gcc-multilib gconf-editor libxml2-dev g++-multilib gitk libncurses5 mtd-utils \

libncurses5-dev libvorbis-dev git autopoint autogen automake-1.15 sed build-essential intltool libglib2.0-dev \

xutils-dev lib32z1-dev lib32stdc++6 xsltproc gtk-doc-tools libelf1:i386

And it started compiling!

Error 7: Error: Unable to access jarfile /home/jonathan/tplink/ax10v1_GPL/bcm675x/bcm963xx_router/hostTools/yuicompressor/yuicompressor-2.4.8.jar

The build ended in an error so I ran it again outputting the logs to a file with this command:


make SHELL=/bin/bash 2>&1 | tee buildlog.log

And that file didn't exist in the folder

I found the github for it:

So I went into the hostTools folder:


mkdir yuicompressor

wget https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar

Error 8: configure: error: OpenSSL libcrypto not found

So I think it might be a better idea to use Ubuntu 18.04 LTS instead to build

Because it requires libssl1.0-dev which has been removed in 20.04

Someone made a PPA with it packaged for 20.04 so I dubiously installed it

However I think this is where I call it quits haha

I still get this error:


configure: error: OpenSSL libcrypto not found
make[4]: *** [Makefile:56: objs/arm/config_complete] Error 1
make[4]: Leaving directory '/home/jonathan/tplink/ax10v1_GPL/bcm675x/bcm963xx_router/userspace/gpl/apps/strongswan'
make[3]: *** [makefile.modsw.autogen:1005: gpl/apps/strongswan] Error 2

I found that this also gets generated:
bcm675x/bcm963xx_router/userspace/gpl/apps/strongswan/objs/arm/config.log

And I see errors like:

configure:8108: /home/jonathan/tplink/ax10v1_GPL/Iplatform/build/../../bcm675x/toolchain/opt/toolchains/crosstools-arm-gcc-5.5-linux-4.1-glibc-2.26-binutils-2.28.1/usr/bin/arm-buildroot-linux-gnueabi-gcc -V >&5
arm-buildroot-linux-gnueabi-gcc.br_real: error: unrecognized command line option '-V'
arm-buildroot-linux-gnueabi-gcc.br_real: fatal error: no input files

Also this:

arm-buildroot-linux-gnueabi-gcc: WARNING: unsafe header/library path used in cross-compilation: '-L/lib'
/home/jonathan/tplink/ax10v1_GPL/bcm675x/toolchain/opt/toolchains/crosstools-arm-gcc-5.5-linux-4.1-glibc-2.26-binutils-2.28.1/bin/../lib/gcc/arm-buildroot-linux-gnueabi/5.5.0/../../../../arm-buildroot-linux-gnueabi/bin/ld: warning: library search path "/lib" is unsafe for cross-compilation
/lib/libgcc_s.so.1: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status

The strongswan config log:

The build log:

Maybe if someone else was curious to build this further, they could try an older version of ubuntu?
Perhaps 16.04 since it seems like 2017 is mentioned a lot

Though perhaps these are the missing files that you need to actually compile it?

WARNING: could not find ../../bcmdrivers/broadcom/char/archer/bcm963178/.archer_dep.o.cmd for ../../bcmdrivers/broadcom/char/archer/bcm963178/archer_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/bcmlibs/bcm963178/.bcmlibs_dep.o.cmd for ../../bcmdrivers/broadcom/char/bcmlibs/bcm963178/bcmlibs_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/cmdlist/bcm963178/.cmdlist_dep.o.cmd for ../../bcmdrivers/broadcom/char/cmdlist/bcm963178/cmdlist_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/ingqos/bcm963178/.bcm_ingqos_dep.o.cmd for ../../bcmdrivers/broadcom/char/ingqos/bcm963178/bcm_ingqos_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/pktflow/bcm963178/.pktflow_dep.o.cmd for ../../bcmdrivers/broadcom/char/pktflow/bcm963178/pktflow_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/tms/bcm963178/.nciTMSkmod_dep.o.cmd for ../../bcmdrivers/broadcom/char/tms/bcm963178/nciTMSkmod_dep.o
WARNING: could not find ../../bcmdrivers/broadcom/char/vlan/bcm963178/.bcmvlan_dep.o.cmd for ../../bcmdrivers/broadcom/char/vlan/bcm963178/bcmvlan_dep.o

@pedrolucasbp Good luck looking at it!

I was wondering if it would have been possible to modify the firmware to allow it to use higher wifi channels than 48, this seems way out of my skills.

1 Like