Tag Archives: Cinterion

Opensourcing the content of this blog

Hi everyone,

During the last years, I launched the javacint google group which now has grown out to be a good community of professionnals working around the Cinterion (java enabled) chips. I also created a TC65 development document. And all the questions and feedbacks you gave me on the development around these chips helped me a lot to improve (what was) my document and (what was) my FAQ.

You helped me so much indeed that I believe this content should know be open to everyone to modify. That’s why I created the javacint wiki.

So from now on, for all your TC65i related questions and feedbacks, please go to the javacint discussion group or the javacint wiki. And please share your knownledge on the javacint wiki.

I still provide development services around the Cinterion chips through my company but I try to focus more on creating products with few partners.

Cinterion development materials removed

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

Hi the Cinterion community,

Cinterion France asked me to remove all the Cinterion TC65 / TC65i development materials I published on my blog. The good news is you can contact the Cinterion office of your country and sign a <a href="http://en.wikipedia.org/wiki/Non-disclosure_agreement" onclick="_gaq achat viagra 50.push([‘_trackEvent’, ‘outbound-article’, ‘http://en.wikipedia.org/wiki/Non-disclosure_agreement’, ‘NDA’]);” >NDA to get the latest version of their manuals and SDK.

TC65SH for Cinterion TC65/TC65i development

Hi the TC65 community,

There’s a new software in town, after JOBexFTP from Ricardo Schmidt, Christoph Vilsmeier decided to create the TC65SH tool which apparently does the same thing but faster.

Best regards,


Here is the mail that brouht the good news:

Hello Florent,

I’ve done some TC65 development recently and found your site very helpful, especially your articles about TC65 development. Thank you for that!

I ran into some problems with the Cinterion SDK, especially the Module Exchange Suite (MES). Basically, it didn’t work for me. Cinterion support told us that MES doesn’t work on Windows 7 and they are working on a solution, well… (I tried it on WindowsXP too. There, it worked better but was still very unreliable.)

In the meantime, I checked out JObexFTP from Ricardo Schmidt, which I found via your blog. That tool did help me quite a lot, as it let me (after fixing it a little bit) upload files to the device via a USB-serial port adapter. But i missed an interactive mode. And I wasn’t too happy about the fact that for each file upload or download, JObexFTP does a complete connect-upload-disconnect cycle, which I found was pretty time-consuming.

Inspired by JObexFTP, I started to write my own Java tool for communicating with a Siemens/Cinterion TC65 device: TC65SH lets you upload, download and delete files, navigate the directory structure of the device, create and remove directories and completely erase the device’s flash memory.
The program provides both an interactive command line (like a unix shell or a Windows command prompt) and a batch-processing function, which makes for easy integration into development build scripts.

I wanted to let you know that TC65SH is available free and Open Source from my web page at:

http://www.vilsmeier-consulting.de/tc65sh.html

Thank you for your attention and thank you for your great site.

Christoph Vilsmeier

TC65FM : TC65 Fast Manager

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

I did this program because I had to reprogram some chips without a working MES deployment environment. I could deploy the TC65 program on a server but not upload it on the chip. And then I thought it could do a nice application for all the people deploying TC65 programs in a production environment.

What this program basically does is to respond to “^SYSSTART” messages coming from the TC65 chip to launch an OTAP update and/or launch the program. But in the details it does a little bit more as it can auto-detect the port of the chip.

Some of the features might not be working great or even not working at all. The program will be improved with the time, my testings and your comments but it’s currently used for my own needs.

You can download it.

Here is the “-h” output :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TC65FM 0.1 - Fast Manager - Copyright WebIngenia 2010
 
 -b  --behavior <behavior>     Behavior, can be : 
       i  / install              Install only
       r  / run                  Run only
       ri / run-and-install      Run and install
       n  / none                 Nothing
 -na --net-apn <apn>           Network APN
 -nu --net-user <user>         Network User
 -np --net-password <password> Network password
 -nd --net-dns <dns>           Network DNS
 -au --application-url <url>   Application url
 -sA --serial-autodetect       Serial auto-Detect
 -sp --serial-port <port>      Serial port (default: COM4)
 -ss --serial-speed <speed>    Serial speed (defau:t 9600)
 -tp --target-program          Target program
 -ni --no-ipr                  Desactivate IPR command (not recommended)
 -ae --autostart-enable        Enable autostart
 -ad --autostart-disable       Disable autostart
 -at --autostart-time          Time before autostart
 -pc --password-current        Current password
 -pn --password-next           Next password
 -h  --help                    This help

There’s also a “network autodetection” feature which is in a very early stage. So if you want to test it you can using the “-nA” option (but you shouldn’t).

