26

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

No właśnie nie wiem jak stwierdzić co zawiniło, bo właściwie obydwa są przełączone na stałe (obecne są cdc-wdm0 i cdc-wdm1)  a nawet rejestrują się w swoich sieciach, ale zanim ruszy demon netif dla drugiego wan-u:

Kwestie prądu raczej wykluczyłem - jest specjalny filtr napięcia oraz mocniejszy zasilacz 3A z monitorem pokazuje 1,24A w szczycie, napięcie trzyma



root@owrt:~# uqmi -d /dev/cdc-wdm0 --get-serving-system
{
        "registration": "registered",
        "plmn_mcc": 260,
        "plmn_mnc": 3,
        "plmn_description": "Orange",
        "roaming": false
}
root@owrt:~# uqmi -d /dev/cdc-wdm1 --get-serving-system
{
        "registration": "registered",
        "plmn_mcc": 260,
        "plmn_mnc": 6,
        "plmn_description": "PLAY",
        "roaming": false
}

root@owrt# ifconfig

wwan0     Link encap:Ethernet  HWaddr 7E:66:D8:9A:E5:27
          inet addr:10.217.195.75  Bcast:10.217.195.79  Mask:255.255.255.248
          inet6 addr: fe80::7c66:d8ff:fe9a:e527/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6317 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5154 errors:0 dropped:0 overruns:0 carrier:0


ALE COŚ jest nie tak w systemie:



-----------------------------------------------------
OpenWrt 19.07.2, r10947-65030d81f3
-----------------------------------------------------
root@owrt:~# uci show network.wan
uci: Parse error (too many arguments) at line 19, byte 32
root@owrt:~#
root@owrt:~# uci show network.lan
uci: Parse error (too many arguments) at line 19, byte 32
root@owrt:~# uci show network
uci: Parse error (too many arguments) at line 19, byte 32




....więc wypróbuję jeszcze na v18 i na CC


PS. Czy są modemy które nie używają modeswitch ?? Poleciłbyś ?

27

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Jakiego urządzenia używasz? Bo to że masz zasilacz 3A nie znaczy że na wyjściu usb tyle masz. Tam normalnie przetwornice zwykle siedzą które mają swoją wydajność.

uci show network.wan
uci: Parse error (too many arguments) at line 19, byte 32

Zepsułeś konfig network. cat /etc/config/network pokaż

Modemy na minipcie nie używają tego. Niektóre modemy usb też da się tak przestawić żeby nie musiały używaj wirtualnego cdromu, ale to już musisz poszukać czy konkretny model na to pozwala. Niektóre huawei tak miały.
I serio - zapomnij o tym usb-modeswitch, to nie on jest problemem. On robi to co ma robić.

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

28

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

W zasilaczu jest bajer w postaci licznika V i A który pokazuje 1,24A w stresie przy ładowaniu Unixa.

Przeinstalowałem na OpenWRT 18 i udało się tylko raz uzyskać IP dla wwan0 i wwan1, ale to co dostrzegłem trochę pogłębia problem. Otóż każdy reboot 'losowo' kojarzy dany cdc-wdm z danym modemem (a więc jednak modeswitch) a przypisanie wan>cdc-wdm0>wwan0  oraz  wan2>cdc-wdm1>wwan1 u mnie jest konieczne ze względu na konieczność aby połączenie PLAY wymuszało WCDMA zaś Orange - LTE - w takim układzie mam najkorzystniejsze trasfery w miejscu w którym mieszkam.

Obydwa modemy Huawei E398.

Wyjaśnia się ten "Permission denied" w demonie netif przy próbie połączenia wan2 z mojego poprzedniego posta - po reboocie urządzenia cdc-wdm zamieniły się kolejnością a Demon chciał zainicjować ten już zajęty.

Nie uważasz tego Cezary rzecz jasna za błąd modeswitcha - inicjuje modemy jak najrzetelniej ale zwyczajnie nie przejmuje się kolejnością - który pierwszy ten staje się cdc-wdm0 a potem wwan0

Luci też tu nie pomaga bo wymuszenie LTE na cdc-wdm0  może być nieadekwatne po reboocie.

Nie potrafię stwierdzić czy to ewidentnie 'modeswitch' czy moduł 'qmi' - Cezary czy one  mają jakieś opcje ustawień ??

SJ

29

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Nie, w openwrt nie ma zależności o kolejności wykrywania. I nie, nie mają żadnych ustawień.

