Diagnose OTAP problems

I was looking at my analytics stats (which are not so great, but I don’t really care) and I saw that some of you were accessing this blog by searching for “at^sjotap error codes”. This is quite weird.

The only thing you need to test your Over The Air Provisioning (OTAP) is the command :

1
AT^SCFG="Trace/Syslog/OTAP","1"

But you have to make sure you type it right after you typed the “AT^SJOTAP” command. So, if you do it in a terminal. You should copy the syslog enable command, write the “AT^SJOTAP” command and immediatly past the syslog enable command.

What you should have is something like that :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--> AT^SJOTAP
<-- OK
--> AT^SCFG="Trace/Syslog/OTAP","1"
<-- SYSLOG ENABLED
<--
<-- [OTAP] GPRS connection established.
<-- [OTAP] Try to get http://www.yourwebsite.com/software.jad ...
<-- [OTAP] Connected.
<-- [OTAP] Transfer finished.
<-- [OTAP] Try to get http://www.yourwebsite.com/software.jar ...
<-- [OTAP] Connected.
<-- [OTAP] Transfer finished.
<-- [OTAP] JAM status: 900 Success.
<-- [OTAP] Reboot now.
<-- ^SYSSTART

For those who still want the answer to the “AT^SJOTAP error codes”, you can find it in “Java_UserGuide.pdf” file provided by Cinterion TC65 SDK, page 61 :

  • 900 Success
  • 901 Insufficient memory in filesystem
  • 902 – not supported-
  • 903 – not supported-
  • 904 JAR size mismatch, given size in JAD file does not match real size of jar file
  • 905 Attribute mismatch, one of the mandatory attributes MIDlet-name, MIDlet-version, MIDlet-Vendor in the JAD file does not match those given in the JAR manifest
  • 906 Invalid descriptor, something is wrong with the format of the .jad file
  • 907 invalid JAR, the JAR file was not available under MIDlet-Jar-URL, files could not be extracted from JAR archive, or something else is wrong with the format of the file.
  • 908 incompatible configuration or profile
  • 909 application authentication failure, signature did not match certificate
  • 910 application authorization failure, tried to replace signed with unsigned version
  • 911 -not supported-
  • 912 Delete Notification

The most common error you can make is to have a wrong JAD file, this what it should look like :
The most common error you could make is to do not specify the complete path of your jar file in your jad file. You jad file should look like that :

1
2
3
4
5
6
7
8
MIDlet-1: Midlet, ,MySoft.Midlet
MIDlet-Jar-Size: 29180
MIDlet-Jar-URL: http://87.106.206.30/TC65/mysoft/mysoft.jar
MIDlet-Name: MySoft
MIDlet-Vendor: Cinterion
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: IMP-NG

If you still have problems with OTAP, you can leave me a comment.

GD Star Rating
a WordPress rating system
Diagnose OTAP problems, 10.0 out of 10 based on 1 rating
Share and Enjoy:
  • Twitter
  • Facebook
  • Google Bookmarks
  • Digg
  • Wikio
  • LinkedIn
  • del.icio.us
  • DotNetKicks
  • viadeo FR
  • Tumblr
  • email
  • Print
Posted in English. Tags: , , . 4 Comments »

4 Responses to “Diagnose OTAP problems”

  1. jj Says:

    Hello,

    I have a question, can you send otap syslog to a file?

    best regards

    GD Star Rating
    a WordPress rating system
  2. Florent Clairambault Says:

    I’m not sure of what you mean. But anyway, I don’t think you can.

    The OTAP/Syslog command only enables OTAP logging messages on your local console (whether it’s ASC0, ASC1 or USB). You shouldn’t need to save it anywhere, it’s only useful when your OTAP doesn’t work and you have no idea why. It helps you to :
    - Diagnose wrong OTAP SMS sent
    - Diagnose problems in the actual OTAP process (DNS failure, server connection refused, wrong JAD file, wrong JAR file).

    GD Star Rating
    a WordPress rating system
  3. Andrew Says:

    Hey Florent, I know this blog post is quite old now, but I have a semi-related question. I’m rewriting software that runs on the XT65 module and have been testing OTAP recently. I notice the AMS logs this out (just before reboot I think):

    EVENT_STOP received, wrong implementation of MIDlet

    Ever seen this before or have an idea of what it means? Is it problematic? What does my application code need to do to avoid this?

    Not sure if you’ll get this comment, but thanks in advance for your insight.

    GD Star Rating
    a WordPress rating system
  4. Florent Clairambault Says:

    When the application shutdowns because the chip shutdowns or restarts, the destroyApp method is called. You have 5s to clean everything (like saving the data currently in memory, closing sockets, etc.) and you have to call the notifyDestroy. (ref Java_UserGuid.pdf : 5.7.2)

    So, to solve it, you must properly handle the destroyApp method.

    I have seen this error before and it never created me any problem. So, you shouldn’t worry about this. The only thing you should always avoid is restarting the chip (AT+CFUN=1,1) within the destroyApp method, I’ve seen some people doing it. I don’t think it solves any problem and it totally messes up the OTAP process.

    GD Star Rating
    a WordPress rating system

Leave a Reply