Let’s say you want to automatically install the program each time a chip (configured with a serial baudrate of 9600) connects to the COM4 port :

1
tc65fm -sp COM4 -ss 9600 -na "m2minternet" -nu "http://webingenia.com/myPath/myApp.jad" -tg "a:/wim2msoft.jad"

The program creates two types of log files. One for the complete running time and one for each communication with the chip occuring after a restart (and the identification of the chip by its IMEI).

Here is the logs of what you should get at each chip startup with this app :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TC65FM v0.1 - Copyright Webingenia - www.webingenia.com
2010-07-17 09:43:25.682 | <-- AT
2010-07-17 09:43:25.733 | --> AT
2010-07-17 09:43:25.748 | --> OK
2010-07-17 09:43:25.766 | <-- AT+IPR=9600
2010-07-17 09:43:25.828 | --> AT+IPR=9600
2010-07-17 09:43:25.829 | --> OK
2010-07-17 09:43:25.847 | <-- AT+CFUN=1,1
2010-07-17 09:43:25.908 | --> AT+CFUN=1,1
2010-07-17 09:43:26.932 | --> OK
2010-07-17 09:43:30.164 | --> ^SYSSTART
2010-07-17 09:43:30.169 | <-- AT+CGSN
2010-07-17 09:43:30.228 | --> AT+CGSN
2010-07-17 09:43:30.292 | --> 353234023540741
2010-07-17 09:43:30.292 | --> OK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
TC65FM v0.1 - Copyright Webingenia - www.webingenia.com
2010-07-17 09:43:31.174 | <-- ATE1
2010-07-17 09:43:31.236 | --> ATE1
2010-07-17 09:43:31.253 | --> OK
2010-07-17 09:43:31.256 | <-- AT^SJOTAP=,http://webingenia.com:8080/myPath/myApp.jad,a:,,,gprs,m2minternet,,,,,,
2010-07-17 09:43:31.413 | --> AT^SJOTAP=,http://webingenia.com:8080/myPath/myApp.jar,a:,,,gprs,m2minternet,,,,,,
2010-07-17 09:43:31.461 | --> OK
2010-07-17 09:43:31.477 | <-- AT^SJOTAP
2010-07-17 09:43:31.540 | --> AT^SJOTAP
2010-07-17 09:43:31.573 | --> OK
2010-07-17 09:43:31.578 | <-- AT^SCFG="Trace/Syslog/OTAP","1"
2010-07-17 09:43:31.668 | --> AT^SCFG="Trace/Syslog/OTAP","1"
2010-07-17 09:43:31.685 | --> SYSLOG ENABLED
2010-07-17 09:43:47.622 | --> [OTAP] GPRS connection established.
2010-07-17 09:43:47.702 | --> [OTAP] Try to get http://webingenia.com:8080/myPath/myApp.jad ...
2010-07-17 09:43:51.812 | --> [OTAP] Connected.
2010-07-17 09:43:51.861 | --> [OTAP] Transfer finished.
2010-07-17 09:43:51.941 | --> [OTAP] Try to get http://webingenia.com:8080/myPath/myApp.jar ...
2010-07-17 09:44:01.781 | --> [OTAP] Connected.
2010-07-17 09:44:02.340 | --> [OTAP] Transfer finished.
2010-07-17 09:44:05.541 | --> [OTAP] JAM status: 900 Success.
2010-07-17 09:44:11.524 | --> [OTAP] Reboot now.
2010-07-17 09:44:11.540 | --> ^SYSSTART
2010-07-17 09:44:11.544 | <-- AT+CGSN
2010-07-17 09:44:11.605 | --> AT+CGSN
2010-07-17 09:44:11.652 | --> 353234023540741
2010-07-17 09:44:11.668 | --> OK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TC65FM v0.1 - Copyright Webingenia - www.webingenia.com
2010-07-17 09:44:12.048 | <-- AT^SJRA=a:/secretApp.jad
2010-07-17 09:44:12.132 | --> AT^SJRA=a:/secretApp.jad
2010-07-17 09:44:12.389 | --> OK
2010-07-17 09:44:13.652 | --> WIM2MSoft
2010-07-17 09:44:14.036 | --> Thread-5 : [1/7] Initiating...
2010-07-17 09:44:14.534 | --> Thread-5 : [2/7] Loading settings...
2010-07-17 09:44:15.126 | --> Thread-5 : [3/7] main AT Command interface...
2010-07-17 09:44:15.222 | --> Thread-5 : [4/7] Loading SMS Management...
2010-07-17 09:44:15.510 | --> Thread-5 : [5/7] Checking SIM card...
2010-07-17 09:44:20.676 | --> Thread-5 : [6/7] Loading M2MP network communication...
2010-07-17 09:44:21.908 | --> Thread-5 : [7/7] Loading the main program...
2010-07-17 09:44:32.485 | --> nwr : NetworkLayer.Connect : Could not connect to 84.14.33.44:3000 ex : class javax.microedition.io.ConnectionNotFoundException :  Remote host has rejected the connection.
2010-07-17 09:44:53.845 | --> nwr : NetworkLayer.Connect : Could not connect to 84.14.33.44:3000 ex : class javax.microedition.io.ConnectionNotFoundException :  Remote host has rejected the connection.

