Работа с приоритетами соединений в Network Manager

Добрый день!

Изучаю документацию GitHub - wirenboard/wb-nm-helper: Wirenboard network configuration backend for wb-mqtt-confed

Вижу строки:
Если текущее активное соединение не является наиболее приоритетным, сервис с периодом в 60 секунд будет пытаться активировать более приоритетные соединения. При активации более приоритетного соединения, все менее приоритетные закрываются.

Правильно ли понимаю, что при отсутствии приоритетного подключения контроллер будет каждые 60 секунд отключать текущее менее приоритетное подключение в попытке перейти на более приоритетное?
Более логичным выглядит проверка в фоне, чтобы отсутствие приоритетного подключения не вызвывало сбои при проверке доступа.

Еще один вопрос.

На контроллере файл /etc/wb-connection-manager.conf в таком формате:


{
  "connectivity_check_url": "http://network-test.debian.org/nm",
  "tiers": {
    "high": [
      "wb-gsm-sim1"
    ],
    "low": [],
    "medium": [
      "wb-eth1",
      "wb-eth0"
    ]
  }
}

А в документации:

{
    // Включение/выключение отладочных сообщений
    "debug": false,

    // Список названий соединений от в порядке убывания приоритета
    "connections": [
        "wb-eth1",
        "wb-gsm-sim1",
        "wb-gsm-sim2"
    ]
}

Какой формат более актуальный?

Так же вижу, что можно указать “wb-gsm-sim1” и “wb-gsm-sim2”. Сервис будет автоматически переключать SIM при отсутствии интернета на текущей SIM? Используются ли при этом метрики качества сигнала или только простая проверка по http://network-test.debian.org/nm?

Добрый день.

Не верно. Здесь речь идет не об отключении соединения, а о переключении на наиболее приоритетное соединение с доступом в интернет и направлении интернет-трафик через него. По факту контроллер не отключает менее приоритетное подключение (кроме модема).

Актуальной является версия конфига с контроллера.

1 Like

Верно. В таком случае, если будет отсутствовать интернет на одном активном gsm-соединении, то контроллер попробует подключиться через другое gsm-соединение.

Я думаю, что такое невозможно, т.к. одновременно модем может работать только с одной SIM-картой.

Спасибо!

По поводу метрик GSM.
Вполне вероятен случай, когда на обоих SIM интернет есть, но на первой, скажем, 4G, а на второй 2G и слабый сигнал. Я думаю можно в процессе работы сим запоминать среднее качество сигнала и использовать это в качестве приоритетов SIM.

Вот это - да, можно, но (сейчас) динамическое управление приоритетеми не реализовано, к сожалению.
Сейчас в работе задача по добавлению выбора поведения ppp при переключении с него на более приоритетный, отключать/не отключать.

1 Like

Подприоритеты внутри medium, low и high в порядке массива?
В случае обрыва первого происходит переключение на второе без попыток переключиться обратно (конечно, если на втором сеть доступна)?

Да, чтобы пытался переключиться - нужно в разные приоритеты.

1 Like

Чтобы сконфигурировать всё из терминала, достаточно ли выполнить:


# Для wifi
nmcli connection add type wifi con-name "$con_name" ifname wlan0 ssid "$ssid"
nmcli connection modify "$con_name" wifi-sec.key-mgmt wpa-psk
nmcli connection modify "$con_name" wifi-sec.psk "$password"

# Для Ethernet
nmcli connection add type ethernet con-name "$con_name" ifname eth0

# Для GSM
nmcli connection add type gsm con-name "$con_name" ifname "*"
nmcli connection modify "$con_name" gsm.auto-config true
nmcli connection modify "$con_name" ipv4.method auto
nmcli connection modify "$con_name" ipv6.addr-gen-mode default
nmcli connection modify "$con_name" ipv6.method auto

И обновить /etc/wb-connection-manager.conf в соответствии с названиями соединений?

Или лучше использовать wb инструмент для настройки сети?

@BrainRoot, добрый день!
Можно ли указать запасные connectivity_check_url ?

Совсем нет.
То есть можно и так и так, естественно.
Результат - будет один.

Сейчас - нет, так как параметр на вход принимается один.

1 Like

Добрый день!

Столкнулся с такой проблемой:

