Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Друзья, доброго всем дня 

Будет ли у Вас возможность помочь мне с вопросом обозначенным в теме - речь идет о том, чтобы такая возможность была обеспечена посредством команд CLI или entware?
Из доступных вариантов вижу только вариант с проверкой системного лога и списка запущенных процессов, не уверен, что это на 100% гарантирует ответ на вопрос "подключен ли модуль DECT к роутеру" и функционирует ли он полностью?

dmesg | grep 'Keenetic Plus DECT'
ps | grep nvox | tail -1

Может будут другие варианты?

В CLI ничего на эту тему не смог найти, как и на самом форуме. Возможно плохо искал. 
Если будет возможность дайте пожалуйста ссылку на источник, если сможете найти ответ на этот вопрос в полном объеме. 

Опубликовано

Подключен тогда по конф

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 # 

 

Опубликовано (изменено)

@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

Откуда появилась данная цифра? Поясните пожалуйста.

В любом случае, даже при полной работоспособности этих команд, как определить, что модуль в порядке и работоспособен?

Изменено пользователем Zeleza
Опубликовано
48 минут назад, vasek00 сказал:

lsof -p 1695

Про цифру ответ нашел - он не совсем очевиден оказался при представленной Вами последовательности. 
Правильный вариант был бы следующим:

lsof -p $(pgrep nvox)

 

Опубликовано
38 минут назад, Zeleza сказал:

как определить, что модуль в порядке и работоспособен?

Единственное что приходит на ум, если в CLI действительно нет команд на эту тему, это проверять на наличие error в текстах системного лога:

usb_code=$(dmesg | grep 'Keenetic Plus DECT' | cut -d':' -f1 | tail -1)
dmesg | grep "$usb_code" | grep error

Гуру подскажите пожалуйста, в том ли направлении двигаюсь?

Опубликовано
14 минуты назад, Le ecureuil сказал:

Посмотрите в сторону ndmq и show nvox status.

@Le ecureuil Премного Вам благодарен.
Однако в документации по CLI не нашел данной команды. Смотрел в этой доке по CLI. 
image.png.47d41f315be985849a3e81ae83be2209.png

Это то, что нужно, еще раз благодарю Вас. )

Опубликовано (изменено)

Может кому пригодится:

#--------------------------------------------------------------------------------------------------
#
#   Функция проверяет подключен ли модуль '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"
}

 

Изменено пользователем Zeleza
Опубликовано (изменено)
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
        

 

Изменено пользователем vasek00

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.