Michal Čihař - Blog Archives for Gammu

Kernel 2.6.21 hits Gammu

Since Linux kernel 2.6.21 entered higher release candidates, more people started to report that Gammu has problem on that with connecting over USB cable. First I thought it is some misconfiguration of kernel, but when several same reports appeared, I decided to take a look at it.

As great side effect of this, I found out that I can use snapshots of Debian kernel, where current version (2.6.21-rc7) is available as Debian package. This saved me lot of time, thanks guys!

After installing and booting new kernel, I quickly found out that the problem is not SIGSEGV as many people reported, but SIGIO. After quick look at code, it was obvious that setting file to asynchronous I/O causes this.

Well this is how asynchronous I/O is supposed to work and kernel people implemented it now for (some?) serial drivers. I have no idea why there was attempt to use it in Gammu. The code is not at all ready for this and makes no use of asynchronous I/O. So the fix was quite easy - just to remove this flag from file.

Fix now sits in SVN, impatient users who run kernel 2.6.21 can get SVN snapshot :-). Testing release will follow during next week.

Gammu test version 1.10.4

I just released new version of Gammu, you can download it from download server. The only reason for this release is fixed Windows binary distribution, other changes are:

  • Fix decoding of new style address records in Nokia phones. Thanks to Martin Strigl, see also bug #286.
  • Reorganised documentation a bit.
  • Use correct format strings for IrDA debug messages.
  • Identify Alcatel One Touch 55x.
  • Improve detection of OBEX support.
  • Fixed Windows build.

Gammu test version 1.10.3

I just released new version of Gammu, you can download it from download server. There is quite a lot of changes:

  • Work with AT phones which can not write SMS to ME (bug #282).
  • Increse limits for SMS backups (this requires dynamic allocation).
  • Development switched to Subversion, see README for details.
  • Detect Motorola Bluetooth port (Daniel Gimpelevich).
  • Fixup AT driver to work with Samsung SGH X160.
  • Support for last modified field in vCalendar.
  • Adjust vCalendar entries from SE phones on DST (bug #81).
  • Fix updating of delivery report date in SMSD (thanks to Peter Stuge).
  • Fix format strings for Win32 build.
  • Fix crash when no config exists.
  • Support for MinGW crosscompation with MySQL.
  • Support for MinGW crosscompation with PostgreSQL.
  • MakeTerminatedCall can be now called more times in batch mode.
  • Support for MinGW crosscompation with Gettext.

As I can now build full featured Gammu binary for Windows, the download size increased a lot. If you thing it is too big, I can start to produce two sets of binaries.

Migration to Subversion completed

Today last batch of Wammu and python-gammu has been converted to Subversion. It was almost painless, it only required lot of CPU time. All project pages should now link to Subversion repositories and snapshots. Also all projects now have publicly available statistics on http://www.ohloh.net and http://cia.vc.

Unfortunately for python-gammu and Wammu are statistics a bit messed up - for Wammu ohloh didn't find license header, which is in almost every file, in python-gammu, doc string comments are not counted as being comments, so without it project has obviously to low comments ratio.

Anyway I was quite impressed by code grow of Wammu in last half year, because I still thing I don't have enough time for Wammu. However if their stats are true, the code amount grows quite fast in last months.

Gammu switched to Subversion

As continuation of migration to Subversion, Gammu now also uses Subversion as version control. This is now pretty standard version control system, so you can easily use latest development source.

Besides this, using Subversion brings us possibility to use various free services to work with this repository.

If you want to follow development, you can use RSS feeds on CIA.vc. For code statistics hungry people, there is Ohloh service, which directly analyses repository.

There might be also other useful tools, if you want some integration, just tell me.

Converting to Subversion

After more playing with Tailor, I managed to hack it enough to convert my Arch repositories to Subversion. Move from distributed to non distributed VCS migth look as step backwards, but I have pretty good reasons for this:

  • Subversion is widely used and there is big chance that potential contributor will know how to use it. This lowers barrier for contributing (especially when compared to current Arch/Bazaar).
  • Subversion sucks much less than CVS which is other well known VCS.
  • If I want to work distributed I can still use Bazaar-NG with foreign branch features.

The conversion is currently on the way and will probably need some time (about half of Gammu revisions have been converted so far).

python-gammu documentation up to date

Today I noticed, that documentation for python-gammu is not up to date, because I completely forgot to update it since 0.13 release.

Well anything what has to be done manually sucks, so I scripted automatic generating of this documentation, so it should always be up to date with current development snapshot.

BTW: Anybody know how to document constructor of class implemented in C using EpyDoc? I didn't manage to find way for this.

Gammu test version 1.10.2

I just released new version of Gammu, you can download it from download server. There is quite a lot of changes:

  • Fixed crash on LMB export/import (bug #261).
  • Correct version in iCalendar export/import.
  • Fixed devel files installation using CMake (bug #78).
  • Fixed decoding of call date.
  • Use gettext for translation.
  • --clearall also attempts to delete calls.
  • Fixed decoding of date from backup (bug #267).
  • Backup saves and restores numbers as same type (bug #266).
  • Support for call notifications on AT phones.
  • Support for batch mode - you can script gammu (thanks to ace).
  • Use standard libc functions for string comparsion if available.
  • Gammu commands are now accepted also without leading --.
  • Detect more Nokia phones (5300, 6300, 8800) (some by Peter Stuge).
  • Allow compilation with MySQL and without PGSQL (thanks to Alin Năstac).
  • Fixed format strings for size_t (thanks to Alin Năstac).
  • New connection ark3116fbus for use with ark3116 module.

As you can see, largest change is switch to gettext. You can also use https://l10n.cihar.com for online translating.

Call for translators

Do you know some non-English language and English as well? Do you want to improve Gammu? You can do it right now, by translating Gammu to your language!

There are only six translations right now and most of them are in poor state. You can be brave hero which saves them! This time it also includes Czech translation, which I manage myself for Wammu, but I don't have time to do this also for Gammu, sorry.

If you want to add new language, just write me to michal@cihar.com, it will be added immediately. Maybe you will also want full control over some translation, this can be also done, but for now I prefer quick translating using open (well you need to register) system.

PS: I see new testing release with improved localisation support in near future. Gettext version is working fine right now and it only needs some cleanup from unused code right now.

Buggy phones

I played a bit with Gammu and my phone (Sony-Ericsson K750i) yesterday, and I found yet another firmware bug. Enabling call line identification over cable (or any connection) makes phone hang when you receive call. Don't know why it is not able to look up number, when it already shows it on the display…