journalctl -u NetworkManager -f
Nov 02 11:12:42 IQ950001 NetworkManager[476]: <info>  [1698923562.1666] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:12:53 IQ950001 NetworkManager[476]: <info>  [1698923573.2690] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:13:47 IQ950001 NetworkManager[476]: <info>  [1698923627.2887] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:13:58 IQ950001 NetworkManager[476]: <info>  [1698923638.3676] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:14:51 IQ950001 NetworkManager[476]: <info>  [1698923691.8090] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:15:03 IQ950001 NetworkManager[476]: <info>  [1698923703.0550] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:15:56 IQ950001 NetworkManager[476]: <info>  [1698923756.5170] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:16:07 IQ950001 NetworkManager[476]: <info>  [1698923767.6319] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:17:00 IQ950001 NetworkManager[476]: <info>  [1698923820.7241] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:17:11 IQ950001 NetworkManager[476]: <info>  [1698923831.8324] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:18:05 IQ950001 NetworkManager[476]: <info>  [1698923885.2857] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:18:16 IQ950001 NetworkManager[476]: <info>  [1698923896.3487] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:19:10 IQ950001 NetworkManager[476]: <info>  [1698923950.1873] audit: op="connection-activate" uuid="50c344d6-00b9-43e6-9cb6-2b88e5cae604" name="eth0" pid=5440
 uid=0 result="fail" reason="Connection 'eth0' is not available on device eth0 because device has no carrier"