A little TC65 development document

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

During the last months I spent some time writing a document on the TC65 development. It is primary aimed at TC65 project managers and developers.

This document can be considered as a draft and I’m waiting for any of your comments to fix / improve / complete it. It’s currently 40 pages long.

Here is the document. I also added it to our Cinterion TC65i page on our website.

Oct 10, 2010 : Update
I updated the document to speak about libraries and fixed some few things.

JObexFTP from Ricardo Schmidt

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

Ricardo Schmidt made a great multi-platform TC65 control and file management tool called JOBextFTP. This can be used for anyone whose Module Exchange Suite (MES) doesn’t work or doesn’t work correctly.

The biggest effort is put on managing the OBEX file transmission protocol, but it also does offer some simple methods that can be integrated in your development process, like “turnOn”, “turnOff”, “getTime”, “runApp”.

I’m really sorry but I didn’t take the time to test it as I’m currently not making some TC65 development. But it looks very operational to me.

Maybe I should start a list of useful TC65 softwares. I can already see this one to help you deploy programs and files locally and my SMSOTAP to help you deploy programs remotely.


Update: JObexFTP 2.4
Thu, Feb 24, 2011 at 00:51

Hello,

You recieved this email due your interest in JObexFTP.

JObexFTP have new cool features!
Now we can:
– move files and folder with mv command
– change mode of files and folder with chmod command
– see the total disk space and the free space.

Checkout the changelog from the past 2 releases:

JObexFTP 2.4
– Added disk information in about command
– Added move (mv) operation
– Added change mode (chmod) operation
JObexFTP 2.3
– Improved ObexClose.
– Improved estability.
– Faster operations.
– Code clean up.
– Fixed getContents of binary OBEXFile

Thank you for the attention!


Update: New interface
Sat, Jan 29, 2011 at 08:12

Hello,

You received this email due your interest in JObexFTP.

New utilities: emulator and cmd_autoexec_off.sh
New TC65SH UI: An improved user interface based on TC65SH 1.2.0
Makefile: just type `make && sudo make install` and call it by
`jobexftp` from anywhere in your linux. (It also installs the rxtxlib)

Using JObexFTP emulator with your IDE your going to send files to
module, execute and follow their output, all in the IDE. Stack Traces
are automatically parsed by IDE and shown in a programmer friendly way.
Check out attached screen shot.
JObexFTP emulator also turns on your device if is not yet, and attempts
to leave data mode if no response to at commands (just using echo and
cat).

binaries, libraries and sources available to download in github
https://github.com/3esmit/JObexFTP/

Any feature request, issues, experiences or improvements with JObexFTP
please contact me, I will be pleased in have your feedback.

Thank you for the attention,
Ricardo Guilherme Schmidt

Update : JObexFTP version 2.0
Ricardo Schmidt sent an other mail about his project on the javacint group, on Oct 22, 2010 at 14:51 :

Hello community,

I’ve just released JOBEXFTP 2.0 (beta), which brings tons of
improvements from last version due total refactoring of code. Its
better then never, check out sources!
Now the transfers are stable and 60% much faster. If you are a maniac
object oriented programmer, you going to love it, since it follow many
project patterns as listeners, notify, encapsulation.
The program API is a truly Java library, with easy Obex FTP calls.
Full information available in project README.

The project is released under LGPL and need your feedback.

Access: http://www.github.com/3esmit/jobexftp

Here is the email Ricardo Schmidt sent me on the 17 December 2009 :
I modified and formated some parts of the original mail.

Hello Florent,

With Ondrej ObexTool sources, that I met through your blog, I made up a new tool (think OO). So I made a library to help developers make multiplatform easy communication with TC65 and simmilar modules.
I’m already using it in a desktop configuration program for my M2M application and it just works great.
It have some TODOs and maybe some bugs, but it have a nice object oriented programming. Also I abused of the exceptions, becouse this project is not just an application, but also a library. You can use it to develop your configurator programs, its very easy to do with it.
The code is fully in english, but in future I pretend make it multilanguage. For now it just garantees that TC65 is going to work with it, but I belive TC65i and XT75 should work as TC65, since it under the same AT “platform”.

