Michal Čihař - Blog Archives for English

Gammu stable version 1.23.0

After two months of heavy development, new Gammu stable release is out. There are quite a lot of changes and I'm not really convinced it makes sense to include full list of almost 150 lines from ChangeLog, so here are the most important changes (I'm sure I missed something, but I think the list is already too big):

  • Lot of SMSD related changes.
    • New DBI backend which handles nicely many databases.
    • SMSD and inject tool are now separate binaries.
    • New monitoring tool for SMSD.
    • SMSD can now run as a Windows service.
    • SMSD behaves nicely as a daemon on Linux (syslog support, SIGHUP handling, proper daemonizing, etc.).
  • Merger of python-gammu.
    • Python bindings are no longer separate projects, they are now part of Gammu release.
  • Better support for Nokia USB cables on Linux.
    • Gammu now has libusb-1.0 based support for Nokia USB cables.
    • This gives us performance boost and support for DKU-2 cables.
  • Much more tests.
    • About 1/3 of code is now covered by test cases.
    • Dummy phone backend to allow testing without connected phone.
  • General code cleanup.
    • Fixed tons of problems found by test cases, valgrind and cppcheck.
    • Reorganised code structure a bit to make clear what parts are supported.
  • Documentation.
    • Several new man pages have been added, most important is documentation for SMSD and all it's features.

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.22.95

Okay, again delay :-). I wanted to push this version out yesterday, but real life has caught me and I did not manage to do it. So this time Gammu is released on Tuesday, but I want to get back to Monday releases next week.

If all things go without problems, this is last testing release before 1.23.0. Besides changing files structure a lot (I hope current one better matches current state of code), there are only some minor fixes and cleanups.

