Zeleza Posted May 27, 2021 Share Posted May 27, 2021 Друзья, доброго всем дня Будет ли у Вас возможность помочь мне с вопросом обозначенным в теме - речь идет о том, чтобы такая возможность была обеспечена посредством команд CLI или entware? Из доступных вариантов вижу только вариант с проверкой системного лога и списка запущенных процессов, не уверен, что это на 100% гарантирует ответ на вопрос "подключен ли модуль DECT к роутеру" и функционирует ли он полностью? dmesg | grep 'Keenetic Plus DECT' ps | grep nvox | tail -1 Может будут другие варианты? В CLI ничего на эту тему не смог найти, как и на самом форуме. Возможно плохо искал. Если будет возможность дайте пожалуйста ссылку на источник, если сможете найти ответ на этот вопрос в полном объеме. Quote Link to comment Share on other sites More sharing options...
vasek00 Posted May 27, 2021 Share Posted May 27, 2021 Подключен тогда по конф nvox dect base serial ххххххххххххххх ! ! fxs port 1 ! port 2 ! ! sip-common stun-server stun.l.google.com:19302 ... Далее по /dev/bus/usb/001 # ps | grep nvox 1695 root 9240 S /usr/bin/nvox --config /var/run/nvox.conf --notify /var/run/nvox-notify.fb /dev/bus/usb/001 # Далее [ 183.486576] usb 1-2: new full-speed USB device number 3 using xhci-mtk [ 183.638480] usb 1-2: New USB device found, idVendor=0586, idProduct=3428 [ 183.649251] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 183.660866] usb 1-2: Product: Keenetic Plus DECT [ 183.667537] usb 1-2: Manufacturer: ZyXEL [ 183.672806] usb 1-2: SerialNumber: ххххххххххххххх /dev/bus/usb/001 # lsof -p 1695 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ... nvox 1695 root 11u CHR 189,2 0t0 12376 /dev/bus/usb/001/003 ... /dev/bus/usb/001 # lsusb Bus 001 Device 003: ID 0586:3428 ZyXEL Keenetic Plus DECT Bus 001 Device 001: ID 1d6b:0002 Linux 4.9-ndm-5 xhci-hcd xHCI Host Controller Bus 002 Device 002: ID 1f75:0621 Bus 002 Device 001: ID 1d6b:0003 Linux 4.9-ndm-5 xhci-hcd xHCI Host Controller /dev/bus/usb/001 # Quote Link to comment Share on other sites More sharing options...
Zeleza Posted May 27, 2021 Author Share Posted May 27, 2021 (edited) @vasek00 Благодарю Вас. Цитата Подключен тогда по конф Напомните пожалуйста, где лежит конфигурации файл? Только не получается по lsusb получить результат как у Вас. Мой вариант вывода: bash-5.1# lsusb Bus 002 Device 002: ID 174c:ХХХХ Bus 001 Device 001: ID 1d6b:ХХХХ Bus 002 Device 001: ID 1d6b:ХХХХ Bus 001 Device 003: ID 0586:ХХХХ Команда ниже не понятна. lsof -p 1695 Откуда появилась данная цифра? Поясните пожалуйста. В любом случае, даже при полной работоспособности этих команд, как определить, что модуль в порядке и работоспособен? Edited May 27, 2021 by Zeleza Quote Link to comment Share on other sites More sharing options...
Zeleza Posted May 27, 2021 Author Share Posted May 27, 2021 48 минут назад, vasek00 сказал: lsof -p 1695 Про цифру ответ нашел - он не совсем очевиден оказался при представленной Вами последовательности. Правильный вариант был бы следующим: lsof -p $(pgrep nvox) Quote Link to comment Share on other sites More sharing options...
Zeleza Posted May 27, 2021 Author Share Posted May 27, 2021 38 минут назад, Zeleza сказал: как определить, что модуль в порядке и работоспособен? Единственное что приходит на ум, если в CLI действительно нет команд на эту тему, это проверять на наличие error в текстах системного лога: usb_code=$(dmesg | grep 'Keenetic Plus DECT' | cut -d':' -f1 | tail -1) dmesg | grep "$usb_code" | grep error Гуру подскажите пожалуйста, в том ли направлении двигаюсь? Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted May 27, 2021 Share Posted May 27, 2021 Посмотрите в сторону ndmq и show nvox status. 1 Quote Link to comment Share on other sites More sharing options...
Zeleza Posted May 27, 2021 Author Share Posted May 27, 2021 14 минуты назад, Le ecureuil сказал: Посмотрите в сторону ndmq и show nvox status. @Le ecureuil Премного Вам благодарен. Однако в документации по CLI не нашел данной команды. Смотрел в этой доке по CLI. Это то, что нужно, еще раз благодарю Вас. ) Quote Link to comment Share on other sites More sharing options...
Zeleza Posted May 27, 2021 Author Share Posted May 27, 2021 (edited) Может кому пригодится: #-------------------------------------------------------------------------------------------------- # # Функция проверяет подключен ли модуль 'Keenetic Plus DECT' # к устройству и функционален ли он в полном объеме? # Возвращает 0 - в случае, если все Ок и # -1, если - нет # #-------------------------------------------------------------------------------------------------- function is_dect_ok(){ local result=-1 local dect_state_text='DECT service is running' local dect_online local dect_online_text=online local cli_command='show nvox status' local data_tree='//response/status' dect_online=$(ndmq -p "$cli_command" -P status/details | grep "$dect_online_text" | cut -d'=' -f5) dect_state=$(ndmq -p "$cli_command" -P status/state) # Проверяем модуль подключен ли к сети [[ "$dect_online" == "$dect_online_text" ]] && dect_online=0 # Проверяем ли запущен ли сервис [[ "$dect_state" == "$dect_state_text" ]] && dect_state=0 # Подводим общий итог [[ $dect_online -eq 0 && $dect_state -eq 0 ]] && result=0 echo "$result" } Edited May 27, 2021 by Zeleza Quote Link to comment Share on other sites More sharing options...
vasek00 Posted May 27, 2021 Share Posted May 27, 2021 (edited) 44 минуты назад, Zeleza сказал: Это то, что нужно, еще раз благодарю Вас. ) чтобы такая возможность была обеспечена посредством команд CLI или entware? dmesg | grep 'Keenetic Plus DECT' ps | grep nvox | tail -1 Entware Запуск ps и получение pid = 1695 ps | grep nvox 1695 root 9240 S /usr/bin/nvox --config /var/run/nvox.conf --notify /var/run/nvox-notify.fb Так как это usb, то имеем у процесса с 1695 - /dev/bus/usb/001/003 lsof -p 1695 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ... nvox 1695 root 11u CHR 189,2 0t0 12376 /dev/bus/usb/001/003 тогда при установленном USB lsusb Bus 001 Device 003: ID 0586:3428 ZyXEL Keenetic Plus DECT lsusb - набор утилит из пакета usbutils И к посту выше основная команда xmlstarlet пакет плюс ndmq / # ndmq -p "show nvox status" -x <response> <status> <state>DECT service is running</state> <details> STATUS nvox 0.8.2.37 singledongle </details> <details> DB numrecords: pb=0/500, history=0/500 </details> </status> <prompt>(config)</prompt> </response> По блоку response/status ndmq -p "show nvox status" -x | xml sel -t -m "//response/status" -v details -n STATUS nvox 0.8.2.37 singledongle DB numrecords: pb=0/500, history=0/500 Edited May 27, 2021 by vasek00 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.