My understanding of Minicom:

Minicom is a text-based modem control program (allows you to communicate with modem via AT commands on a text-based terminal) using serial port communications. Therefore, you can configure a modem using Minicom and even have the modem send SMS messages:

> Hello World
+CMGS: 8

My understanding of gammu-smsd:

gammu-smsd is a program that periodically scans modem for received messages, stores them in defined storage (e.g. postgresql/mysql database) and also sends messages enqueued (stored in a queue) in this storage.

So both programs can send SMS messages using a modem. Both need to be configured to listen to the /dev/ttyS0 (assuming the modem is attached to first serial port) and both use the AT command set and baud rates.

So are both needed or can you just use gammu-smsd without having to use Minicom?


Minicom is a terminal program. Its primary job is to enable end-user interaction with the serial port.

Gammu's SMSd is a SMS daemon, designed to poll a modem for messages and probably process them in some way, and provide a simplistic interface to sending an SMS (and other phone features).

You can do everything Gammu can do, by hand, in Minicom. Or you can write 'chat' style scripts to handle bits of the SMSd, and reinvent the wheel.

They're essentially both tools that talk to a serial port at the end of the day, but they're refined for different goals.

There's no reason you'd need Minicom to run gammu-smsd, but I usually find I end up installing Minicom when I mess with that stuff anyway, just for my own debugging ability.

  • so you can communicate with a modem using at commands with gammu-smsd? – JohnMerlino Oct 7 '13 at 20:34
  • Does minicom run as a daemon, or it only runs as a process when you invoke it e.g. sudo minicom? – JohnMerlino Oct 7 '13 at 20:57
  • Minicom isn't a daemon, it's for direct user interaction with whatever is on the serial port, it's not (primarily) for automation of communications protocol (tho most terminal packages have macroing for dialing/logging in etc). Minicom's job is that blank screen you type AT commands into, that's its primary purpose, but traditionally that serial port connected to a remote terminal, or a modem you dialled and got actual ASCII data from. The internet killed most plain text modem usage, and technology killed modems in general, hence terminal packages can seem rather underwhelming nowadays. – iain Oct 7 '13 at 21:06
  • Now let's say if the modem is busy, which ends up crashing the gammu-smsd daemon, should I reset the modem using at commands with minicom? – JohnMerlino Oct 7 '13 at 21:14
  • Modem is busy how exactly? It's probably not great having multiple processes accessing the same serial port for locking reasons. What the program will do if it is locked, thats up to the program. Any kinda polling scheduler will just pick it up next time unless they always conflict. Nothing should crash, and you shouldn't need to intervene with the modem either, the commands are all atomic and can pass/fail individually. Note that many a GSM modem offers multiple serial ports so you can dialup over one, control over another (e.g. sms, queries etc), and can often provide a net device. – iain Oct 7 '13 at 21:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.