winniethepooh 0 23 ноября, 2021 Опубликовано 23 ноября, 2021 · Жалоба Здравствуйте. Пытаюсь разобраться с темой терминалов (псевдо и др.) в Линукс. Хочу реализовать вывод данных модуля ядра не в системную консоль а какую нибудь иную (монитор состояния драйвера). Использую устройство с arm контроллером (a9) под управлением Линукс, без графической оболочки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба Может быть, всё-таки, лог писать? Ну или mkfifo. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
heavyC1oud 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба можно dmesg парсить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 11 часов назад, winniethepooh сказал: Хочу реализовать вывод данных модуля ядра не в системную консоль а какую нибудь иную (монитор состояния драйвера). Использую устройство с arm контроллером (a9) под управлением Линукс, без графической оболочки. вероятно, что-то типа https://linux.die.net/lkmpg/x1161.html или выводите из вашего a9 второй последовательный порт (на первом системная консоль) и валите отладку из драйвера туда. google->"kernel module serial debug" или реализуете выхлоп printk драйвера в файл, google->"kernel module printk to file" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 3 hours ago, rkit said: Может быть, всё-таки, лог писать? Ну или mkfifo. может быть, но хочется в консоль.. 1 hour ago, heavyC1oud said: можно dmesg парсить можно парсить, но данные постоянно сыплются в драйвер и хорошо бы их отображать с минимальными затратами.. 55 minutes ago, Jury093 said: вероятно, что-то типа https://linux.die.net/lkmpg/x1161.html или выводите из вашего a9 второй последовательный порт (на первом системная консоль) и валите отладку из драйвера туда. google->"kernel module serial debug" или реализуете выхлоп printk драйвера в файл, google->"kernel module printk to file" в системе есть не используемый serial порт но как привязать консоль к нужному порту? Можно ли сделать это для системы "без графики". я понимаю что можно реализовать вывод данных драйвера через serial порт но кому эти данные отображать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба Ну тогда писать в /dev/tty*, /dev/pty*, /dev/pts/*. Где-то там должна быть консоль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 16 minutes ago, rkit said: Ну тогда писать в /dev/tty*, /dev/pty*, /dev/pts/*. Где-то там должна быть консоль. да должна и есть, одна и системная, хотелось бы в другую, не системную.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 55 минут назад, winniethepooh сказал: в системе есть не используемый serial порт но как привязать консоль к нужному порту? Можно ли сделать это для системы "без графики". я понимаю что можно реализовать вывод данных драйвера через serial порт но кому эти данные отображать? я ранее писал - google->"kernel module serial debug" если на пальцах - у вас в /dev вероятно есть ttyS0 и ttyS1 системную консоль (обычно ttyS0) можно посмотреть в строке cat /proc/cmdline после оператора console= далее в драйвере через вызовы получаете доступ к ttyS1 и организуете вывод своей отладки в ttyS1 на физику контактов uart1 навешиваете переходник uart-usb (или uart-serial) и читаете на компе с любой терминалки но это довольно хлопотно, хоть и надежно. в первой ссылке, мной предложенной, похоже вывод делается в текущий активный tty, т.е. запустили сессию ssh, зашли по сетке и вывод будет в это окно виртуальной консоли Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 31 minutes ago, winniethepooh said: да должна и есть, одна и системная, хотелось бы в другую, не системную.. Так другую нужно создать сначала, наверно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 (изменено) · Жалоба 52 minutes ago, rkit said: Так другую нужно создать сначала, наверно? вот нет уверенности что можно создать другую, предположу что нужна графическая система что бы новое окошечко консольки открыть.. 1 hour ago, Jury093 said: я ранее писал - google->"kernel module serial debug" если на пальцах - у вас в /dev вероятно есть ttyS0 и ttyS1 системную консоль (обычно ttyS0) можно посмотреть в строке cat /proc/cmdline после оператора console= далее в драйвере через вызовы получаете доступ к ttyS1 и организуете вывод своей отладки в ttyS1 на физику контактов uart1 навешиваете переходник uart-usb (или uart-serial) и читаете на компе с любой терминалки но это довольно хлопотно, хоть и надежно. в первой ссылке, мной предложенной, похоже вывод делается в текущий активный tty, т.е. запустили сессию ssh, зашли по сетке и вывод будет в это окно виртуальной консоли вашу мысль понял, спасибо. Изменено 24 ноября, 2021 пользователем winniethepooh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BaN 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 1 hour ago, winniethepooh said: вот нет уверенности что можно создать другую, предположу что нужна графическая система что бы новое окошечко консольки открыть.. Менять tty через Ctrl+Alt+F1-F12. Вообще, проще не мудрить сильно и парсить dmesg: sudo dmesg -W | grep driver_name Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 52 minutes ago, BaN said: Менять tty через Ctrl+Alt+F1-F12. Вообще, проще не мудрить сильно и парсить dmesg: sudo dmesg -W | grep driver_name да мудрить не к чему, но нужно разобраться.. если парсить или писать в файл (fifo) то вывод только на системную консоль отладочного девайса, если нужно выводить в отдельное окошечко (типа терминала или окошечко minicom) то берем адаптер serial-usb, стыкуем отладочный девайс с Персональным Компьютером. Дальше нужно разобраться какой именно tty cвязан с используемым портом и использовать приложение (я знаком только с minicom) для подключения к tty. если я намудрил поправьте меня пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BaN 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 · Жалоба 1 hour ago, winniethepooh said: да мудрить не к чему, но нужно разобраться.. если парсить или писать в файл (fifo) то вывод только на системную консоль отладочного девайса, если нужно выводить в отдельное окошечко (типа терминала или окошечко minicom) то берем адаптер serial-usb, стыкуем отладочный девайс с Персональным Компьютером. Дальше нужно разобраться какой именно tty cвязан с используемым портом и использовать приложение (я знаком только с minicom) для подключения к tty. если я намудрил поправьте меня пожалуйста. Я так понял, у вашей железки нет монитора и единственный вариант подключения к ней - это через последовательный порт? И вы хотите получить два окна в этом терминале, чтобы в одном вводить команды, а в другом видеть вывод отладочной информации модуля? Если есть возможность, то можно установить на устройстве программу screen и подключившись minicom'ом к последовательному порту устройства, запустить screen и сделать там несколько виртуальных терминалов в одном окне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
winniethepooh 0 24 ноября, 2021 Опубликовано 24 ноября, 2021 (изменено) · Жалоба 1 hour ago, BaN said: Я так понял, у вашей железки нет монитора и единственный вариант подключения к ней - это через последовательный порт? И вы хотите получить два окна в этом терминале, чтобы в одном вводить команды, а в другом видеть вывод отладочной информации модуля? Если есть возможность, то можно установить на устройстве программу screen и подключившись minicom'ом к последовательному порту устройства, запустить screen и сделать там несколько виртуальных терминалов в одном окне. Да нет монитора. Спасибо, screen интересная программа, нужно узнать о ней больше. Изменено 24 ноября, 2021 пользователем winniethepooh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 26 ноября, 2021 Опубликовано 26 ноября, 2021 · Жалоба On 11/24/2021 at 10:12 AM, winniethepooh said: Да нет монитора. Спасибо, screen интересная программа, нужно узнать о ней больше. man screenhttps://linux.die.net/man/1/screen Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться