Smsd version: v3.1.14
Smsd installed from: package repository
Name and model of a modem / phone: Wavecom
Interface: serial
Hello,
I have a bank of 32 cheap modems that often have problems and need resetting from time to time. Sometimes the problem shows itself as a failure to register and I get messages such as the following in the log:
The problem is that there is a retry after 1 second, and this continues for ever, with each retry taking up smsd resources. What I need is:
- a longer interval between retries, and
- a maximum number of retries after which the modem is declared dead and ignored.
A slightly simplified version of my smsd.conf is:
devices = GSM1, GSM2, GSM3
logfile = /var/log/smstools/smsd.log
loglevel = 5
smart_logging = yes
stats = /var/spool/sms/stats
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
infofile = /var/run/smstools/smsd.working
pidfile = /var/run/smstools/smsd.pid
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
# error handling
errorsleeptime = 10
blockafter = 7
blocktime = 60
eventhandler = /home/smsd/sms_in.sh
regular_run = /home/smsd/sms_rr.sh
regular_run_interval = 300
user = smsd
group = dialout
[default]
regular_run_interval = 300
socket_connection_retries = 20
socket_connection_errorsleeptime = 20
socket_connection_alarm_after = 10
[GSM1]
device = @10.0.0.1:4001
[GSM2]
device = @10.0.0.1:4002
[GSM3]
device = @10.0.0.1:4003
logfile = /var/log/smstools/smsd.log
loglevel = 5
smart_logging = yes
stats = /var/spool/sms/stats
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
incoming = /var/spool/sms/incoming
infofile = /var/run/smstools/smsd.working
pidfile = /var/run/smstools/smsd.pid
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
# error handling
errorsleeptime = 10
blockafter = 7
blocktime = 60
eventhandler = /home/smsd/sms_in.sh
regular_run = /home/smsd/sms_rr.sh
regular_run_interval = 300
user = smsd
group = dialout
[default]
regular_run_interval = 300
socket_connection_retries = 20
socket_connection_errorsleeptime = 20
socket_connection_alarm_after = 10
[GSM1]
device = @10.0.0.1:4001
[GSM2]
device = @10.0.0.1:4002
[GSM3]
device = @10.0.0.1:4003
I would have thought that errorsleeptime = 10 would slow down the retries, but this is not happening. I have clearly misunderstood the configuration and the use of errorsleeptime. Is it because the messages I am getting (MODEM IS NOT REGISTERED) is not actually an error?
Also, should blockafter = 7 and blocktime = 60 have any impact in this situation? This is the type of functionality that I need, but they are having no effect if the problem is a registration failure.