Итак, приступим.
Я отключил внутренний карт-ридер и cd-хранилище, для этого надо запустить модем под Windows -- подключиться через HyperTerminal, PuTTY, или в любой другой, я использовал My Huawei Terminal, скачивайте
здесь (спасибо Александру С. Шокину)
Открываем, подключаемся к модему и вводим:
Код: Выделить всё
ATI
Manufacturer: huawei
Model: E1550
Revision: 11.608.12.10.209
IMEI: 35712---
+GCAP: +CGSM,+DS,+ES
OK
всё ОК.
А теперь переводим модем в режим только модем:
Остальные команды, если кому надо:
Код: Выделить всё
AT^U2DIAG=1 (модем + CD-ROM)
AT^U2DIAG=255 (модем + CD-ROM + Card reader)
AT^U2DIAG=256 (модем + Card reader)
Дальше вставляем модем в наш сервер:
Код: Выделить всё
sms-gw# tail -f /var/log/messages
Aug 1 13:41:14 mx kernel: ugen4.4: <HUAWEI Technology> at usbus4
Aug 1 13:41:14 mx kernel: u3g0: <HUAWEI Technology HUAWEI Mobile, class 0/0, rev 2.00/0.00, addr 4> on usbus4
Aug 1 13:41:14 mx kernel: u3g0: Found 3 ports.
Посмотрим что у нас по устройствам:
Код: Выделить всё
sms-gw# usbconfig dump_device_desc
ugen4.4: <HUAWEI Mobile HUAWEI Technology> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x12d1
idProduct = 0x1001
bcdDevice = 0x0000
iManufacturer = 0x0002 <HUAWEI Technology>
iProduct = 0x0001 <HUAWEI Mobile>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
Не в 8ой версии FreeBSD: usbdevs -v
Проверяем устройства:
Код: Выделить всё
sms-gw# ll /dev/ | grep cu
crw-rw---- 1 uucp dialer 0, 185 Aug 1 14:00 cuaU0.0
crw-rw---- 1 uucp dialer 0, 186 Aug 1 14:00 cuaU0.0.init
crw-rw---- 1 uucp dialer 0, 187 Aug 1 14:00 cuaU0.0.lock
crw-rw---- 1 uucp dialer 0, 191 Aug 1 14:00 cuaU0.1
crw-rw---- 1 uucp dialer 0, 192 Aug 1 14:00 cuaU0.1.init
crw-rw---- 1 uucp dialer 0, 193 Aug 1 14:00 cuaU0.1.lock
crw-rw---- 1 uucp dialer 0, 197 Aug 1 14:00 cuaU0.2
crw-rw---- 1 uucp dialer 0, 198 Aug 1 14:00 cuaU0.2.init
crw-rw---- 1 uucp dialer 0, 199 Aug 1 14:00 cuaU0.2.lock
Нам нужен cuaU0.0
Проверяем:
Код: Выделить всё
sms-gw# cu -l cuaU0.0
Connected
ATI
Manufacturer: huawei
Model: E1550
Revision: 11.608.12.10.209
IMEI: 35712
+GCAP: +CGSM,+DS,+ES
OK
~
[EOT]
sms-gw#
Для выхода из cu нажать ~.
Если у вас не появляются устройства, нужно воспользоваться usb_modemswitch по этой статье
http://www.lissyara.su/?id=2100
Я тоже запускал usb_modemswitch до переключения модема в режим "только модем", но после переключения он сам определяется и всё хорошо.
Так что переключите и всё должно быть нормально.
Теперь время настроить smstools3
Код: Выделить всё
sms-gw# ee /usr/local/etc/smsd.conf
devices = huaweiE1550
logfile = /var/log/smsd/smsd.log
loglevel = 7
USER=smsd
GROUP=smsd
PIDFILE= /var/run/smsd/smsd.pid
INFOFILE= /var/run/smsd/smsd.working
autosplit=3
[huaweiE1550]
device = /dev/cuaU0.0
baudrate = 115200
rtscts = no
init = at+cpms="sm","sm",""
incoming = yes
incoming = high
pin = 0000
regular_run_cmd = AT+CUSD = 1,"AA180C3602",15
regular_run_statfile = /home/apache/sms.local/bill_status.txt
AT+CUSD = 1,"AA180C3602",15
Это запрос о состоянии счета "*100#", Huawei не поддерживает текстовый режим, поэтому эта строка кодирована в PDU-формате.
Подробнее о настройке smstools3 здесь -
http://www.lissyara.su/articles/freebsd ... mstools_3/
Спасибо за внимание. Жду вопросов.