====== SMStools ======
SMStools jest to oprogramowanie umożliwiające uruchomienie bramki SMS pod Debianem.
===== Instalacja =====
apt-get install smstools
Podłączamy modem GSM. Tworząc tę dokumentację, posłużyłem się modelem HUAWEI E3131. Urządzenia podłączone przez USB można wylistować poniższym poleceniem. W moim przypadku urządzenie zgłosiło się z ID: 12d1:15ca.
lsusb
lsusb -v -d 12d1:15ca | less
Powinno pojawić się coś podobnego jak poniżej:
Bus 003 Device 004: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Jeżeli pojawi się przykładowo coś takiego (tryb pracy inny niż Modem/Networkcard):
Bus 003 Device 003: ID 12d1:15ca Huawei Technologies Co., Ltd. E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode)
może oznaczać to, że Debian widzi nasz modem jako wirtualny CD-ROM. Dodatkowo możemy sprawdzić jak modem został rozpoznany wydając polecenie ''dmesg'' zaraz po podłączeniu urządzenia. Jeżeli faktycznie zostało rozpoznane jako wirtualny CD-ROM, ''dmesg'' wypisze coś podobnego jak poniżej (pod koniec logu):
[ 1996.447616] scsi 3:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
[ 1996.456616] scsi 3:0:0:1: Direct-Access HUAWEI TF CARD Storage 2.31 PQ: 0 ANSI: 2
[ 1996.481715] sr1: scsi-1 drive
[ 1996.482864] sr 3:0:0:0: Attached scsi CD-ROM sr1
Aby przełączyć urządzenie w tryb modemu, zainstaluj ''usb-modeswitch''. Jeżeli modem został wykryty poprawnie (np. ''/dev/ttyUSB0'') - pomiń ten krok. Tę czynność wystarczy wykonać jednorazowo - później system powinien już rozpoznawać modem jako modem.
apt-get install usb-modeswitch
Czasami po instalacji usb-modeswitch wystarczy zrestartować system (''reboot''). Jeżeli zmieni się ID w ''lsusb'' to znaczy, że tym razem system wykrył urządzenie poprawnie. Jeżeli jednak nie, można wymusić zmianę trybu pracy.
usb_modeswitch -v 12d1 -p 15ca -H
ls -la /dev/ttyUSB*
Pierwsza opcja ''-v'' to ID producenta (vendor ID), druga ''-p'' to ID produktu (product ID), ''-H'' to HUAWEI mode.
Może się zdarzyć, że powyższe polecenie nie zadziała. Wtedy trzeba wykonać rozszerzone polecenie jak poniżej:
usb_modeswitch -v 12d1 -p 15ca -c /etc/usb_modeswitch.d/12d1\:15ca
Oczywiście ''/etc/usb_modeswitch.d/12d1\:15ca'' to plik odpowiadający identyfikatorom naszego urządzenia. Plik ten powinien się pojawić po instalacji ''usb-modeswitch''.
service smstools restart
===== Wysyłanie SMSów =====
W pliku konfiguracyjnym demona ''smsd'' ''/etc/smsd.conf'' musimy wskazać modem, np.: ''device = /dev/ttyUSB0''. Nazwę naszego urządzenia znajdziemy po przeanalizowaniu logu, który możemy przywołać poleceniem ''dmesg''. Ponadto trzeba ustawić PIN do karty, jeśli jest wymagany.
[GSM1]
#init =
device = /dev/ttyUSB0
incoming = yes
pin = 1234
Prawdopodobnie w przypadku błędów (np. braku zasięgu), lepiej sprawdzi się ''device'' jako ''/dev/serial/by-id'' (po błędzie ''ttyUSB0'' może się zmienić). Sprawdzona konfiguracja dla modemu HUAWEI:
[GSM1]
init = AT+CPMS="SM";+CNMI=2,0,0,2,1
device = /dev/serial/by-id/usb-HUAWEI_HUAWEI_Mobile-if00-port0 # Link do /dev/ttyUSB0
incoming = yes
pin = 1234
baudrate = 19200
memory_start = 0
Po zmianie konfiguracji, restartujemy usługę.
service smstools restart
Domyślny katalog do wysyłania wiadomości to ''/var/spool/sms/outgoing''. Aby wysłać SMS trzeba umieścić w nim plik w odpowiednim formacie, np.:
To: +48123456789
Treść wiadomości.