failure to run JAD/JAR file (ERROR: Incorrect parameters) | Telit Cinterion IoT Developer Community
February 27, 2017 - 11:04pm, 7217 views
While debugging/building I tried to use the Eclipse/Gemalto
tools to load a JAR/JAD file to an EHS6 and run/remotely-
debug it. The modules failes to load from the remote
debugger:
Waiting for debug device registration of "IMP_NG_EHS5_REMOTE"...
Passing control to external device emulator...
Installing suite from: http://192.168.244.2:50647/Gem.jad
*** Error ***
Failed to execute MIDlet suite
End of debug session. Emulator is closed!
and if I try to load it manually, I get the following
error:
at^sjam=5
^SJAM: "a:/JRC-1.56.49.jad","Java Remote Control MIDlet Suite","Cinterion","1.56.49",1
OK
at^sjam=4
^SJAM: "a:/HelloWorld.jad","HelloWorld MIDlet Suite","Gemalto M2M GmbH","1.0.0",0,3305,0
^SJAM: "a:/JRC-1.56.49.jad","Java Remote Control MIDlet Suite","Cinterion","1.56.49",1,788015,0
OK
at+cmee=2
OK
at^sjam=0,"a:/Gem.jad",
+CME ERROR: Incorrect parameters
at^sjam=4
^SJAM: "a:/JRC-1.56.49.jad","Java Remote Control MIDlet Suite","Cinterion","1.56.49",1,788015,0
OK
The rub is if I copy the JAR/JAD files to another modem (an EHS5)
the application loads and runs without error.
Any suggestions as to how to trouble shoot it problem?
(I was trying to reflash the EHS6 to perhaps *****
whatever's set wrong, but the installer fails as it's
trying to ***** the flash.
More data:
ati1
Cinterion
EHS6
REVISION 03.001
A-REVISION 00.000.49
OK
at^scfg?
^SCFG: "Audio/Loop","0"
^SCFG: "Call/ECC","0"
^SCFG: "Call/Speech/Codec","0"
^SCFG: "GPRS/AutoAttach","enabled"
^SCFG: "Gpio/mode/ASC1","rsv"
^SCFG: "Gpio/mode/DAI","gpio"
^SCFG: "Gpio/mode/DCD0","gpio"
^SCFG: "Gpio/mode/DSR0","rsv"
^SCFG: "Gpio/mode/DTR0","gpio"
^SCFG: "Gpio/mode/FSR","gpio"
^SCFG: "Gpio/mode/HSIC","rsv"
^SCFG: "Gpio/mode/PULSE","gpio"
^SCFG: "Gpio/mode/PWM","gpio"
^SCFG: "Gpio/mode/RING0","gpio"
^SCFG: "Gpio/mode/SPI","std"
^SCFG: "Gpio/mode/SYNC","gpio"
^SCFG: "Ident/Manufacturer","Cinterion"
^SCFG: "Ident/Product","EHS6"
^SCFG: "MEShutdown/Fso","0"
^SCFG: "MEShutdown/sVsup/threshold","0","0"
^SCFG: "MEopMode/CFUN","0","1"
^SCFG: "MEopMode/Comp1",""
^SCFG: "MEopMode/ExpectDTR","current"
^SCFG: "MEopMode/ExpectDTR","powerup"
^SCFG: "MEopMode/SoR","off"
^SCFG: "Radio/Band","511"
^SCFG: "Radio/Mtpl","0"
^SCFG: "Radio/OutputPowerReduction","4"
^SCFG: "Serial/Interface/Allocation","0","0"
^SCFG: "Serial/USB/DDD","0","0","0409","1E2D","0058","Cinterion Wireless Modules","EHx",""
^SCFG: "Tcp/IRT","3"
^SCFG: "Tcp/MR","10"
^SCFG: "Tcp/OT","6000"
^SCFG: "Tcp/WithURCs","on"
^SCFG: "Trace/Syslog/OTAP","0"
^SCFG: "URC/Ringline","local"
^SCFG: "URC/Ringline/ActiveTime","2"
^SCFG: "Userware/Autostart","1"
^SCFG: "Userware/Autostart/Delay","0"
^SCFG: "Userware/DebugInterface","192.168.244.1","192.168.244.2","0"
^SCFG: "Userware/DebugMode","on"
^SCFG: "Userware/Passwd",
^SCFG: "Userware/Stdout","usb3",,,,"off"
^SCFG: "Userware/Watchdog","1"
OK
Hello,
So the same MIDlet is working on another module. Is it also working on that module while run from Eclipse?
In the command at^sjam=0,"a:/Gem.jad", there is a missing password, it should be at^sjam=0,"a:/Gem.jad","" in case of default password.
Regards,
Bartłomiej
Thanks.
I'll try that, but as pointed out elsewhere on this forum
all you _really_ need is the trailing comma (if the
password is blank).
We have not tried to run the MIDlet on the other module
via Eclipse/remote debugger. Will try to set that up this
AM.
Tks.
As expected, [at^sjam=0,"a:/Gem.jad",""] fails in the same
way
Please also paste AT&V reply.
at&v
ACTIVE PROFILE:
E1 Q0 V1 X4 &C1 &D2 &S0 \Q3
S0:000 S3:013 S4:010 S5:008 S6:000 S7:060 S8:000 S10:002
+CBST: 7,0,1
+CRLP: 61,61,78,6
+CR: 0
+CRC: 0
+CMGF: 0
+CNMI: 1,0,0,0,0
+CMEE: 0
+ICF: 3
+DTMF: 0
+CSMS: 0,1,1,1
+CREG: 0,1
+CLIP: 0,2
+COPS: 0,0,"T-Mobile",2
+CGSMS: 1
OK
Hello,
Generally the reply "+CME ERROR: Incorrect parameters" could suggest that there is something wrong with the MIDlet for example some parameter in the jad file is wrong or does not match the corresponding value in the manifest file inside the jar file. Are you sure that exactly the same jad and jar were used on the other module? Is it possible to install and run any other MIDlet on that module where the "Gem" application fails?
Have you been using any security commands (AT^SJMSEC)? Or maybe you have just configure a userware password on that device. Please also check AT+CSCS?.
If you still are not able to run any application that could suggest that there's some problem with that particular module. In such case please try to run the firmware update with the "Recovery File System" option checked.
If you would not be able to perform this and install any correctly built MIDlet on one particular module while it's working on the others maybe you should contact the distributor for a replace.
Regards,
Bartłomiej
Yes: The "HelloWorld" MIDlet has worked on both chips (but has
not been recompiled/packaged).
_Most_ of the time, when a MIDlet fails with "Incorrect parameters"
on one chip, it also fails on the other (it was only once that we saw
it fail/run on the two platforms).
It's been my experience that once a MIDlet fails, it continues to fail (at
least on my EHS6 platform). When it fails to load/run with "AT^SJAM=0/1"
commands, it also fails when trying to run with the remote debugger
(suggests to me that it's not a file system problem).
Only once I generated a new MIDlet project with Eclipe, and added
a "System.out.println(.....);" statement in the "startApp" method
(NOTHING else) and that MIDlet wouldn't load/run.
We have run SJMSEC commands some time ago (adding certificates
to communicate with HTTPS/SSL/TLS). There have been _dozens_
of power cycles/reboots since then. I am certain that we haven't
added a userware password, but will confirm with a CSCS command
in a bit.
It doesn't look like AT^CSCS? is a valid AT command (it's
not in the EHS6 AT Command Reference document):
ati1
Cinterion
EHS6
REVISION 03.001
A-REVISION 00.000.49
OK
at+cmee=2
OK
at^CSCS?
+CME ERROR: Unknown
at^CSCS=?
+CME ERROR: Unknown
Hello,
So far my conclusions were based on the information that this problem only happens on one device. As I understand now it is failing on all devices but this state is not permanent and some other MIDlet could be successfully installed and run.
In such case I don't think that the particular module or it's file system is faulty.
Most probably there's some problem with the MIDlet. For some reason it's incorrectly built by the Eclipse/Netbeans environment or there's some other problem in the project configuration. In such case first thing you should try to , export the MIDlet package again, verify the project configuration, jad parameters, try to clean the project, build again, etc. If nothing will help you can create the new project.
I'm sorry, I've mislead you with CSCS command - it should be AT+CSCS? - it's about the character set on the module.
Regards,
Bartłomiej
I agree: It's probably something that Eclipse/Plugin is/isn't doing. The error message is vague
enough to make isolating a specific cause hard.
The MIDlet application has become sufficiently complicated that
starting from scratch and putting in "parts" of the application in small
measure is/would be exceedingly difficult.
Any tips/suggestions for how to debug this would be appreciated.
AT+CSCS? is "GSM"
Pages