Omada on Raspberry Pi
A fork of pi-gen to build a custom image for Omada on raspberry pi (~4)
Features:
- MongoDB 4.4.26
- OpenJDK 17
- jsvc 1.3.4
- Plug and play - just burn the image ssh in on ethernet (look for IP address on router)
- Omada is already installed and set to start automatically
- Access via ssh
- Prometheus Node Exporter
- Raspberry Pi 5 Model B 4GB edition (originally developed for Rapsberry Pi 4 Model B 1GB - works but a bit slow)
- Memory is allocated by percentage so accounts for to account for systems with more RAM. You can adjust
-XX:MaxRAMPercentage
in/opt/tplink/EAPController/bin/control.sh
. Dont forget to leave memory for the system!
You MUST login to Raspberry Pi via ssh and change the password on all newly flashed SD cards (passwd
command):
- Username:
omada
- Password:
omada
- Hostname
omadapi
- Your router may register this if you run something good like OpenWrt otherwise check what IP address router allocated.
When booted, Omada will be available at:
- http: http://omadapi:8088 (redirects to TLS port)
- https: https://omadapi:8043
Where omadapi
is the hostname or IP address of the pi. TLS certificate is self-signed so you have to click-through the browser security warning.
You will be prompted to setup a user.
/etc/init.d/tpeap start
/etc/init.d/tpeap stop
In /opt/tplink/EAPController/logs/
Dont - its controlled automatically by Omada
All done through the Omada UI, instructions from tp-link. These are for the hardware controller but should still apply to Omada software release since its the same UI.
Backup settings:
settings -> maintenance -> backup -> click export, a file will be prepared and then it downloads.
- Export settings from Omada UI
- Shut down the pi
- Flash a new image on an additional SD card
- Boot image
- ssh in and set password
- Go to Omada UI and import settings
If there are problems just swap back to the old SD card.
This process is riskier since your operating on a running device... if upgrade breaks for some reason now you have degraded network and a broken controller. Make sure you have a backup before starting.
Omadapi is just a regular Linux system so vendor upgrade path should work so follow tp-link instructions to update the Omada debian package.
After upgrade, these changes are required to re-apply omadapi
settings:
Post upgrade steps
- Replace
/opt/tplink/EAPController/bin/control.sh
with contents of https://github.com/GeoffWilliams/omadapi/blob/omadapi/stageomada/10-omada/files/control.sh (and check yourself for any inc - Ensure vendored
mongod
is a symlink to systemmongod
:
mv /opt/tplink/EAPController/bin/mongod /opt/tplink/EAPController/bin/mongod.orig
ln -s /usr/local/bin/mongod /opt/tplink/EAPController/bin/mongod`
- Reboot
What testing have you done?
- Boot to login screen
- Login, add 2 access points
- Perform backup
- Restore backup
- Mesh wifi with 2 access points
- Firmware update access points
- 33 hour+ uptime (rebooted after loss of internet connectivity to get device firmware update notification)
omdapi
is A fork of pi-gen to build a custom image for omada on raspberry pi (~4) so can be updated for newer Raspbery Pi OS releases by rebasing.
To build the image yourself:
- Read the pi-gen docs to setup your build environment
- Clone the repo
- Switch to branch
omada
- Adjust (or disable...) proxy configuration in
config
. It seems necessary to build with an apt proxy to prevent timeouts - Run
build-docker.sh
- Burn the
full
image that the script generates with Balena Etcher or similar, then put SD card in pi and power on - For publising, rename the image file to include the version, eg:
omadapi-5.13.22-0.zip
- Larger deployments untested, please report successes/failures
- From tp-link? Please feel free to make some raspbery pi image for the community based on this!
- Interested to help? Please open a ticket...
- Lots of good infos on the Omada Raspbery Pi forum thread
themattman
for providing a guide to setting up old versions of MongoDB on Raspberry Pi- pi-gen - entire build system