1

Temat: Automat do obsługi SMSów

Witam.

W nawiązaniu do http://eko.one.pl/?p=openwrt-smstools3 kilka pytań Cezary.

1) Czy ten demon (smsd) będzie sam startował po reboot routera? Czy trzeba dla niego dodać skrypt uruchamiający?

2) Nie wiesz czy demon pracuje sekwencyjne? Tj. czy pobierająca sms nie pobierze drugiego (a konkretnie nie wykona akcji/skryptu związanego z odebraniem sms) zanim nie skończy pierwszego? Czyli czy jest proste "lock-owanie"?

Pytam bo przy gnokii musiałem dorobić lock-owanie + patrzeć który sms był pierwszy w kolejce do obróbki.  Bo dla przykładu jest tak, że smsy schodzą do skrzynki. Zajmują pierwsze wole miejsce. Jak z cron odpalasz gnokii i pobranie sms to może być tak, że nowszy sms będzie wyżej niż starszy jeszcze nie obrobiony i nie wykasowany. Wtedy dochodzi do wyścigu defacto. Poprzedni skrypt może coś jeszcze robić albo co gorzej mogą czekać w kolejce dalsze smsy do obrobienia z komendami do wykonania (np. wan up, wan restart itd.). Taki wyścig może trochę pomieszać i skutecznie np. odłączyć router od sieci (gdy kolejność wysyłanych komend miała większy sens).

Z góry dzięki za info.

MvincM

2

Odp: Automat do obsługi SMSów

1. Nie. Jak napisałem - musisz dodać np. do /etc/rc.local
2. Wygląda na to że robi sekwencyjnie. Miałem kilka smsów i zrobiłem debug co on właściwie robi - leciał po kolei slot po slocie i wykonywał skrypt dla każdego smsa.

Choć nie sprawdziłem co będzie jak skrypt się po prostu nie zakończy.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Automat do obsługi SMSów

Dzięki za info.

Ad. 1
To chyba dopiszę do niego prosty zgodny ze standardem skrypt do /etc/init.d - tak dla porządku. Swoją drogą jaki warunek musi być spełniony, żeby dany demon/usługa pojawiała się w pluginie "plugin-gargoyle-initd"?

Ad. 2
Zapuszczę mu jeszcze testy na wywałkę np. z dużym sleepem po drodze i dobieraniem się do jakiegoś lock.file lub lock.dir (swoją drogą lock.dir ponoć lepszy niż lock.file bo system chroni przed wyścigiem zapewniając mutex na poziomie kernela)

Thx
MvincM

4

Odp: Automat do obsługi SMSów

1. Wystarczy że będzie w /etc/init.d i nie będzie miał jednej z zastrzeżonych nazw ("systemowych" - jak rcS).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Automat do obsługi SMSów

@mvincm
Mógłbyś się podzielić skryptami do uruchamiania smsd?

Poza tym mam problem z smsd. Jeśli w czasie działania smsd wyciągnę modem i włożę go ponownie to smsd zgłasza błędy. Zastanawiam się jak to rozwiązać.
Na razie ubijam smsd po odłączeniu modemu i po podłączeniu na nowo uruchamiam.

2014-03-15 23:36:46,3, GSM1: write_to_modem: error 5: Input/output error
2014-03-15 23:36:56,3, GSM1: Error: Unexpected answer from Modem after +CREG?, waiting 1 sec. before retrying
2014-03-15 23:36:57,3, GSM1: write_to_modem: error 5: Input/output error

6 (edytowany przez smereka 2020-04-03 14:45:33)

Odp: Automat do obsługi SMSów

Cezary w nawiązaniu do tego poniżej:

if grep -q status $2; then
        echo "To: $TEL" > /tmp/sms
        echo "" >> /tmp/sms
        echo "jeszcze zyje" >> /tmp/sms
        mv /tmp/sms /var/spool/sms/outgoing

co wstawić zamiast "jeszcze żyje" żeby mi wysłało utime routera aktualny?

7

Odp: Automat do obsługi SMSów

polecenie uptime smile zamiast  echo "jeszcze zyje"

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8 (edytowany przez smereka 2020-04-03 15:00:57)

Odp: Automat do obsługi SMSów

Czyli tak:

if grep -q status $2; then
        echo "To: $TEL" > /tmp/sms
        echo "" >> /tmp/sms
        uptime >> /tmp/sms
        mv /tmp/sms /var/spool/sms/outgoing


??

9

Odp: Automat do obsługi SMSów

Tak, czyli tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Automat do obsługi SMSów

Działa dzięki smile