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
Step 2 didn't work quite right.
sudo apt install ./mongodb-org-server_4.4.18_arm64deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'mongodb-org-server' instead of './mongodb-org-server_4.4.18_arm64deb'
The following additional packages will be installed:
libssl1.1
The following NEW packages will be installed:
libssl1.1 mongodb-org-server
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 1,397 kB/20.3 MB of archives.
After this operation, 83.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Anyone know how to get apt to stop thinking it knows better than I do what I want to install?
- Copy Link
- Report Inappropriate Content
It is working correctly.
mongodb-org-server is the name of the package contained in the .Deb file. Apt reads the package name from the file and also other packages required (libssl1.1) and installs that too
- Copy Link
- Report Inappropriate Content
Give this a go
sudo dpkg -i /path/to/deb/file
- Copy Link
- Report Inappropriate Content
May want to note that Debian Bookworm and by extension Raspbian Bookworm no longer carry java 11 in the default repository. If you install the Java 17 version they offer, backup and restore functionality does not work.
I followed this guide to add the unstable(sid) repository to allow installing Java 11 and it worked without issue.
https ://ralph.blog.imixs.com/2024/01/24/install-open-jdk-11-on-debian-12-bookworm/
- Copy Link
- Report Inappropriate Content
Had an issue with the instructions
when I added
/etc/apt/preferences and then tried to install JDK 11 I got
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openjdk-11-jre : Depends: libcups2t64 but it is not installable
Depends: libasound2t64 (>= 1.0.16)
E: Unable to correct problems, you have held broken packages.
Solution was to not do the /etc/apt/preferences until after installing the JDK 11 ...
- Copy Link
- Report Inappropriate Content
Strange, I followed the instructions as-is and did the preferences before installing. I had no issues, and I intentionally did the preferences first because I wanted to make sure it worked to install from sid after setting the priority.
Are you working with a brand new fresh install of the latest raspbian bookworm lite?
I was doing this on a fresh install that was upgraded to the latest packages before setting up sid.
- Copy Link
- Report Inappropriate Content
@kilovar
I've followed your guides in the past with success. I've had a omada controller (5.9.9) running flawlessly on a RPI 3b with legacy Rpi OS for months. Took some effort to get it running, but once it did, it ran fine.
Friday I got the update notification on the webpage and figured, why not. After upgrading from 5.9.9 to 5.12.7, the controller wouldn't start anymore. Downgrading it back to 5.9.9 didn't help either.
I ended up going for a clean install with Rpi OS lite as you mention. Installed 5.12.7, which started but it refuses to load the backup file when I select restore from backup file.
Another issue seems to be that rebooting the PI ends up with the Omada controller service timing out and not starting. Stopping and restarting the service from the command line does get it started.
It's getting a bit frustrating to run the controller this way. Any advice on what to try? oh btw I refuse to accept this needs a Pi 4, it has been running fine on a 3B for months and that should be plenty of computing power for a simple wlan controller.
- Copy Link
- Report Inappropriate Content
the problem with rpi3 is not cpu but memory, do yourself a favor and buy an rpi4 or rpi5 with 4gb memory. if you manage to get the rpi3 to work, it's only a matter of time before it crashes.
if you insist on using rpi3 then start with a swapp file of 1 GB, then everything will go very slowly but you might be able to get it working for a while if you're lucky.
- Copy Link
- Report Inappropriate Content
In order to restore from a backup file, you must install Java 11.
If you are running Raspbian Bullseye, this means you have to add the sid (unstable) repository to sources in order to install it. See https://community.tp-link.com/en/business/forum/topic/528450?replyId=1347678
As mentioned, RAM is a serious issue, the latest controller versions use closer to 2GB of ram as a baseline, increasing with more devices managed. A 3B just isn't going to cut it anymore. I also suggest aiming for 4GB as a minimum so if further updates push baseline utilization beyond 2GB or your specific setup demands it, you do not have any issues.
My controller on 5.14.20.9 managing only 4 devices reports 1.64GB utilization right now.
- Copy Link
- Report Inappropriate Content
Thanks for your replies. I had a look into it and found it to be cheaper to just buy an OC200 and be done with it. (€88 for the entire thing with poe support, a new PI with SD card, casing etc would cost me more).
In the end I was able to get it all up and running again on the PI though, version 5.9.9 is running stable as it was before on my Pi 3b, managing 2 AP's and a Router.
Now I've hit the next snag though, trying to migrate my site from my software controller to the OC200, to do so they need to run the same software version but TP link seems to only create different software versions for the hardware and software controllers.. Thanks anyway though! I'll make a specific post for this issue.
- Copy Link
- Report Inappropriate Content
Information
Helpful: 8
Views: 78872
Replies: 122