51 (edytowany przez build000 2015-06-25 17:32:46)

Odp: E3372 w ncm

Tworzę nowy wpis, gdyż temat jest inny i bardziej zbliżony do głównych postulatów tego wątku/tematu i mam nadzieję, że w związku z tym zostanie dostrzeżony przez autora sterownika pod openwrt. wink
Otóż kwestia startu jest dla mnie nie do końca rozpoznana i nie wiem jak to naprawić/ogarnąć, i.t.d. Są jakieś błędy z czymś związane:

(...)
Thu Jun 25 18:22:50 2015 daemon.notice netifd: Interface 'wan2' is setting up now
Thu Jun 25 18:22:53 2015 daemon.notice netifd: wan2 (12596): sending -> AT
Thu Jun 25 18:22:53 2015 daemon.notice netifd: wan2 (12596): sending -> ATZ
Thu Jun 25 18:22:54 2015 daemon.notice netifd: wan2 (12596): sending -> ATQ0
Thu Jun 25 18:22:54 2015 daemon.notice netifd: wan2 (12596): sending -> ATV1
Thu Jun 25 18:22:55 2015 daemon.notice netifd: wan2 (12596): sending -> ATE1
Thu Jun 25 18:22:56 2015 daemon.notice netifd: wan2 (12596): sending -> ATS0=0
Thu Jun 25 18:22:57 2015 daemon.notice netifd: wan2 (12596): SIM ready
Thu Jun 25 18:22:57 2015 daemon.notice netifd: wan2 (12596): PIN set successfully
Thu Jun 25 18:22:58 2015 daemon.notice netifd: wan2 (12596): sending -> AT^NDISDUP=1,1,"vpn","vpn"
Thu Jun 25 18:22:58 2015 daemon.notice netifd: wan2 (12596): Connected, starting DHCP
Thu Jun 25 18:22:58 2015 daemon.notice netifd: Interface 'wan2' is now up
Thu Jun 25 18:22:58 2015 daemon.notice netifd: Interface 'wan2_4' is enabled
Thu Jun 25 18:22:58 2015 daemon.notice netifd: wan2 (12596): Command failed: Unknown error
Thu Jun 25 18:22:58 2015 daemon.notice netifd: Interface 'wan2_6' is enabled
Thu Jun 25 18:22:58 2015 daemon.notice netifd: wan2 (12596): Command failed: Unknown error
Thu Jun 25 18:22:58 2015 user.notice firewall: Reloading firewall due to ifup of wan2 (eth1)
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Network device 'eth1' link is up
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Network alias 'eth1' link is up
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Interface 'wan2_4' has link connectivity 
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Interface 'wan2_4' is setting up now
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Interface 'wan2_6' has link connectivity 
Thu Jun 25 18:22:59 2015 daemon.notice netifd: Interface 'wan2_6' is setting up now
Thu Jun 25 18:22:59 2015 daemon.notice netifd: wan2_4 (12679): udhcpc (v1.23.2) started
Thu Jun 25 18:22:59 2015 daemon.notice netifd: wan2_4 (12679): Sending discover...
Thu Jun 25 18:22:59 2015 daemon.notice netifd: wan2_4 (12679): Sending select for 37.228.29.177...
Thu Jun 25 18:22:59 2015 daemon.notice netifd: wan2_4 (12679): Lease of 37.228.29.177 obtained, lease time 518400
Thu Jun 25 18:23:00 2015 daemon.notice netifd: Interface 'wan2_4' is now up
Thu Jun 25 18:23:01 2015 user.notice root: starting ntpclient

Druga sprawa czy taki konfig jest prawidłowy, gdyż dzięki małej modyfikacji stał się też widoczny w LuCi po IP, a nie jak do tej pory tylko jako nieznane urządzenie ? :

config interface 'wan2'
         option ifname 'eth1'
         option proto 'ncm'
         option device '/dev/ttyUSB0'
         option pincode '1234'
         option apn 'vpn'
         option login 'vpn'
         option password 'vpn'
         option metric '1' 

Interesuje mnie w szczególności kwestia 2-óch opcji: "login" i "password" - może to z powodu ich niepoprawnego zapisu/formy występują owe błędy na starcie ?

52

Odp: E3372 w ncm

wan2 (12596): Command failed: Unknown error wstępuje chyba zawsze, json coś się pyszczy w skryptach.

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

53 (edytowany przez build000 2015-06-25 19:10:20)

Odp: E3372 w ncm

Jest kolejna, dziwna akcja po kilku godzinach nieprzerwanej pracy - połączenie zostało zerwane i nie reaguje na "ifdown wan2" "ifup wan2" ani przez LuCi - jak to ogarnąć ?
Akurat bawię się picocom podglądając co się dzieje na /dev/ttyUSB0 i chyba uchwyciłem ten moment:

(...)
^HCSQ:"LTE",55,53,171,32

^DSFLOWRPT:0000145D,00000000,00000000,0000000000071236,000000000033FEAA,00000000,00000000

^DSFLOWRPT:0000145F,00000000,00000000,0000000000071236,000000000033FEAA,00000000,00000000

^SRVST: 0

^NDISSTAT:0,36,,"IPV4"
AT^NDISDUP=1,0
OK

^NDISSTAT:0,36,,"IPV4"


^RSSI:24

^HCSQ:"LTE",56,52,201,28
AT+CPIN?
+CPIN: READY

OK

^RSSI:23

^HCSQ:"LTE",54,51,196,28
ATI
Manufacturer: huawei
Model: E3372
Revision: 21.286.03.00.264
IMEI: ****************
+GCAP: +CGSM,+DS,+ES

OK

^RSSI:22

^HCSQ:"LTE",53,52,191,28

^RSSI:23

^HCSQ:"LTE",55,53,206,32

^RSSI:25

^HCSQ:"LTE",59,54,181,22
aa
^RSSI:24

^HCSQ:"LTE",56,53,191,26

^RSSI:24

^HCSQ:"LTE",57,53,196,28

^RSSI:24

^HCSQ:"LTE",56,53,196,28

^RSSI:24

^HCSQ:"LTE",56,54,201,26
(...)

logread zaśpiewał tak przy próbie połączenia przez LuCi i/lub przez komendę ifup:

(...)
Thu Jun 25 20:00:38 2015 daemon.notice netifd: Interface 'wan2' is setting up now
Thu Jun 25 20:00:57 2015 daemon.notice netifd: wan2 (24030): timeout checking for PIN.Unable to verify PIN
Thu Jun 25 20:00:57 2015 daemon.notice netifd: wan2 (24064): Stopping network
Thu Jun 25 20:00:59 2015 daemon.notice netifd: wan2 (24064): sending -> 
Thu Jun 25 20:01:02 2015 daemon.notice netifd: Interface 'wan2' is now down
(...)

Pomogło w końcu /etc/init.d/network restart ...
No ale czemu bez powodu zdechło ? Jak sprawić by żyło długo ?

54

Odp: E3372 w ncm

build000 napisał/a:

Pomogło w końcu /etc/init.d/network restart ...
No ale czemu bez powodu zdechło ? Jak sprawić by żyło długo ?

A sprawdzałeś wcześniej jak zachowywał się HiLink-jak często odnawiał się na nim IP? Musisz mieć wymuszony ciągły ruch w sieci korzystającej z LTE.

55

Odp: E3372 w ncm

No wtedy (przy hilink) to załatwiłem pingiem w cron na eth1 - teraz nie reaguje na to.

56

Odp: E3372 w ncm

build000 napisał/a:

No wtedy (przy hilink) to załatwiłem pingiem w cron na eth1 - teraz nie reaguje na to.

Trochę to dziwaczny był pomysł (teraz na tej zasadzie modem będzie "gadał z Tobą" za pomocą komend AT), pingi masz wysyłać do hosta w sieci wg poradnika Cezarego http://eko.one.pl/?p=openwrt-3g. smile

57 (edytowany przez build000 2015-06-26 19:30:18)

Odp: E3372 w ncm

jarek7714 - Ty nie rozumiesz chyba idei - co mi po wysyłaniu pingów jak w danej chwili tylko jedno łącze jest ustawione jako główne i to nie modemowe - są aktywne 2 jednocześnie, ale jednak tylko główny gw reaguje na cokolwiek - tu idea tzw. monitora połączenia musi być inaczej rozwiązana - być może aby wymusić aktywność tak zestawionego połączenia LTE, na jakie pozwala modem na tym sterowniku i w tym trybie (ncm) trzeba jakoś inaczej podejść do sprawy - być może przez komendy AT jak sugerujesz.
Co do poradnika to jest tam tyle informacji, że wskaż gdzie szukać - bo jak mówić o komendzie: "ping -c 10 eko.one.pl" to w moim zestawieniu urządzeń/sieci w LAN/routerze to nie zadziała i nie zaskutkuje podtrzymaniem sieci połączenia LTE z modemu.
Nie wiem czy pomysł był dziwaczny ale miał jedną istotną zaletę - działał i spełniał swoją funkcję. wink
Kablówka raczej w moim przypadku nie wymaga takich zabiegów z pingiem i dlatego od razu kierowałem macanie 8.8.8.8 przez interfejs modemu (czyli eth1) i to działało - połączenie nie zrywało się w ogóle, o ile ja sam tego nie zrobiłem - przypominam: mowa jest o dwóch interfejsach działających jednocześnie i nie zamierzam używać nie pasującego mi mwan, mwan3 czy simplefileover.

58 (edytowany przez pepe2k 2015-06-26 23:09:48)

Odp: E3372 w ncm

ping -I wwanX

59 (edytowany przez jarek7714 2015-06-26 23:20:17)

Odp: E3372 w ncm

build000 napisał/a:

Kablówka raczej w moim przypadku nie wymaga takich zabiegów z pingiem i dlatego od razu kierowałem macanie 8.8.8.8 przez interfejs modemu (czyli eth1) i to działało - połączenie nie zrywało się w ogóle, o ile ja sam tego nie zrobiłem - przypominam: mowa jest o dwóch interfejsach działających jednocześnie i nie zamierzam używać nie pasującego mi mwan, mwan3 czy simplefileover.

Komendami AT nie zaszalejesz za bardzo (co najwyżej efektywnie zrestartujesz modem), masz zdecydowanie większą wiedzę i doświadczenie w linuxie, może Cezary coś podpowie (w tym przypadku router musi kierować pakiety ping na łącze LTE/E3372, bo jak nie będziesz miał ruchu na modemie to będzie rwał połączenie OT). Już masz podpowiedź od @pepe2k. smile

60 (edytowany przez build000 2015-06-27 06:48:42)

Odp: E3372 w ncm

pepe2k napisał/a:

ping -I wwanX

Tu, przy tym modemie i sterowniku, w trybie ncm nie ma żadnego wwanX - tylko jest zwyczajnie - eth1. (u mnie jeden - zapewne zależy to od routera) wink
Co więcej - po mimo, że to ncm wystarczy dodać mu w konfie ifname i już widać w LuCi IP (oczywiście tylko w zakładka Sieć, i jest w praktyce ten interfejs oznaczony jak stały adres ale niezarządzalny - zapewne babole w LuCi z racji braku wsparcia takich konfiguracji/sytuacji/sterowników).

config interface 'modem'
         option ifname 'eth1'
         option proto 'ncm'
         option device '/dev/ttyUSB0'
         option pincode '1234'
         option apn 'vpn'
         option username 'vpn'
         option password 'vpn'
         option metric '1' # Tu się łudziłem, że będzie na to reagował, jednak przy starcie routera/restarcie network zawsze modem jest głównym i jedynym gw i drugim IP
[07:26] root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         public-gprsYYYY 0.0.0.0         UG    0      0        0 eth1
37.228.xx.xx    *               255.255.255.252 U     0      0        0 eth1
37.228.xx.xx    *               255.255.255.255 UH    0      0        0 eth1
89.xx.xx.xx      *               255.255.252.0   U     0      0        0 eth0.2
89.xx.xx.xx      *               255.255.255.255 UH    0      0        0 eth0.2
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan
# - i to jest największa wada w porównaniu do hilink, który był równoległym gw oraz jak tu drugim IP czyli z automatu było coś takiego i wystarczyło oznaczyć metric:
[07:36] root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         89-YYYYYYYYYYY 0.0.0.0         UG    0      0        0 eth0.2
default         public-gprsYYYYY 0.0.0.0         UG   1      0        0 eth1
37.228.xx.xx    *               255.255.255.252 U     0      0        0 eth1
37.228.xx.xx    *               255.255.255.255 UH    0      0        0 eth1
89.xx.xx.xx      *               255.255.252.0   U     0      0        0 eth0.2
89.xx.xx.xx      *               255.255.255.255 UH    0      0        0 eth0.2
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan

Musiałem w chwili sprawdzania poprzednim razem, trafić na sytuację, że modem był połączony z ISP, ale jednocześnie to połączenie było martwe/zawieszone (dioda paliła się św. ciągłym na niebiesko i było IP, ale nic nie przechodziło dalej) - teraz reaguje na ping (co trzeba wywołać np. w cronie co 10-20 s.) :

[07:12] root@OpenWrt:~# ping -c5 -I eth1 8.8.8.8 
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=54 time=153.293 ms
64 bytes from 8.8.8.8: seq=1 ttl=54 time=58.852 ms
64 bytes from 8.8.8.8: seq=2 ttl=54 time=58.824 ms
64 bytes from 8.8.8.8: seq=3 ttl=54 time=58.535 ms
64 bytes from 8.8.8.8: seq=4 ttl=54 time=51.379 ms

--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 51.379/76.176/153.293 ms

Czy jednak to wystarczy (jak przy hilink) aby podtrzymać efektywnie IP i drożność tego interfejsu, to się okaże w praktyce - napiszę za np. tydzień po nieprzerwanych testach, czy nie było żadnych anomalii.
Niektórym może się wydawać, że "odkrywam koło na nowo", ale przypominam, że to jest trunk oraz chcę inaczej sterować tymi interfejsami, niż w popularnych tutorialach, sterownik jest inny, i.t.d. - czyli muszę po kolei wszystko sam sprawdzić, co jest powszechnie znane i używane.

61

Odp: E3372 w ncm

build000 napisał/a:
pepe2k napisał/a:

ping -I wwanX

Tu, przy tym modemie i sterowniku, w trybie ncm nie ma żadnego wwanX - tylko jest zwyczajnie - eth1. (u mnie jeden - zapewne zależy to od routera) wink[...]

Przy sterowniku huawei-cdc-ncm jest wwanX. Dla "ping" nie ma to znaczenia, kwestia nomenklatury (por. MBIM, QMI).

build000 napisał/a:
option metric '1' # Tu się łudziłem, że będzie na to reagował, jednak przy starcie routera/restarcie network zawsze modem jest głównym i jedynym gw i drugim IP

A co stoi na przeszkodzie, żeby sobie dopisać tę funkcjonalność w skrypcie netifd od protokołu ncm?
Czasami trzeba się wykazać inicjatywą, zajrzeć w kod i zrobić coś samodzielnie.

[...]
proto_config_add_int metric
[...]
local metric
[...]
json_get_vars metric
[...]
json_add_int metric "$metric"
[...]

62 (edytowany przez build000 2015-06-27 11:10:37)

Odp: E3372 w ncm

pepe2k napisał/a:

(...)
Przy sterowniku huawei-cdc-ncm jest wwanX.
(...)

Tyle, że dyskusja dotyczy kmod-huawei-hw-cdc, czyli nowym, nieoficjalnym sterowniku do openwrt, którego zapodał Cezary z potrzeby chwili na bazie oficjalnego sterownika dla linucha, jakim się podzielił z użytkownikami Huawei. Także ta uwaga jest zupełnie nie trafiona w tym przypadku - nie ma do końca pewności czy działa ten sterownik identycznie jak ten z openwrt. wink
Co do netifd to będę się wykazywał większą inicjatywą jak bardziej rozgryzę openwrt, gdy już nareszcie będę miał na tyle wolnego czasu ile to wymaga/bym chciał - czyli konkretnie w którym pliku to dopisać ? (skoro powiedziałeś A to dokończ lub zachowaj swoje "cenne" uwagi dla siebie...).
/lib/netifd/proto/ncm.sh ? (jakaś łata może dla uproszczenia ?)

63

Odp: E3372 w ncm

build000 napisał/a:
pepe2k napisał/a:

(...)
Przy sterowniku huawei-cdc-ncm jest wwanX.
(...)

Tyle, że dyskusja dotyczy kmod-huawei-hw-cdc, czyli nowym, nieoficjalnym sterowniku do openwrt, którego zapodał Cezary z potrzeby chwili na bazie oficjalnego sterownika dla linucha, jakim się podzielił z użytkownikami Huawei. Także ta uwaga jest zupełnie nie trafiona w tym przypadku - nie ma do końca pewności czy działa ten sterownik identycznie jak ten z openwrt. wink

Wszystkie te sterowniki są z/dla kernela, działają tak samo w OpenWrt jak i w innych dystrybucjach. Tak jak pisałem - kwestia nomenklatury, pokazałem Ci tylko, że "ping" ma opcję "I", o której najwyraźniej wcześniej nie wiedziałeś.

build000 napisał/a:

Co do netifd to będę się wykazywał większą inicjatywą jak bardziej rozgryzę openwrt, gdy już nareszcie będę miał na tyle wolnego czasu ile to wymaga/bym chciał - czyli konkretnie w którym pliku to dopisać ? (skoro powiedziałeś A to dokończ lub zachowaj swoje "cenne" uwagi dla siebie...).
/lib/netifd/proto/ncm.sh ? (jakaś łata może dla uproszczenia ?)

Tak, w tym pliku.
Łaty nie będzie, bo ja mam swój skrypt, a Cezary pewnie swój i na pewno nie są takie same. Rozgryź to sobie.

64

Odp: E3372 w ncm

pepe2k napisał/a:

(...)
pokazałem Ci tylko, że "ping" ma opcję "I", o której najwyraźniej wcześniej nie wiedziałeś.
(...)

No jak nie wiedziałem skoro tak tym sterowałem w hilink - pepe2k - proponuję, żebyś lepiej doczytał tu i ówdzie co pisałem/robiłem - Twoje niektóre komentarze wykazują tylko ... wiesz co...
No skoro nie ma na to prostego lekarstwa/gotowca/i.t.d. to Twój tajemniczy skrypt/y/uwaga jest wiesz...tyle wart co zeszłoroczny śnieg...

65

Odp: E3372 w ncm

build000 napisał/a:
pepe2k napisał/a:

(...)
pokazałem Ci tylko, że "ping" ma opcję "I", o której najwyraźniej wcześniej nie wiedziałeś.
(...)

No jak nie wiedziałem skoro tak tym sterowałem w hilink - pepe2k - proponuję, żebyś lepiej doczytał tu i ówdzie co pisałem/robiłem - Twoje niektóre komentarze wykazują tylko ... wiesz co...
No skoro nie ma na to prostego lekarstwa/gotowca/i.t.d. to Twój tajemniczy skrypt/y/uwaga jest wiesz...tyle wart co zeszłoroczny śnieg...

Dostałeś konkretne fragmenty kodu, nawet w odpowiedniej kolejności, które wystarczy wstawić w tym pliku.
Nie potrafisz, nie chcesz, Twoja strata.

66 (edytowany przez build000 2015-06-27 11:51:55)

Odp: E3372 w ncm

Wystarczy wstawić w pliku tylko gdzie ? - mam teraz rozgryzać i tracić czas na to by wykminić jak działa netifd, czy po prostu odniesiesz się do oryginału z trunk i podasz zwyczajnie pełny kod ?
Wiem...ale nie powiem...jak dziecko - może Ci zapłacić ?

Oryginał ncm.sh z trunk r46133 :

#!/bin/sh

[ -n "$INCLUDE_ONLY" ] || {
    . /lib/functions.sh
    . ../netifd-proto.sh
    init_proto "$@"
}

proto_ncm_init_config() {
    no_device=1
    available=1
    proto_config_add_string "device:device"
    proto_config_add_string apn
    proto_config_add_string auth
    proto_config_add_string username
    proto_config_add_string password
    proto_config_add_string pincode
    proto_config_add_string delay
    proto_config_add_string mode
}

proto_ncm_setup() {
    local interface="$1"

    local manufacturer initialize setmode connect ifname devname devpath

    local device apn auth username password pincode delay mode
    json_get_vars device apn auth username password pincode delay mode

    [ -n "$device" ] || {
        echo "No control device specified"
        proto_notify_error "$interface" NO_DEVICE
        proto_set_available "$interface" 0
        return 1
    }
    [ -e "$device" ] || {
        echo "Control device not valid"
        proto_set_available "$interface" 0
        return 1
    }
    [ -n "$apn" ] || {
        echo "No APN specified"
        proto_notify_error "$interface" NO_APN
        return 1
    }

    devname="$(basename "$device")"
    case "$devname" in
    'tty'*)
        devpath="$(readlink -f /sys/class/tty/$devname/device)"
        ifname="$( ls "$devpath"/../../*/net )"
        ;;
    *)
        devpath="$(readlink -f /sys/class/usbmisc/$devname/device/)"
        ifname="$( ls "$devpath"/net )"
        ;;
    esac
    [ -n "$ifname" ] || {
        echo "The interface could not be found."
        proto_notify_error "$interface" NO_IFACE
        proto_set_available "$interface" 0
        return 1
    }

    [ -n "$delay" ] && sleep "$delay"

    manufacturer=`gcom -d "$device" -s /etc/gcom/getcardinfo.gcom | awk '/Manufacturer/ { print tolower($2) }'`
    [ $? -ne 0 ] && {
        echo "Failed to get modem information"
        proto_notify_error "$interface" GETINFO_FAILED
        return 1
    }

    json_load "$(cat /etc/gcom/ncm.json)"
    json_select "$manufacturer"
    [ $? -ne 0 ] && {
        echo "Unsupported modem"
        proto_notify_error "$interface" UNSUPPORTED_MODEM
        proto_set_available "$interface" 0
        return 1
    }
    json_get_values initialize initialize
    for i in $initialize; do
        eval COMMAND="$i" gcom -d "$device" -s /etc/gcom/runcommand.gcom || {
            echo "Failed to initialize modem"
            proto_notify_error "$interface" INITIALIZE_FAILED
            return 1
        }
    done

    [ -n "$pincode" ] && {
        PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
            echo "Unable to verify PIN"
            proto_notify_error "$interface" PIN_FAILED
            proto_block_restart "$interface"
            return 1
        }
    }
    [ -n "$mode" ] && {
        json_select modes
        json_get_var setmode "$mode"
        COMMAND="$setmode" gcom -d "$device" -s /etc/gcom/runcommand.gcom || {
            echo "Failed to set operating mode"
            proto_notify_error "$interface" SETMODE_FAILED
            return 1
        }
        json_select ..
    }

    json_get_vars connect
    eval COMMAND="$connect" gcom -d "$device" -s /etc/gcom/runcommand.gcom || {
        echo "Failed to connect"
        proto_notify_error "$interface" CONNECT_FAILED
        return 1
    }

    echo "Connected, starting DHCP"
    
    proto_init_update "$ifname" 1
    proto_send_update "$interface"

    json_init
    json_add_string name "${interface}_4"
    json_add_string ifname "@$interface"
    json_add_string proto "dhcp"
    ubus call network add_dynamic "$(json_dump)"

    json_init
    json_add_string name "${interface}_6"
    json_add_string ifname "@$interface"
    json_add_string proto "dhcpv6"
    ubus call network add_dynamic "$(json_dump)"
}

proto_ncm_teardown() {
    local interface="$1"

    local manufacturer disconnect

    local device
    json_get_vars device

    echo "Stopping network"

    manufacturer=`gcom -d "$device" -s /etc/gcom/getcardinfo.gcom | awk '/Manufacturer/ { print tolower($2) }'`
    [ $? -ne 0 ] && {
        echo "Failed to get modem information"
        proto_notify_error "$interface" GETINFO_FAILED
        return 1
    }

    json_load "$(cat /etc/gcom/ncm.json)"
    json_select "$manufacturer" || {
        echo "Unsupported modem"
        proto_notify_error "$interface" UNSUPPORTED_MODEM
        return 1
    }

    json_get_vars disconnect
    COMMAND="$disconnect" gcom -d "$device" -s /etc/gcom/runcommand.gcom || {
        echo "Failed to disconnect"
        proto_notify_error "$interface" DISCONNECT_FAILED
        return 1
    }

    proto_init_update "*" 0
    proto_send_update "$interface"
}
[ -n "$INCLUDE_ONLY" ] || {
    add_protocol ncm
}

Trzy pierwsze pozycje są w miarę jasne - a 4-a ( json_add_int metric "$metric" ) gdzie ?
Chociaż z pierwszą też do końca nie wiadomo gdzie to podać ( "string" a "int" ).

67

Odp: E3372 w ncm

build000 napisał/a:

Wystarczy wstawić w pliku tylko gdzie ? - mam teraz rozgryzać i tracić czas na to by wykminić jak działa netifd, czy po prostu odniesiesz się do oryginału z trunk i podasz zwyczajnie pełny kod ?
Wiem...ale nie powiem...jak dziecko - może Ci zapłacić ?

Pozostawię to bez komentarza.

W proto_ncm_init_config() dodajesz kolejną opcję dla protokołu, potem w proto_ncm_setup() deklarujesz sobie zmienną i ładujesz do niej wartość z configu. Na koniec dodajesz wartość (mała uwaga - oprogramuj sobie przypadek, w którym opcja w konfiguracji ma pustą wartość) tej zmiennej do obiektu JSON (wystarczy dla IPv4).

Tak samo możesz sobie zrobić z opcjami defaultroute i peerdns. Przydają się przy konfiguracji multi-WAN.

68 (edytowany przez build000 2015-06-27 12:34:23)

Odp: E3372 w ncm

To chyba obecnie ponad mój wolny czas i chęci - w takim razie powrócę do hilink lub poczekam, aż ktoś zapoda gotowce lub jakieś łaty do trunk.

pepe2k napisał/a:

(...)
Na koniec dodajesz wartość (mała uwaga - oprogramuj sobie przypadek, w którym opcja w konfiguracji ma pustą wartość) tej zmiennej do obiektu JSON (wystarczy dla IPv4).

Tak samo możesz sobie zrobić z opcjami defaultroute i peerdns. Przydają się przy konfiguracji multi-WAN.

Tutaj to w ogóle nie wiem (jeszcze...) jak się za to zabrać.
Widzę to co zwykle na eko.one.pl - nie będzie łatwo z "merytoryczną" pomocą... wink

69

Odp: E3372 w ncm

build000 napisał/a:

Widzę to co zwykle na eko.one.pl - nie będzie łatwo z "merytoryczną" pomocą... wink

Pomoc jest jak najbardziej merytoryczna, trzeba chcieć i potrafić z niej skorzystać, a nie tylko wymagać.
A jak forum/strona eko.one.pl Ci nie odpowiada, to przecież zawsze możesz poszukać sobie innych.

70 (edytowany przez build000 2015-06-27 13:21:29)

Odp: E3372 w ncm

pepe2k - Ty też możesz sobie znaleźć forum dla swojej "inteligencji" - po co się będziesz na darmo ze swoimi "cennymi" uwagami produkował... wink
Po zastosowaniu proponowanych zmian w ncm.sh, jest efekt routingu przy starcie jak w wersji hilink tego modemu:

[14:12] root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         89-YYYYYYYYYYY 0.0.0.0         UG    0      0        0 eth0.2
default         public-gprYYYY 0.0.0.0         UG    1      0        0 eth1
37.228.xx.xx   *               255.255.255.252 U     1      0        0 eth1
37.228.xx.xx   *               255.255.255.255 UH    1      0        0 eth1
89.xx.xx.xx      *               255.255.252.0   U     0      0        0 eth0.2
89.xx.xx.xx      *               255.255.255.255 UH    0      0        0 eth0.2
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan

Ale niestety modem zgłasza się jako główny i takiż jest IP dla routera widziany z internetu.

71

Odp: E3372 w ncm

build000 napisał/a:

pepe2k - Ty też możesz sobie znaleźć forum dla swojej "inteligencji" - po co się będziesz na darmo ze swoimi "cennymi" uwagami produkował... wink

Pierwszy i ostatni raz zrobiłem dla Ciebie wyjątek...

build000 napisał/a:

Po zastosowaniu proponowanych zmian w ncm.sh, jest efekt routingu przy starcie jak w wersji hilink tego modemu:

[14:12] root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         89-YYYYYYYYYYY 0.0.0.0         UG    0      0        0 eth0.2
default         public-gprYYYY 0.0.0.0         UG    1      0        0 eth1
37.228.xx.xx   *               255.255.255.252 U     1      0        0 eth1
37.228.xx.xx   *               255.255.255.255 UH    1      0        0 eth1
89.xx.xx.xx      *               255.255.252.0   U     0      0        0 eth0.2
89.xx.xx.xx      *               255.255.255.255 UH    0      0        0 eth0.2
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan

... i jak widać jednak te moje rady "warte tyle co zeszłoroczny śnieg" Ci się przydały. Możesz grzecznie podziękować.

build000 napisał/a:

Ale niestety modem zgłasza się jako główny i takiż jest IP dla routera widziany z internetu.

Pewnie chciałeś napisać: "tworzona jest trasa domyślna przez interfejs modemu".
Na to też mam "cenną uwagę"... najwidoczniej ją przeoczyłeś, zdarza się więc przypomnę:

pepe2k napisał/a:

