Temat: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Najczęściej dzieje się to po jakichś 2 dniach po włączeniu routera, ale wydaje mi się, że zdarzyło się też wkrótce po zrestartowaniu spowodowanym tym właśnie problemem. Na routerze świeżo zainstalowane openwrt 18.06, jedyne wykonane na nim czynności to konfiguracja modemu.

Przed tym zawieszeniem wszystko działa super. Po zawieszeniu brak połączeniu z internetem, ifdown wwan i ifup wwan nie pomagają, to samo z restartowaniem wwan w luci, wynik uqmi -d /dev/cdc-wdm0 --get-data-status to "disconnected". uqmi -d /dev/cdc-wdm0 --start-network nic nie pomaga.

Nic takiego nie dzieje się na stockowym D-Linkowym firmware.

Jakieś pomysły jak to naprawić?

logread: https://pastebin.com/raw/NHYiD22E
dmesg: https://pastebin.com/raw/QT2eUeKg
Oba wykonane po tym jak zauważyłem, że internet nie działa rano, musiał przestać działać jakoś w nocy.

Lista dokładnie wszystkich zmian wykonanych na routerze po sflashowaniu openwrt:
passwd
uci set network.wwan=interface
uci set network.wwan.proto='qmi'
uci set network.wwan.device='/dev/cdc-wdm0'
uci set network.wwan.apn='internet'
uci set network.wwan.modes='lte'
uci commit network
uci set firewall.@zone[1].network='wan wwan wan6'
uci commit firewall
ifup wwan
opkg update
opkg install luci-proto-qmi
/etc/init.d/uhttpd restart
reboot

2

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Wg logów nie ma informacji żeby był problem z rozłączeniem modem. Nie miałem okazji żeby się nim bawić, więc nie potrafię powiedzieć jak wygląda jego stabilność.

