Today I am writing a small post to do with autostart applications for TC65/XT65  Siemens modems and TC65T, MTX65 and MTX65+G terminals distributed by Matrix. Most of you are likely to know about it, but those of you who are beginners won’t. Therefore writing a bit about it is not a bad thing.

If you start working with these Siemens/Cinterion modems, you will probably spend a bit of time reading the initial documentation, installing the development environment and doing the first steps for J2ME (maybe with an example you found on the internet ;) ).

There will come a time when you have made your Java application and you want the application that you have made to automatically start when power is supplied to the modem. Unless you are testing it, it doesn’t make sense to always start the application with the command AT^SJRA.

To auto-configure the modem so that an application starts automatically you use the command AT^SCFG. If you write AT^SCFG? you will see a lot of configuration data. At the bottom near the end you will see something like:


^SCFG: “Userware/Autostart”,”1″
^SCFG: “Userware/Autostart/AppName”,”a:/HelloWorld.jar”
^SCFG: “Userware/Autostart/Delay”,”100″

Programación java Siemens

If you set the “Userware/Autostart” to 1 like in the previous example, supplying the modem with power will automatically start the application specified in “Userware/Autostart/AppName”. In the above example the application “a:/HelloWorld.jar” will start.

I’m to configure the above parameters but I get an error. Why is that?

You probably haven’t specified a password. There are certain commands, including these, where you can set a password to avoid anyone changing anything (a password that you can set in “Userware/Passwd” with the same command AT^SCFG). If you still haven’t specified a password, the right AT command to set autostart is:

at^scfg=”Userware/Autostart”,”",”1″
at^scfg=”Userware/Autostart/AppName”,”",”a:/HelloWorld.jar”
at^scfg=”"Userware/Autostart/Delay”,”",”50″

Notice the empty double quotes above. They are empty because a password hasn’t been specified.

Now I don’t get an error. What is the Delay for?

The delay allows you to set the length of time from when the modem has a power supply until the Java application specified in “Autostart/AppName” is turned on. The pause is in tenths of a second, so the value of 50 is equal to 5 seconds.

Why would I want a pause? I want it to start immediately. I’ll put 0.

Ok so the application will start almost immediately, but keep in mind that whenever you have a Java application running inside you can’t access the modem by the serial ports or the USB port (neither with AT commands nor MES). So if you put 0, it will cost you a lot to deactivate the autostart for example. The internal Java application will have immediate control of the serial ports.

Argghh I didn’t realize and I’ve already set the Delay to 0 and I can’t access the modem at all. Will I be charged?

No but now you will have to use a Siemens application that you’ll find by clicking on “Start-> All Programs-> Siemens-> (TC65 or XT65 ….) -> Autostart Switch Off.”

This utility sets the “Userware/Autostart” to zero. It’s quite complicated because you have to start the modem and immediately push the software’s button. This is so that for the brief moment from when the modem switches on to when Java application starts, the Switch Autostart Off program will send a command to set autostart to 0. It will take a few minutes so don’t worry.

Anyway if it doesn’t work after a few minutes let me know and I’ll send you a little program that I made which basically does that same as the Siemens program but it’s a lot quicker. With this program when you press the button it sends frames at^scfg=”Userware/Autostart”,””,”0″ at full speed (and not just once) so it is easier for the modem to “catch” a frame.

Ok I’ve managed to unblock it, that scared me! So should I always have a Delay?

I would say yes, at least during the development phase. If you set the delay to 50 for example, it buys you five seconds from when the modem gets a power supply which is plenty of time to send at^scfg=”Userware/Autostart”,””,”0″ to deactivate the autostart.

I hope you found the article useful. See you again soon! ;)


Post relacionados:

  1. FTP Java Example for Siemens Modems Today I am going to write a small post with...
  2. Adding Data to Files from Java with Siemens-Cinterion Modems On several occasions I have been asked how to add...
  3. (Español) Ejemplos Java para módems de Siemens Over the last few months I have been getting a...
  4. Locating Difficult Reproduction Failures in TC65/XT65 Cinterion Modems If you develop applications in Java for GPRS TC65, XT65 (or their MTX65 or MTX65+G terminals...
  5. Java Email Example for Siemens/Cinterion Modems This morning I spent a while testing sending emails through...








Tags: , , , , , , ,
34 Responses to “Java Application Autostart in Siemens Modems”
  1. joan says:

    Tengo un dispositivo conectado via rs232 al TC65T que arranca con una aplicación Java. Si cuando enciendo el TC65 el dispositivo externo empieza a enviarle información inmediatamente a través del rs232, la aplicación java no arranca. La información que el dispositivo le envía no son comandos at.

    Si enciendo el TC65 y seguidamente lo conecto al dispositivo, entonces si que va bien.

    Igual poniendo el delay a 0 no daría tiempo a que el módem lea la información que le llega por el rs232 y evita que se cuelgue.
    Saludos y gracias

  2. joan says:

    Más información sobre la consulta anterior. El delay ya lo tengo a 0.

    A parte una aclaración sobre Switch Autostart Off de Siemens.
    Para hacer el Switch Autostart Off con la utilidad de Siemens no hace falta encender el módem. Basta con conectarlo al puerto, y apagado ejecutar la utilidad.
    Yo mismo me pregunto como lo hace estando apagado pero después de darle al Autostart Off sale el mensaje Autostart successfully switched off y funciona, yo lo hago así siempre.

  3. blogElectronica says:

    Hola Joan,

    ¿qué versión de firmware tiene tu módem (comando ATI)? La verdad es que nunca he probado la situación que planteas.

    Otra opción que tienes para lanzar la aplicación es unar el parámetro AUTOEXEC del AT^SCFG para lanzar un único comando AT (el at^sjra) por ejemplo a los x segundos de encenderse el módem.

    Con respecto a lo último que indicas, me sorprende muy mucho, lo probaré mañana, no te quepa duda. Ya te diré.

    Salu2

  4. joan says:

    Gracias por la rápida respuesta.
    La versión del TC65 es la 2.0 y tanto el dispositivo como el módem trabajan a 115200.

  5. borja says:

    Hola Jose,

    ¡Feliz año 2009!

    ¿Me podrías pasar el programilla que manda las tramas de desactivación del autostart más rápido que el de Siemens?, porque cuando tengo puesto el delay bajo la verdad que me cuesta desactivarlo bastante…

    Saludos,

    Borja

    • blogElectronica says:

      Hola Borja,

      feliz año !!!

      Si, te envío mañana el programilla a tu email.

      Salu2.

      • Andoni says:

        Hola. ¿Podrías mandarmelo a mi también?
        No consigo desactivar el autostart. ¿Tiene algo que ver por que puerto (ASC0 / ASC1) me conecto al modem?

        Muchas gracias.

      • Fernando says:

        Antes que nada muy bueno el blog! estoy comenzando a usar el XT65 y en esta pagina encuentro todo lo que necesito!

        Desgraciadamente le puse el delay en 50 y no logro desactivarlo. ¿Podrías enviarme el programa para desactivarlo?

        Muchisimas gracias

        Fernando (Santa Fe, Argentina)

    • galquicira says:

      Hola que tal.

      Excelente BLOG!!!…De gran apoyo y consejos..Espero que me puedas proporcionar el programa que utilizas, se me quedo mi siemenes atorado…muchas gracias y saludos

  6. miguel says:

    Que tal
    Por favor ayudenme con lo siguiente, tengo equipos siemens 65G y 65C, funcionan sin problema por un tiempo pero de repente se quedan detenidos, incluso al aplicarle voltaje al modem, éste no responde, verifico la configuración mediante el comanto at^scfg?, y veo que se ha perdido la configuración de Autostart, me marca:
    ^SCFG: “Userware/Autostart”,”0″
    ^SCFG: “Userware/Autostart/AppName”,””
    ^SCFG: “Userware/Autostart/Delay”,”0″

    Se desconfiguro el equipo y aún no entiendo por que, ¿les ha pasado ha ustedes? ¿que debo hacer para que no pase?
    Gracias y por favor ayudenme.
    Saludos

    • blogElectronica says:

      Hola Miguel,

      esto que me comentas jamás lo he visto en un XT65 ni en un TC65, y te aseguro que han pasado por mis manos muchísimos.

      Evitentemente no responde (entiendo que lo que quieres decir es que no arranca la aplicación) porque no está configurado el Userware/Autostart. Tendrás que volver a configurarlo. Si te vuelve a ocurrir con ese equipo tendrás que hacer un RMA con el fabricante, te aseguro que no es normal, no lo he visto nunca.

      Salu2.

      • miguel says:

        Gracias por tu respuesta, las pruebas que he realizado es que por alguna razón, cuando el equipo recibe menos de 4 volts, y se queda así por más de dos días, comienza a reiniciar constantemente hasta llegar a un momento en que al aplicarle nuevamente los 12 volts, se queda detenido y por alguna razón se borra la configuración de “Autostart”, la versión de software que utilizamos es 2.8 y 3.0, aún no se si tiene que ver con que no correo bien alguna rutina del programa o incompatibilidad con la red celular GPRS (en este caso Telcel México).
        Si saben algo al respecto, les agradecere mucho que me digan por favor.
        Saludos y gracias nuevamente.

      • Richi says:

        Hola Miguel:

        Cuando dices que tu equipo se para, entiendo que quieres decir que está funcionando la aplicación java continuamente y, de repente, la aplicación se para. A mí me está pasando lo mismo. La aplicación puede durar 20 minutos o 3 horas.

        Saludos. Richi.

  7. blogElectronica says:

    Hola Miguel,

    me temo que desconozco el equipo que estás usando. Si me dices que estás usando la versión 2.8 y 3.0 es que estás utilizando un TC65, pero no con un TC65T (pq ahora sólo usa la 2.0), ni un MTX65 (porque no tiene versión 2.8) ni un MTX65+G.

    Tendrías que consultar al fabricante de tu hardware, que entiendo es un equipo que tiene un TC65 en su interior. Él te tendría que decir qué es lo que hace con el módem para que cuando recibe 4V se resetee la configuración.

    Salu2.

    • miguel says:

      Gracias por el apoyo, ya lo estuve checando con nuestro proveedor y efectivamente y nos comento lo siguiente (para que estén enterados), el problema puede ser que alguna rutina del programa no se este ejecutando correctamente y por tal motivo se reinicia el el modem; y la otra es que la memoría flash pueda estar saturada y ocasionando algún conflicto por lo que al reiniciar el modem se eliminan los archivos de “autostart”. Sigo con el problema y al parecer ya se esta solucionando, les dire en que termina todo esto.

      Gracias y que tengan un excelente inicio de semana.

      Saludos.

  8. miguel says:

    Disculpa la lata, pero una pregunta más, ¿alguien sabe para que se utiliza el siguiente parámetro: at^scfg=”Userware/Stdout”,”NULL”? he estado investigando pero no encuentro en los manuales para que se utiliza dicho parámetro.
    Gracias.
    Salu2

  9. Pua says:

    Para no tener la salida stdout .

    no a ASC01, NO a ASC0, NO a USB, NO a Socket TCP solo a NULL

    so easy

  10. alguien me podria ayudar con un programa que al introducir la cantidad en segundos que nos diga cuanta semanas es, dia,

    si alguien me puede ayudar

    ayudenme por favor

  11. Pua says:

    Gabriel,

    tienes un ejemplo en este blog de como fijar y calcular la hora. Con unas pocas modificaciones seguro que lo puedes adaptar a lo que estas pidiendo.

    Ya sabes, a buscar y a modificar

    Salu2

    Pua

  12. Fernando says:

    No logro desactivar el autostart, ¿me puedes enviar tu aplicación? Gracias

  13. LLuis says:

    Un comentario.
    No se pueden poner carácteres especiales en el nombre de la aplicación (p. e. “_”), si no se configura correctamente, pero al final no arranca.

    Saludos.

    • blogElectronica says:

      Hola Lluis,

      tienes toda la razón, la aplicación se puede ejecutar manualmente con AT^SJRA pero no mediante el autostart si el nombre de ésta tiene un “_” bajo u otro caracter especial.

      Salu2

  14. Pua says:

    Hola,

    La correlación entre el alfafeto ASCII de las computadoras y el alfato GSM no es parcial.

    Prueba a eliminar ese caracter o enviarlo como secuencia de escape a la GSM engine

    Salu2

    Pua

  15. Sophy says:

    Hola!
    Soy principiante en esto y de verdad que el blog me ha sido de mucha utilidad! En algunas oportunidades he podido detener el inicio de la aplicación con el Autostartoff, sin embargo, ahora tengo un equipo con el que no me ha sido posible. ¿Me podrías enviar tu aplicación? Gracias!

  16. Juan says:

    Hola, estoy desarrollando una aplicación y corre en el módem TC65i. El problema que tengo es que traté de configurar al autostart tanto como dice la documentación como en lo descrito en este blog pero el programa no arranca al alimentar el módem.

    AT^SCFG=”Userware/Autostart”,”",”1″
    AT^SCFG=”Userware/Autostart/Delay”,”",”80″
    AT^SCFG=”Userware/Autostart/AppName”,”",”a:/TC65i_AutoStart.jar”

    ¿Hay que configurar algún otro parámetro para que el autostart funcione? o ¿Los parámetros que tengo son incorrectos?

    • blogElectronica says:

      Hola Juan,

      el problema es el “_” que tienes en el nombre. El autostart no funciona si el nombre del programa tiene un “_”, aunque sí te funcionará si lo lanzas con el AT^SJRA. A mi también me ocurrió en su día.

      Salu2!!!

  17. Miguel says:

    Estoy empezando con esto de los modem y esta página me está sirviendo de mucha utilidad.
    para ejecutar un programa automáticamente en el módem TC65, hice lo siguiente:
    AT^SCFG=”Userware/Autostart”,””,”1″
    AT^SCFG=”Userware/Autostart/Delay”,””,”50″
    AT^SCFG=”Userware/Autostart/AppName”,””,”a:/ejemplo.jar”

    Usaba el MES y no me generaba el fichero que yo pretendía, entonces desactivé la ejecución automática del programa:
    AT^SCFG=”Userware/Autostart”,”",”0″

    ahora intento acceder al modem a través del HyperTerminal y no se conecta ¿Qué me está pasando?

    Un saludo y gracias por todo.

  18. Miguel says:

    Después de mucho probar ya puedo acceder de nuevo al modem a través del HyperTerminal y puedo activar/desactivar la ejecución automática,

    he visto los vídeos que has subido sobre montaje y configuración del entorno de desarrollo, he instalado todo tal y como dice la guía, pero me da el siguiente fallo:

    Download aborted, because of:
    Flash Files System of the module is full or
    communication problem to the module or
    Module is switched off

    otra pregunta: ¿el cable USB es imprescindible para depurar? yo tengo un TC65 y no trae el hueco con el USB.

    Un saludo.

    • blogElectronica says:

      Perdona el retraso Miguel, pero he estado hasta la bandera estos días.
      No sé si lo habrás conseguido o no, pero para depurar yo siempre he usado el puerto USB, con el puerto USB se puede debugar, algo lento, pero bastante bien.

      Por el puerto RS232 también pero creo que es algo más complicado. En la conexión de red “remote for debuggin …” asegúrate de asociarla al COM adecuado (lo mismo que lo harías asociando al módem USB en caso de que tuvieras USB).

      Otra opción con truco: Desmonta un TC65T, fíjate bien en la placa base y únicamente sueldale el conector USB (si, en el único sitio donde puede ir soldado, un conector de esos USB cuadrados grande típicos de impresora)). Obviamente la carcasa no tiene el agujero para USB, pero puedes debugar sin caja para las pruebas que quieras hacer por USB.

      Salu2.

  19. cesar says:

    Buenas, otra vez, vengo con pequeños problemas.

    El blog, como siempre, fantástico.

    Estoy usando un TC65 con el que envio y leo de FTP sin problemas.

    Ahora bien, necesito leer un dispositivo que manda un archivo txt plano cuando recibe un pico de tensión en el DTR. Tengo puesto el pin 8 del módulo Cinterión a dicho pin, ya que cuando abro el puerto, dá un pico de 5.60 en dicho pin y activa el dispositivo…..

    Hasta ahí bien, pero luego intento leer los datos uniendo el pin de datos del dispositivo con el pin 2 del Cinterión (Rx), para lo que uso las rutinas citadas en los ejemplos de este blog. (com0.open……..).

    Bien, pues si los datos los mando con el ordenada al Cinterión ( modo consola ), los lee sin problemas, pero si los leo del dispositivo, nada de nada. Se queda esperando y, si alguna vez lee algo, lo lee mal, como si la velocidad no fuera la adecuada….

    Todos los parámetros de baudios, paridad, etccc… los tengo bien, ya que llevo años leyendo esos dispositivos con PDA’s, Portátiles y demás, y nunca he tenido problemas.

    Para vuestra información, el Pc lee perfectamente el dispositivo que conecto al Cinterión…

    ¿ Qué puede ser ?… Me tiene loco……. Urgenteeeee!!!

    Muchas gracias.

  20. felixxuco says:

    Hola a todos,
    El año pasado compré un MTX-IND y me ha funcionado bien, hasta hoy que no me inicia la aplicacion automaticamente.

    Le configuro como siempre el nombre de la aplicación, el delay a 300 y el autostart a 1.
    Quito alimentación le vuelvo a dar y nada.. ya puede estar una hora que no arranca.

    Sin embargo si fuerzo la ejecución de la aplicación si que la ejecuta, por lo que entiendo que la aplicación está bien.

    todo esto ha sido a raiz de mandarle una configuracion de delay a 600 que por el hyperterminal me devolvió error fatal y codigos alfanuméricos.

    El resto del equipo parece que funciona bien, pero como digo, no se inicia automáticamente.

    A que puede ser debido?? Hay algun parámetro mas que se me puede haber desconfigurado? Tiene solución?

    Gracias!!

    • blogElectronica says:

      Hola Felixucco,

      tenia tu comentario en la carpeta spam. a demás creo que ya lo hemos hablado por email o por teléfono, pero pongo la respuesta aquí por si puede ser de utilidad a algún compañero.

      El nombre de la aplicación NO DEBE tener el caracter “_” porque no arrancará automáticamente la aplicación.

      Salu2!!!

  21.  
Leave a Reply

Puedes publicar un comentario aquí si quieres, pero te recomiendo que uses el nuevo foroElectronica.com para introducir comentarios. Te contestaré más rápido. Recuerda que debes registrarte si no lo estás para publicar un comentario.