Nov 02 11:19:21 IQ950001 NetworkManager[476]: <info>  [1698923961.4337] audit: op="connection-activate" uuid="f0f9c6fd-ed93-43f9-8057-487ce3967417" name="AutoGSM" pid=5
440 uid=0 result="fail" reason="Connection 'AutoGSM' is not available on device ttyUSB1 because device is not available"
Nov 02 11:20:13 IQ950001 NetworkManager[476]: <info>  [1698924013.4532] caught SIGTERM, shutting down normally.
Nov 02 11:20:13 IQ950001 systemd[1]: Stopping Network Manager...
Nov 02 11:20:13 IQ950001 NetworkManager[476]: <info>  [1698924013.5339] device (wlan0): state change: disconnected -> unmanaged (reason 'unmanaged', sys-iface-state: 'm
anaged')
Nov 02 11:20:15 IQ950001 NetworkManager[476]: <info>  [1698924015.1431] device (p2p-dev-wlan0): state change: disconnected -> unmanaged (reason 'removed', sys-iface-sta
te: 'removed')
Nov 02 11:20:15 IQ950001 NetworkManager[476]: <info>  [1698924015.1825] device (wlan1): state change: disconnected -> unmanaged (reason 'unmanaged', sys-iface-state: 'm
anaged')
Nov 02 11:20:15 IQ950001 NetworkManager[476]: <info>  [1698924015.3017] device (p2p-dev-wlan1): state change: disconnected -> unmanaged (reason 'removed', sys-iface-sta
te: 'removed')
Nov 02 11:20:15 IQ950001 NetworkManager[476]: <info>  [1698924015.3128] device (ttyUSB1): state change: unavailable -> unmanaged (reason 'unmanaged', sys-iface-state: '
managed')
Nov 02 11:20:15 IQ950001 NetworkManager[476]: <info>  [1698924015.5028] exiting (success)
Nov 02 11:20:15 IQ950001 systemd[1]: NetworkManager.service: Succeeded.
Nov 02 11:20:15 IQ950001 systemd[1]: Stopped Network Manager.
Nov 02 11:20:15 IQ950001 systemd[1]: NetworkManager.service: Consumed 26min 32.005s CPU time.
Nov 02 11:20:15 IQ950001 systemd[1]: Starting Network Manager...
Nov 02 11:20:17 IQ950001 NetworkManager[31460]: <info>  [1698924017.5474] NetworkManager (version 1.42.4) is starting... (after a restart, boot:694af1c6-6fdd-4329-b4bd-
1c2bed695c41)
Nov 02 11:20:17 IQ950001 NetworkManager[31460]: <info>  [1698924017.5529] Read config: /etc/NetworkManager/NetworkManager.conf (lib: no-mac-addr-change.conf, wb.conf)
Nov 02 11:20:17 IQ950001 systemd[1]: Started Network Manager.
Nov 02 11:20:17 IQ950001 NetworkManager[31460]: <info>  [1698924017.6078] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Nov 02 11:20:17 IQ950001 NetworkManager[31460]: <info>  [1698924017.7332] manager[0x7c9120]: monitoring kernel firmware directory '/lib/firmware'.
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.3810] hostname: hostname: using hostnamed
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.3813] hostname: static hostname changed from (none) to "IQ950001"
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.3873] dns-mgr: init: dns=default,systemd-resolved rc-manager=file
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.4420] rfkill1: found Wi-Fi radio killswitch (at /sys/devices/platform/soc/2100000.bus/2184200.usb/ci
_hdrc.1/usb2/2-1/2-1.1/2-1.1:1.2/ieee80211/phy0/rfkill1) (driver rtl8723bu)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.4492] rfkill2: found Wi-Fi radio killswitch (at /sys/devices/platform/soc/2100000.bus/2184200.usb/ci
_hdrc.1/usb2/2-1/2-1.1/2-1.1:1.2/ieee80211/phy1/rfkill2) (driver rtl8723bu)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.4708] manager[0x7c9120]: rfkill: Wi-Fi hardware radio set enabled
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.4728] manager[0x7c9120]: rfkill: WWAN hardware radio set enabled
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.5039] Loaded device plugin: NMAtmManager (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-d
evice-plugin-adsl.so)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.5167] Loaded device plugin: NMWifiFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-
device-plugin-wifi.so)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.5460] Loaded device plugin: NMTeamFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-
device-plugin-team.so)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6016] Loaded device plugin: NMBluezManager (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm
-device-plugin-bluetooth.so)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6090] Loaded device plugin: NMWwanFactory (/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.4/libnm-
device-plugin-wwan.so)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6228] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6297] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6397] manager: Networking is enabled by state file
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6517] settings: Loaded settings plugin: ifupdown ("/usr/lib/arm-linux-gnueabihf/NetworkManager/1.42.
4/libnm-settings-plugin-ifupdown.so")
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6583] settings: Loaded settings plugin: keyfile (internal)
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6601] ifupdown: management mode: unmanaged
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6633] ifupdown:       interface-parser: parsing file /etc/network/interfaces
Nov 02 11:20:18 IQ950001 NetworkManager[31460]: <info>  [1698924018.6637] ifupdown:       interface-parser: finished parsing file /etc/network/interfaces
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.0849] dhcp: init: Using DHCP client 'internal'
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.1136] manager: (lo): new Loopback device (/org/freedesktop/NetworkManager/Devices/1)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.1608] device (lo): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-st
ate: 'external')
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.2383] device (lo): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface
-state: 'external')
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.3157] device (lo): Activation: starting connection 'lo' (6c978c28-a413-4190-adc9-5a32af95322a)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.3690] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.3909] device (eth0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'ext
ernal')
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.5297] manager: (eth1): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.5608] device (eth1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'ext
ernal')
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.7470] manager: (sit0): new IPTunnel device (/org/freedesktop/NetworkManager/Devices/4)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.8619] manager: (usb0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/5)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.9110] device (wlan0): driver supports Access Point (AP) mode
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.9477] manager: (wlan0): new 802.11 Wi-Fi device (/org/freedesktop/NetworkManager/Devices/6)
Nov 02 11:20:19 IQ950001 NetworkManager[31460]: <info>  [1698924019.9831] device (wlan0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'ex
ternal')
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.0904] device (wlan1): driver supports Access Point (AP) mode
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.1205] manager: (wlan1): new 802.11 Wi-Fi device (/org/freedesktop/NetworkManager/Devices/7)
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.1608] device (wlan1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'ex
ternal')
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.4436] device (lo): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external'
)
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.5195] device (lo): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.5385] device (lo): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.6456] modem-manager: ModemManager available
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.7386] manager: (ttyUSB1): new Broadband device (/org/freedesktop/NetworkManager/Devices/8)
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.7430] device (ttyUSB1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: '
external')
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.7692] device (ttyUSB1): modem state 'failed'
Nov 02 11:20:20 IQ950001 NetworkManager[31460]: <info>  [1698924020.9527] modem-broadband[ttyUSB1]: failed to retrieve SIM object: No SIM object available
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.2424] device (wlan0): supplicant interface state: internal-starting -> disconnected
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.2644] Wi-Fi P2P device controlled by interface wlan0 created
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.2774] manager: (p2p-dev-wlan0): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices
/9)
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.3316] device (p2p-dev-wlan0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-st
ate: 'external')
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.4201] device (wlan1): supplicant interface state: internal-starting -> disconnected
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.4363] Wi-Fi P2P device controlled by interface wlan1 created
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.4518] manager: (p2p-dev-wlan1): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices
/10)
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.4822] device (p2p-dev-wlan1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-st
ate: 'external')
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.5682] device (lo): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.6567] device (wlan0): state change: unavailable -> disconnected (reason 'supplicant-available', sys-
iface-state: 'managed')
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.7406] device (p2p-dev-wlan0): state change: unavailable -> disconnected (reason 'none', sys-iface-st
ate: 'managed')
Nov 02 11:20:21 IQ950001 NetworkManager[31460]: <info>  [1698924021.8065] device (wlan1): state change: unavailable -> disconnected (reason 'supplicant-available', sys-
iface-state: 'managed')
Nov 02 11:20:24 IQ950001 NetworkManager[31460]: <info>  [1698924024.0548] device (p2p-dev-wlan1): state change: unavailable -> disconnected (reason 'none', sys-iface-st
ate: 'managed')
Nov 02 11:20:24 IQ950001 NetworkManager[31460]: <info>  [1698924024.0732] device (lo): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external'
)
Nov 02 11:20:24 IQ950001 NetworkManager[31460]: <info>  [1698924024.1175] device (lo): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external
')

