Ho to use your EAP Controller as a Windows Service

Ho to use your EAP Controller as a Windows Service
Ho to use your EAP Controller as a Windows Service
2016-05-19 14:15:49
Model :

Hardware Version : Not Clear

Firmware Version :



I thougt I could just add a small HowTo ;)

1) You EAP Controller Software is setup and running ;)
2) Download NSSM - the Non-Sucking Service Manager ( https://nssm.cc/download)
3) Extract nssm.exe to a convinient location (I used 'C:\Program Files (x86)\TP-LINK\EAP Controller\bin' to keep things together)
4) Open a administrative shell
5) cd to the place you placed nssm.exe
6) Create a new Service using nssm: nssm install "EAP Controller"
7) Edit the Created Service: nssm edit "EAP Controller"
8) Set the following: (Adapt to your installation)

[INDENT=2]Path: [CODE]C:\Program Files (x86)\TP-LINK\EAP Controller\jre\bin\eap.exe[/CODE]
Startup Directory: [CODE]C:\Program Files (x86)\TP-LINK\EAP Controller\jre\bin\eap.exe[/CODE]
Arguments:[CODE] -server -Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCMSCompactAtFullCollection -XX:+HeapDumpOnOutOfMemoryError -Deap.home="C:\Program Files (x86)\TP-LINK\EAP Controller" -cp "C:\Program Files (x86)\TP-LINK\EAP Controller/lib/com.tp-link.eap.start-0.0.1-SNAPSHOT.jar;C:\Program Files (x86)\TP-LINK\EAP Controller/lib/*;C:\Program Files (x86)\TP-LINK\EAP Controller/external-lib/*" com.tp_link.eap.start.EapMain[/CODE]

[INDENT=2]Description: Add one if you want
Startup type: Automatic or Automatic (delayed start)[/INDENT]
Log on:

[INDENT=2]I'm using 'Local System account'
Set 'Allow service to interact with desktop'[/INDENT]

[INDENT=2]I added none[/INDENT]

[INDENT=2]Keep the defaults

[INDENT=2]Stick with the defaults[/INDENT]
Exit Actions:

[INDENT=2]I used
Throttling '1500'
'Restart application'
and delay '0'

[INDENT=2]Output and Error are nice debugging helps - I set them to:
stdout: [CODE]C:\Program Files (x86)\TP-LINK\EAP Controller\logs\svcstdout.log[/CODE]
stderr: [CODE]C:\Program Files (x86)\TP-LINK\EAP Controller\logs\svcstdout.log[/CODE]
File rotation:

[INDENT=2]Use it to keep your disk clean if you are using I/O[/INDENT]
[CODE]set scriptDir="C:\Program Files (x86)\TP-LINK\EAP Controller\bin"
set eapHome="C:\Program Files (x86)\TP-LINK\EAP Controller"

That's it. Working fine for 7 months now ....
Just remeber to stop the service before updating.
I needed to restart server with the last EAP Controller Update cause I forgot to stop the service ;) ...

18 Reply
Re:Ho to use your EAP Controller as a Windows Service
2016-05-24 09:46:16
A brilliant workaround for the current 2.X controller.:D Thanks @the_MiCrO
EAP-Controller Version 2.4.4
2016-08-07 18:18:02

I've tried this howto for EAP-Controler 2.4.2. It worked great.

But now I've upgraded my EAP-Controller to 2.4.4.
And now this howto dosen't work any more, becaus TP-Link changed something on the software.
Maybe you've got a description for 2.4.4.

At the moment i've to run the Software with a logged in User. That is a security problem for me, becaus a user has always logged on on the server.

I tried to install the new version as a service with the PowerShell command:
New -Service -Name "TP-Link EAP-Controler" -BinaryPathName "C:\Program Files (x86)\TP-LINK\EAP Controller\bin\EAP Controller.exe"[/CODE]
but this was not successfull, the Service didn't start.
The error 1053 is shown.

Maybe someone has got a working way to install it as a service.

Also it is a litle bit unusual that this controller cannot run as windows service by it default installation... :(
Re:Ho to use your EAP Controller as a Windows Service
2016-08-11 14:00:53
Hi dlausch,

don't know what went wrong for you. It's still working with Version 2.4.4 here.

Did you try to remove the service, reboot and re-add it?

And not installing a Service by itself is really uncommon....
Re:Ho to use your EAP Controller as a Windows Service
2016-08-13 22:06:07

I retried the procedure now...
What ever, now it worked...

Sometimes windows don't like me... :D

Thank you....
EAP-Controller and FireDaemon
2016-09-09 04:05:40
Hi there,
first of all greetings to all forum members from Germany.
This is my first post here since I just registered.

A big thank you to "the_MiCrO" for the very good "How to...".

I'm using the EAP Controller 2.4.4 together with several EAP330.
I also wanted to use the controller as a windows service.
I'm using "FireDaemon Pro" instead of NSSM, but I followed exactly the steps which the_MiCrO entered here.
At the end it works fine for me.
But every time when the srvice starts I get the following error-message:

Has someone an idea what the reason is for these errors?
Hope to get an answer soon.
Thank you!
Re:Ho to use your EAP Controller as a Windows Service
2017-02-21 20:13:59
Works fine for me.
Don't know what are the variables in place that generate these errors for everyone.
Revetement agro
Re:Ho to use your EAP Controller as a Windows Service
2017-03-03 15:37:25
Hi,I have checked the procedure, it worked fine with win10 and XP sp3 on VM. There is a little error in start-up directory code: it is Code:"C:\Program Files (x86)\TP-LINK\EAP Controller\jre\bin\" Without "eap.exe"After this little change all goes well.
Re:Ho to use your EAP Controller as a Windows Service
2017-03-22 00:37:00
I had trouble getting this to work with 2.4.7, but found an alternate solution. While it's not running as a service per se (and thus may be more difficult to monitor and restart on failure), if you're running Windows Server or a Pro/Enterprise/Ultimate flavor of Windows, you can use the Group Policy Editor to set "EAP Controller.exe" as a system startup "script".

1. Start > Run > "gpedit.msc" to open the Group Policy Editor
2. Local Computer Policy > Computer Configuration > Windows Settings > Scripts (Startup/Shutdown)
3. Double-click "Startup" to open the Startup Scripts properties dialog
4. Click "Add..." then click "Browse..."
5. Navigate to the controller install path (e.g. "C:\Program Files (x86)\TP-LINK\EAP Controller\bin\" -- not the "jre\bin" one)
6. Double-click "EAP Controller.exe" to select it then click OK to close out all the dialogs

Now the controller will start next time your system reboots! The only downside is there's no "interactive" option, so the UI will be unavailable, and if you want to stop it you'll have to kill the eap.exe and javaw.exe processes via task manager (or powershell script or your other favorite means of killing processes).
How to run eap controller after turn it as service
2017-08-10 19:24:58
HiI have successfully turn EAP controller as window service with steps above. But now my question is how can I run EAP controller if I want to make setting changes. I tried to stop the service and then open Eap Controller but it shows "PID ERROR". Any advice is much appreciated. Thank you in advance.
Re:Ho to use your EAP Controller as a Windows Service
2017-10-27 04:08:16
Indeed i updated from 2.4.2 to 2.4.8 and the NSSM method has stopped working and i caqn't get it to work at all.

Using the computer startup script method is hardly convenient, can someone from tplink give us a hand on running this as a controller?