ELS61 problem with URC in Java | Telit Cinterion IoT Developer Community
January 14, 2019 - 1:03pm, 6103 views
I got some ELS61 modules from our local (Czech Republic) dealer. Modules come with FW version REVISION 01.000 A-REVISION 00.028.00.
I have problem with recieving URC strings in Java application with ATCommandListener class implemetation registrated on instance of ATCommand with metod addListener().
Even demo project AtCmdDemo from developer CD doesn’t work. Synchronous and asynchronous AT commands work well, but i don’t get any URC to method ATEvent(String Event). I registered some URCs through at^sind command, but even globally registered URC (like +PBREADY, ^SBC: Undervoltage Warning, ...) doesn’t come.
I tried module upgrade to newest FW from gemalto extranet (00.029.00), but it’s still the same.
I have no problem with URCs in module terminal in my computer.
Thanks for your help
Have you tested this with more than one module?
I can think of two reasons why URCs might not work in Java:
1. JRC MIDlet may not be running - please make sure that it's installed and running (AT^SJAM=4 and AT^SJAM=5 commands) and if autostart is enabled with AT^SCFG? command.
2. Libraries used to build the MIDlet were released for the older firmware version - please make sure that Gemalto SDK installation package that you have is dedicated for the current firmware.
I have 9 modules. I tested 2 so far.
1. Autostart is enebled and JRC is running.
2. I'm using WTK from this CD els61-us_e_rev01.000_arn00.026.00_install-cd. This is newest WTK for ELS61 R1 which i found on gemalto extranet. Why isn't there newer CD if that can cause this issue?
There is install CD for ARN 29 under ELS61-E2 - please try.
It's not that I know that in this particular case there is such issue (I'd have to test it) but the java libraries are also updated sometimes and there might be some issues if old java libraries are used with new firmware.
I tried compile AtCmdDemo with WTK and cwmlib from this CD and it still doesn't work. I removed destroyApp(true) from this example and registered some URCs with at^sind command. And nothing come to ATEvent(String Event) even +PBREADY after module startup doesn't come.
Same project compiled with EHS5 WTK work well on EHS5 module.
Please could you try it on your module?
I tested with my module ELS61-E2 REVISION 01.000 A-REVISION 00.029.00. I used the AtCmdDemo example MIDlet with additional commands to register some URCs, then deregister from the network, wait a while, register back to the network and wait a while again.
With libraries from 'els61-us_e_rev01.000_arn00.026.00_install-cd' it wasn't working - no URC's were being caught by ATEvent() callback method of ATCommandListener.
But with libraries from 'els61-e_rev01.000_arn00.029.00_install-cd' it was working - all URC's (the same ones as I was seeing on another interface) were being caught by ATEvent() callback method of ATCommandListener.
Please make sure that you have compiled the MIDlet with the proper libraries and if it was built properly. Try to clean the project to be sure.
Still nothing. Here is my module configuration:
And here is my whole NetBeans project with AtCmdDemo.
Project folder includes JAR and JAD files in disk subfolder. Could you try them on your module? And could you send me your JAR and JAD for ELS61 FW 29?
I have tried your app and it seems not to catch any URC. I'll send you my app by email.
I tried your JAR and JAD. It works like expected on ELS61 FW 26. But on FW 28 or 29 it have strange behavior. See my output:
On FW 28 and 29 URCs go to listener ATEvent(String Event) but as you see above, more URCs come together in one call. I never noticed this behavior on previous modules.
Is your output identical, or you don't have this problems on FW 28 or 29?
Could you please try original AtCmdDemo with deleted line destroyApp(true);. Do not register any other URCs and just wait for +PBREADY, do you recieve this URC in java on FW 28 or 29?
All our applications waiting for URC +PBREADY on the start, because it indicated that SIM card initialization is done...
The +PBREADY on output above don't go to ATEvent but comes with asynchronous response. And this behavior is strange...
I have tested it again and I must admit that you are right - it can happen that two or more URC's are caught in one ATEvent() call. And it can happen that URC may not be caught by ATEvent() but may be displayed as part of an AT command execution output.
As for the test that you have requested I have also tried and the result was that +PBREADY was not displayed by ATEvent() until some other URC (like CREG for example) was caught or some AT command was executed (in that case it was added to the command output). So it seems that the behavior has changed compared to ARN26 for example.
I have checked that this problem has already been reported to Gemalto support line by your company and is being investigated there. I think that you should follow this way for a solution (firmware that behaves in the same way as ARN26 or some workaround which in fact could be prepared based on the information that we already have described on the forum).
its also happend on EHS5E-B1 Relase REVISION 04.003