Michal Čihař - Blog Archives for Gammu

Gammu is getting new documentation for developers

During last weeks I finally got upset with state of developer documentation for Gammu and python-gammu. Not that it would be non existing, but it was spread over various places in various formats and partially outdated.

I decided to write all documentation in Shpinx as I know this tool and it seems to fit quite well in mixed C/Python environment.

The first step was to migrate existing docs into same format (reStructuredText) and create documentation structure. I believe this is now completed and you can check results here.

Yes there are still lot of rough edges and lot of work to do, but I anyway think that current state is better then mess we used to have before.

Gammu is being used in vendor software

I always thought Gammu to be workaround for phones whose vendors do not provide software for your favorite operating system. We try to do our best job to work with variety of phones, even though this is hard and never finished job.

However today I was really surprised to find out that some phone vendor built their official application for managing phone on Gammu. The application is of course closed source and available only for Windows, but this does not change anything on the fact they use it. They seem to have modified code slightly, adding some new functions and removing others, separated the code to several DLLs, however I'm 100% sure it is Gammu as they use some unique (read awful) things we have in our code.

I'm not going to disclose their name right now as I want to give them fair amount of time for reaction on my asking for sources. But you will for sure find more information later in my blog.

PS: Gammu is of course not the only free software used inside this application, you can find more there (and you will find there more than I did if you will look longer than few minutes I spent on examining rest of code).

Fun with processing patches from users

Once you release something what gets at least a little bit popular, you can expect to receive fixes in various strange forms. Since I started to use Git for Gammu development merging all these crazy things is much more easier.

The problem with these changes in past was that they are generally based on some random old versions (for example random daily snapshot). Now I just find the right place in history where to start (ChangeLog usually gives good hint where to search in the history), create branch and start to apply changes I received.

I worst case (like it happened today) the "changes" is whole tarball with different changes made to different files. Fortunately I recently found great git add -i, which allows me to pick whatever changes I want from the patch. When all this is done, all I need is to merge changes back to master and Git is usually clever enough to handle it.

PS: And yes, I'd really love if people would be able to send me series of patches, but it does not seem to happen in near future.

New Wammu and Gammu website

I just put online new Wammu and Gammu website at http://wammu.eu/. The reason for this change is that I want all relevant information about Gammu and related programs to be available in one place. You can find there information about Gammu, SMSD and python-gammu as well including some information and documentation which used to be spread in wiki and various other documents.

Also all Gammu and Wammu related announcements will be published only on that website and will no longer pollute my blog (and all planets where my blog is being syndicated). If you followed RSS feed, you should update your reader to http://wammu.eu/news/rss/.

The new website also includes updated Gammu Phone Database, which will look almost same to users, but has been completely rewritten underneath, what will allow some extensions in future and allows easier management of entries for me.

What currently lacks behind old website is Czech translation. The reason is in simple fact that new website contains much more texts and I did not yet have time to translate it. If you want to help, just go to l10n.cihar.com, or just follow translators instructions. This time it will be also possible to add other translations, so if you want to translate website to other language, you are welcome!

Gammu stable version 1.26.1

Gammu 1.26.1 is out! This release just fixes few bugs in AT driver.

Full list of changes:

  • CPIN reply is handled like regular one except in A2D case (bug #994).
  • Fix finding first empty position when memory is empty (bug #996).
  • Fixed parsing of SMS status reports.
  • Fixed parsing of text messages with new lines (bug #995).

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 stable version 1.26.0

Gammu 1.26.0 is out! There is reduced memory usage, tons of bugfixes, better support for reading messages from Motorola phones.

Full list of changes:

  • Fixed handling of RunOnReceive error code.
  • Fixed crash when encoding USSD dials.
  • Fixed decoding of phonebook entries on Motorola (bug #988).
  • Fixed decoding of long text messages (bug #990).
  • Fixed location of saved message (bug #989).
  • Added ID for Nokia 1681c.
  • Fixed reading of phonebook from Samsung (bug #980).
  • Add ID for Nokia 3390b (bug #982).
  • DCT3 dependent code reports error when phone is not DCT3 (bug #982).
  • Fixed reading of DCT4 file folders (bug #986).
  • Reworked RPM packages (separate libraries and SMSD).
  • Huawei E160 uses encoded USSD requests.
  • Better support for messages on Motorola, thanks to Quintin Hill.
  • Fix reading of SMS backups without text (bug #963).
  • Send message even if SendingTimeOut is null (bug #977).
  • Disabled automatic OBEX for Motorola phones.
  • Increased limits for message length, bump soname to 7 because of this.
  • Changed SMSD tables to be able to handle longer messages from Motorola phones.
  • Documented most commands in man page.
  • Completed Czech translation of Gammu.
  • Avoid crash on some Nokia smses (bug #959).
  • Added support for Bluetooth on more BSD systems, thanks to Iain Hibbert.
  • Added new command setsmsc.
  • Added option to disable checking for battery and signal in SMSD.
  • Fixed getting firmware revision on AT phones (bug #951).
  • Added support for home/work mobile number (bug #952).
  • Fixed handling of error response for security status in AT.
  • Fixed segfault on systems with very low memory limits.
  • Development now goes on in Git repository, please check README.
  • 6510 driver now dynamically allocates memory for file caches, what reduces Gammu memory usage by 800 MiB.
  • Added testcases for AT+CNMI replies.
  • Fixed range parsing in AT engine.
  • Added reconnect support in PostgreSQL driver in SMSD.
  • Gammu debug level no longer can be controlled separately in SMSD.
  • Fix loop when Nokia phone does not allow to access files (bug #954).

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

Gammu 1.25.93 is out! This is just a bugfix release heading to 1.26.0 next week.

Full list of changes:

  • Fixed reading of phonebook from Samsung (bug #980).
  • Add ID for Nokia 3390b (bug #982).
  • DCT3 dependent code reports error when phone is not DCT3 (bug #982).
  • Fixed reading of DCT4 file folders (bug #986).
  • Fixed parsing of config file with whitespace (bug #987).

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.

Translate Wammu

I feel like I will release new Wammu version in two or three weeks, it would be great to improve some translations. All you need to do is to login into our Pootle server and translate these few (or not so few) strings missing in your language.

If you still prefer manual work, you can still just get po file from Git and send me updates.

PS: If your translation is missing in Pootle and you want to start it, just drop me a note.

Gammu test version 1.25.92

Gammu 1.25.92 is out! There are two bigger changes - the RPM packaging and much improved support for messages from Motorola phones.

Full list of changes:

  • Reworked RPM packages (separate libraries and SMSD).
  • Huawei E160 uses encoded USSD requests.
  • Better support for messages on Motorola, thanks to Quintin Hill.
  • Fix reading of SMS backups without text (bug #963).
  • Send message even if SendingTimeOut is null (bug #977).
  • Disabled automatic OBEX for Motorola phones.
  • Increased limits for message length, bump soname to 7 because of this.
  • Changed SMSD tables to be able to handle longer messages from Motorola 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.

Gammu test version 1.25.91

Gammu 1.25.91 is out! The changelog is short, but all changes are quite interesting - thanks to Iain Hibbert we now have support for Bluetooth on other BSD variants and I spent time travelling around Spain in trains by writing documentation and translating Gammu to Czech language.

Full list of changes:

  • Documented most commands in man page.
  • Completed Czech translation of Gammu.
  • Avoid crash on some Nokia smses (bug #959).
  • Added support for Bluetooth on more BSD systems, thanks to Iain Hibbert.
  • Added new command setsmsc.
  • Added option to disable checking for battery and signal in SMSD.

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.