Guide to Installing Omada Software Controller on Raspberry Pi OS - V5
Update - 16 January 2024
Instructions below updated to most current Raspberry Pi OS, installed and tested on Raspberry Pi 5, with Omada SDN Controller v5.12.7. Confirmed that OpenJDK-17 work, which is installable through apt and for which the install instructions have been updated.
Update - 26 December 2023
Instructions below updated to most current Raspberry Pi OS, installed and tested on Raspberry Pi 5, with Omada SDN Controller v5.12.7. Note that the JAVA runtime installation instructions has been updated to OpenJDK-11.
Update - 3 June 2023
The links listed below for OpenJDK-8 no longer works. Omada SDN Controller will run on OpenJDK-11, but that requires JSVC 1.1.0 which is not in the official Raspberry Pi OS repos. It is possible to solve the dependecies to install JSVC 1.1.0, but I have not had time to update the instructions
Also see this FAQ with good info about installing the Omada SDN Controller on a number of Linux distros.
Update - 22 January 2023
Bare metal install on 64 bit Raspberry Pi OS - no Ubuntu server, no Docker. Tested with version 4 and now the latest version 5.7.4 of the Controller software. I have it running on a Model 3B+ with 1G RAM. Also running on Model 4 w/ 4G RAM.
Links have been updated and verified on most recent install
Instructions:
1. Download & install latest 64 bit LITE version of Raspberry pi OS to new sd card of your choice from the link below. Note - the legacy version of Raspberry Pi OS will not work
https://downloads.raspberrypi.org/raspios_lite_arm64/images/
This is not a guide to installing Raspberry Pi OS so I won't provide detailed instructions on that.
2. Download and install version 4.4.18 of MongoDB mongodb-server from https://www.mongodb.com/download-center/community/releases/archive
wget https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-arm64/mongodb-org-server_4.4.18_arm64.deb
sudo apt install /home/<username>/mongodb-org-server_4.4.18_arm64.deb
Note this post explaining that MongoDB V4.4.19 will not work.
3. Mongodb server would normally be run as a service by doing the following commands
sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod
In this case not required, as Omada controller starts the server as required.
4. Check that curl is installed
apt list curl
5. Download and install openjdk-17-jre
sudo apt install openjdk-17-jre-headless
6. Install jsvc
sudo apt install jsvc
7. If you have multiple versions of OpenJDK installed then you need to tell system which java to use
sudo update-alternatives --config java
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-arm64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-arm64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Now select the option pointing to the version of OpenJDK you want to use.
8. Download and install latest version Omada SDN controller
wget https://static.tp-link.com/upload/software/2023/202309/20230920/Omada_SDN_Controller_v5.12.7_Linux_x64.deb
sudo apt install /home/<username>/Omada_SDN_Controller_v5.12.7_Linux_x64.deb
If all went well the controller should start and you should get the following message
Install Omada Controller succeeded!
==========================
Omada Controller will start up with system boot. You can also control it by [/usr/bin/tpeap].
check omada
Starting Omada Controller. Please wait.........................................................................................................................
Started successfully.
You can visit http://localhost:8088 on this host to manage the wireless network.
========================
Now you can access the web interface of the Omada Controller by pointing you web browser from any PC on the same network to
http://<IP_address_of_Omada_Controller>:8088
- Copy Link
- Subscribe
- Bookmark
- Report Inappropriate Content
Note: in the latest version of the 4.4 branch of MongoDB, 4.4.19, they changed the build system so that it now targets armv8.2-a. This will not work even with the RPi4, let alone older models and many of the alternative boards out there (including, for example, the Libre Computer Le-Potato, which is what I've been using); instead any attempt to run it will immediately fail with a core dump and a message about illegal instructions. See here. This happened in mid-2021 with the 5.x branch and apparently they decided to make the same move here.
If you accidentally upgraded to version 4.4.19 automatically, you can revert back like so:
sudo -s apt install mongodb-org-mongos=4.4.18 mongodb-org-tools=4.4.18 mongodb-org-shell=4.4.18 mongodb-org-database-tools-extra=4.4.18 mongodb-org=4.4.18 mongodb-org-server=4.4.18
apt-mark hold mongodb-org-mongos mongodb-org-tools mongodb-org-shell mongodb-org-database-tools-extra mongodb-org mongodb-org-server
You may also need to repair the db in order for tpeap to start properly:
mongod --dbpath /opt/tplink/EAPController/data --repair
That should do it.
- Copy Link
- Report Inappropriate Content
Hi, Is there any way to use a newer version like 5.9.9?
I'm looking to update, because of some of the new features
- Copy Link
- Report Inappropriate Content
- Copy Link
- Report Inappropriate Content
Okay, I will in the evening. Thanks! The guide is awesome. I'll write back in 8 hours give or take
- Copy Link
- Report Inappropriate Content
There are no problems running the latest version of the controller. Or if there are, I haven't encountered them—I've been running it for a few days now without issue. Just make sure to install MongoDB 4.4.18 specifically, as in the instructions in the first post, because any later version is incompatible with the Pi4 and most other low-end SBCs.
(Really, if you download the deb pkg directly, as the first post suggests, instead of adding the mongodb repo to apt, you should not have to worry about the compatibility of later versions of mongodb anyway.)
- Copy Link
- Report Inappropriate Content
Hi.
I am running 5.9.9 on my RasPi 4B - 4 Gig and it runs perfect:
64 bit Debian
MongoDB 4.4
Java 8
Omada 5.9.9
- Copy Link
- Report Inappropriate Content
Once installed is it possible to use an integrated update as in the hardware controller or do I have to install every new version manually?
- Copy Link
- Report Inappropriate Content
I have set 5.9.31 up on my R Pi 3b using the 64 bit lite Rasbian OS and it is running well.
The system defaults to a 100meg swap file which isn't enough so this needs to be increased, I went for a gig of swap file.
- Copy Link
- Report Inappropriate Content
@kilovar - thank you for the guide, I just set this up on a Raspberry Pi4 4GB using these instructions today. I am in transition between Unifi and TP-Link, it has been a bit of battle, but so far so good.
- Copy Link
- Report Inappropriate Content
I have a 3B+ as well, but when I try to install MongoDB 4.4 after the wget step, I get this error when I sudo apt update:
N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository mongodb-org 4.4 InRelease doesn't support architecture 'armhf'
When I try to install Mongo, I get this error:
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following packages have unmet dependencies: mongodb-org-server : Depends: libc6 (>= 2.29) but 2.28-10+rpt2+rpi1+deb10u1 is to be installed Depends: libgcc-s1 (>= 4.5) but it is not installable E: Unable to correct problems, you have held broken packages.
I'm running the RPI OS 05-07-2021 Buster arm64 image and cannot for the life of me figure out how to install Mongo.
- Copy Link
- Report Inappropriate Content
Information
Helpful: 8
Views: 79045
Replies: 122