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
@MJan
The OC200's hardware is vastly inferior to a new RPi 5, including only having 1GB of ram which is quite insufficient for the newest controller versions. Just boot time alone tells a story with the OC200 taking over 7 minutes while an RPi 5 boots to a usable web GUI in just over 1 minute. Navigating page to page is also very slow due to the very low spec processor and insufficient RAM.
The RPi 3b+ has 4x A53 at 1.4 GHz, which makes even it faster than the OC200.
The OC200 also runs in an extremely low power state if powered by USB instead of PoE resulting in even slower responsiveness to use the web GUI.
But if it works for you, it works.
- Copy Link
- Report Inappropriate Content
Wow, that's a quick reply. That's sad, I was really hoping for a proper solution and a better user interface. I'll see how it functions and otherwise I'll just send it back and get a refund.
- Copy Link
- Report Inappropriate Content
@MJan
I went through the entire circle - I first bought an OC200 before knowing just how slow and ragged it is run in simple operation. I returned it for an OC300 due to better spec, but it was still a bit of a dog in the web interface. After I was able to see the exact specs it made sense why.
I did kind of go all out with an NVME hat and an Optane M.2 drive, but the price still was reasonably between OC200 and OC300 in the end for just how much more powerful and responsive it ended up (for me, anyway).
The following tests were done on 5.13.xx
Pi 5 + P1600X 58GB (4x A76 @ 2.4 GHz, 8GB LPDDR4X-4267) - $165 Boot To Login: 1:20 Login To Global View: 1:30 Navigate To Site View: 1:38 Pi 5 + MicroSD (4x A76 @ 2.4 GHz, 8GB LPDDR4X-4267) Boot To Login: 1:54 Login To Global View: 2:07 Navigate To Site View: 2:12 Pi 4 + MicroSD (4x A72 @ 1.8 GHz, 2GB LPDDR4-3200) Boot To Login: 3:15 Login To Global View: 3:40 Navigate To Site View: 3:50 OC300 (4x A72 @ 1.2GHz, 2GB DDR4) - $200 Boot To login: 4:40 Login To Global View: 5:05 Navigate To Site View: 5:20 OC200 (2x A53 @ 1.2 GHz, 1GB DDR3) - $110 Boot To login: 6:30 Login To Global View: 7:48 Navigate To Site View: 8:15 Edit: Tested a Pi 5 with a MicroSD card to see how much the Optane/NVME drive helped. More than I expected.
- Copy Link
- Report Inappropriate Content
Good discussion as I wondered in the past how well the OC200/300 controller would do.
Simple observation from my end as I run two sites - one on a 4GB RPi4 and one on a 4GB RPi5. Even though both run on 4GB Pis the responsiveness of the RPi5 is way better than the RPi4. Just on startup, the RPi4 takes 3 minutes from boot to login compared with the 1:20 for the RPi5 measured by @MrAdministrator.
Its all very usable but the SDN controller is a beast and needs processing horsepower and memory - just a fact
- Copy Link
- Report Inappropriate Content
@Hank21 Hank, it looks like recent controller builds have exceeded the specs of the hardware controllers per recent posts in this thread. I think you need to fork the controllers to basic and full builds, where basic is missing things like DPI and other resource intensive features that have been added recently, but is enough to run a few sites efficiently. Or take the OpenWRT approach and allow people to build their controllers with the modules they actually need/want/use.
Anyone requiring the full suite of functionality will run the software controller in a VM, or a Pi5 or other suitable compute platform. Everyone else, would likely appreciate a controller that can run comfortably in the 1G range...as they have for the last couple of years until quite recently.
Otherwise the OC200 is effectively obsolete already and there's no OC400 in the wings as yet.
- Copy Link
- Report Inappropriate Content
d0ugmac1 wrote
@Hank21 Hank, it looks like recent controller builds have exceeded the specs of the hardware controllers per recent posts in this thread. I think you need to fork the controllers to basic and full builds, where basic is missing things like DPI and other resource intensive features that have been added recently, but is enough to run a few sites efficiently. Or take the OpenWRT approach and allow people to build their controllers with the modules they actually need/want/use.
Anyone requiring the full suite of functionality will run the software controller in a VM, or a Pi5 or other suitable compute platform. Everyone else, would likely appreciate a controller that can run comfortably in the 1G range...as they have for the last couple of years until quite recently.
Otherwise the OC200 is effectively obsolete already and there's no OC400 in the wings as yet.
Hi @d0ugmac1
Thanks for your kindly feedback. I will mark down your request and forward to the developer department. Please keep an eye on our official website and forum about the updates of the controller.
Please also note that we cannot guarantee the implementation of all requests due to technical limitations, resource constraints, and compatibility issues.
- Copy Link
- Report Inappropriate Content
Thanks for this guide @kilovar. It worked great for setting up the Omada Software Controller on a brand new Raspberry Pi 5 8GB. The RPi5 is actually armv8.2-a, so the MongoDB 4.4.18 limitation doesn't apply, therefore I went with the latest 4.4.x version available, as well as the newest OSC version. Other than that, I basically just followed the guide. Here are some details about the changes I made for doing this on the RPi5 with the latest versions of things as of October 2024. Hopefully it will help others who aren't super-familiar with Linux/RPi as well.
This was a brand new RPi5 with NVMe install. I downloaded the latest Raspberry Pi OS Lite (2024/07/04) and installed it with the Raspberry Pi Imager using a USB-C NVMe enclosure on my Windows PC. I selected RPi5 as the device, my downloaded OS image, and the NVMe drive. After hitting Next I chose to Edit Settings, and configured the hostname as omadapi, set up a username/password, chose my timezone, and enabled SSH with password authentication. I inserted the NVMe into my RPi enclosure, and it booted up with no other changes (based on some other guides, I was worried the RPi wouldn't boot off the NVMe without having to do some other things).
I used PuTTY to SSH into the RPi using the omadapi hostname and the chosen username/password, but you could also just type these directly on the RPi's keyboard.
Since this was a brand new install, I updated the Apt package lists.
sudo apt-get update
I chose to work out of the /tmp directory to avoid having files in my account's home directory.
cd /tmp
As mentioned, the RPi5's newer architecture isn't limited to MongoDB 4.4.18 like the older RPi models. I simply went to https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-arm64/ and searched for mongodb-org-server_4.4. with the highest version number. Currently, it's 4.4.29.
wget https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-arm64/mongodb-org-server_4.4.29_arm64.deb
sudo apt install /tmp/mongodb-org-server_4.4.29_arm64.deb
Check that curl is installed
apt list curl
Download and install openjdk-17-jre
sudo apt install openjdk-17-jre-headless
Install jsvc
sudo apt install jsvc
Check for different Java versions. I wasn't too worried since this was a brand new install, but I verified that Java 17 was the only option.
sudo update-alternatives --config java
I went to https://www.tp-link.com/us/support/download/omada-software-controller/#Controller_Software to find the latest version of the Omada Software Controller. Just search for the newest one ending in _linux_x64.deb and copy the file URL from that item's Download button. Currently, it's 5.14.26.1 from 2024/07/10.
wget https://static.tp-link.com/upload/software/2024/202407/20240710/Omada_SDN_Controller_v5.14.26.1_linux_x64.deb
sudo apt install /tmp/Omada_SDN_Controller_v5.14.26.1_linux_x64.deb
The Omada Software Controller install succeeded and started just as described in the original guide.
I rebooted my RPi just to ensure that everything would still work properly after a restart.
sudo reboot
After it booted back up, I was still able to access the software at http://omadapi:8088/ just as expected.
Thanks again kilovar for this great guide. Hopefully my additional details can help someone else out too.
- Copy Link
- Report Inappropriate Content
It's possible to upgrade to 5.14.32.2 Build 20240920174223???
I folow you excelent tutorial, so recive today the notice about this new version. them I want to know if is possible only clic to download and install, if don't have problem or incompatibity whit the raspian version.
Thanks for you atention.
- Copy Link
- Report Inappropriate Content
CarlosSa wrote
It's possible to upgrade to 5.14.32.2 Build 20240920174223???
I folow you excelent tutorial, so recive today the notice about this new version. them I want to know if is possible only clic to download and install, if don't have problem or incompatibity whit the raspian version.
Thanks for you atention.
I have not tried the new version so I dont know if you will have any problems.
Why dont you try a new install of Omada Controller on a fresh SD card (so you dont mess up your working system) - you can likely still download the original Raspberry Pi OS that you existing system is running on.
Let us know what you find out - it is useful for all members of the community
- Copy Link
- Report Inappropriate Content
kilovar wrote
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 installedapt 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 modePress <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
@kilovar Yes.I have upgraded a number of times when a new deb package is released. I am at 5.14.32.2 now. If you know how to use apt on debian, it works fine,
- Copy Link
- Report Inappropriate Content
Information
Helpful: 8
Views: 79147
Replies: 122