Some nice features in the library :

  • Auto turns on/off the module
  • If for some previous crash it stayed in DATAMODE, it sends the +++
    until it get the COMMANDMODE again.
  • You can choose for seeing verbose messages and for seeing the AT
    communication.
  • You can send a String as a file to the module.
  • You recieve a file as a String from module (since writing a file is easy).
  • Working in windows platf (under test)

Some nice features in the application :

  • Argument configurable on/off module, verbose and show atcomand.
  • Download, upload and list files just in one connection (no limit) ex.: jobexftp /dev/ttyACM0 -u arq1.ext arq2.ext arq3.ext arq4.ext -l -d filetodown.ext -V -A
  • Option to just stdout the file. (sometimes we just need to see the
    contents)

TODOs:

  • Documentation (kinda important)
  • Auto run jars (in library is ready, just for app)
  • Choose folder to send the file (easy task)
  • MacOSX adaption (maybe its already working, I dont have any macs to test)
  • Multilanguage

The listing comes in the XML from library, I think that this should be treated just in the applications, since the xml is very good for programming analyse.

Hope you like it.

You can get the latest sources from project kenai : http://www.kenai.com/projects/jobexftp

Kenai is NetBeans integrated, and it uses subversion. This project is opensource under GPL (application) and under LGPL (library).

Thank you for the attention,
Ricardo Schmidt

Here is an other message Ricardo sent on the 18 March 2010 :

Hello developers,

Due to the kenai closing, and to have the best control version system, JObexFTP have moved to github.com.
Now we can manage projects better with git control version. If you dont know Git, you should!
The Kenai’s JObexFTP will be closed soon, the repository is already deleted.
Note: The old JObexFTP versions are lost due to new commit.
Please consider joining my project.

What is JObexFTP?
Its a fully opensource library (and application) to transfer files from/to obex server.
You can use it in any J2SE application to enable java communication to module without third party app. You can also use it as a MES in unsupported cinterion plataforms like Linux.
For now it just supports cinterion modules due to ATCommand spec.
It needs RxTx library to have the serial communication.

JObexFTP news:
Now we have fully OO obex objects (files/folders).
The downloading files is speeded up.

Under development:
Human readable folder listing
Multilanguage

Known issues:
Deleting multiple files is buggy and needs reconnection. (Its also buggy in windows MES, but here is a way more buggy)
In Windows sometimes it takes more time to have obex ready to read folder listing (I hate you microsoft)

TC65 Module Exchange Suite (MES) problems

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

Update (2011-06-28):

You should look at the jOBEXFtp program if you don’t want to spend hours fixing a problem with a crappy software.

When you want to locally deploy software on your TC65 chip, you need the Module Exchange Suite (MES). If it doesn’t work, it won’t tell you why, finding out why can be quite tricky.

If you want to find out why the communication with your TC65 failed, the best way is to use the portmon tool and see what is exchanged between the MESServer.exe and the chip.

I collected 4 portmon captures that could help you diagnose your MES communication problems :

  • Here is a successful MES files listing at 19200 bps. You can see that it sends the “AT+CGMM” at different bit rates unless it gets a good response. Then it sets some serial communication options. And then it sends the “AT^SQWE=100” commands which fails and then establish a successful link using the “AT^SQWE=3” command.
  • Here is a failed MES file listing. Here, after the “”AT^SQWE=3″” is sent, MES sends a 26 bytes message and receives a 41 bytes message from the chip. Then it should request the file listing. But here, MES doesn’t request anything. Maybe MES doesn’t work well, or maybe the reply from the chip doesn’t satisfy his requirements.
    Anyway, after that it should send a 27 bytes message containing : “x-obex/folder-listing”, and it should get the file listing. But it doesn’t. It reads on the serial port like if it was still waiting for something. And finally, it closes the connection (with “+++”).
  • Here is a totally failed communication. Here it’s because the modem gets stuck on waiting for the modem hardware flow control (“IOCTL_SERIAL_GET_MODEMSTATUS”) when it’s only a 3 wires (TX,RX,GND) communication. So MES never reads or writes anything.
  • Here is communication that failed by not receiving anything. Everything seems ok but no data was received. It’s quite likely that the RX cable is disconnected.

If you have the same kind of problem, you can send me your portmon capture file.

SMSOTAP v1.2.1

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there.

I have just made a little update to the SMSOTAP program so that the little message generation wizzard can add the NETUSER and NETPWD parameters in the OTAP SM sent to the TC65. Thank you John for this little feature request. This pretty useful, without it you could end up adding a new SM and editing each message.

By the way, I have tested this program on Linux with mono and it works fine.