W dlinku 921 eksportowane jest gpio o nazwie lte_modem_enable. Nie wiem czy to wyłączy zasilanie na minipci, odetnie magistralę czy jeszcze coś innego, ale jeżeli padnie połączenie możesz spróbować je przestawić na chwilę i zobaczysz czy nie spowoduje to ponownej inicjacji modemu. Jeżeli tak to zrób sobie prostu tester połączenia (typu https://eko.one.pl/?p=openwrt-3g#automa … rtpoczenia) gdzie zamiast ifup wwan zrobisz zmianę stanu gpio na chwilę. Obejście a nie rozwiązanie  problemu ale przynajmniej będziesz miał automatykę.

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

3

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Zrobiłem to teraz dla testu.

Internet działa poprawnie, daję komendę echo 0 > /sys/class/gpio/lte_modem_enable/value następnie echo 1 > /sys/class/gpio/lte_modem_enable/value
Internet już nie działa.

Logi z logread:
Fri Aug 24 19:57:21 2018 kern.info kernel: [ 1133.343003] usb 1-1: USB disconnect, device number 2
Fri Aug 24 19:57:21 2018 kern.info kernel: [ 1133.357143] qmi_wwan 1-1:1.4 wwan0: unregister 'qmi_wwan' usb-101c0000.ehci-1, WWAN/QMI device
Fri Aug 24 19:57:21 2018 daemon.notice netifd: Network device 'wwan0' link is down
Fri Aug 24 19:57:21 2018 daemon.notice netifd: Network alias 'wwan0' link is down
Fri Aug 24 19:57:21 2018 daemon.notice netifd: Interface 'wwan_4' has link connectivity loss
Fri Aug 24 19:57:21 2018 daemon.notice netifd: Interface 'wwan_4' is disabled
Fri Aug 24 19:57:21 2018 daemon.notice netifd: wwan_4 (1378): udhcpc: SIOCGIFINDEX: No such device
Fri Aug 24 19:57:21 2018 daemon.notice netifd: wwan_4 (1378): udhcpc: SIOCGIFINDEX: No such device
Fri Aug 24 19:59:02 2018 kern.info kernel: [ 1179.698888] usb 1-1: new high-speed USB device number 3 using ehci-platform
Fri Aug 24 19:59:02 2018 kern.info kernel: [ 1179.846894] qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
Fri Aug 24 19:59:02 2018 daemon.notice netifd: Interface 'wwan_4' is enabled
Fri Aug 24 19:59:02 2018 kern.info kernel: [ 1179.912948] qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-101c0000.ehci-1, WWAN/QMI device, mac

Robię ifup wwan, ifdown wwan i ifup wwan
Fri Aug 24 20:01:29 2018 daemon.notice netifd: Interface 'wwan_4' is disabled
Fri Aug 24 20:01:29 2018 daemon.notice netifd: wwan (2431): Stopping network wwan
Fri Aug 24 20:01:34 2018 daemon.notice netifd: Interface 'wwan' is now down
Fri Aug 24 20:01:34 2018 daemon.notice netifd: Interface 'wwan' is setting up now
Fri Aug 24 20:01:52 2018 daemon.notice netifd: wwan (2542): Stopping network wwan
Fri Aug 24 20:01:52 2018 daemon.notice netifd: wwan (2542): Command failed: Permission denied
Fri Aug 24 20:01:52 2018 daemon.notice netifd: Interface 'wwan' is now down
Fri Aug 24 20:01:52 2018 daemon.notice netifd: Interface 'wwan' is setting up now
ifup wwan
Fri Aug 24 20:03:17 2018 daemon.notice netifd: wwan (2765): Stopping network wwan
Fri Aug 24 20:03:17 2018 daemon.notice netifd: wwan (2765): Command failed: Permission denied
Fri Aug 24 20:03:17 2018 daemon.notice netifd: Interface 'wwan' is now down
Fri Aug 24 20:03:17 2018 daemon.notice netifd: Interface 'wwan' is setting up now
ifdown wwan
Fri Aug 24 20:04:06 2018 daemon.notice netifd: wwan (2850): Stopping network wwan
Fri Aug 24 20:04:06 2018 daemon.notice netifd: wwan (2850): Command failed: Permission denied
Fri Aug 24 20:04:06 2018 daemon.notice netifd: Interface 'wwan' is now down
ifup wwan
Fri Aug 24 20:04:22 2018 daemon.notice netifd: Interface 'wwan' is setting up now
kilka minut później ifstatus wwan
{
    "up": false,
    "pending": true,
    "available": true,
    "autostart": true,
    "dynamic": false,
    "proto": "qmi",
    "data": {
       
    }
}
stop wwan in luci
Fri Aug 24 20:08:23 2018 daemon.notice netifd: wwan (3540): Stopping network wwan
Fri Aug 24 20:08:23 2018 daemon.notice netifd: wwan (3540): Command failed: Permission denied
Fri Aug 24 20:08:23 2018 daemon.notice netifd: Interface 'wwan' is now down
start wwan in luci
Fri Aug 24 20:08:53 2018 daemon.notice netifd: Interface 'wwan' is setting up now
Fri Aug 24 20:08:54 2018 daemon.notice netifd: wwan (3631): "No effect"
Fri Aug 24 20:08:54 2018 daemon.notice netifd: wwan (3631): "Failed to connect to service"

Reboot i wszystko znowu działa.

Widzę, że dla C1 i C3 kod jest identyczny, może jest jakaś różnica między tymi wersjami, która to powoduje?

4

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Czyli jak się powiesi zrób echo 0>.. .echo 1>... reboot.

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

5

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Dzisiaj znowu internet przestał działać (po 3 dniach uptime), więc zrobiłem echo 0 i echo 1. Po tym wszystko tak samo, czyli internet nie działa z wyjątkiem, że w luci w rubryce w głównym menu Network IPv4 Upstream interfejsu już nie ma, jest tylko not connected (wcześniej był i wszystkie dane wyglądały tak jak gdy internet działa łącznie z uptime).

root@OpenWrt:~# ping google.com
ping: bad address 'google.com'
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
34 packets transmitted, 0 packets received, 100% packet loss
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-data-status
"disconnected"
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-signal-info
{
    "type": "lte",
    "rssi": 0,
    "rsrq": -3,
    "rsrp": -140,
    "snr": 84
}
root@OpenWrt:~# cat /sys/class/gpio/lte_modem_enable/value
1
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-signal-info
{
    "type": "lte",
    "rssi": -81,
    "rsrq": -10,
    "rsrp": -109,
    "snr": 188
}
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-signal-info
{
    "type": "lte",
    "rssi": 0,
    "rsrq": -3,
    "rsrp": -140,
    "snr": 154
}
root@OpenWrt:~# echo "0" > /sys/class/gpio/lte_modem_enable/value
root@OpenWrt:~# cat /sys/class/gpio/lte_modem_enable/value
0
root@OpenWrt:~# echo "1" > /sys/class/gpio/lte_modem_enable/value
root@OpenWrt:~# cat /sys/class/gpio/lte_modem_enable/value
1
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-data-status
"connected"
root@OpenWrt:~# ping google.com
ping: bad address 'google.com'
root@OpenWrt:~# ifstatus wwan
{
    "up": true,
    "pending": false,
    "available": true,
    "autostart": true,
    "dynamic": false,
    "uptime": 271670,
    "l3_device": "wwan0",
    "proto": "qmi",
    "updated": [
        "data"
    ],
    "metric": 0,
    "dns_metric": 0,
    "delegation": true,
    "ipv4-address": [
       
    ],
    "ipv6-address": [
       
    ],
    "ipv6-prefix": [
       
    ],
    "ipv6-prefix-assignment": [
       
    ],
    "route": [
       
    ],
    "dns-server": [
       
    ],
    "dns-search": [
       
    ],
    "inactive": {
        "ipv4-address": [
           
        ],
        "ipv6-address": [
           
        ],
        "route": [
           
        ],
        "dns-server": [
           
        ],
        "dns-search": [
           
        ]
    },
    "data": {
        "cid_4": "10",
        "pdh_4": "89981376"
    }
}
root@OpenWrt:~# ifup wwan
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network unreachable
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-data-status
^C"Failed to connect to service"
root@OpenWrt:~# ifstatus wwan
{
    "up": false,
    "pending": true,
    "available": true,
    "autostart": true,
    "dynamic": false,
    "proto": "qmi",
    "data": {
       
    }
}
root@OpenWrt:~# ifdown wwan
root@OpenWrt:~# ifstatus wwan
{
    "up": false,
    "pending": false,
    "available": true,
    "autostart": false,
    "dynamic": false,
    "proto": "qmi",
    "data": {
       
    }
}
root@OpenWrt:~# ifup wwan
root@OpenWrt:~# ifstatus wwan
{
    "up": false,
    "pending": true,
    "available": true,
    "autostart": true,
    "dynamic": false,
    "proto": "qmi",
    "data": {
       
    }
}
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --start-network
^C"Failed to connect to service"
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --start-network --apn internet
"No effect"
root@OpenWrt:~# uqmi -d /dev/cdc-wdm0 --get-data-status
^C"Failed to connect to service"

6

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Te ostatnie komunikatu sugerują albo że modem się zawiesił, albo że za szybko/często/równolegle wykonałeś kilka poleceń i nie poradził sobie. Np. w tle samodzielnie próbował również nawiązać połączenie.

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

7

Odp: D-Link DWR-921 C3 - modem/internet się zawiesza po jakimś czasie.

Czekałem dosyć długo po wykonaniu komend i robiłem CTRL+C, gdy nic się nie działo. Przy bootowaniu nie trzeba na niego czekać wieczności, działa od razu. Jak testowałem to ostatnim razem to czekałem 10 minut i takie same wyniki jak teraz.