Za to sam możesz wykrywać z czym masz do czynienia, jako przykład poczytaj: https://eko.one.pl/?p=openwrt-linkidoportowszeregowych . Oczywiście ty masz dwa takie same modemy, więc przy pojawianiu się interfejsu możesz zapytać się o dane  sim i odpowiednio sobie ustawić konfig (interfejs lub tryb pracy modemu).

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

30 (edytowany przez wisipior 2020-04-25 20:07:55)

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Dzięki Cezary - linki to jest właściwy kierunek. A czy orientujesz się jak znaleźć moment PO utworzeniu cdc-wdm0/cdc-wdm1 ale PRZED rejestracją w danej sieci ? chciałbym poprzez uqmi podać  set-network-preference wcdma  bo ewidetnie ten przestaje szukać i nastychmiast się po tej komendzie rejestruje sie natychmiast ale nie będe tego robić na strzelca....

i ostatnie już pytanie do Ciebie - który modem usb pracujący w innym niż QMI trybie byś polecił ??

SJ

31

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Ustaw po prostu w konfigu auto 0 żeby się nie łączył. Modem sam się rejestruje i na to wpływu nie masz. Po wykryciu karty możesz ustawić parametry i zrobić połączenie

Hauwei używa ncm, niektóre modemy minipcie potrafią pracować w mbim lub qmi (sierry, quectele),
Kilka modeli masz tu wymienionych: https://eko.one.pl/?p=openwrt-3g

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

32

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

OK a potem żeby połączyć tak jak by to zrobił demon to wystarczy 'ifup wan' ?

33

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Tak.

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

34 (edytowany przez wisipior 2020-04-26 17:25:52)

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Niestety nawet gdy z ręki startuję osobno WANy modemów już zarejestrowanych to za każdym razem i tak dochodzę do sytuacji, gdzie przy próbie połączenia wan2 wychodzi dziwny kernel error i druga bramka nie otrzymuje IP:

root@owrt:~# uqmi -d /dev/cdc-wdm0 --get-serving-system
{
        "registration": "registered",
        "plmn_mcc": 260,
        "plmn_mnc": 3,
        "plmn_description": "Orange",
        "roaming": false
}
root@owrt:~# uqmi -d /dev/cdc-wdm1 --get-serving-system
{
        "registration": "registered",
        "plmn_mcc": 260,
        "plmn_mnc": 6,
        "plmn_description": "PLAY",
        "roaming": false
}
root@owrt:~# ifup wan

root@owrt:~# ifconfig
wwan0     Link encap:Ethernet  HWaddr 06:D5:07:69:65:14
          inet addr:10.211.58.22  Bcast:10.211.58.23  Mask:255.255.255.252
          inet6 addr: fe80::4d5:7ff:fe69:6514/64 Scope:Link
          inet6 addr: fe80::4d5:7ff:fe69:6514/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2469 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2125 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:732368 (715.2 KiB)  TX bytes:1590902 (1.5 MiB)


root@owrt:~# ifup wan2

root@owrt:~# logread

Sun Apr 26 17:28:38 2020 daemon.notice netifd: wan2 (2499): Setting up wwan1
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Interface 'wan2' is now up
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Network device 'wwan1' link is up
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Network alias 'wwan1' link is up
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Interface 'wan2_4' is enabled
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Interface 'wan2_4' has link connectivity
Sun Apr 26 17:28:38 2020 daemon.notice netifd: Interface 'wan2_4' is setting up now
[Sun Apr 26 17:28:38 2020 kern.warn kernel: [  206.046610] ERROR::assign_and_init_hc:1391: assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer case

wwan0     Link encap:Ethernet  HWaddr CA:26:E3:48:C6:A2
          inet addr:10.211.58.22  Bcast:10.211.58.23  Mask:255.255.255.252
          inet6 addr: fe80::c826:e3ff:fe48:c6a2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2084 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2431 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:742262 (724.8 KiB)  TX bytes:1526900 (1.4 MiB)


wwan1     Link encap:Ethernet  HWaddr 9A:50:03:44:AF:40
          inet6 addr: fe80::9850:3ff:fe44:af40/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)




następnie po około minucie kernel panic:



Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.557817] Exception stack(0xffffffc038cc3e30 to 0xffffffc038cc3f60)
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.567822] 3e20:                                   0000000000000000 0000000000000000
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.579221] 3e40: 0000000000000000 ffffff80085d80d4 0100000000000000 0000000248d731f6
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.590536] 3e60: 0000000000018f24 0000000000000000 ffffffc038c77a90 ffffffc038cc0000
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.601827] 3e80: 00000000000006b0 000000000069a60b 0000000000000018 000000005ea5b2c2
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.613054] 3ea0: 001ac3577a96e310 0000b9963f780afe ffffff8008172a20 0000007f7b0a43b8
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.624270] 3ec0: 0000000000000000 0000000000000000 0000000000000000 ffffff80085d6fb8
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.635478] 3ee0: 0000000000000004 ffffff80085d7040 ffffff80085b4740 ffffff8008615000
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.646659] 3f00: ffffffc03a3b4090 ddfcccba36b48333 ffffffc038cc0000 ffffffc038cc3f60
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.657694] 3f20: ffffff800808428c ffffffc038cc3f60 ffffff8008084290 0000000040000145
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.668561] 3f40: ffffff80085d7040 ffffff80085b4740 ffffffffffffffff ffffffc03a3b4090
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.679258] [<ffffff800808272c>] 0xffffff800808272c
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.686789] [<ffffff8008084290>] 0xffffff8008084290
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.694186] [<ffffff800847ddbc>] 0xffffff800847ddbc
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.701415] [<ffffff80080c1e94>] 0xffffff80080c1e94
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.708751] [<ffffff800808ab98>] 0xffffff800808ab98
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.716020] [<00000000004801a8>] 0x4801a8
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.722488] ERROR::assign_and_init_hc:1397: assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer case
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.722488]
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.740723] ERROR::assign_and_init_hc:1397: assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer case
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.740723]
Sun Apr 26 18:11:47 2020 kern.warn kernel: [  511.759090] ERROR::assign_and_init_hc:1397: assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer case



i tak jest w każdej wersji systemu....
na różnych wersjach softu modemów/na różnych egzemplarzach bo mam cztery E398

Cezary jeśli masz jeszcze jakiś pomysł to napisz proszę, jeśli nie to ja się też poddaję smile

35

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Po pierwsze to zgłoś problem na bugs.openwrt.org że wywala się kernel przy dwóch takich modemach. Podaj wersję systemu/kernela, konfig i pełne logi
Po drugie - zmień jeden z modemów na jakiś inny.

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

36

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Również o tym pomyślałem, sprawdzę to na HiLinkowym E353.



PS. Tymczasem i tak potrzebne mi jest podwójne łącze,
a mam jeszcze w sieci LAN drugą bramę 10.9.8.110  - jak wtedy na moim routerze 10.9.8.100 ustawić interfejs 'wanb' aby przez niego pakiety szły na 10.9.8.110 na potrzeby mwan3 ?? jest to wogóle możliwe ??

37

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Jezeli jesteś w tym lanie to nie.

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

38 (edytowany przez wisipior 2020-04-29 07:37:24)

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Udało się stworzyć klasyczny setup mwan3 czyli WAN - na stałe łącze oraz WANB na modem.

Używam loadbalancing i w sumie wszystko chodzilo 3 dni w porządku, ale potem co chwilę wyłącza się główny WAN. Konfiguracja domyślna, łącze rzetelne, zmieniałem IP. Co może być przyczyną ?? niby kiedy od gubi ten pakiety ?? czy coś się zapycha ??

Cezary znasz temat ?

OpenWrt 19.07.2, r10947-65030d81f3 na ASUS RT-AC51U

/etc/config/mwan3:
config interface 'wan'
        option enabled '1'
        option family 'ipv4'
        option interval '5'
        option down '3'
        option up '8'
        option initial_state 'online'
        option track_method 'ping'
        option max_ttl '60'
        option check_quality '0'
        option timeout '2'
        option failure_interval '5'
        option recovery_interval '5'
        option count '1'
        option size '56'
        list track_ip '8.8.8.8'
        option reliability '1'

39

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Sprawdź więc czy na pewno nie gubi tych pakietów. Skoro tak twierdzi... (a to są tylko skrypty które ping wołają).

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

40

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Hmmm wink chętnie bym je poprawił... nie wiesz przypadkiem gdzie leżą ??

41

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Skrypty od mwan3 są dobre i poprawne, tam nie masz co poprawiać.

Sprawdź czy ci łącze chodzi prawidłowo skoro mwan3 twierdzi inaczej.

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

42

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Co do mwan3 jednak miałeś rację - kabel przyciśnięty po przemeblowaniu neutral


Ale ogólnie nt skryptów to zdarzają się byki, dziś wyskoczył taki:

root@owrt:~#
/sbin/hotplug-call: /etc/hotplug.d/iface/50-miniupnpd: line 3: enabled: not found
/sbin/hotplug-call: /etc/hotplug.d/iface/50-miniupnpd: line 3: enabled: not found
/sbin/hotplug-call: /etc/hotplug.d/iface/50-miniupnpd: line 3: enabled: not found

zastąpiłem na szybko linię 3

if [ "$(ps | grep '/usr/sbin/miniupnpd' | grep -v 'grep')" == "" ] ; then exit 0 ; fi


...ale to zupełnie inny temat wink

43

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Ale miniupnpd to ty nie instaluj. Widzę że lubisz życie na krawędzi...

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

44

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Zamieniłem router na WDR3600 (Luci 19.07) oraz jeden modem E398 na E353 (ncm) i obydwa się włączają.
Dopisałem jeszcze skrypt tworzący symboliczne linki do właściwych device'ów ale nie w /etc/hotplug.d/usb bo to dużo za wcześnie tylko jako usługę startującą tuż przed S20network:


/etc/rc.d/S19mymodems
---
#!/bin/sh /etc/rc.common
# (C) 2013 openwrt.org

START=19
STOP=91
NAME=mymodems

start() {

if [ -e /dev/cdc-wdm0 ] ; then
        res=$(dmesg | grep 'cdc-wdm0')
        [ "$(echo $res | grep 'huawei_cdc_ncm')" != "" ] && ln -fs /dev/cdc-wdm0 /dev/modemplay
        [ "$(echo $res | grep 'qmi_wwan')" != "" ] && ln -fs /dev/cdc-wdm0 /dev/modemlte
fi

if [ -e /dev/cdc-wdm1 ] ; then
        res=$(dmesg | grep 'cdc-wdm1')
        [ "$(echo $res | grep 'huawei_cdc_ncm')" != "" ] && ln -fs /dev/cdc-wdm1 /dev/modemplay
        [ "$(echo $res | grep 'qmi_wwan')" != "" ] && ln -fs /dev/cdc-wdm1 /dev/modemlte
fi
}

stop() {
        rm -f /dev/modemlte
        rm -f /dev/modemplay
}
---

chyba będzie grać.

PS. A jeśli nie miniupnp to co lepiej współgra z mwan3 przy minimum obsługi ??

45

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Nic innego. Ręcznie przekieruj żądane porty, nie polegaj na takich automatach jak miniupnp.

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

46

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Rozumiem, dzięki.

Zapomniałem zapytać jeszcze o ruch wychodzący, bo antena dużo daje ale przede wszystkim dla download, zaś w drugą stronę to już inna historia.. Czy można odseparować ogólne zasady działania mwan3 tak aby ruch przychodzący chodził trybie load-balancing, zaś w tym samym czasie wychodzący w trybie failover ??

47

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Ruch który wyszedł musi przyjść tym samym łączem, nie ma innej metody. Więc sam steruj co ma iść którym łączem.

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

48

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

Dzięki, w zasadzie to harmonogram dla http(s) wystarczy aby co drugi dzień szło innym łączem.

Pojawia się jednak dylemat zatytułowany RECONNECT wan. "arabski" router dokonuje zapewne mumifikacji i wskrzeszenia modemu wink a mnie interesuje możliwość restartu WANa na WDR3600 - z jakiegokolwiek powodu rozłączonego - na którymś poziomie, czyli:


- restart portu USB (wyłącz włącz)
- reinicjalizacja interfejsu (ifdown/ifup tu nie pomaga)
- reinicjalizacja modem(ów) E353 i E398

@Cezary patrząc od góry masz jakąś podpowiedź ??

49

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

WDR3600 ma możliwość włączenia/wyłączenia zasilania usb. Jeżeli tylko nie masz modemów podłączonych pod hub z własnym zasilaniem to takie przełączenie spowoduje fizycznie wyłączenie modemu. Możesz sobie zrobić skrypt na hotplugu (lub cyklicznie sprawdzanie) że jak nie ma internetu lub jest down interfejsu to niech na 2s wyłączy zasilanie i powinno się samo wszystko podnieść.

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

50 (edytowany przez wisipior 2020-05-06 18:28:02)

Odp: Automatyczne przełączanie pomiędzy WANami (mwan3)

To by pasowało, a gdzie szukać te polecenia ??