GAMMURC(5)
π GAMMURC π
okay so bestie, this is the gammurc page from the Gammu manual β section 5, we love a system-files moment π β and it's literally your gammu(1) configuration file. everything you need to know about telling Gammu how to talk to your phone lives right here. no cap.
β¨ SYNOPSIS β¨
On Linux, MacOS X, BSD and other Unix-like systems, the config file is searched in following order:
$XDG_CONFIG_HOME/gammu/config~/.config/gammu/config~/.gammurc/etc/gammurc
On Microsoft Windows:
%PROFILE%\Application Data\gammurc.\gammurc
π¦ DESCRIPTION π¦
Gammu requires configuration to be able to properly talk to your phone. fr fr, it can't just vibe with your device with no info. The Gammu Utility <#gammu> reads configuration from a config file. It's location is determined on runtime, see above for search paths. π
You can use gammu-config <#gammu-config> or gammu-detect <#gammu-detect> to generate configuration file or start from Fully documented example. honestly a slay, let the tools do the heavy lifting.
For hints about configuring your phone, you can check Gammu Phone Database <<https://wammu.eu/phones/>> to see what user users experienced. π
This file use ini file syntax, see INI file format <#ini>.
Configuration file for gammu can contain several sections - [gammu], [gammu1], [gammuN], ... Each section configures one connection setup and in default mode gammu tries all of them in numerical order. main character energy honestly, it just works its way down the list. You can also specify which configuration section to use by giving it's number ([gammu] has number 0) as a parameter to Gammu Utility <#gammu> and it will then use only this section. β¨
πΈ [gammu] πΈ
This section is read by default unless you specify other on command line. periodt.
π Device connection parameters π
Connectionβ Protocol which will be used to talk to your phone.
For Nokia cables you want to use one of following:
fbusβ serial FBUS connectiondlr3β DLR-3 and compatible cablesdku2β DKU-2 and compatible cablesdku5β DKU-5 and compatible cablesmbusβ serial MBUS connection
If you use some non original cable, you might need to append -nodtr (eg. for ARK3116 based cables) or -nopower, but Gammu should be able to detect this automatically. π«Ά
For non-Nokia phones connected using cable you generally want:
atβ generic AT commands based connection
You can optionally specify speed of the connection, eg. at19200, but it is not needed for modern USB cables. πββοΈ
For IrDA connections use one of following:
irdaphonetβ Phonet connection for Nokia phones.irdaatβ AT commands connection for most of phones (this is not supported on Linux).irdaobexβ OBEX (IrMC or file transfer) connection for most of phones.irdagnapbusβ GNapplet based connection for Symbian phones, see Gnapplet Protocol <#gnapplet>.
For Bluetooth connection use one of following:
bluephonetβ Phonet connection for Nokia phones.bluefbusβ FBUS connection for Nokia phones.blueatβ AT commands connection for most of phones.blueobexβ OBEX (IrMC or file transfer) connection for most of phones.bluerfgnapbusβ GNapplet based connection for Symbian phones, see Gnapplet Protocol <#gnapplet>.blues60β Connection to Series60 applet in S60 phones, see Series60 Remote Protocol <#s60>.
Added in version 1.29.90. β
Added in version 1.36.7: Gammu now supports connecting using proxy command. big news bestie π₯
You can also proxy the connection using shell command, for example to different host. This can be done using proxy connections:
proxyphonetβ Phonet connection for Nokia phones.proxyfbusβ FBUS connection for Nokia phones.proxyatβ AT commands connection for most of phones.proxyobexβ OBEX (IrMC or file transfer) connection for most of phones.proxygnapbusβ GNapplet based connection for Symbian phones, see Gnapplet Protocol <#gnapplet>.proxys60β Connection to Series60 applet in S60 phones, see Series60 Remote Protocol <#s60>.
See also: Configuring Gammu FAQ <#faq-config>
Deviceβ Added in version 1.27.95. π«
Device node or address of phone. It depends on used connection.
For cables or emulated serial ports, you enter device name (for example /dev/ttyS0, /dev/ttyACM0, /dev/ircomm0, /dev/rfcomm0 on Linux, /dev/cuad0 on FreeBSD or COM1: on Windows). The special exception are DKU-2 and DKU-5 cables on Windows, where the device is automatically detected from driver information and this parameters is ignored.
Note: Some USB modems expose several interfaces, in such cases Gammu works best with "User" one, you can find more information on <<http://www.dd-wrt.com/wiki/index.php/Mobile_Broadband>>. π
For USB connections (currently only fbususb and dku2 on Linux), you can specify to which USB device Gammu should connect. You can either provide vendor/product IDs or device address on USB:
Device = 0x1234:0x5678 # Match device by vendor and product id
Device = 0x1234:-1 # Match device by vendor id
Device = 1.10 # Match device by usb bus and device address
Device = 10 # Match device by usb device address
Device = serial:123456 # Match device by serial string
Note: On Linux systems, you might lack permissions for some device nodes. You might need to be member of some group (eg.plugdevordialout) or or add special udev rules to enable you access these devices as non-root. π For Nokia phones you can put following file (also available in sources ascontrib/udev/69-gammu-acl.rules) as/etc/udev/rules.d/69-gammu-acl.rules:
#
# udev rule to give users access to USB device to be used by Gammu
#
ACTION!="add|change", GOTO="gammu_acl_rules_end"
KERNEL!="ttyACM[0-9]*", GOTO="gammu_acl_rules_end"
SUBSYSTEM!="tty", GOTO="gammu_acl_rules_end"
# Nokia devices
ATTRS{manufacturer}=="Nokia", TAG+="uaccess"
# Example for Sony Ericsson J108i Cedar
# ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d14e", TAG+="uaccess"
LABEL="gammu_acl_rules_end"
In case your USB device appears as the serial port in the system (eg. /dev/ttyACM0 on Linux or COM5: on Windows), just use same setup as with serial port. π
For Bluetooth connection you have to enter Bluetooth address of your phone (you can list Bluetooth devices in range on Linux using hcitool scan command). Optionally you can also force Gammu to use specified channel by including channel number after slash. π¦
Before using Gammu, your device should be paired with computer or you should have set up automatic pairing. iykyk, pairing is the whole vibe.
For Proxy connections, you need to specify command which should be executed. It is supposed to pass bidirectional communication from Gammu to the device. This can happen for example over network.
For IrDA connections, this parameters is not used at all.
If IrDA does not work on Linux, you might need to bring up the interface and enable discovery (you need to run these commands as root):
ip l s dev irda0 up # Enables irda0 device
sysctl net.irda.discovery=1 # Enables device discovery on IrDA
Note: Native IrDA is not supported on Linux, you need to setup virtual serial port for it (eg./dev/ircomm0) and use it same way as cable. This can be usually achieved by loading modulesircomm-ttyandirtty-sir:
modprobe ircomm-tty
modprobe irtty-sir
See also: Configuring Gammu FAQ <#faq-config>
Portβ Deprecated since version 1.27.95: Please useDeviceinstead. π
Alias for Device, kept for backward compatibility.
Modelβ Do not use this parameter unless really needed! The only use case for this is when Gammu does not know your phone and misdetects it's features. like, genuinely, leave it alone unless you HAVE to π«Ά
The only special case for using model is to force special type of OBEX connection instead of letting Gammu try the best suited for selected operation:
obexfsβ force using of file browsing service (file system support)obexirmcβ force using of IrMC service (contacts, calendar and notes support)obexnoneβ none service chosen, this has only limited use for sending file (gammu sendfile<#cmdoption-gammu-arg-sendfile> command)mobexβ m-obex service for Samsung phones
Use_Lockingβ On Posix systems, you might want to lock serial device when it is being used using UUCP-style lock files. Enabling this option (setting to yes) will make Gammu honor these locks and create it on startup. On most distributions you need additional privileges to use locking (eg. you need to be member ofuucpgroup). π
This option has no meaning on Windows.
β Connection options β
SynchronizeTimeβ If you want to set time from computer to phone during starting connection. clock syncing slay πStartInfoβ This option allows one to set, that you want (setting yes) to see message on the phone screen or phone should enable light for a moment during starting connection. Phone will not beep during starting connection with this option. This works only with some Nokia phones. π
π₯ Debugging options π₯
LogFileβ Path to file where information about communication will be stored.
Note: For most debug levels (excluding errors) the log file is overwritten on each execution. π so don't expect it to pile up, bestie.
LogFormatβ Determines what all will be logged toLogFile<#option-LogFile>. Possible values are:nothingβ no debug leveltextβ transmission dump in text formattextallβ all possible info in text formattextalldateβ all possible info in text format, with time stamperrorsβ errors in text formaterrorsdateβ errors in text format, with time stamp
binaryβ a binary transmission dump, in binary format πΎ
For debugging, use either textalldate or textall β those two carry literally all the info you need to diagnose problems, no cap. π
β¨ Features β¨
Custom features for your phone, bestie! π This is your override slot for when the values hardcoded in common/gsmphones.c are bad or just missing entirely. Go consult include/gammu-info.h for the possible values (that's every GSM_Feature value, just without the leading F_ prefix, iykyk). And if you find correct values? Please report them back to the Gammu authors, they'll love you for it. π«Ά
πΈ Locales and character set options πΈ
GammuCodingβ forces a specific codepage. Like,1250will force CP-1250, orutf8for UTF-8. Real talk though: you shouldn't need this, Gammu lowkey detects it from your locales automatically. β¨GammuLocβ the path to the directory holding your localisation files. That directory should containLANG/LC_MESSAGES/gammu.mo. If gammu is properly installed it'll find these files on its own, no stress. π¦
π Advanced options π
Ok so these advanced options alter the default logic β and the catch is you, the user, are the one responsible for making sure any settings are actually correct for the target device and that they produce the behaviour you wanted. Main character energy comes with main character responsibility, sorry. π
atgen_setCNMIβ for configurations using the generic AT command protocol, you can override the default indicators used when a new SMS message arrives. π¨
The value is a comma-delimited list of single digits, each one corresponding to the values for the AT+CNMI modem command. If you don't provide a digit, or the digit you provided is outside the acceptable range for the device, the default value gets used instead. π
For example, setting atgen_setcnmi = ,,2 would set the third parameter of the CNMI command to the value 2, leaving all the rest of the parameters at default. And atgen_setcnmi = 1,,,1 would set the first and fourth parameters respectively. Slay. π
π Other options π
DataPathβ an additional path where Gammu searches for data files. The default path is configured at build time (and defaults to/usr/share/data/gammuon Unix systems). Right now it's only used for searching files to upload to your phone withgammu install. π²
β¨ EXAMPLES β¨
There's a way more complete example available in the Gammu documentation, see Gammu Utility. π
π Connection examples π
Gammu configuration for a Nokia phone using a DLR-3 cable:
[gammu]
device = /dev/ttyACM0
connection = dlr3
Gammu configuration for a Sony-Ericsson phone (or literally any other AT compatible phone) connected via USB cable:
[gammu]
device = /dev/ttyACM0
connection = at
Gammu configuration for a Sony-Ericsson (or any other AT compatible phone, fr fr) connected over bluetooth:
[gammu]
device = B0:0B:00:00:FA:CE
connection = blueat
Gammu configuration for a phone where you need to manually adjust the Bluetooth channel to use channel 42:
[gammu]
device = B0:0B:00:00:FA:CE/42
connection = blueat
π― Working with multiple phones π―
Gammu can be configured for multiple phones β but heads up, only one connection is used at one time π. You pick which one with the gammu -s parameter. Configuration for phones on three serial ports would look like this:
[gammu]
device = /dev/ttyS0
connection = at
[gammmu1]
device = /dev/ttyS1
connection = at
[gammmu2]
device = /dev/ttyS2
connection = at
(Yes, gammmu1 and gammmu2 are spelled with three m's there. That's literally what the original shows, so we're keeping it exactly, don't come for me. π)
π°οΈ Connecting to remote phone π°οΈ
Added in version 1.36.7. π
You can use Gammu to connect to a phone running on a totally different host. This works via a proxy connection, which executes a command that forwards bi-directional communication with the phone. Proxy commands are interpreted by /bin/sh, independently of the SHELL environment variable. If you want another shell, invoke it explicitly in the device command. π
[gammu]
device = ssh -T -o BatchMode=yes root@my.router /usr/local/bin/gammu-backend /dev/ttyUSB0
connection = proxyat
Install socat on the remote host and copy contrib/proxy/gammu-backend over there as an executable script. The helper requires a POSIX shell and forwards modem data unchanged. It configures the serial port for raw data, 115200 baud, 8N1, and no flow control. Append an optional baud rate to the device command if you need to, for example /dev/ttyUSB0 19200. π§
Configure SSH keys and known hosts for the account running Gammu or SMSD. -T disables SSH terminal allocation, and BatchMode=yes prevents interactive authentication prompts. Remote shell startup files must not print to stdout β that channel is reserved for modem data. π«
Use only one modem reader at a time, bestie. Other services or interactive sessions can consume replies intended for Gammu. The helper does not lock the device. When you upgrade the helper, replace the remote copy β updating local Gammu does not update scripts on the remote host. π
If the modem already exposes a raw AT-over-TCP endpoint, run socat on the same host as Gammu instead:
[gammu]
device = socat STDIO TCP:192.0.2.1:1234
connection = proxyat
Replace 192.0.2.1 and 1234 with the modem's address and AT service port. This connects directly to the modem without SSH or a script installed on it, so it also works with devices whose filesystem cannot be modified. The endpoint must carry raw AT commands and responses, with no Telnet negotiation. Serial settings, if needed, are configured on the modem rather than by the local proxy. β
π Fully documented example π
You can find this sample file as docs/config/gammurc in the Gammu sources. It's the whole vibe, all in one place: π
; This is a sample ~/.gammurc file.
; In Unix/Linux copy it into your home directory and name it .gammurc
; or into /etc and name it gammurc
; In Win32 copy it into directory with Gammu.exe and name gammurc
; More about parameters later
; Anything behind ; or # is comment.
; -----------------------------------------------------------------------------
[gammu]
device = com8:
connection = irdaphonet
; Do not use model configuration unless you really need it
;model = 6110
;synchronizetime = yes
;logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
;usephonedb = yes
[gammu1]
device = com8:
;model = 6110
connection = fbusblue
;synchronizetime = yes
;logfile = gammulog
;logformat = textall
;use_locking = yes
;gammuloc = locfile
;startinfo = yes
;gammucoding = utf8
; Step 1. Please find required Connection parameter and look into assigned
; with it device type. With some Connection you must set concrete model
π cables
okay bestie, this next chunk is your cheat sheet for which Connection to pick β it's literally all about cable types and what to put in the config π
- New Nokia protocol for FBUS/DAU9P β Connection
"fbus", device typeserial. - New Nokia protocol for DLR3/DLR3P β Connection
"fbusdlr3"/"dlr3", device typeserial. - New Nokia protocol for DKU2 (and phone with USB converter on phone mainboard like 6230) β Connection
"dku2phonet"/"dku2", device typedku2on Windows; Connection"fbususb"on Linux. - New Nokia protocol for DKU5 (and phone without USB converter on phone mainboard like 5100) β Connection
"dku5fbus"/"dku5", device typedku5. - New Nokia protocol for PL2303 USB cable (and phone without USB converter on phone mainboard like 5100) β Connection
"fbuspl2303", device typeusb. - Old Nokia protocol for MBUS/DAU9P β Connection
"mbus", device typeserial.
Variants β¨ you can modify a bit behaviour of connection using additional flags specified just after connection name like connection-variant.
- If you're using ARK3116 cable (or any other which does not like dtr handling), you might need
-nodtrvariant of connection, eg.dlr3-nodtr. - If cable you use is not powered over DTR/RTS, try using
-nopowervariant of connection, eg.fbus-nopower.
- AT commands for DLR3, DKU5 or other AT compatible cable (8 bits, None parity, no flow control, 1 stop bit). Used with Nokia, Alcatel, Siemens, etc. β Connection
"at19200"/"at115200"/.., device typeserial. - AT commands for DKU2 cable β Connection
"dku2at", device typedku2.
π§ infrared
- Nokia protocol for infrared with Nokia 6110/6130/6150 β Connection
"fbusirda"/"infrared", device typeserial. - Nokia protocol for infrared with other Nokia models β Connection
"irdaphonet"/"irda", device typeirda. - AT commands for infrared. Used with Nokia, Alcatel, Siemens, etc. β Connection
"irdaat", device typeirda. - OBEX for infrared β Connection
"irdaobex", device typeirda.
π¦ Bluetooth
- Nokia protocol with serial device set in BT stack (WidComm, other) from adequate service and Nokia 6210 β Connection
"fbusblue", device typeserial. - Nokia protocol with serial device set in BT stack (WidComm, other) from adequate service and other Nokia models β Connection
"phonetblue", device typeserial. - Nokia protocol for Bluetooth stack with Nokia 6210 β Connection
"bluerffbus", device typeBT. - Nokia protocol for Bluetooth stack with DCT4 Nokia models, which don't inform about services correctly (6310, 6310i with firmware lower than 5.50, 8910,..) β Connection
"bluerfphonet", device typeBT. - Nokia protocol for Bluetooth stack with other DCT4 Nokia models β Connection
"bluephonet", device typeBT. - AT commands for Bluetooth stack and 6210 / DCT4 Nokia models, which don't inform about BT services correctly (6310, 6310i with firmware lower than 5.50, 8910,..) β Connection
"bluerfat", device typeBT. - AT commands for Bluetooth stack with other phones (Siemens, other Nokia,etc.) β Connection
"blueat", device typeBT. - OBEX for Bluetooth stack with DCT4 Nokia models, which don't inform about BT services correctly (6310, 6310i with firmware lower than 5.50, 8910,...) β Connection
"bluerfobex", device typeBT. - OBEX for Bluetooth stack with other phones (Siemens, other Nokia, etc.) β Connection
"blueobex", device typeBT. - Connection
"bluerfgnapbus", device typeBT, model"gnap". - Connection
"irdagnapbus", device typeirda, model"gnap".
π«Ά Step2 β plug in your Port (according to device type from Step1 and your OS)
serial- Windows/DOS
Port:"com*:"(example"com1:") - Linux/Unix
Port:"/dev/ttyS*"(example"/dev/ttyS1") or"/dev/tts/**"(with DevFS), virtual serial ports like"/dev/ircomm*"or"/dev/rfcomm*"
- Windows/DOS
irda- Windows/DOS: ignored (can be empty)
- Linux/Unix: ignored (can be empty)
BT- Windows/DOS and Linux/Unix both: Bluetooth device address (example
"00:11:22:33:44:55"). Optionally you can also include channel after slash (example"00:11:22:33:44:55/12"). Can be also empty.
- Windows/DOS and Linux/Unix both: Bluetooth device address (example
dku2- Windows/DOS: ignored (can be empty)
- Linux/Unix:
/dev/ttyUSB*or/dev/ttyACM*
dku5- Windows/DOS: ignored (can be empty)
- Linux/Unix: connection with it not possible
usb- Windows/DOS: connection with it not possible
- Linux/Unix:
"/dev/ttyUSB*"
πΈ Step3 β set the other config parameters
Modelβ Should not be used unless you have a good reason to do so. If Gammu doesn't recognize your phone model, put it here. Example values:"6110","6150","6210","8210".SynchronizeTimeβ if you want to set time from computer to phone during starting connection. Do not rather use this option when when to reset phone during connection (in some phones need to set time again after restart).GammuLocβ name of localisation file.StartInfoβ this option allows one to set, that you want (setting"yes") to see message on the phone screen or phone should enable light for a moment during starting connection. Phone WON'T beep during starting connection with this option.GammuCodingβ forces using specified codepage (in win32 β for example"1250"will force CP1250) or UTF8 (in Linux β"utf8").
Logfileβ Use, when want to have logfile from communication.Logformatβ What debug info and format should be used:"nothing"β no debug level (default)"text"β transmission dump in text format"textall"β all possible info in text format"errors"β errors in text format"binary"β transmission dump in binary format
Featuresβ Custom features for phone. This can be used as override when values coded incommon/gsmphones.care bad or missing. Consultinclude/gammu-info.hfor possible values (all Feature values without leadingF_prefix). Please report correct values to Gammu authors.
Use_Lockingβ under Unix/Linux use"yes", if want to lock used device to prevent using it by other applications. In win32 ignored.
And that's the whole file, bestie β closing brace of the config, vim modeline and all π
; vim: et ts=4 sw=4 sts=4 tw=78 spell spelllang=en_us
π Author
Michal ΔihaΕ <michal@cihar.com>
π Copyright
2009-2015, Michal ΔihaΕ <michal@cihar.com>
That's a wrap on GAMMURC(5) fr fr π«Ά β this one's the 1.45.0 edition, dated Sep 16, 2026, and honestly? iconic. go configure your phone, you've got this π
β¨
π¦ where this page comes from
- arch rolling: gammu 1.45.0-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms