How to install and configure latest Gammu (1.29) in Ubuntu 10.04

I think you already know (enough) about Gammu, so I won’t tell a lot about it. Gammu is a software which has some abilities to control your phone through computer. It provides some useful functions for handling Message. That’s why it widely used and well-known as the backend for simple SMS Gateway System.

Few weeks ago, I got a project to build a LAN Monitoring System. The system is really simple, it’s do an automatic check for LAN and then send SMS notification if there any problem occurs. It combines Gammu (for SMS backend), MySQL (for data storage), and PHP (as the frontend of the System).

It’s easy to install and configure Gammu under my development environment. I use standar Ubuntu 10.04, with the default installed kernel, 2.6.32 and MySQL as Backend for data storage. *You need Apache PHP MySQL on your development environment.

Okay, no more talks, let’s do it !!

Install Latest Stable Version of Gammu

1. Add Gammu’s Official PPA

sudo add-apt-repository ppa:nijel/ppa
sudo apt-get update

2. Install Latest Gammu

sudo apt-get install gammu gammu-smsd libgammu7 libgsmsd7

Configure Gammu 1.29

In this tutorial, I use Sony Ericsson w660i (k530i mods) which is connected to computer through an USB Cable. You can use any kind of phone or modem, as long as it supported by Gammu.

1. Create new Gammu Configuration file (gammurc)

cd ~
gedit .gammurc

add the following configurations:

[gammu]
device = /dev/ttyACM0
connection = at115200

Parameters value may different for each computer, phone model, and connection type. Check your device node by seeing it in dmesg log (After plugging in your phone type dmesg in terminal). Maybe it shown something like this :

Check Device Node

Phone registered as ttyACM0 (access it in /dev/ttyACM0)

Save the file. Now, you should test the configuration. Type this command in the terminal:

gammu --identify

if Gammu detect your phone, it should be like the image shown below:

Gammu Identifying Phone

Gammu detects your phone

2. Create new SMSD Configuration file (gammu-smsdrc)

gedit .gammu-smsdrc

Add these parameters:

[gammu]
device = /dev/ttyACM0
connection = at115200

[smsd]
service = sql
driver = native_mysql
LogFile = syslog
user = root #mysql user
password = root #mysql password
pc = localhost
database = smsd #database name

You can use any DB Server you desired. We need to create some tables that are required by Gammu Service. Simply run this MySQL.Gammu.tables on your database (check this link for original one). Now you can test your configuration by running this command :

gammu-smsd -c .gammu-smsdrc

It will show nothing if your configuration is correct. Check if your inbox already moved into database by opening table ‘inbox’ (in the database you use).

Gammu Inbox

Sometimes you may got errors after running gammu-smsd command. Gammu-smsd will tell you the detail, so you can fix it easily. These are errors I got while trying to setup Gammu :

  1. Error getting SMS (Unknown error.:27)
    This is Gammu 1.26’s bugs. It’s already fixed in 1.29. Update your Gammu.
  2. Version of installed libGammu.so (1.26.1) is different to version of Gammu (1.29.0)
    You forget to update the following packages : gammu-smsd libgammu7 libgsmsd7
    Remember to update those packages too each time you update your Gammu.
  3. unknown smsd service type: “sql”
    Gammu 1.26 doesn’t recognized service type “sql”. So update your Gammu to 1.29 to fix this problem
  4. DataBase structures are from higher Gammu version
    This mean, the version of the Gammu is not compatible with current gammu database structure. Increase/ Decrease the value of field ‘version‘ in the ‘gammu‘ table. You may use phpMyAdmin or (mysql command prompt) to do it.
    Edit Gammu Version
  5. MySQL is Deprecated, bla bla bla..
    You should use ‘service=sql’ and the correct driver ‘driver=native_mysql’ in the Gammu SMSD Config file.

Some notes:

  • After running gammu SMS Daemon, your phone inbox will be moved (‘backed up’) into MySQL Database (inbox table) automatically. Your phone inbox may empty.
  • Your phone may still can be used as normal phone while Gammu SMS Daemon running, but it really freakin slow! *in my case*

