LINUX.ORG.RU
ФорумAdmin

Последовательный порт через телнет

 , , ,


0

4

Доброго времени суток. Имеется в наличии клиентский NoName GPON терминал, у которого есть гребёнка к которой подключается UART-USB и получаем подключение к консоли в которой происходит основная движуха - туда сыпятся ошибки, различные сообщения и т.д. Так же есть подключение к железке через телнет/ssh. На железке что-то на основе линукса с busybox'ом.

Есть ли какая-нибудь возможность привязать консоль к виртуальному терминалу телнета и видеть все те же самые сообщения что и в консоли?

Быстрый гуглинг не помог. То описанных команд нету, то ключей, а то и просто никакого ответа после действий. Таких вещей как screen, tio, kermit на роутере, понятное дело, нету

Ответ на: комментарий от pinachet

железка - GPON терминал от китайцев. Конкретно вот эта модель Zisa OP156-AC. Если интересно - через гугл находится. Я конечно не силён в терминологии, но по моему это не JTAG, а UART. Если что - сильно не бейте, я в этой теме много не смыслю.

Toten_Kopf ()
Ответ на: комментарий от deadskif

про dmesg я знаю. В том-то и дело, что мне надо именно те сообщения которые в serial сыпятся. Например при наборе номера с телефона (подключённого к GPON терминалу) в консоль пишется само событие, номер телефона. Потом после разрыва соединения - длительность, номер адресата и т.д. Кроме сообщений SIP клиента там ещё всякая инфа. Вот оно то мне и надо

Toten_Kopf ()

непонятно чего хочешь. что тебе мешает подключиться через uart и смотреть сообщение в putty, например.

Deleted ()
Ответ на: комментарий от Deleted

Через UART ничего не мешает, кроме того что роутер находиться не в моей локации. А хочу видеть при подключении через телнет/ssh всё то же самое, что и при подключении через UART.

Toten_Kopf ()
Ответ на: комментарий от Toten_Kopf

Возможность перенаправления зависит от того, как организовано это дело «внутри». Относительно независимый вариант - если есть ещё один serial порт - сделать его входным, кабелем соединить с выходным, а данные направить куда хочется.

Elyas ★★★★★ ()
Ответ на: комментарий от Toten_Kopf

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

Deleted ()
Ответ на: комментарий от Deleted

вот только хз что грепать, я не могу найти куда он что пишет. Если пишет вообще, может тупо в памяти держит определённое количество сообщений. Да и то что я через гуи в логах вижу - это лишь сообщения о попытках доступа, и собственно сам доступ. Можно заставить логировать сообщения от голосовой части, и посылать их на удалённую машину. Но только это, а в serial сообщений гораздо больше.

Toten_Kopf ()
Ответ на: комментарий от Elyas

если речь о втором порту на роутере - то там его нету. И что можно посмотреть что бы узнать как это устроено «внутри»?

Toten_Kopf ()
Ответ на: комментарий от Deleted

dmesg ничего не говорит про tty. Перепробовал все устройства /dev/tty* которые вообще есть. А так же некоторые достаточно подозрительные, что бы их можно было обвинить в связях с serial. На всех тишина.

Toten_Kopf ()
Ответ на: комментарий от Toten_Kopf

Перепробовал все устройства /dev/tty* которые вообще есть.

Замкни Tx+Rx и вся информация ушедшая в порт придет в него обратно, тогда ты сможешь ее увидеть.

подключение к консоли в которой происходит основная движуха - туда сыпятся ошибки, различные сообщения и т.д.

Хотя если это полноценная консоль, а не просто вывод ошибок, то наверное не стоит :)

arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от arson

Полноценная консоль. Подозреваю, что при первом же выводе запросит логин, пароль. После которых выдаст, что не правильные и так по кругу, по нарастающей. Надо будет попробовать просто что бы посмотреть что будет, но не сейчас. Да и на удалённой железке замкнуть не получится.

Toten_Kopf ()
Ответ на: комментарий от Toten_Kopf

dmesg тут вообще не при чём.
любой syslog-демон имеет возможность дублировать сообщения консоли в лог-файл. В syslog-ng, например, по умолчанию это /var/log/messages.

ABW ★★★★★ ()
Ответ на: комментарий от arson

