3

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:

at+CMGS=954xxxxxxx
> 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?

JohnMerlino
  • 5,941
  • 11
  • 34
  • 38

1 Answers1

2

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.

iain
  • 788
  • 4
  • 6
  • so you can communicate with a modem using at commands with gammu-smsd? – JohnMerlino Oct 07 '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 07 '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 07 '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 07 '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 07 '13 at 21:45
  • (darn length limits) those serial ports are all independant and can be used by different programs simultaneously, preferable to sharing a port – iain Oct 07 '13 at 21:45
  • The reason why I say it is because I can send an SMS through minicom fine. But when I try to start, gammu-smsd I get the error reported here: http://askubuntu.com/questions/352040/gammu-device-or-resource-busy – JohnMerlino Oct 07 '13 at 21:50
  • Heh, 'device or resource busy'. Something has that port open. You could try using fuser to figure out what. – iain Oct 07 '13 at 22:32