Tak samo możesz sobie zrobić z opcjami defaultroute i peerdns. Przydają się przy konfiguracji multi-WAN.

W skrócie, wracasz do kodu i dodajesz kolejną opcję.
Tym razem będzie bez podpowiedzi, powodzenia.

72 (edytowany przez build000 2015-06-27 13:41:46)

Odp: E3372 w ncm

pepe2k napisał/a:

Pierwszy i ostatni raz zrobiłem dla Ciebie wyjątek...
(...)
... i jak widać jednak te moje rady "warte tyle co zeszłoroczny śnieg" Ci się przydały. Możesz grzecznie podziękować.

No za radę docelowo dziękuję - powstała dopiero wtedy jak zostałeś "wywołany do tablicy" - więc nie strugaj chojraka i jak masz pomóc to pomóż, lub się nie włączaj jak nie masz nic "merytorycznego" do dodania.

pepe2k napisał/a:

Pewnie chciałeś napisać: "tworzona jest trasa domyślna przez interfejs modemu".

Wszystko jedno - dla mnie to może być nawet trasa do ku**sa - byle się modem pierwszy nie włączał przy starcie ze swoim IP.

pepe2k napisał/a:

Na to też mam "cenną uwagę"... najwidoczniej ją przeoczyłeś, zdarza się więc przypomnę:

widziałem, widziałem - nic nie przeoczyłem - ale Ty nie widziałeś wyraźnie jak się do tego odniosłem - póki co nie jarzę jak to zrobić

pepe2k napisał/a:

W skrócie, wracasz do kodu i dodajesz kolejną opcję.
Tym razem będzie bez podpowiedzi, powodzenia.

He, he..a zapowiadało się tak pięknie - pepe2k "przemówił kodem", no i  że jednak dzisiaj sobie z tym poradzę do końca... wink

73

Odp: E3372 w ncm

build000 napisał/a:
pepe2k napisał/a:

Pierwszy i ostatni raz zrobiłem dla Ciebie wyjątek...
(...)
... i jak widać jednak te moje rady "warte tyle co zeszłoroczny śnieg" Ci się przydały. Możesz grzecznie podziękować.

No za radę docelowo dziękuję - powstała dopiero wtedy jak zostałeś "wywołany do tablicy" - więc nie strugaj chojraka i jak masz pomóc to pomóż, lub się nie włączaj jak nie masz nic "merytorycznego" do dodania.

pepe2k napisał/a:

Pewnie chciałeś napisać: "tworzona jest trasa domyślna przez interfejs modemu".

Wszystko jedno - dla może być nawet trasa do ku**sa - byle się modem pierwszy nie włączał przy starcie ze swoim IP.

pepe2k napisał/a:

Na to też mam "cenną uwagę"... najwidoczniej ją przeoczyłeś, zdarza się więc przypomnę:

widziałem, widziałem - nic nie przeoczyłem - ale Ty nie widziałeś wyraźnie jak się do tego odniosłem - póki co nie jarzę jak to zrobić

pepe2k napisał/a:

W skrócie, wracasz do kodu i dodajesz kolejną opcję.
Tym razem będzie bez podpowiedzi, powodzenia.

He, he..a zapowiadało się tak pięknie - pepe2k "przemówił kodem", no i  że jednak dzisiaj sobie z tym poradzę do końca... wink

Tego też nie skomentuję, ale zostawię dla potomnych.

74 (edytowany przez build000 2015-06-27 13:44:24)

Odp: E3372 w ncm

Opraw w ramki i powieś na ścianie - albo po prostu sypnij gotowcem i skończymy te "rozmowy nocą" - lub już nic nie pisz jak nie będzie nic merytorycznego tylko "blaski i cienie pepe2k"... wink

75

Odp: E3372 w ncm

build000 napisał/a:

Opraw w ramki i powieś na ścianie - albo po prostu sypnij gotowcem i skończymy te "rozmowy nocą" - lub już nic nie pisz jak nie będzie nic merytorycznego tylko "blaski i cienie pepe2k"... wink

Dżdżownica by to zrozumiała... jeszcze raz:

pepe2k napisał/a:

Tak samo możesz sobie zrobić z opcjami defaultroute i peerdns. Przydają się przy konfiguracji multi-WAN.

Ta sama kolejność, w tych samych miejscach, tylko kutwa nazwa opcji inna. Pogrubiłem Ci.