Omada gives General Error when finishing Omada Setup Wizard
I have bought a few EAP225s and want to manage them using the Omada Software Controller. I have a Debian server where I have installed the software. I took the mongodb server 3.6 from the mongodb.org site.
I made one change in the omada.properies file, to change manage.http.port=8089 and portal.http.port=8089. Port 8088 was already taken on my server.
The software seems to run without errors. I am taken through the Omada Setup Wizard which recognizes the installed EAP225 and asks a few questions. However, when the button Finish on the last page is pressed, I am presented with the message General Error. The page does not proceed, and when I reload the wizard simply starts from scratch (Let's get Started)
The error log shows the following line:
Caused by: java.lang.NullPointerException
at com.tplink.omada.service.api.impl.WizardApiServiceImpl.a(SourceFile:238) ~[omada-service-4.1.5.jar:?]
(and a lot more. I´ll attach the log file for reference)
Can anyone help me get the software running?
- Copy Link
- Subscribe
- Bookmark
- Report Inappropriate Content
KiekerJan wrote
However, I still get the general error at the end of the setup wizard. Perhaps the java version is not the issue here?
Could be that something got screwed up before – probably some settings – due to the wrong JRE.
Try following:
- Stop Omada Controller and then manually remove all files below /opt/tpink/Omada-Controller-4.1.5/data/db. or purge (dpkg --purge) the package and re-install it (do not just remove but purge it to get rid of changed files).
- Start the controller using omadactl -W 240 start. It will take some time for the controller to initialize the new database, please be patient.
- Then run the wizard again, but skip all optional steps. Do not adopt EAPs yet nor do create a wireless network.
- Bind to the TP-Link cloud if you want (optional). If you choose to not bind to the cloud, ensure at least that the server has Internet access.
- Whatever you get as result when finishing the wizard, try what happens when connecting to https://your-hostname-or-IP:8043/login
If this doesn't work either, I'm approaching EOW (End Of Wisdom), since the above is what I did when testing this kind of setup and I got no exception when finishing the wizard.
- Copy Link
- Report Inappropriate Content
KiekerJan wrote
I have a Debian server where I have installed the software. I took the mongodb server 3.6 from the mongodb.org site.
I made one change in the omada.properies file, to change manage.http.port=8089 and portal.http.port=8089. Port 8088 was already taken on my server.
Which Omada SDN Controller did you install? The official TAR archive or .deb package from TP-Link's download site? Or the community version?
What's the type, the source and the version of your Java JRE? OpenJDK8 package or the Oracle JRE8 from the Oracle website?
Do you run Omada SDN Controller with Privilege Separation (server runs as an ordinary user) or with full admin privileges (server runs as root)?
I just checked with the Omada SDN Controller community version on Debian 8 (Jessie), mongodb-org package v3.6.19 and Oracle JRE v1.8.0_261.
With this software, I can not reproduce this error. After finishing the wizard (bound and not bound to the cloud), I'm taken to the login page https://localhost:8043/login via the redirect at http://localhost:8089/.
- Copy Link
- Report Inappropriate Content
R1D2 wrote
Which Omada SDN Controller did you install? The official TAR archive or .deb package from TP-Link's download site? Or the community version?
I took the community version from the "Omada SDN Controller 4.1.5 for Devuan, Debian and other Linux systems" topic. (Your work I believe? Thank you for that!)
At first I couldn't get the TP-Link download version to work, so I searched and found this one.
What's the type, the source and the version of your Java JRE? OpenJDK8 package or the Oracle JRE8 from the Oracle website?
I've have both openjdk-8-jre-headless and openjdk-11-jre-headless installed. I use the JAVA_HOME parameter in the Omada CONFIG file and have set that to JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64.
Do you run Omada SDN Controller with Privilege Separation (server runs as an ordinary user) or with full admin privileges (server runs as root)?
I have started the Omada server with: sudo omadactl start. I believe this runs as the omadad user? At least I think ps tells me that ;)
I just checked with the Omada SDN Controller community version on Debian 8 (Jessie), mongodb-org package v3.6.19 and Oracle JRE v1.8.0_261.
I have mongodb-org 3.6.19 from the mongodb.org site.
I have tried to run Omada with the Oracle JRE, but it makes no difference :(
Extracted the jre in /opt/jre1.8.0_261 and modified the JAVA_HOME in CONFIG accordingly. According to ps, the running omadad uses this path:
omadad -cwd /opt/tplink/OmadaController -pidfile /var/run/omadad.pid -user omadad -java-home /opt/jre1.8.0_261 -debug -outfile /opt/tplink/OmadaController/logs/startup.log -errfile /opt/tplink/OmadaController/logs/startup.log -procname omadad -cp /opt/tplink/OmadaController/lib/* -server -Xms128m -Xmx1024m -XX:MaxHeapFreeRatio=60 -XX:MinHeapFreeRatio=30 -XX:+HeapDumpOnOutOfMemoryError -Deap.home=/opt/tplink/OmadaController com.tplink.omada.start.OmadaLinuxMain start
Am I doing it right?
- Copy Link
- Report Inappropriate Content
KiekerJan wrote
I use the JAVA_HOME parameter in the Omada CONFIG file and have set that to JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64.
Changing JAVA_HOME does not change the JRE, but it causes the java command to reference the wrong Java methods.
You should use the update-alternatives command (on some Debian-derived platforms it is called update-java-alternatives) to define the Java version which should be the active one. Albeit you can install several different versions, you can only use one at the same time. See following commands:
update-alternatives --list java
update-alternatives --config java
Once a JRE alternative has been selected using this command you don't need to change JAVA_HOME at all, since that's a relict of old controller versions from years ago.
1. I have started the Omada server with: sudo omadactl start. I believe this runs as the omadad user? At least I think ps tells me that ;)
2. I have mongodb-org 3.6.19 from the mongodb.org site.
3. I have tried to run Omada with the Oracle JRE, but it makes no difference :(
1. Yes, that's correct. The community version always uses Privilege Separation to run the server unter the omadad role account. Adding Privilege Separation to Omada Controller was the most important reason why the community version had been created years ago.
2. mongodb-org v3.6 works fine with Omada SDN Controller v4.1.5, but unfortunately not with OC v3.2.10 which means that you cannot switch between controller versions using the omadactl command. That's why I switched to Devuan which still has mongodb v3.2.11 (not mongodb-org) in its repositories.
3. After extraction of the Oracle JRE8 package you need to install it using the update-alternatives command:
update-alternatives --install /usr/bin/java java /opt/jre1.8.0_261/bin/java 261
Failure to do so will result calling the wrong java binary when run from /usr/bin/java.
- Copy Link
- Report Inappropriate Content
3. After extraction of the Oracle JRE8 package you need to install it using the update-alternatives command:
update-alternatives --install /usr/bin/java java /opt/jre1.8.0_261/bin/java 261
Failure to do so will result calling the wrong java binary when run from /usr/bin/java.
I have done this. I now get the following
$ java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
I think that is how it should be.
However, I still get the general error at the end of the setup wizard. Perhaps the java version is not the issue here? Do the EAPs have to be in a certain state?
- Copy Link
- Report Inappropriate Content
KiekerJan wrote
However, I still get the general error at the end of the setup wizard. Perhaps the java version is not the issue here?
Could be that something got screwed up before – probably some settings – due to the wrong JRE.
Try following:
- Stop Omada Controller and then manually remove all files below /opt/tpink/Omada-Controller-4.1.5/data/db. or purge (dpkg --purge) the package and re-install it (do not just remove but purge it to get rid of changed files).
- Start the controller using omadactl -W 240 start. It will take some time for the controller to initialize the new database, please be patient.
- Then run the wizard again, but skip all optional steps. Do not adopt EAPs yet nor do create a wireless network.
- Bind to the TP-Link cloud if you want (optional). If you choose to not bind to the cloud, ensure at least that the server has Internet access.
- Whatever you get as result when finishing the wizard, try what happens when connecting to https://your-hostname-or-IP:8043/login
If this doesn't work either, I'm approaching EOW (End Of Wisdom), since the above is what I did when testing this kind of setup and I got no exception when finishing the wizard.
- Copy Link
- Report Inappropriate Content
You are the best, that was it! Thanks a lot.
EOW, have to remember that one ;)
- Copy Link
- Report Inappropriate Content
Information
Helpful: 0
Views: 3962
Replies: 6
Voters 0
No one has voted for it yet.