Для работы с модемом и отправки с него смс нам понадобится порт 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/