How to find OpenWRT version OEM firmware is based on

I have a Telco Antennas T1. This runs TelcOS Malaleuca 1.3.2 which is almost straight OpenWrt with very minor customisations. I am trying to add the ZeroTier package to it. But for that, I need to find the OpenWrt version that firmware is based on. The file /etc/openwrt_release contains:

DISTRIB_ID='TelcOS Melaleuca'
DISTRIB_RELEASE='1.3.2'
DISTRIB_REVISION='r11355-4d6006ce71'
DISTRIB_TARGET='ath79/generic'
DISTRIB_ARCH='mips_24kc'
DISTRIB_DESCRIPTION='TelcOS Melaleuca 1.3.2 Melaleuca'
DISTRIB_TAINTS='no-all busybox'

which tells me the target and architecture (very useful) but unfortunately the OpenWrt version has been overwritten by the OEM version. Is there another way I can find the OpenWrt version?

Probably much more significant customizations than you think at first glance.

You probably still won't be able to install the necessary packages from another repo unless the kernel version matches.

what is the output of

ubus call system board

I'd recommend that you install the official OpenWrt.... is the Telco T1 the same as the Telco Antennas T1?

https://firmware-selector.openwrt.org/?version=22.03.5&target=ath79%2Fgeneric&id=telco_t1

2 Likes

Thank you Peter. Yes, the Telco T1 is the Telco Antennas T1 which I see already has specific OpenWrt firmware available for it. That would be my final attempt. But I am just trying to do it in baby steps first. I have already been successful with the Telco Antennas X1 Pro which doesn't have specific OpenWrt firmware (although the X1 non-Pro has) just by finding the OpenWrt, target and architecture, downloading and installing ZeroTier. It worked! That is why I am trying the T1 now.

The output of the call is

root@TelcoElectronicsT1:~# ubus call system board
{
        "kernel": "4.19.79",
        "hostname": "TelcoElectronicsT1",
        "system": "Qualcomm Atheros QCA9533 ver 2 rev 0",
        "model": "Telco Electronics T1",
        "board_name": "telco_electronics,tel-t1",
        "release": {
                "distribution": "TelcOS Melaleuca",
                "version": "1.3.2",
                "revision": "r11355-4d6006ce71",
                "target": "ath79/generic",
                "description": "TelcOS Melaleuca 1.3.2 Melaleuca"
        }
}

I think there should be a matching kernel version of ZeroTier. I just have to find what version is.
Does the "revision" string above give any clue?

This kernel was never used in a stable release build.

Nope. Not with the official openwrt project.

When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.

You may find that the best options are:

  1. Install an official version of OpenWrt, if your device is supported (see https://firmware-selector.openwrt.org).
  2. Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
  3. Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).

If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.

3 Likes

This kernel was never used in a stable release build.
That is valuable information. I will not keep trying with that version then. I asked here because I cannot get any help from the vendor since they are a small company and their OS builder has left. I have one more chance with their OS by upgrading to their latest version (1.3.6) (but I have to attempt it from the command line as I can't get to the GUI) and if I can't find a matching ZeroTier package from OpenWrt then I will bite the bullet and flash the official OpenWrt firmware. I am just a little apprehensive about trying that straight away as I have never attempted this before and the router is 500 km away from me.

But thank you for all your help Peter.

You might find that even if you got a version of ZeroTier that said it would work with that kernel version, you will probably find that there will be a bunch of other dependencies that will be hard to chase down with stuff like encryption libraries. You will probably also be using old versions of the ZeroTier app and accompanying libraries, which opens a whole lot of security and other issues.

If you get onto a stable build of OpenWRT you won't have (as m)any problems.

Alternately you could run ZeroTier on anything else on your remote network. Or you could try Tailscale, which is similar but IMO slightly better, has clients for everything and being very actively developed, and similarly run it on anything including the router with stable OpenWRT. I am running Tailscale on a docker instance on my OpenMediaVault server (that runs Portainer for a GUI) and it is almost faultless. You can run docker on almost anything from a RPi up and it should handle Tailscale easily. I don't have any problems with navigating double NATS etc. I just add in the command to allow local network access via the Tailscale client.

If you can get that far you can also try stuff like setting up Remmina in a docker instance, which allows you to connect to stuff on a local network through a web browser using a bunch of protocols. So then if you can connect to a server via HTTP/S using something like ZeroTier or Tailscale, you can then do SSH, RDP, SCP, SFTP or many other protocols through a browser and the whole thing is encrypted by the tunnel and only the ZT or TS client is needed on the local computer. And of course once you are on the local network you can also use HTTP/S to the router interface. Tailscale can also do a public facing internet host name something like xxxx.tailscale.net but that opens security holes.

Alternately you could also use Cloudflare tunnels and run Cloudflared through a docker instance and cloudflare will give you internet facing access with no clients. You can set up 2FA such as email codes to limit access to your cloudflare tunnels. See https://www.youtube.com/watch?v=65FdHRs0axE or https://www.youtube.com/watch?v=wdmbAo02ktQ for more info on that.

Edit: You can also run OpenWRT on almost anything like RPi, an old baremetal X86 laptop, Docker, a VM, and then run whatever you want to on that.

1 Like

I have received confirmation now from the OEM that their two available firmware versions are not based on any OpenWrt point release.Therefore the way forward is to move to OpenWrt itself. Considering that this will be my first time ever, I will consider myself lucky if I can just get that to work. ZeroTier I am half-familiar with on the Rpi and the PC. But I think I will have to do a lot more reading before I will feel confident enough to attempt Tailscale or Remmina. But thanks for your forward planning ideas.

1 Like

For the purposes of this particular thread, I would say that the original question is now answered. With that in mind…

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.
Thanks! :slight_smile:

Of course, feel free to open new topics if/when you have questions once you start using the official OpenWrt firmware.

1 Like

You can run Tailscale on almost anything. Windows, Mac, Linux of numerous flavours, BSD, Android, perhaps iOS (can't remember). It's just install, run, sign in to account and approve the end point to join your virtual LAN, similar to ZeroTier, but slightly better. Very easy and free for non-commercial up to a certain size network.

I think the CloudFlare tunnels server can run on a bunch of stuff too and is quite easy.

I would say if you've installed ZeroTier on Raspberry Pi you could easily learn to do any of the stuff I've mentioned and you should be OK also with installing OpenWRT on your router because it's just another embedded Linux system.

If in doubt about OpenWRT, you could probably install Tailscale natively and run it on a Pi with 3 or 4 commands. Or install Docker then a Tailscale Docker container in not much more.

See here to install Docker on a Pi (very similar to installing on any Linux distro)

Docker is just a host for application containers. The containers are a bit like a VM but they only need the app itself and not a whole O/S image but use the kernel from the host system so are very low resource use.

See here to pull the Tailscale image and run (ignore the bit about building, the pulled image is built already)
https://hub.docker.com/r/tailscale/tailscale

Or similar for ZeroTier, see https://hub.docker.com/r/zerotier/zerotier

The main important command is to install and run is (where the string at the end is your network name)
docker run --name myzerotier --rm --cap-add NET_ADMIN --device /dev/net/tun zerotier/zerotier:latest abcdefdeadbeef00

Then to check which networks you're connected to
docker exec myzerotier zerotier-cli listnetworks

If you are still not joined you could run (where abcdefdeadbeef00 is the network ID)

docker exec myzerotier zerotier-cli join abcdefdeadbeef00
2 Likes

One day I might take the plunge and try some of these suggestions. At least I feel a little more comfortable about them now.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.