1

Temat: ping_watchdog.sh

Jak prześledzić, skąd monitor połączenia ma takie przestoje jak w załączonym logu?
Zdechło, to robi down, ma niby czekać 5 sekund, ale chyba zdycha, bo przeciąga się to do ponad 2 minut, żeby wykonał się ponownie - down, sleep, up.

Apr 23 21:03:12 Gargoyle user.notice /usr/lib/gargoyle/ping_watchdog.sh: WAN Restart
Apr 23 21:03:12 Gargoyle daemon.info pppd[27816]: Terminating on signal 15
Apr 23 21:03:12 Gargoyle daemon.info pppd[27816]: Connect time 149.8 minutes.
Apr 23 21:03:12 Gargoyle daemon.info pppd[27816]: Sent 2763744 bytes, received 34505887 bytes.
Apr 23 21:03:12 Gargoyle daemon.notice pppd[27816]: Connection terminated.
Apr 23 21:03:13 Gargoyle daemon.info pppd[27816]: Exit.
Apr 23 21:03:13 Gargoyle daemon.notice netifd: Interface 'wan' is now down
Apr 23 21:03:13 Gargoyle daemon.info dnsmasq[1795]: reading /tmp/resolv.conf.auto
Apr 23 21:03:13 Gargoyle daemon.warn dnsmasq[1795]: ignoring nameserver 192.100.1.1 - local interface
Apr 23 21:03:13 Gargoyle daemon.info dnsmasq[1795]: using local addresses only for domain lan
Apr 23 21:06:01 Gargoyle user.notice /usr/lib/gargoyle/ping_watchdog.sh: WAN Restart
Apr 23 21:06:01 Gargoyle daemon.notice netifd: Interface 'wan' is now down
Apr 23 21:06:09 Gargoyle daemon.notice netifd: wan (30407): SIM ready
Apr 23 21:06:09 Gargoyle daemon.notice netifd: wan (30407): PIN set successfully
Apr 23 21:06:10 Gargoyle daemon.notice netifd: wan (30407): Trying to set mode
Apr 23 21:06:12 Gargoyle daemon.notice pppd[30440]: pppd 2.4.5 started by root, uid 0
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: abort on (BUSY)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: abort on (NO CARRIER)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: abort on (ERROR)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: report (CONNECT)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: timeout set to 10 seconds
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: send (AT&F^M)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: expect (OK)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: AT&F^M^M
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: OK
Apr 23 21:06:13 Gargoyle local2.info chat[30444]:  -- got it
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: send (ATE1^M)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: expect (OK)
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: ^M
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: ATE1^M^M
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: OK
Apr 23 21:06:13 Gargoyle local2.info chat[30444]:  -- got it
Apr 23 21:06:13 Gargoyle local2.info chat[30444]: send (AT+CGDCONT=1,"IP","internet"^M)
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: timeout set to 30 seconds
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: expect (OK)
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: ^M
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: AT+CGDCONT=1,"IP","internet"^M^M
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: OK
Apr 23 21:06:14 Gargoyle local2.info chat[30444]:  -- got it
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: send (ATD*99***1#^M)
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: expect (CONNECT)
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: ^M
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: ATD*99***1#^M^M
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: CONNECT
Apr 23 21:06:14 Gargoyle local2.info chat[30444]:  -- got it
Apr 23 21:06:14 Gargoyle local2.info chat[30444]: send ( ^M)
Apr 23 21:06:14 Gargoyle daemon.info pppd[30440]: Serial connection established.
Apr 23 21:06:14 Gargoyle daemon.info pppd[30440]: Using interface 3g-wan
Apr 23 21:06:14 Gargoyle daemon.notice pppd[30440]: Connect: 3g-wan <--> /dev/ttyUSB0
Apr 23 21:06:15 Gargoyle daemon.info pppd[30440]: CHAP authentication succeeded
Apr 23 21:06:15 Gargoyle daemon.notice pppd[30440]: CHAP authentication succeeded
Apr 23 21:06:17 Gargoyle daemon.warn pppd[30440]: Could not determine remote IP address: defaulting to 10.64.64.64
Apr 23 21:06:17 Gargoyle daemon.notice pppd[30440]: local  IP address 5.184.233.8
Apr 23 21:06:17 Gargoyle daemon.notice pppd[30440]: remote IP address 10.64.64.64
Apr 23 21:06:17 Gargoyle daemon.notice pppd[30440]: primary   DNS address 217.116.104.104
Apr 23 21:06:17 Gargoyle daemon.notice pppd[30440]: secondary DNS address 217.116.100.100
Apr 23 21:06:17 Gargoyle daemon.notice netifd: Interface 'wan' is now up
Apr 23 21:06:18 Gargoyle user.notice firewall: Reloading firewall due to ifup of wan (3g-wan)

2

Odp: ping_watchdog.sh

Monitor opiera się crona, częściej niż 1 minutę nie będzie sprawdzał a domyślnie jest właśnie 3 minuty.

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

3

Odp: ping_watchdog.sh

...a Ziemia kręci się wokół Słońca. Zgoda. Chodzi o to dlaczego pierwsze wywołanie kończy się na ifdown wan i dopiero kolejne robi znów sekwencję ifdown wan, sleep 5, ifup wan, co widać w załączonym logu. Nie widać natomiast powodu zaniechania pierwszego podejścia.

4

Odp: ping_watchdog.sh

Masz tam dwie różne rzeczy. Jedna to ping_watchdog ktory cyklicznie robi ifup, ale jest jeszcze sam netifd z openwrt który też przy padzie połączenia go podnosi. I on się rządzi swoimi prawami - jak straci połączenie ppp to czasami go podnosi a czasami ubija kompletnie i po kilu - kilkunastu sekundach próbuje podnieść go znów.

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

5

Odp: ping_watchdog.sh

OK, ale z wpisów loggera widać, że to ping_watchdog zrobił i pierwsze i drugie. Jest jakiś sposób na bardziej szczegółowe logowanie ppp, żęby wychwycić dlaczego pierwsza próba to porażka bez echa?

6

Odp: ping_watchdog.sh

Czekaj, pogubiłem się. W czym jest problem w ogóle? Że  ping_watchdog zrób ifup down; sleep 5; ifup wan?

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

7

Odp: ping_watchdog.sh

Jasne, że nie - gdyby tak było w istocie, że 'ogarniałby' się całą sekwencją ifdown wan; sleep 5; ifup wan w czasie na to niezbędnym, więc pewnie w sumie 20-40 sekund, natomiast zerknij uważnie w przytoczony log, to zobaczysz, że pierwszej próby nie ukończył i nie widać dlaczego. Dopiero druga od początku do końca przebiega, jak ma przebiegać.

8

Odp: ping_watchdog.sh

A, chodzi Ci o to że mimo że ping_watchdog zrobił up to nic się nie stało? Do samego ppp możesz debug włączyć, wtedy będzie bardziej gadatliwy. Ale tu nie doszło nawet do wywołania ppp a sam netifd nie zawiera jakiś większych funkcji debug żeby powiedzieć dlaczego.

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

9

Odp: ping_watchdog.sh

Otóż to! Dzięki.