BGS5 problem with autostart | Telit Cinterion IoT Developer Community
March 15, 2016 - 3:41pm, 6063 views
Hi,
I've a device that has been working fine for a couple of months but suddenly it has stopped working.
It's stuck into a permanent restart loop with the output that can be found at the end of the message. It looks like the JRC-1.50.3.jad or something needed by the java application is not loaded.
The thing is that if I dissable autostart (AT^SCFG = "Userware/Autostart", "", "0" ^SCFG: "Userware/Autostart","0") I can start the middle with sjam=1 and it works fine. This code/jad config
is running fine on more than one hundred devices but I'm worried that on long term all could end having the same problem.
Any ideas on what could cause this behaviour?
Thank you.
Firmaware Version:AT+CGMR REVISION 01.100
My jad has these parameters
Oracle-MIDlet-Autostart: 2
Oracle-MIDlet-Restart: true
Oracle-MIDlet-Restart-Count: 10
Output:
java.lang.NoClassDefFoundError: jh
- com.cinterion.jrc.commands.hardware.JRC_AtCmd_SCPIN.<init>(), bci=111
- java.lang.Class.newInstance(), bci=0
- bf.b(), bci=44
- bf.a(), bci=32
- ej.a(), bci=52
- com.cinterion.jrc.JRC_Context.a(), bci=86
- dT.a(), bci=251
- ok.a(), bci=7
- com.cinterion.jrc.JRC_Context.a(), bci=74
- bh.run(), bci=42
Hello,
It seems that there is some problem with JRC MIDlet.
Have you also tried to start JRC manually or only your application?
Some of the module's functionality is implemented in JRC MIDlet (at least some AT commands) so there is a chance that your application may also no function correctly without JRC. For example it will not catch any URC's.
I don't know what could have caused this but you should try to reinstall the JRC. Please also check the ATI1 reply for the detailed firmware version. You should use the JRC version that is dedicated to the firmware version that you have or update both. If the reinstallation would not help or the problem would happen again you should contact your local supplier.
Best regards,
Bartłomiej
Hello,
It looks like the JRC MIDlet was somehow damaged what should normally not happen.
So I'd appreciate if you wrote some more details about what your application is doing in general and extensively and what could have been done while the problem occurred. For example data transfer, file system access, communication with hardware interfaces, OTAP etc.
Maybe there was some power outage during some critical operation? You have been asking about powering off the device.
Thanks in advance,
Bartłomiej
Hi,
My application uses socket communications, gpio and file system.
At the start up it set pin 21 as input and pins 20,22 as output, reads a config file that fills a scheduler that dictates the outport high-low cycles. In this case the cycle was set
50s high - 50s low from 8:00 AM to 9:00 PM from Monday to Friday.
On the other hands it pings our server every 10 minutes and if a new config has been saved it's received trough the socket's input stream, saved into the filesystem and the scheduler restarted.
It stopped working on a Saturday so the outport hasn't been set to high for more than 12 hours. The ping message had been sent every 10 minutes without fault and the logs show the temperature had been 18-20 ºC for a while.
No otap request had been sent. So before stopping working it was only sending data through a java socket. In this case there weren't any power off
Thank you.
Thank you for your reply.
My version info is as follows.
ati1 Cinterion
BGS5
REVISION 01.100
A-REVISION 00.000.10
AT^SJAM=4 ^SJAM: "a:/Foo.jad","Foo MIDlet Suite","MIDlet Suite Vendor","1.0.0","1"
^SJAM: "a:/JRC-1.50.3.jad","Java Remote Control MIDlet Suite","Cinterion","1.50.3","1"
If I start my middlet manually it works just fine, the jrc is loaded properly. The problem seems to be with autostart. With autostart on, my midlet starts but the jrc one not.
I have this jrc, jrc-1.50.9.jar that seems would require a different firmware version. What is the latest firmware version?
Thank you
Hello,
You have the latest official firmware version and the respective JRC version is 1.50.3. So you should not install the 1.50.9 version with the respective firmware version. Please ask the person who gave you this JRC.
I'm not sure about your manual test. You start your MIDlet manually and it's working. But do you also start JRC before your MIDlet or after or maybe not at all?
You have set the Oracle-MIDlet-Autostart parameter correctly for your MIDlet - it should start after JRC.
Could you answer to my previous post also what your MIDlet is doing? In the exception there is SCPIN command which is used for GPIO. Is your MIDlet also using GPIO?
Regards,
Bartłomiej
Hello,
I just start my middlet manually, no action with the jrc and it just works fine. No exceptions. I use this class to control gpio: com.cinterion.io.InPort
I think I messed the reply order so here is my reply to what the middlet does again:
My application uses socket communications, gpio and file system.
At the start up it set pin 21 as input and pins 20,22 as output, reads a config file that fills a scheduler that dictates the outport high-low cycles. In this case the cycle was set
50s high - 50s low from 8:00 AM to 9:00 PM from Monday to Friday.
On the other hands it pings our server every 10 minutes and if a new config has been saved it's received trough the socket's input stream, saved into the filesystem and the scheduler restarted.
It stopped working on a Saturday so the outport hasn't been set to high for more than 12 hours. The ping message had been sent every 10 minutes without fault and the logs show the temperature had been 18-20 ºC for a while.
No otap request had been sent. So before stopping working it was only sending data through a java socket. In this case there weren't any power off
Thank you for your replies
Hello,
Thank you for the clarifications.
So it seems that your MIDlet is working without JRC running.
So the only quite intensive activity would be GPIO and maybe file system (if the application logs are saved there).You could try to run JRC manually to test if it also will fail.
Nevertheless you should reinstall the JRC. You can contact your distributor for the proper version or ask me.
Regards,
Bartłomiej