Unable to connect a Mobile Client

We are using IGNITION 7.6.3 with CentOS 6.2 and JAVA 1.7.0_25. Problem we are seeing is that an iPad/Safare gets the HOME page, but attempting to start an (mobile-enabled) app gets the stack-trace below. Is the problem reported happening on the gateway or the mobile client? It looks as though it is reporting ‘Java path invalid’ on the gateway, but apps will run on desktop-hosted clients.

--------------------- STACK TRACE ------------------------------
9:04:26 AM Mobile.DataServlet Failure in mobiledata/initvm
com.inductiveautomation.mobile.gateway.InvalidSetupException: Setup is not valid for launching mobile VMs: Java path invalid.
at com.inductiveautomation.mobile.gateway.MobileVMManager.getNewClientVM(MobileVMManager.java:280)
at com.inductiveautomation.mobile.gateway.servlets.MobileSession.initializeVM(MobileSession.java:373)
at com.inductiveautomation.mobile.gateway.servlets.MobileDataServlet$InitVM.handle(MobileDataServlet.java:796)
at com.inductiveautomation.mobile.gateway.servlets.MobileDataServlet.doRequest(MobileDataServlet.java:158)
at com.inductiveautomation.mobile.gateway.servlets.MobileDataServlet.doGet(MobileDataServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

On your Mobile Settings page, try giving the Java Path property the literal path to your java executable.

The following path did not solve the problem:
/usr/java/jre1.7.0_25/bin/

Should I remove the “bin/” suffix?

Thanks in advance …

Not sure this helps, but (with a lot of effort by those wiser than me) we have the mobile module running on linux. In our java path, we just have “java”. /usr/bin/java is symlinked to /etc/alternatives/java, which is symlinked to /usr/lib/jvm/java-7-oracle/bin/java. We are running java 1.7.0_17, which I grabbed from Oracle’s downloads page, not from any package in apt.

To manage which binary is pointed to in that alternatives folder, check out this http://manpages.ubuntu.com/manpages/intrepid/man8/update-alternatives.8.html.

We are running ubuntu 12.04 (64bit) and ignition 7.6.3.

I can’t imagine anyone else would run into the issue, but we had a problem where ignition was installed as a different user than it was being run as and thus having permissions problems. The script that starts ignition had to be edited to reflect the new username.

The linux mobile module situation is not ideal. I have been assured it is being worked on. When we bought it, I was not aware it was not officially supported on linux - the only way I found out was by searching the forums after it wouldn’t work. Bug your inductive account manager to get more help - its out there and there are some really great folks at inductive who want to help you.

Thanks, kwj. Our linux installation supports only terminal logins, so is deemed ‘headless’. Is that the case with yours?

Thanks in advance,

I was running ubuntu server (command-line only) but had to install the desktop components to get the mobile module to work. I have been told from numerous people that you have to start the mobile module from within the desktop environment or it won’t work. You could still do a “headless” setup if connecting a monitor, keyboard, and mouse isn’t an option - you could use something like VNC to connect to your desktop environment.

I’m sure it could be made to work with CentOS, but for what its worth, it seems the majority of folks that have any experience with getting it to work (here or at inductive) are running ubuntu.

Ok, first of all the bad news: the Mobile module has never been supported on linux.

But now, the good news: This is about to change! We’ve finally gotten this figured out. We’re still finalizing the details, but with the proper setup, mobile on linux should work.

Here are the preliminary instructions, please let me know how they work for you. pastebin.com/DYfq5T1i

Also, the path to java needs to be the actual path to the java executable, not the path to the folder where the java executable lives.

CentOS is based on redhat, which primarily uses yum for package management. Those instructions use apt - could be wrong but I don’t think they will help LarryC as-is.

That said, I think this is friggin awesome. Especially the use of xfce - I like to use xfce in my server environments when I need a GUI and only installed the default ubuntu desktop packages in an attempt to get the mobile module working. This looks like I can go back to xfce.

Yeah, those instructions do not require any of the ubuntu stuff per-se, but it is true that they expect a debian-style package management.

If you use a different linux flavor, guess what: you should be able to translate the instructions to your system of choice. If that sounds too scary for you then I say: you shouldn’t be using linux. :neutral_face: Or - at least, you should switch to the flavor that we can help you with! :mrgreen:

Fair enough. Just looking out for ole larry

Mobile launch issue ---- This test has been carried out on Linux 64 bit platforms:

(Mobile launch issue is being discussed at different threads. I am reposting this reply which i posted at viewtopic.php?f=72&t=11011. I wish, specific problems can be classified and brought under respective topics to help better interaction)

  1. Server: Ubuntu 12.04/ 64bit/ headless server and Centos 6.4/ 64bit with GUI
    (Both servers are configured to auto start ignition on boot up)
  2. Ignition ver 7.6.3 or 7.6.4
  3. Java: JDK7U25 or JDK7U45
  4. Xserver installed. (install xorg-x11-apps, install xauth)
    login as “ssh -X root@ipaddress” from any Linux client.
    Run xclock command and make sure if it displays the analog clock.
  5. Client: Ubuntu, Windows7 and BlackBerry play book

Check if mobile launch works:

  1. login as “ssh -X root@ipaddress” from any Linux client and restart ignition by running the command “sudo /etc/init.d/ignition restart”.

  2. DO NOT LOGOUT. Stay logged in as root.

  3. Go to mobile launch page and launch Ignition demo. IT WILL WORK.

  4. Now logout from terminal as root. You will see that the mobile project will automatically exit and throw some error message like “java.io.EOFException”.

  5. Login again as root and press the restart button on mobile launch page. IT WILL WORK.


Conclusion:

Mobile launch module needs Linux “root” authentication and “xserver” to work. The default “Admin” user of ignition does NOT have enough privilege to run mobile launch.

Could you give us some more information about what happens when it’s not working? Error messages, behavior, steps to make it not work, etc?

R. Alamsha,

We had this problem as well. I suspected it was a privilege issue as well. After some help from IA, it was determined that you do not need to be root to get it to work - you just have to run ignition as the same user that installed it. If you look at the startup script (/etc/init.d/ignition for me), there is a RUN_AS_USER line that is set to the user who installed it. If you want to run as a different user, you need to change that line. Worked for us.

kwj

Thanks for the valuable feedback. Based upon your info, i carried out further tests.

Server – Headless Ubuntu 12.04 / 64 bit / Java 7U45
Ignition ---- Ver 7.6.4 / 64 bit

Configuring a headless server for Mobile is cumbersome because of the xserver authentication requirement. Installed lightweight LXDE GUI. (Far better than lightweight XFCE).

Followed these steps:

  1. sudo apt-get install lxde

  2. sudo apt-get install lightdm-gtk-greeter

  3. Open the terminal

  4. sudo /etc/init.d/ignition restart
    (any sudo user can restart. Better to restart as the one who installed it as per the startup script (/etc/init.d/ignition) to avoid any authentication failures from any other module)

  5. DO NOT LOGOUT from terminal.

  6. Lock screen by clicking the screenlock icon.

Everything works fine.

Console security:

By default, Ubuntu can be restarted by clicking CTL+ALT+DEL from any of the 6 virtual consoles which can be invoked by CTL+ALT+F1…F6.

To disable the reboot action taken by pressing the Ctrl+Alt+Delete key combination, comment out the following line in the file /etc/init/control-alt-delete.conf.

#exec shutdown -r now “Control-Alt-Delete pressed”

(Ref: help.ubuntu.com/10.04/servergui … urity.html)

A post was split to a new topic: Install Gateway on Linux?