Michal Čihař - Archives

Nokia SMS decoding

Yesterday I finally found some time to analyze all filesystem message dumps for Nokia phones. I always hated way Gammu used to decode these messages, because in most cases decoding was almost same function just with added some random offsets.

After some time looking into the dumps, I finally came out with description of the format. It it still not complete, but it allowed to simplify the code a lot while fixing bugs with some messages previous solution did not catch.

Now I hope I did not miss anything and new code will not introduce new regressions.

Gammu test version 1.24.90

I finally find time to make another release of Gammu. This time it is really just bug fixing and I will stay in this mode for some time, because I have simply too much things to do in real life.

Full list of changes follows:

  • Fix checking for MPBR (bug #873).
  • Fix reading of calls with wrong timestamp (bug #872).
  • Increase timeout for IrDA phonet (bug #867).
  • Better detect some weird phone states (bug #866).
  • Fix handling of caller group in Python bindings (bug #870).
  • Correctly detect empty entries from Motorola.
  • Better error reporting from at-charset test.
  • smsd-inject now shows ID of injected message.
  • Fix decoding of date in Nokia phonebooks (bug #876).
  • Fix detection of SMS message memories in AT (bug #875).
  • Improve documentation for savefile (bug #893).
  • Add stricter check for DBI version (bug #894).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

Summer of Code 2009

This year it looks like Google Summer of Code will bring me much more work than it has brought in past years. Currently I have four students on the track:

  • Mobile phones synchronisation for OpenSUSE. This will hopefully bring improvements to both Gammu and Conduit and the outcome should be working solution for at least some phones.
  • Import improvements for phpMyAdmin. I would say this has been the best GSoC proposal I have seen so far, so let's see how it will progress.
  • Changes tracking in phpMyAdmin. At the end we do have two projects on similar topic, but I want to push one of students more to synchronisation direction.

Let's see what will this bring to participating projects, but I hope all projects will end up at least with partial success and will bring great additions to free software.

Gammu stable version 1.24.0

Gammu 1.24.0 is out! It does not bring any new outstanding features, just small optimizations in SMSD, documentation improvements and various bug fixes.

Full list of changes:

  • Better detect Bluetooth ports on Samsung (bug #862).
  • Ignore security errors on AT init (needed for Huawei).
  • LUID reading requires IrMC profile.
  • Locations for GlobeTrotter 3G+ start at 0 (bug #847).
  • More verbose logging of delivery reports (bug #824).
  • Increase default DeliveryReportDelay (bug #824).
  • Fixed handling of SMS locations (bug #853).
  • PostgreSQL backend now supports IDs for RunOnReceive.
  • RunOnReceive is started through shell not directly.
  • Fixed reading of empty phonebook entries from Samsung (bug #809).
  • Reread messages if CMGL shows them corrupted (bug #691).
  • Added support for vNote files.
  • Properly detect Nokia 6220 Classic (bug #840).
  • Fix writing of phonebook on Motorola V8 (bug #827).
  • Detect daemon on FreeBSD.
  • Ignore charset errors on AT init as some phones might need PIN.
  • Optionally use MT for phone phonebook for AT phones.
  • Added support for quick dial numbers on AT phones.
  • Fixed decoding of Samsung memory entries.
  • Properly handle corrupted messages from Nokia phones (bug #811).
  • Fix parsing of calls from Alcatel C701 (bug #831).
  • Fixed handling of error states with -len and -autolen parameters.
  • Fixed possible crash in DBI engine.
  • PostgreSQL engine properly uses sequences instead of reinventing.
  • MySQL engine properly uses auto increments instead of reinventing.
  • Fix escaping of field name in PostgreSQL engine.
  • Better SMSD files logging.
  • Added testing of SMSD files engine.
  • Increase timeout for AT settings SIM card SMS storage.
  • Fixed date formatting in PostgreSQL SMSD service.
  • Add option to install without documentation.
  • Add -textutf8 option for TEXT sms.
  • Fix crash when some lines in config are too long.
  • Make smsdrc example better looking by removing obsolete docs.
  • Make dku2 connection types work on Linux (alias to fbususb).
  • Better calculation of signal percent.
  • Fixed getting of memory status for some Nokias (bug #836).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in unstable soon, SUSE, Fedora and Mandriva users can check repository in OpenSuse Build Service and Ubuntu in my PPA.

Gammu test version 1.23.92

I decided to change a bit short term plans for Gammu releases and I'm now approaching to 1.24.0 which will be mostly bug fixing and documentation release without any major changes, because it turned out that there is lot of things to fix ;-).

This time there are no really major changes since 1.23.91, only some small fixes in AT code, messages and translation cleanup and better logging from SMSD in some cases.

Full list of changes follows:

  • LUID reading requires IrMC profile.
  • Locations for GlobeTrotter 3G+ start at 0 (bug #847).
  • More verbose logging of delivery reports (bug #824).
  • Increase default DeliveryReportDelay (bug #824).
  • Fixed handling of SMS locations (bug #853).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

Gammu test version 1.23.91

Welcome back on weekly schedule of Gammu releases. The biggest change in this release is in SMSD and RunOnReceive scripting support, which has been improved and now can contain any arbitrary command. Besides that support for vNote format has been added for backups/restores and some minor bugs were fixed.

Full list of changes follows:

  • PostgreSQL backend now supports IDs for RunOnReceive.
  • RunOnReceive is started through shell not directly.
  • Fixed reading of empty phonebook entries from Samsung (bug #809).
  • Reread messages if CMGL shows them corrupted (bug #691).
  • Added support for vNote files.
  • Properly detect Nokia 6220 Classic (bug #840).
  • Fix writing of phonebook on Motorola V8 (bug #827).
  • Detect daemon on FreeBSD.
  • Ignore charset errors on AT init as some phones might need PIN.
  • Optionally use MT for phone phonebook for AT phones.
  • Added support for quick dial numbers on AT phones.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

New chance for S60 3rd Edition

While debugging some problems one user reported with Nokia 6220 Classic, I noticed that recently introduced fbususb connection type somehow works with recent Symbian Nokia phones. This might be interesting way to go (instead of porting gnapplet), I never thought of possibility that Nokia has implemented something really backward compatible in their Symbian phones, let's see whether it can actually be used for something useful.

Gammu test version 1.23.90

It looks like I'm definitely losing Monday release schedule, but it does not matter that much, new release is here anyway. I wanted to push some bigger changes into first testing release after 1.23, but instead of that I did bunch of bug fixes, documentation and test improvements.

Full list of changes follows:

  • Fixed decoding of Samsung memory entries.
  • Properly handle corrupted messages from Nokia phones (bug #811).
  • Fix parsing of calls from Alcatel C701 (bug #831).
  • Fixed handling of error states with -len and -autolen parameters.
  • Fixed possible crash in DBI engine.
  • PostgreSQL engine properly uses sequences instead of reinventing.
  • MySQL engine properly uses auto increments instead of reinventing.
  • Fix escaping of field name in PostgreSQL engine.
  • Better SMSD files logging.
  • Added testing of SMSD files engine.
  • Increase timeout for AT settings SIM card SMS storage.
  • Fixed date formatting in PostgreSQL SMSD service.
  • Add option to install without documentation.
  • Add -textutf8 option for TEXT sms.
  • Fix crash when some lines in config are too long.
  • Make smsdrc example better looking by removing obsolete docs.
  • Make dku2 connection types work on Linux (alias to fbususb).
  • Better calculation of signal percent.
  • Fixed getting of memory status for some Nokias (bug #836).

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

Summer of Code for Gammu

After some thinking I've just filled in application for Gammu in Google Summer of Code 2009. I feel the project is recently getting some boost and it would be great if some students would help us with new ideas.

On the other side I'm afraid that chances to get accepted for such a small project is quite limited, but if you have some great ideas which could be implemented as a summer project, feel free to add them to our wiki, maybe they will attract somebody :-).

Ideas page: http://www.gammu.org/wiki/index.php?title=Gammu:GSoC2009

Gammu stable version 1.23.1

After recently introduced tradition, I again come with bugfix update for 1.23.0 called 1.23.1. This time there is no critical fix as in 1.22.1, but few fixes, which might annoy users, for example forgotten installation of gammu-smsd-monitor tool.

Full list of changes:

  • Documentation clarification.
  • Translations update.
  • Actually install gammu-smsd-monitor.
  • Fix recording received messages count for MySQL.
  • Fix SMS location handling for Huawei E160 (bug #825).
  • Do not probe for MPBR support all the time.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in unstable soon, SUSE, Fedora and Mandriva users can check repository in OpenSuse Build Service and Ubuntu in my PPA.