Контроллер не мог подключиться к WiFi точке доступа, но после перезапуска NetworkManager, соединение установилось.

Я верно понимаю что перезапуск - в Nov 02 11:20:13?
Какой-то из интерфейсов в режиме клиента, но за 26 минут не подключился, получается? А логи раньше, с момента запуска есть?

В процессе отладки заметил, что /etc/wb-connection-manager.conf выглядел приверно вот так:

{
  "connectivity_check_url": "http://network-test.debian.org/nm",
  "tiers": {
    "high": [
      "ServiceAP"
    ],
    "low": [],
    "medium": []
  },
  "connections": []
}

Возможно была проблема из-за наличия “connections” (использую последний доступный образ 2307). Добавил в свой скрипт удаление ключа “connections”, тестирую.

1 Like

Сейчас проблема с WiFi не воспроизводится, выглядит ок.

Можно ли так перенастроить, чтобы менее приоритетные соединения не закрывались? Хотелось бы более быстрого переключения между eth, wifi и gsm. При этом сразу видеть, что сеть по GSM доступна в процессее настройки контроллера по WiFi или eth.

Пожалуйста обновите README.md

Тут старая инструкция по работе с приоритетами. Путает.

Проводим тест с блокировкой сети нп eth, ожидаем, что контроллер переключится на GSM, что он и сделал, судя по логам, но интернет не появился:

