Michal Čihař - Blog Archives for English

Gammu test version 1.22.90

After lot of development, I finally decided to release new testing release of Gammu.

The biggest changes are in SMS daemon, which got lot of improvements and is now in separate binary gammu-smsd. It can log better (support for syslog and Windows Event Log has been added), it can work as a proper daemon or Windows Service, it can be debugged easier (Gammu logs go to same log as other messages, SQL queries can be logged), can reload configuration on the fly.

In libGammu, debugging has also improved (you can now use callback to process messages), some memory leaks were fixed and some minor bugs has been fixed.

Command line interface now supports text for text messages to be entered through parameter and not only using standard input, it has a new command chekfirmware which obsoletes UsePhoneDB configuration option and other bug fixes has happened, for example messages sending is now again working on Windows.

And last but not least, SMS daemon, all related things and gammu configuration files now have man pages, which boosts documentation level from none to almost perfect ;-).

As a special bonus for Czech users, Gammu translation is now more complete and all new man pages are translated to Czech.

Full list of changes:

  • Fix some memory leaks found by cppcheck.
  • Fix unsafe sprintf usage in some modules.
  • Improve debugging facilities to use state machine debug configuration when possible.
  • Separate SMS daemon out of gammu binary.
  • SMSD now requires [gammu] section in config file.
  • UsePhoneDB option replaced by chekfirmware command.
  • Added pkgconfig support for gsmsd (SMSD library).
  • Debug logging can be handled by custom function in application.
  • SMSD log now includes gammu log messages.
  • SMSD now can log to syslog.
  • SMSD can now deamonize itself.
  • All callbacks can now pass user data along.
  • SMSD can now write PID file.
  • Added man pages for gammu-smsd(1), gammu-smsdrc(5) and gammurc(5).
  • SMSD can now natively run as a Windows service (bug #451).
  • SMSD debugging can be now enabled by DebugLevel directive.
  • Proper reconnecting support for MySQL.
  • Better error logging of PostgtreSQL SMSD service.
  • SMSD now properly frees allocated memory.
  • SMSD now handles SIGHUP for rereading configuration.
  • Added LSB init script for SMSD.
  • SMSD can now log to stderr/stdout.
  • RunOnReceive now can get IDs of received messages.
  • Avoid duplicating of same code in command line and tests for messages displaying.
  • New binary gammu-smsd-inject to inject messages to SMSD.
  • Gammu binary now does not support any SMSD operations.
  • Sending TEXT message now accepts text using -text parameter.
  • Improved logging differentiation of SMSD log messages.
  • Properly remove messages from queue when sending fails (bug #778).
  • Use own test handler instead of asserts.
  • Separate gammu and libgammu messages, libgammu no longer sets textdomain.
  • Use po4a for translating man pages.
  • Dump more information in dct3trac, thanks to Duncan Salerno.
  • SMSD cal log to Windows Event Log.
  • Added man pages for SMSD backend services.
  • Dropped static configuration files for MSVC, they were broken anyway and CMake now works good with MSVC.
  • Script gammu-config supports also cdialog.
  • Reduce stack usage on message composing (fixes crash on Windows).
  • Fixed returned saved location on AT engine.
  • Added support for dropping privileges in SMSD.

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

Debian users will find packages in experimental as soon as they will go through NEW queue.

rel-vcs microformat

Joey, I really like rel-vcs proposal. On the other side it misses few good things which were already found for Vcs-* fields (there is already no XS- prefix for quite a long time).

First it misses information about branch. On git, you will automatically get a master, but for SVN, you need to point to some branch, otherwise you get really lot of stuff. And I think that practise should be same as for Vcs-Svn - to point the field to trunk URL.

The second thing which this proposal misses is Vcs-Browser. It would not be useful for tools like webcheckout, but it would be great to have support for it in browsers or in plugins such as Operator. How about using type="browser" for this?

Gammu SMSD changes

SMS daemon in Gammu is one of it's widely deployed applications. However I never really liked the way how it is integrated into Gammu. I did not know much the code, so I did not want to touch it. But recent posts on gammu-users mailing list convinced me to do something about it.

So in next Gammu release, many things will change. The most important thing is that SMSD is no longer part of gammu binary, but has an own binary gammu-smsd. Among other reasons, this will allow to split binary packages in distributions and reducing dependencies of gammu package (database backends are used only is SMSD).

The other changes are more platform specific and will allow better integration of a daemon into system. Linux users will benefit from proper daemon support and optional logging to syslog, while Windows users can now use SMSD as a Windows service.

And as a bonus, SMSD and it's configuration file now filanny have man pages: gammu-smsd and gammu-smsdrc.

All mentioned changes are already in SVN, but I want to do some polishing before making a testing release. The testing release will definitely happen in next week, however impatient users can download SVN snapshots and test them.

Gammu stable version 1.22.1

It looks like I messed up few things in yesterday Gammu release so here is hot fix version. Changelog is quite small and fixes all regressions found so far:

  • Fix model name parsing.
  • Fix reading of IrMC phonebook.
  • Fix visibility of HAVE_STRUCT_TM_TM_ZONE in header files.
  • Increase some timeouts in OBEX driver.
  • Fix compilation on s390.

You can download from usual place: http://cihar.com/gammu/, Binary packages will be available soon on all usual places (Debian Unstable, OpenSuse build service, Ubuntu PPA repository).

python-gammu 0.28

New version of python-gammu has been just released. It fixes possible crashes, brings compatibility with Gammu 1.22.0 and adds support for converting to and from vCard/vCalendar/iCalendar formats. Full list of changes:

  • Properly use Py_ssize_t type to avoid problems on 64-bit systems.
  • Properly handle phonebook Category attribute (can be a text).
  • Follow new semantics of GSM_SetDebugFileDescriptor (bug #749).
  • Compatibility with current gammu.
  • Support for encoding/decoding vCard, vCalendar and iCalendar files.

Download from usual place: http://cihar.com/gammu/python/

Gammu stable version 1.22.0

After two and half months of development, new Gammu stable release is out. Since last testing version there are only minor changes in vCard export, but full changelog since 1.21.0 is quite long:

  • Disable ATOBEX for Motorola V180.
  • vCard can now store caller group and private flag (bug #269).
  • vCard now stores location and memory type.
  • Add ID for Nokia 6131 NFC (bug #775).
  • Better skipping of corrupted messages in AT (bug #768).
  • Autoload 6510 module if phone is S40 (bug #767).
  • Add ID for Nokia 6500s (bug #770).
  • Add automatic detection of Nokia phones (bug #770).
  • Catch error when calls can not be deleted (bug #738).
  • Better documentation of addnew (bug #734).
  • Fix detection of OBEX capability on older Siemens phones.
  • Try to detect wrongly formatted CMGL reply (bug #771);
  • Handle phones which fail to report supported charsets.
  • Fixed encoding of WAP indicator messages.
  • Support for photos in vCard (bug #227).
  • vC* saving now protects against buffer overflows.
  • Drop own crosscompilation support, rely on CMake one.
  • Also standard CMake parameters used when possible (eg. BUILD_SHARED_LIBS).
  • Search does not create thread for non existing devices.
  • Fixed possible crash when backing up ringtones.
  • Fix possible race condition in searching.
  • Fixed invoking of CMake with output to custom directory.
  • Compile on platforms where ssize_t does not exist.
  • Fix detection of towlower on some compilers.
  • Make Bluetooth compile using BCC.
  • Fix compilation if strtoull does not exist.
  • Compile on platforms where intptr_t does not exist.
  • Fixed compilation in BCC (see changes above).
  • Check whether compiler supports FUNCTION.
  • Reimplement locking and add tests for it.
  • GSM_SetDebugFileDescriptor now accepts flag whether file descriptor can be closed (bug #749).
  • Soname change due to API breakage (see above).
  • Fixed compilation on Mac OS X, thanks to Juan A. Bertolin for testing.
  • Script gammu-config can now also work with whiptail.
  • Minor fixes in gammu-config script.
  • Extra spaces from connection or device name are now stripped.
  • Automatically reinitialize FBUS connection if it is dropped.
  • Disable OBEX with Motorola Z6c, it is broken (bug #746).
  • Refresh manufacturer information on second init of AT (bug #746).
  • Always get charset information on AT phone initialization.
  • Better handling of OBEX switching for Siemens phones.
  • Fix flags for 2630 and 3109c (bug #752).
  • Fix handling of caller groups and picture IDs (bug #752).
  • Properly set calendar location while adding (bug #747).
  • Sign Windows binaries during build.
  • Detect long FM station names (bug #727).
  • Add ID for Nokia 2630b.
  • Handle properly very long lines in vcards (bug #728).
  • Do not build and install locales if gettext is not compiled.
  • Increase number of calendar entries (bug #725).
  • Leak free test runs.
  • Support backup of phone phonebook from Siemens (bug #732).
  • Properly handle GetNextMemory on Siemens (bug #732).
  • Save textual category to backup (bug #737).
  • Enable dashboard testing using CTest/CDash.
  • Add option to do coverage analysis.
  • Properly handle debug file closing.
  • Add test case for debug logging.
  • Fix decoding of some SMS messages from Nokia phones (bug #735).
  • Hack for (still) unknown error code (bug #733).

You can download from usual place: http://cihar.com/gammu/, Binary packages will be available soon in all usual places (Debian Unstable, OpenSuse build service, Ubuntu PPA repository).

My patience is not unlimited

Just seen on #gammu:

<nijel> do you have some usb-serial convertor?
<fenix> yes,
<fenix> i use a usb-serial convertor
<nijel> that might be a problem because cables which do not have manual switch [...]
<fenix> you mean ? i don't use usb-serial convertor
<nijel> what? sentence ago you wrote that you use it....
<fenix> i see . i don't use usb-serial convertor  do it .
<nijel> so how exactly is the phone connected? usb cable? serial cable? serial cable + usb-serial convertor?
<fenix> i use  a serial cable + usb-serial convertor
<nijel> fine, so the problem is most likely in the convertor - [...]
<fenix> my pc have a serial port , i will use it . thank you nijel

Why the hell do you use usb-serial convertor, which is usually piece of crap, instead of native serial port?

Lenny Release General Resolution

Hmm, again another general resolution. Yes, but this one seems to be really tricky. During discussion, several almost unrelated options have been merged into single vote, what really does not make it easy to understand and choose preferred option. Yes they are related in the way that they will affect time of Lenny release, but I think splitting it into several votes would make more sense.

On the other side, Lenny release is getting delayed more and more and boycotting this vote also does not seem as a good choice to me. Such choice will practically delay Lenny release after another decision will be made or all firmware issues will be solved. And neither of these choices seems to be possible to happen in a timely manner...

Kozlovna - great beer and food

After more than one year, I decided it's time to resurrect pub reviews category on my blog. The delay was partly caused by my half year trip to Japan meanwhile and lack of motivation to blog, but I think now I'm ready to push some more reviews.

This time I'll recommend Kozlovna (sorry no web pages exists, address is Lidická 20, 150 00 Praha 5). I randomly found it when walking in the city centre and I was really positively surprised by quality of beer (Velkopopovický Kozel 11° Medium), food and service. On my first visit I had great ribs, on second deer fillets and both were just delicious.

The interior perfectly matches name of the restaurant and the brewery which ships the beer (Kozel = billy-goat) and you can find horns or goat shapes all around. Another plus is that half of the restaurant is non smoking, so you don't have to smell that ugly smoke.

Icecream weirdness

Can somebody tell me, why ICECC_VERSION variable is used as path to file with used toolchain? Why does help say "see create-env" when there is no such thing I could see? Why does not it properly tell, that I have to use icecc --build-native and then use absolute path to resulting tarball as ICECC_VERSION and then it will start to work?

Quick notes for future:

icecc --build-native
export ICECC_VERSION=`pwd`/b98eeead34edf15d2edf2383c2c4e317.tar.gz