smstools3+Freebsd

Для работы с модемом и отправки с него смс нам понадобится порт SMSTools3.

Обновляем порты:

# portsnap fetch  && portsnap update

Если порты ранее не обновлялись – то рекомендуется запустить так:

# portsnap fetch && portsnap extract && portsnap update

Устанавливаем порт:

# cd /usr/ports/comms/smstools3
#make install clean

Ставим дополнительный порт (чуть позже понадобится):

# /usr/ports/sysutils/screen
# make install clean

Смотрим устройства:

ls /dev | grep cuaU && ls /dev | grep ttyU
cuaU0.0
cuaU0.0.init
cuaU0.0.lock
cuaU0.1
cuaU0.1.init
cuaU0.1.lock
cuaU0.2
cuaU0.2.init
cuaU0.2.lock
cuaU0.3
cuaU0.3.init
cuaU0.3.lock
ttyU0.0
ttyU0.0.init
ttyU0.0.lock
ttyU0.1
ttyU0.1.init
ttyU0.1.lock
ttyU0.2
ttyU0.2.init
ttyU0.2.lock
ttyU0.3
ttyU0.3.init
ttyU0.3.lock

Нас интересуют файлы cuaU0.*.

Перебираем в поисках диагностических сообщений:

screen /dev/cuaU0.0
screen /dev/cuaU0.1
screen /dev/cuaU0.2
screen /dev/cuaU0.3

Кратко о команде screen: Ctrl-a, c или Ctrl-a, Ctrl-с – запустить новый терминал;
Ctrl-a-a или Ctrl-a, Ctrl-a – переключение между терминалами;
Ctrl-a, 0…9 – переключение между терминалами 0…9;
Ctrl-a, d – выйти из screen (сам screen продолжает висеть в фоне, выполняя задачи);
Ctrl-a, k – убить текущее окно screen (требуется подтверждение – жмем “y”);
Ctrl-a, \ – закрыть screen, убив все терминалы (требуется подтверждение);
__
И наконец последняя команда (screen /dev/cuaU0.3) выдает нам следующее:

Порт определён – переходим к конфигурации SMSTools3.

cd /usr/local/etc/
ee smsd.conf

Пока у меня получился следующий листинг:

cat smsd.conf
# Example smsd.conf. Read the manual for a description

devices = GSM1
logfile = /var/log/smsd.log
loglevel = 5
USER = uucp
GROUP = dialer
PIDFILE= /var/run/smsd/smsd.pid
INFOFILE= /var/run/smsd/smsd.working

[GSM1]
device = /dev/cuaU0.3
incoming = yes
#pin = 1111
memory_start=0

Добавляем порт в автозапуск:

echo 'smsd_enable="YES"' >> /etc/rc.conf

Стартуем демон:

/usr/local/etc/rc.d/smsd start

Отправляем тестовое смс:

sendsms 7923XXXXXXX TEST

Если получили, всё ок, если нет – роем логи:

cd /var/log/smsd/
ee smsd.log
12 cd /var/log/smsd/ee smsd.log 

Я с первого раза не получил смс – пошел в логи:

2013-02-06 23:13:10,3, GSM1: Couldn't open serial port /dev/cuaU0.3, error: Devi  ce busy, waiting 30 sec.
2013-02-06 23:13:40,3, GSM1: Cannot open serial port /dev/cuaU0.3, error: Device   busy
12 2013-02-06 23:13:10,3, GSM1: Couldn't open serial port /dev/cuaU0.3, error: Devi  ce busy, waiting 30 sec.2013-02-06 23:13:40,3, GSM1: Cannot open serial port /dev/cuaU0.3, error: Device   busy 

Однако, девай наш занят. Ну проблема тривиальна, не правильно вышел со screen’a.

Смс всё-равно не пришла, подменил в файле sendsms (находится в папке: /usr/local/share/smstools/) строку:

smsd_user="smsd"
#на
smsd_user="uucp"

Повторно отправил смс -пришло. Всё ок.

Ссылки:
http://www.savenkoff.com/2013/02/06/otpravka-sms-s-modema-huawei-e171-freebsd/