Хотя если это полноценная консоль, а не просто вывод ошибок, то наверное не стоит :)

Можно убить agetty, который висит на этой консоли и никаких запросов пароля не будет. Хотя, возможно, если его убить, то он перезапустится. Но тут уже надо смотреть, что за init-система там используется и отключать автозапуск соответствующего сервиса.

Кстати, стоит посмотреть список процессов вообще на предмет наличия agetty - если там будет один, которому передано /dev/tty*, то это позволит однозначно опознать нужный порт. Если же ничего такого нет, значит запросов пароля не будет и можно смело замыкать RX и TX.

Само ядро Linux пароли спрашивать не умеет, этим занимаются всякие специальные утилиты.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

agetty нету в процессах. Устройство я обнаружил - это /dev/ttyS0 и /dev/console. Если сделать echo 'blabla' > /dev/ttyS0 или /dev/console в консоль доступную через serial печатают переданное. Так же если что-нибудь печатать при подключении чеез serial, а в телнете читать из этих устройств, то в телнет сессию вываливается напечатанное. Но вот то что печатается из самой системы в serial, на телнет не поступает. Т.е. я вижу в телнет сессии то что печатаю сам в serial, но по прежнему не вижу то что печатается в виде сообщений от системы.

Toten_Kopf ()
Ответ на: комментарий от zudwa

Это GPON терминал, я не могу туда ничего поставить, кроме того что есть. А есть только bosybox, и тот по моему порезанный. Про ssh и машину - так можно. Но не у клиента дома, а у себя на месте я и так через serial подключится могу.

Toten_Kopf ()
Ответ на: комментарий от zudwa

может и можно, но увы - я могу писать только в раздел где находится конфигурационный файл, а там нет ничего, что можно передать загрузчику. Всё остальное стирается при перезагрузке

Toten_Kopf ()
Ответ на: комментарий от Toten_Kopf

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

zudwa ()
Ответ на: комментарий от Toten_Kopf

Для начала нужно понять, нужна инфа напрямую пишется или через syslogd. Если через syslogd — то нужно поменять его настройки. Если нет — нужно гаданием по выводу ps понять, кто нас интересует и посмотреть в /proc/$(pid нужного процесса)/fd куда он пишет.

deadskif ()
Ответ на: комментарий от Toten_Kopf

Если это busybox-syslogd, то там можно сохранять в файл, в буфер в памяти и читать из него когда надо или отправлять по сети. Менять — в зависимость от того, как запускается, обычно в каком-нибудь /etc/conf.d/busybox-syslogd.

deadskif ()
Ответ на: комментарий от deadskif

Нашёл вот такой конфиг:

# cat /tmp/syslog_config 
Status :off
Option :Remote
ServerIP :192.168.1.1
ServerPort :514
Dev :NULL
LocalLogLevel :0
RemoteLogLevel :0
Перенаправить я его могу на любой адрес, и читать конечно смогу. Dev это похоже оно? Сейчас попробую. Но похоже что это не он пишет в serial. Т.к. у этого статус off, а сообщения в serial консоли я получаю.

Toten_Kopf ()
Ответ на: комментарий от deadskif

ps говорит, что есть запущенные «syslogd -n -C -l 7» и «klogd -n». Конфиг sysloga я уже приводил, больше ничего не нашёл про него, про klog тоже ничего не находится похожее на конфиг.

Toten_Kopf ()
Ответ на: комментарий от deadskif

так, судя по /proc/$PID/fd, потоки 0, 1 и 2 привязаны к /dev/ttyS0. Но это я и так уже знаю. И писать туда могу. Но вот если делаю «cat < /dev/ttyS0» - то тишина. Ничего мне не сообщается оттуда

Toten_Kopf ()
Ответ на: комментарий от deadskif

Даже если и так, то вариант не сработает - изменить параметр на лету не получится, а после перезагрузки всё сотрётся. Там read-only система.

Toten_Kopf ()
Ответ на: комментарий от deadskif

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

Toten_Kopf ()
Ответ на: комментарий от Toten_Kopf

Рано обрадовался - убил всех у кого было log в имени, а сообщения всё равно пишутся в serial. Похоже разные логгеры тут не при чём.

Toten_Kopf ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.