29 thoughts on “How to install and configure latest Gammu (1.29) in Ubuntu 10.04

  1. mau bikin service gimana yah jadi run terus,terutama pas komputer di restart nyala terus?saya sudah sukses setting nya,,dan jalan,

    • Sudah saya balas mas, lewat email.
      Intinya, perintah gammu-smsd dijalankan waktu startup dengan menambahkan entri/baris perintah di dalam file /etc/rc.local
      🙂

  2. saya dapet error ini mas Error: Version of installed libGammu.so (1.32.0) is different to version of Gammu (1.31.0)
    wktu ngetikin gammu –identify

    salah itu saya cari2 error diatas g nemu2…downgrade libGammu.so ke 1.31 atau up gammu ke 1.31 ya….
    sebelum mengikuti tutorial diatas saya sudah dapet error ini saya sudah ikutin tetep aja errornya sama pak 😦

    • Kalo menurut saya:

      1. Remove/purge PPA Michael Cihar. Jgn lupa di update repository setelah purge.
      2. Install ulang gammu yg official dari repository. Seharusnya versi gammu dan libGammu di repository officialnya singkron.

      Ubuntu 12.04, versi Gammu official adalah 1.31
      http://packages.ubuntu.com/search?keywords=gammu&searchon=names&suite=precise&section=all

      Ubuntu 12.10, versi Gammu official adalah 1.32
      http://packages.ubuntu.com/search?keywords=gammu&searchon=names&suite=quantal&section=all

      Semoga membantu =)

      • iya mas sudah bisa makasih 🙂
        untuk sms via terminal sudah bisa, saya coba insall kalkun sukses tpi statusnya unknow
        kira2 salah dmana ya

        dpkg -l |grep gammu
        ii gammu 1.32.0-1.precise~ppa.1 mobile phone management utility
        ii gammu-smsd 1.32.0-1.precise~ppa.1 SMS message daemon
        ii libgammu-i18n 1.32.0-1.precise~ppa.1 mobile phone management library (i18n files)
        ii libgammu7 1.32.0-1.precise~ppa.1 mobile phone management library

        gammu –identify
        Device : /dev/ttyACM0
        Manufacturer : Ericsson
        Model : K770i (AAD-3022082-BV)
        Firmware : R8BC004 071211 1434 1202-3599_CHINA_VI
        IMEI : 351600033526643
        Product code : AAD-3022082-BV
        SIM IMSI : 510108425695044

        log gammusmsd

        Thu 2013/01/17 23:56:37 gammu-smsd[1849]: Starting phone communication…
        Thu 2013/01/17 23:56:37 gammu-smsd[1849]: Error at init connection: Unknown connection type string. Check config file. (UNKNOWNCONNECTIONTYPESTRING[18])
        Thu 2013/01/17 23:56:37 gammu-smsd[1849]: Going to 30 seconds sleep because of too much connection errors

        saya sudah nyoba connection pake at / at115200 sama2 bisa konek
        klu saya pake blueat tidak mau

        Makasih pencerahannya mas

  3. mas mau tanya..
    ko status selalu disconnect y..
    padahal setting udah bener semua..

    trz pas nyoba kirim pake gammu-smsd-inject masuk sih ke database..
    cuma gak ke kirim pesannya..

    tp klo pake gammu-smsd pesannya kekirim mas..

    gmn ya solusinya?

    • Disconnect maksudnya seperti apa?
      Apa waktu identify dikenali? kalo dikenali, berarti gak ada masalah.
      Saya belum pernah pakai gammu-smsd-inject, karena biasanya entri ke database via aplikasi/PHPMyAdmin. Nah, kalau servis nya Gammu running, maka kalo di table outbox ada record, pasti dikirim 🙂

  4. Permisi mas, maaf menganggu..

    Kebetulan sewaktu saya dulu menggunakan ubuntu 9.10, dengan modem yang sama dan versi gammu 1.24 saya gammu berjalan dengan baik (bisa mengirim dan menerima sms) dan sudah bisa disimpan ke database juga.

    tapi setelah saya sekarang memakai ubuntu 10.04 dengan versi gammu 1.26 (default) ketika menuliskan sintaks gammu –identify, pesan errornya “Error opening devices, it doesn’t exist”.

    padahal saya menggunakan modem, dan laptop yang sama.. Di mana kira2 kerusakannya mas ?

    Mohon bantuannya ..

    Terima kasih, salam..

    • Jika lihat dari pesan errornya, kemungkinan modem tsb belum dikenali. Nah, penyebabnya bisa OS yg tidak detek modemnya, atau kesalahan setting di gammurc.

      Lebih baik dipastikan dulu apakah modem sudah dideteksi oleh Ubuntu 10.04?

      • Terima kasih atas respon nya mas..

        Kalau dikenali atau tidak nya, untuk penggunaan modem sebagai internet saya sudah bisa berinternet ria.. dan kalau di liat di log pesannya sudah klihatan kalau dianya konek nyambung di ttyUSB(sama seperti screen log di atas punya mas), tapi untuk ttyUSB 0 atau 1 adau 2 nya saya kurang mengerti liat nya yang mana, sudah saya coba satu2 dengan ttyUSB0, ttyUSB1, ttyUSB2 pun tetap nggak bisa..

        mohon pencerahannya mas, Terima kasih..

        • Hmm.. aneh bgt. Kalau sudah didetek sistem seharusnya bisa langsung digunakan oleh Gammu. Modemnya tidak sedang digunakan internet kan? Mungkin statusnya ‘busy’ karena sedang digunakan internet.
          Atau cara lain mungkin coba update ke Gammu versi terbaru. 🙂

        • Itu dia mas, apa yang jadi masalahnya.
          tapi saya rasa karena mobile partner nya mungkin ya ?

          soalnya saya pakai mobile partner untuk koneksi internetnya.. tadinya saya fikir karena mobile parner nya, jadi saya install ulang, eh nggak taunya sehabis di install ulang malahan modem nya nggak terdetek sama sekali di ubuntu. di liat lognya nya dengan dmesg pun nggak kebaca.. 😦
          nasib dah..

          ada saran mas ? pernah ngalamin yang gitu juga ?

        • Saya belum pernah mengalaminya mas, karena selama ini saya coba menggunakan modem HP Sony aja. Pernah juga pakai modem internet biasa, dan berjalan baik karena memang didukung oleh Gammu. Cuma kendala saya 1, harus dipastikan bahwa modem tidak sedang digunakan oleh proses lain (tidak sedang busy). Misalnya sedang diakses oleh network manager atau program lain untuk koneksi internet.

          Kalau boleh tau apa merk/seri modem yg mas pakai? Apakah sudah disupport oleh Gammu? (Lihat di website resmi gammu)

          Atau, mas bisa coba upgrade (ganti versi ke Ubuntu terbaru) mungkin saja modemnya akan dideteksi.

  5. Saya pakai multi modem (7 simcard), sementara ini manual
    gammu-smsd –config /etc/gammu-smsdrc-MP0mentari –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP1simpati –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP2xl –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP3axis –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP4three –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP5im3 –daemon
    gammu-smsd –config /etc/gammu-smsdrc-MP6as –daemon
    Bagaimana caranya agar bisa di jalanin oleh ubuntu setiap kali restart OS ubuntu nya. Thank you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s