Omada Controller 3.0.2 for Linux (including new tpeap v1.4)
Update 2020-04-30: Omada EAP Controller 3.2.10 community version has just been released.
There is now a .deb-package available for easy installation on Debian, Raspbian and any other Debian-based Linux. The steps below are not necessary anymore for the installation of Omada Controller using the dpkg package manager.
The following (now obsolete) post is still here for reference only:
Hello world!
TP-Link just released the latest version of Omada Controller 3.0.2. Thanks to a tip from forum user humor_amarillo I got my hands on it early. So here it is, baked in just no time: The community version of
Omada EAP Controller 3.0.2 for Linux
Last update: 2018-08-28 22:40
What's new in this version?
- Cloud support. See the official release notes on the TP-Link website.
- Auto-backup, but the Windows-way. See below for the Linux-way to do backups.
- From what I saw so far, the directory structure has been cleaned up. Photoshop file with icons from v2.7.0 has been removed from the images directory.
- GUI now seems much more cleaner, too. Well done, TP-Link!
- EAP Controller starts ~30% faster compared with v2.7.0.
- All steps in the initial wizard now can be skipped! Finally my feature request was honored, thanks to R&D very much!
What's new in the Linux release?
- Logo now shows »Community version« below the TP-Link logo, so you can recognize it better.
- Two new options for tpeap:
- dump lets you dump the database as well as the maps and keystores.
- restore lets you restore a database dump including maps and previous keystores.
- A surprise (see below).
Update #1: New tpeap 1.4 has been released (see this post for more details).
For your convenience, I have attached the new tpeap script v1.4 to this posting, too. It might be handy for doing a backup of your v2.7.0 installation, which can be easily restored in EAP Controller 3.0.2.
Update #2: The tpeap 1.4 just has been added to the TAR archive with Omada Controller 3.0.2. If you download the TAR archive as described below, you will get the new tpeap script already - no need to install it twice.
Standard disclaimer, as usual: Use at your own risk.
This community version (cv for short) is neither released nor supported by TP-Link and it still needs some testing.
Installation of the Linux version
— If you want to install the Linux version for the first time, please see this post first, replace the instructions in step 2 there with the instructions in the same step 2 in this post below and proceed with the remaining steps here when you have installed all the pre-requisites (eapc role account, Java JRE, mongodb database).
— If you already have installed Omada EAP Controller 2.7.0cv on your Linux system, just read on.
Step 1: Make a backup
Obviously, to make a backup, the old EAP Controller needs to be running. Download the tpeap script attached to this posting and install it (you can safely overwrite the old tpeap version in the 2.7.0cv Controller):
cp tpeap /opt/tplink/EAPController/bin/
Next, create a backup. You need to specify a directory for the database dump (else it uses the directory EAPC_HOME/backup):
tpeap dump /tmp/backup
tpeap will create the directory, copy your maps and keystore to it, and then execute mongodump, which dumps the database in binary BSON format into the backup archive. Now you can safely stop the EAP Controller.
Step 2: Download and extract the software
Download the TAR archive from https://rent-a-guru.de/ftp/eapc-3.0.2.tar.gz
Check the SHA256 sum:
$ sha256sum -b eapc-3.0.2.tar.gz
2b9c9ce54a3bc698b25901f1234aef79e3d1e51703a9af1dcaa8360c4b407f66 *eapc-3.0.2.tar.gz
9638bb2ed43d58169a33b52ea2be1d48482fae68a5d93028f162ff66f2b0c4ea *eapc-3.0.2.tar.gz
$
Step 3: Set up the EAP Controller
Installation is straight-forward: Extract the TAR archive as root in /opt/tplink, remove the symlink EAPController pointing to version 2.7.0cv and create a new one pointing to the EAPController-3.0.2 directory just extracted from the TAR archive. Easy, isn't it?
cd /opt/tplink
tar xvzf /your-download-dir/eapc-3.0.2.tar.gz
rm EAPController
ln -s EAPController-3.0.2 EAPController
Do a quick check wether the permissions and ownership has been set correctly (complete dialog shown here):
# ls -ld /opt/tplink/EAPController-3.0.2
drwxr-xr-x 13 eapc eapc 4096 Aug 21 05:53 /opt/tplink/EAPController-3.0.2
# ls -l /opt/tplink/EAPController-3.0.2
total 12
drwxr-xr-x 2 root root 6 Aug 21 05:27 backup
drwxr-xr-x 2 root root 55 Aug 21 02:11 bin
drwxr-xr-x 6 eapc eapc 55 Aug 21 05:53 data
drwxr-x--- 2 root eapc 39 Aug 21 01:30 keystore
drwxr-xr-x 2 root root 4096 Aug 21 01:30 lib
drwxr-xr-x 2 eapc eapc 58 Aug 21 05:53 logs
drwxr-xr-x 2 root root 22 Aug 21 03:18 man
drwxr-x--- 2 root eapc 4096 Aug 21 01:30 properties
drwxr-xr-x 2 root root 36 Aug 21 05:36 webapps
drwxr-xr-x 3 eapc eapc 32 Aug 21 05:53 work
#
Two more things: Install the symlink to the Java JRE:
cd /opt/tplink/EAPController
ln -s /where-your-JRE-lives/ jre
and the manpage of tpeap (you find it in the man subdirectory):
cp man/tpeap.man /usr/share/man/man8/tpeap.8
gzip -v --best /usr/share/man/man8/tpeap.8
My JRE resides under /opt/jvm, so it looks like this:
# ls -l jre
lrwxrwxrwx 1 root root 21 Aug 21 05:53 jre -> /opt/jvm/jre1.8.0_181
Important note for users of Ubuntu and probably other distros, too:
If your mongodb version is >= 3.6 you need to edit the argument list EAPC uses to start the mongod daemon. The option --nohttpinterface, which is set by EAPC, has been removed in mongodb version 3.6 and newer.
Find out your mongod version:
mongod --version
To get rid of the --nohttpinterface option, you will have to delete it from the file mongodb.properties:
cd /opt/tplink/EAPController/properties
cp mongod.properties ../mongod.properties.ORIG
sed -i 's/^\(eap.mongod.args=.*\) --nohttpinterface \(.*\)$/\1 \2/' mongodb.properties
Of course, you can use any other editor, too.
Last step: fire up the new Controller
tpeap -w start
Now restore the database saved in step 1:
tpeap restore /tmp/backup
Enjoy!
Uh, and if you want to see what probably comes next to a Linux server near you:
The color-intense theme awesome with FontAwesome icons - no more image files needed, clean layout for EAPC 2.7.0cv.
- Copy Link
- Subscribe
- Bookmark
- Report Inappropriate Content
AlienMindbender wrote
Omada Controller v3.0.5 for Linux is available: https://www.tp-link.com/en/download/EAP-Controller.html#Controller_Software
Hi AlienMindbender,
thanks for the info, will look at it as soon as I have more time.
- Copy Link
- Report Inappropriate Content
Hi R1D2,
I'm using your community version on my raspberry pi and it works great. i wonder if you have a git repository so other people can help updating the source code. it also would make it easier to see, if there is a new release.
best regards,
Simon
- Copy Link
- Report Inappropriate Content
TycoKiaz wrote
Hi R1D2,
I'm using your community version on my raspberry pi and it works great. i wonder if you have a git repository so other people can help updating the source code. it also would make it easier to see, if there is a new release.
Hi Simon,
as for tpeap, it is source code already (it's just a shell script). The Java classes are copied over from TP-Link's distribution, so it's compiled Java code for which only TP-Link has the source code. In fact, the community version just differs by offering more functionality and privilege separation in the tpeap script and by removing all embedded binaries such as mongod and JRE and by using the mongod/JRE/jsvc from the official Raspbian repository.
As for a git repo this would be a good idea, but unfortunately I currently have no spare time to set one up and I'm also not sure wether the software qualifies for a free github account (Omada Controller is not Open Source as you surely know).
Maybe during xmas holdiays I will have some more time for packaging a newer version, but to be honest I don't like the jsvc wrapper for various reasons, so for production use I will stick with v2.7 which utilizes start-stop-daemon from the dpkg package for privilege separation instead of jsvc introduced with v3.x.
Most annoying with jsvc are its dependencies on OpenJDK in the official jsvc Debian package, which makes packaging the software for Debian Linux a big problem. What's more, jsvc uses wrong permissions for the PID file, lacks certain functionality present in start-stop-daemon and is actually the wrong place for doing privilege separation, since the Java part of the software does not need root permissions - only tpeap needs them. Result is that work-arounds as in v2.7 community version are not possible anymore.
- Copy Link
- Report Inappropriate Content
Hi @R1D2 ,
I meant to say thanks earlier but I deleted my message.
Long story short I tried running omada on pi my self unsuccessfully for hours while I promised a client his Hotel will be Omada ready soon and running on pi.
Worked through a night before finding your 3.0.2.deb.
Thank you a TON for sharing your knowledge and help with the community. This is invaluable.
I do have a question tho : it seems the AP (i've got three) appears to be disconnected from omada and therefore captive portal doesnt seem to run anymore.
It Happens after around two weeks of continuous running and it consistantly crash after about to weeks.
I then ssh to omada controller and run : sudo service tpeap restart sometimes I turn off then on again the ap's.
After that it runs fine again, so i keep looking for what could be the reason and I leave this here so if anybody encounters the same thing we could help each other.
Have a nice day and Thank you again @R1D2 .
- Copy Link
- Report Inappropriate Content
Hi quentin,
glad the RasPi package was helpful for you! As for the disconnects: which EAP models and firmware do you use?
- Copy Link
- Report Inappropriate Content
Hi @R1D2,
I'm using EAP225 HW V1.0/V2.0 Firmware1.4.0 Build 20180323 Rel. 32579
I'll try to exchange it with V3.0
I'll also try the new TPLINK controller.
I had a problem where the client couldn't connect anymore and had to restart pi.
The I do not know if the AP's stop communicating with the pi or if somehow it is on pi side.
Have a nice day !
- Copy Link
- Report Inappropriate Content
quentin wrote
I had a problem where the client couldn't connect anymore and had to restart pi.
The I do not know if the AP's stop communicating with the pi or if somehow it is on pi side.
I think the Pi is a little bit too slow for a hotel with a lot of guests if using the built-in portal function of Omada Controller. It might perform well for remote management of EAPs, though. I guess the OC200 performs much better than a Pi.
We use two separated AMD x86 embedded systems, one for EAP management running the Omada Controller on a stripped-down Debian Linux and one for the captive portal running our own light-weighted, highly efficient portal software written in the C language (i.e. very fast, even on small-scale platforms).
- Copy Link
- Report Inappropriate Content
Hello,
I am a starter with the raspberry pi. I own 2 TP-Link AP's (EAP225 & EAP115).
Now I am using the Omada controller software on my Windows 10 machine to manage my network, but I don't want to keep my PC powered on constantly.
I own a raspberry 3, but all the information described in this post is a litle abracadabra for me.
Can someone help me with a noob-proof manual on how to get the omada software installed on a respberry from scratch?
I allready copied the newest version of Raspbian on a 32 Gb microSD-card.
- Copy Link
- Report Inappropriate Content
Hello DaltonGrat,
it is as simple as possible already:
1. Just download the RasPi package named omada-controller_3.0.2-2_all.deb from my FTP server (see post #1, step 2 in this thread for instructions how to use FTP, but make sure to replace the filename in the get command with omada-controller_3.0.2-2_all.deb). Ignore all other steps in this post.
2. Install the software using the command sudo dpkg -i omada-controller_3.0.2-2_all.deb. See post #48 (page 5) for how to start Omada Controller on the RasPi.
- Copy Link
- Report Inappropriate Content
- Copy Link
- Report Inappropriate Content
Information
Helpful: 8
Views: 60014
Replies: 109