Спойлер
root@IQ950000:~# journalctl -u wb-connection-manager -f -n 50
-- Journal begins at Fri 2023-11-03 09:55:42 UTC. --
Nov 03 10:43:24 IQ950000 systemd[1]: Stopped Network connections management service for Wiren Board devices.
Nov 03 10:43:24 IQ950000 systemd[1]: wb-connection-manager.service: Consumed 1.463s CPU time.
Nov 03 10:43:24 IQ950000 systemd[1]: Started Network connections management service for Wiren Board devices.
Nov 03 10:43:26 IQ950000 wb-connection-manager[4385]: No device for connection wb-gsm-sim1 found, will recheck later
Nov 03 10:43:26 IQ950000 wb-connection-manager[4385]: No device for connection wb-gsm-sim2 found, will recheck later
Nov 03 10:43:26 IQ950000 wb-connection-manager[4385]: Error during connection "wb-eth0" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-eth0' is not available on device eth0 because device has no carrier
Nov 03 10:43:53 IQ950000 wb-connection-manager[4385]: Error during connection "ServiceAP" checking: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.DBus.Properties” on object at path /org/freedesktop/NetworkManager/ActiveConnection/3
Nov 03 10:43:53 IQ950000 wb-connection-manager[4385]: Error during connection "wb-gsm-sim1" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-gsm-sim1' is not available on device ttyUSB1 because device is not available
Nov 03 10:44:02 IQ950000 wb-connection-manager[4385]: Changed SIM slot to 2 to check connectivity
Nov 03 10:44:05 IQ950000 wb-connection-manager[4385]: Armed sticky timeout until 2023-11-03T10:59:05.878265 for device ttyUSB1
Nov 03 10:44:05 IQ950000 wb-connection-manager[4385]: Current connection changed to wb-gsm-sim2
-- Boot 375499a6aac646d58fbf2ee02951dd72 --
Nov 03 10:46:47 IQ950000 systemd[1]: Started Network connections management service for Wiren Board devices.
Nov 03 10:46:49 IQ950000 wb-connection-manager[1427]: No device for connection wb-gsm-sim1 found, will recheck later
Nov 03 10:46:49 IQ950000 wb-connection-manager[1427]: No device for connection wb-gsm-sim2 found, will recheck later
Nov 03 10:46:50 IQ950000 wb-connection-manager[1427]: Error during connection "wb-eth0" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-eth0' is not available on device eth0 because device has no carrier
Nov 03 10:47:20 IQ950000 wb-connection-manager[1427]: Error during connection "ServiceAP" checking: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.DBus.Properties” on object at path /org/freedesktop/NetworkManager/ActiveConnection/2
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]: Traceback (most recent call last):
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/wb-connection-manager/wb-connection-manager", line 8, in <module>
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     sys.exit(main())
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/python3/dist-packages/wb/nm_helper/connection_manager.py", line 751, in main
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     manager.cycle_loop()
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/python3/dist-packages/wb/nm_helper/connection_manager.py", line 317, in cycle_loop
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     self.deactivate_lesser_gsm_connections(new_connection, new_tier)
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/python3/dist-packages/wb/nm_helper/connection_manager.py", line 635, in deactivate_lesser_gsm_connections
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     connections = list(self.find_lesser_gsm_connections(cn_id, tier))
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/python3/dist-packages/wb/nm_helper/connection_manager.py", line 647, in find_lesser_gsm_connections
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     for tier in [item for item in self.config.tiers if item.priority <= current_tier.priority]:
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:   File "/usr/lib/python3/dist-packages/wb/nm_helper/connection_manager.py", line 647, in <listcomp>
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]:     for tier in [item for item in self.config.tiers if item.priority <= current_tier.priority]:
Nov 03 10:47:24 IQ950000 wb-connection-manager[1427]: AttributeError: 'NoneType' object has no attribute 'priority'
Nov 03 10:47:24 IQ950000 systemd[1]: wb-connection-manager.service: Main process exited, code=exited, status=1/FAILURE
Nov 03 10:47:24 IQ950000 systemd[1]: wb-connection-manager.service: Failed with result 'exit-code'.
Nov 03 10:47:24 IQ950000 systemd[1]: wb-connection-manager.service: Consumed 1.552s CPU time.
Nov 03 10:47:26 IQ950000 systemd[1]: wb-connection-manager.service: Scheduled restart job, restart counter is at 1.
Nov 03 10:47:26 IQ950000 systemd[1]: Stopped Network connections management service for Wiren Board devices.
Nov 03 10:47:26 IQ950000 systemd[1]: wb-connection-manager.service: Consumed 1.552s CPU time.
Nov 03 10:47:26 IQ950000 systemd[1]: Started Network connections management service for Wiren Board devices.
Nov 03 10:47:27 IQ950000 wb-connection-manager[4426]: No device for connection wb-gsm-sim1 found, will recheck later
Nov 03 10:47:27 IQ950000 wb-connection-manager[4426]: No device for connection wb-gsm-sim2 found, will recheck later
Nov 03 10:47:27 IQ950000 wb-connection-manager[4426]: Error during connection "wb-eth0" checking: org.freedesktop.NetworkManager.UnknownConnection: Connection 'wb-eth0' is not available on device eth0 because device has no carrier
Nov 03 10:47:56 IQ950000 wb-connection-manager[4426]: Error during connection "ServiceAP" checking: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.DBus.Properties” on object at path /org/freedesktop/NetworkManager/ActiveConnection/3
Nov 03 10:48:08 IQ950000 wb-connection-manager[4426]: Changed SIM slot to 2 to check connectivity
Nov 03 10:48:13 IQ950000 wb-connection-manager[4426]: Armed sticky timeout until 2023-11-03T11:03:13.136219 for device ttyUSB1
Nov 03 10:48:13 IQ950000 wb-connection-manager[4426]: Current connection changed to wb-gsm-sim2
Nov 03 10:54:18 IQ950000 wb-connection-manager[4426]: Current connection changed to wb-eth0
Nov 03 10:54:21 IQ950000 wb-connection-manager[4426]: Deactivated unneeded GSM connection "wb-gsm-sim2" to save GSM traffic
Nov 03 10:58:20 IQ950000 wb-connection-manager[4426]: Changed SIM slot to 1 to check connectivity
Nov 03 10:58:34 IQ950000 wb-connection-manager[4426]: Changed SIM slot to 2 to check connectivity
Nov 03 10:58:38 IQ950000 wb-connection-manager[4426]: Armed sticky timeout until 2023-11-03T11:13:38.919400 for device ttyUSB1
Nov 03 10:58:38 IQ950000 wb-connection-manager[4426]: Current connection changed to wb-gsm-sim2
^C
root@IQ950000:~# ifconfig
dbg0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 1a:55:89:a2:69:43  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.44 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::b236:2aef:f735:2b7 prefixlen 64 scopeid 0x20<link>
ether 00:85:01:01:82:75 txqueuelen 1000 (Ethernet)
RX packets 8021 bytes 1470331 (1.4 MiB)
RX errors 0 dropped 32 overruns 0 frame 0
TX packets 1341 bytes 328813 (321.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 65 base 0x5000

eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:85:01:01:cd:3f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 64

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 19790 bytes 2279404 (2.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 19790 bytes 2279404 (2.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.58.153.158 netmask 255.255.255.255 destination 10.64.64.64
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 450 bytes 44130 (43.0 KiB)
RX errors 9 dropped 0 overruns 0 frame 0
TX packets 470 bytes 40909 (39.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether c4:3c:b0:e7:1d:18 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 6121 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether c6:3c:b0:e7:1d:18 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 3841 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@IQ950000:~#
root@IQ950000:~# ping ya.ru
ping: ya.ru: Name or service not known
root@IQ950000:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=22.0 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=2.87 ms
^C
— 192.168.1.1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 2.873/12.441/22.010/9.568 ms
root@IQ950000:~#
root@IQ950000:~# ip route show default
default dev ppp0 proto static scope link metric 55
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.44 metric 105
root@IQ950000:~# ip route show
default dev ppp0 proto static scope link metric 55
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.44 metric 105
10.64.64.64 dev ppp0 proto kernel scope link src 10.58.153.158 metric 55
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.44 metric 105
root@IQ950000:~#

Текущие настройки:

Спойлер
root@IQ950000:~# cat /etc/wb-connection-manager.conf 
{
    "connectivity_check_url": "http://network-test.debian.org/nm",
    "tiers": {
        "high": [
            "wb-eth0",
            "ServiceAP"
        ],
        "low": [
            "wb-gsm-sim1",
            "wb-gsm-sim2"
        ],
        "medium": []
    },
    "debug": false
}

UPD:
Кажется проблема в настройках DNS. После таких действий, сеть появилась:

Спойлер

root@IQ950000:~# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 10.221.41.11
nameserver 10.220.41.11
root@IQ950000:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=50.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=40.7 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 40.708/45.518/50.329/4.810 ms
root@IQ950000:~# ^C
root@IQ950000:~# vi /etc/resolv.conf
root@IQ950000:~# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.221.41.11
nameserver 10.220.41.11
root@IQ950000:~# systemctl restart systemd-resolved
root@IQ950000:~# ping ya.ru
PING YA.ru (5.255.255.242) 56(84) bytes of data.
64 bytes from ya.ru (5.255.255.242): icmp_seq=1 ttl=246 time=32.9 ms
64 bytes from ya.ru (5.255.255.242): icmp_seq=2 ttl=246 time=33.4 ms
^C
--- YA.ru ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 32.873/33.141/33.410/0.268 ms
root@IQ950000:~#

UPD2:
@BrainRoot
В итоге похоже на багу. Как воспроизвести:
Исходные данные:
На контроллере настроен GSM, сим карта только во втором слоте, приоритет low. Есть eth и wifi с приоритетом high. WiFi не доступен.
Шаги:

  1. Подключаю eth, дожидаюсь переключения на eth.
  2. Блокирую доступ в интернет через настройки роутера.
  3. Контроллер переключается на SIM, но из resolv.conf не удаляется IP роутера.

Можете попробовать у себя воспроизвести?

приложен диагностический архив, доступен только сотрудникам поддержки
(154,6 КБ)

Записал для интерфейсов явно статические адреса DNS.


Убеждаюсь что используется именно они, при активном интерфейсе:

cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.0.33

И, к сожалению, на модем не переключается - что-то с симкартой. Проверю завтра, как поменяю ее. :frowning:

1 Like

Я кстати статический DNS на контроллере не прописывал. Он видимо выдается роутером.

Подскажите, получилось воспроизвести?

Нет, еще нет подходящей SIM, но помню, завтра должны привезти.

1 Like