Full list of changes follows:

  • Reorganize directory structure to match current state of things.
  • Completely switch DBI driver to utf-8.
  • Fixed date off by 1900 error in some cases.
  • Cleanup a bit phonet driver.
  • Handle properly requests for network code (bug #819).
  • Allow to enter more security codes through SMSD (bug #819).
  • Fixed restoring to specific folder on AT (bug #815).

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.22.94

Today is Monday, what means it is time for Gammu release. Main improvements are this time in DBI driver and dummy phone driver. This allowed increasing number of test cases and they revealed number of bugs in code, which were fixed. The good thing is that we now have covered 30% of code by testcases. There is still place to improve, but I think this is good milestone, because most of untested code lies in drivers for different phones, which are hard to test automatically without having real phone connected to test server.

Other thing I would like to highlight is DBI backend in SMSD. It is still new, but you should consider using it instead of old MYSQL or PGSQL backends, because it behaves much more nicely to your database and won't ruin system performance that easily (though there are still things to improve). Unfortunately it is not available on Windows right now, but I hope this will change in future.

Full list of changes follows:

  • Fix some memory leaks found by cppcheck.
  • Implemented reconnecting/retrying in DBI driver.
  • Fix memory leaks in SMSD found by valgrind.
  • Fix decoding of another Nokia message type.
  • Support for passing received message ID in DBI.
  • Dummy phone now supports phonebook, calendar, todo, filesystem.
  • Experimental SMSD monitor support on Windows.
  • Added ID for Nokia 2680 (bug #813).
  • Number of retries of message send in SMSD can be configured.
  • Updated SQL files to new version (mostly added useful indexes).
  • Dropped own logic for generating IDs for SMS and rely on SQL server (only in DBI driver for now).

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.22.93

It took again one week and here comes new Gammu testing version. Again number of changes is quite impressive, to name the most important - new DBI backend for SMSD, which allows to easily support wide range of databases, SMSD now exports some information in shared memory segment, what allows monitoring of its state, python-gammu bindings now support some basic SMSD operations, libusb-1.0 based driver for Nokia cables (especially DKU-2) and last but not least, Gammu finally has fake phone driver, which can be used for testing and writing applications and performs all operations in selected directory on filesystem.

Full list of changes:

  • Fixed privileges dropping in SMSD.
  • SMSD inject now properly uses PhoneID.
  • Improve SMSD documentation.
  • Translations improvements.
  • Add ID for Nokia 7373.
  • Do not try to use filesystem OBEX if IrMC access was forced.
  • Fix possible crash in LMB decoder.
  • Avoid string length overflow in Nokia phonebook encoder.
  • Introduced backward compatibility of gammu.StateMachine.SetConfig.
  • Experimental dku-2 userspace driver using libusb-1.0 (fbususb).
  • python-gammu can now inject messages into SMSD (gammu.SMSD object).
  • SMSD stores summary counts of sent/received messages in database.
  • Added gammu-smsd-monitor program to monitor state of SMSD.
  • python-gammu can now monitor SMSD state.
  • Do not try to use OBEX 1.0 it's too old (bug #807).
  • Better parse ATI replies from Samsung (bug #806).
  • Better parse CSQ replies from Samsung (bug #806).
  • Add small delays to SMS sending/saving (bug #794).
  • SMSD monitor can now run for configured number of loops.
  • Added DBI backend for SMSD, so we now support wide range of databases.
  • SMSD does not delete SMS from phone when it's saving has failed.
  • Added SQL structure for sqlite, which can be used through DBI.
  • python-gammu can run and stop SMSD.
  • Initial implementation of dummy phone driver for testing.
  • Allow to configure path to config from command line.
  • SMSD monitor allows output in CSV.

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

Debian users will find packages in experimental soon.

Gammu news

Okay, I'm again not ready for release on Friday, so I will probably switch to Monday releases ;-). But I think it's good to announce some news which you can expect in next Gammu version.

Besides usual bunch of bug fixes (many of them were revealed by testing with Valgrind) the new testing version will have few interesting features.

For Nokia users on Linux is great news, that Gammu can now use directly FBUS USB interface (through libusb-1.0. This is especially good news for DKU-2 cable owners, as before they did not have possibility to use Gammu without compiling separate (and broken) module. This connection type is called fbususb and is heavily inspired by implementation in Gnokii, but uses newer libusb API and behaves more nicely when CDC ACM driver has already hooked some interfaces. I would specially like to thank to Peter Stuge for testing this feature (I'm still without a Nokia cable).

The second big news is monitoring of SMSD state. SMSD now exports shared memory segment, where some information about it's runtime can be found. Little program called gammu-smsd-monitor can display you these information.

The third update is for python-gammu users, which now gain ability to interact with SMSD through new gammu.SMSD object. For now it can inject SMSD messages and get SMSD status (see previous paragraph), but more features can come in future. I want to use this for creating some GUI for SMSD, which will allow to send messages and monitor it's state. But this is still future and if you want to write something like this, you're welcome!

New downloads mirror

The downloads amount for Gammu and Wammu is still increasing and when Ben Waymark offered me possibility to make an mirror, I happily accepted it. So from now, you can choose alternate download location for all downloads on my site!

The mirror is placed in UK, so if you have for whatever reason problems with connectivity to Czech Republic (where the primary site lives), it can be also good benefit for you to use alternate download location.

Call for Gammu/Wammu translators

New releases for both Gammu and Wammu are getting closer and I'd like to invite anybody to translating these programs to his language. Both projects use gettext, so if you are familiar with it, you can download po files from SVN and translate in your favorite editor. If you prefer an easy way, you can use web based interface (Pootle):

For Wammu: https://l10n.cihar.com/projects/wammu/

For Gammu: https://l10n.cihar.com/projects/gammu/

You don't have to translate everything at once, but every translated term counts!

If you hesitate where to start, fist look at Wammu, it is usually the application, which user tries first and having it translated is nice.

Starting from this release, Gammu man pages can be also translated and these can be also considered a priority translate material to ease learning curve for unfamiliar users, their texts are located in separate po file - docs.po.

To translate, just go to translation server, where you can translate online (registration is required) or checkout po files from SVN (svn://svn.cihar.com/wammu/trunk or svn://svn.cihar.com/gammu/trunk) and send me diff of po file.

Gammu test version 1.22.92

It took more than a week this time, because I was ill, but new testing Gammu version is here. This time there are finally no really major changes, only fixes of regressions (PostgreSQL SMSD brokeness) and bugs found by testing and reported by users.

Full list of changes:

  • Fixed getting of network name from saved message.
  • Fixed encoding of text to some encodings in AT engine.
  • Detect more Siemens CME error codes.
  • Windows binary is again with MySQL support.
  • Initial native support for Motorola phonebook (bug #748).
  • Use getpass if available for PIN code prompt.
  • Fixed parsing of phone number from incoming calls.
  • Added ID for Nokia 1112.
  • Dropped obsolete packaging/debian and point users to proper packages.
  • Fix crash when operator logo is empty.
  • Fix memory leak in SMS backup.
  • Fixed processing of SMSD outbox with PostgreSQL (bug #803).
  • Automatic detection of lib64 directory for installation.
  • Allow separate installation of some components on Windows.

You can download sources and Windows binaries (now for first time you can select which parts you want to install) from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon and RPM users can use my repository at OpenSUSE Build Service.

PS: I'd like to thank to "j t" who kindly donated me Nokia 6822 for testing.

ICQ fun

For legacy reasons (it's still most used IM in Czechia), I still use ICQ. Few days ago AOL again started to block some users (especially in Russia) and disconnected time to time others using non official clients. They do such things quite regularly, however the problems are usually quite easy to fix once somebody figures out what exactly do they check. So it just forces all clients to adjust some bits in the protocol initiation and it works again. Does it really make sense to complicate things this way? How about finally opening it? Or providing Jabber gateway?

Gammu test version 1.22.91

After another week, new Gammu testing version is out. The biggest change is integration of python-gammu into Gammu. This makes easier to test everything together and new tests revealed lot of bugs and memory leaks which were immediately fixed. Besides these changes, Windows Service support has been fixed and added possibility to run more SMSD instances.

  • Fixed setting remote number for SMS in some cases.
  • Fixed compilation under cygwin.
  • Externalize eventlog support to ease Cygwin compilation.
  • Integrate python-gammu into Gammu, they are anyway bound quite tightly together.
  • Python C module is now gammu._gammu and not gammu.Core.
  • Introduce testing for python module.
  • Fixed decoding of formatted EMS messages.
  • Fixed reading of RTTL ringtones.
  • Fixed crash with too many animation frames.
  • Fixed possible crash in LMB writer.
  • Fixed several memory leaks.
  • Better support for Samsung phones (bug #790).
  • Fixed Windows Service Startup (bug #451).
  • New possibility to run more instances of Windows Service (bug #451).

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

Debian users will find packages in experimental soon.