serial/COM console

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

serial/COM console

Непрочитанное сообщение Гость » 2008-08-13 9:32:21

Есть две тачки: foo и bar. Они подключены через null-modem cable.

Код: Выделить всё

foo$ dmesg | fgrep -euart -econsole
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
sc0: <System console> at flags 0x180 on isa0
sc0: VGA <16 virtual consoles, flags=0x380>

Код: Выделить всё

bar$ dmesg | fgrep -euart -econsole
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
uart0: [FILTER]
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
uart1: [FILTER]
bar$ fgrep -ettyu0 -ettyu1 /etc/ttys
ttyu0   "/usr/libexec/getty std.9600" screen-bce      on  insecure
ttyu1   "/usr/libexec/getty std.9600" screen-bce      on  insecure
bar$ ps lwwp`pgrep getty`
  UID   PID  PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT       TIME COMMAND
    0  1770     1   0  76  0  3260  1124 tty dc I     ??    0:00.01 /usr/libexec/getty std.9600 ttyu0
    0  1771     1   0  76  0  3260  1124 tty dc I     ??    0:00.01 /usr/libexec/getty std.9600 ttyu1
    0  1769     1   0  76  0  3260  1124 tty in Is+   v0    0:00.01 /usr/libexec/getty Pc ttyv0
Попытка установить соединение с foo на bar к успеху не приводит.

Код: Выделить всё

foo$ cu -l cuau0
Connected
abc
blah
duh
load: 0.01 not a controlling terminal
load: 0.01 not a controlling terminal
load: 0.01 not a controlling terminal
load: 0.01 not a controlling terminal
Однако если подставить на тачке bar на ttyu0 вместо getty, например, cu -l ttyu0, то сообщения принимаются. Правда echo не работает, и я не могу увидеть, что сам написал не переключаясь, Control-T тоже не работает.

Пробовал изменить baudrate с 9600 на 115200 для getty, но эффект нулевой, а Control-T на foo работает только с baudrate=9600. Сборка мира с BOOT_COMCONSOLE_SPEED=115200 тоже ничего не меняет, как и не меняет добавление -h в /boot.config.

Есть идеи? Вполне возможно, что я где-то перестарался, т.к. одно время serial console у меня даже работала и getty мне дарил ttyu0, но потом она (консоль) так же неожиданно и перестала работать. Это было когда я только-только поставил -h в /boot.config.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: serial/COM console

Непрочитанное сообщение Alex Keda » 2008-10-29 22:24:07

не каррент ли часом?
там консоли не так давно хорошо попилили....
Убей их всех! Бог потом рассортирует...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: serial/COM console

Непрочитанное сообщение paradox » 2008-10-29 22:50:19

getty std.9600
9600 же на терминале

значит и cu нужно поднимать в 9600

Гость
проходил мимо

Re: serial/COM console

Непрочитанное сообщение Гость » 2008-11-22 5:44:40

оказывает при загрузке с cdrom /boot.config не читается, а установка comconsole в loader(8) выдавала жалкую скорость 1355. Но теперь во фре есть возможность загрузиться с ZFS и необходимость грузиться с CD отпала. А uart(4) теперь цепляет консоль:

Код: Выделить всё

uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x90 on acpi0
uart0: [FILTER]
uart0: console (115200,n,8,1)
Вернулись заветные uart0: console (115200,n,8,1), кои я так давно ждал. Из-за отсутствия этой строчки uart(4) и писал, что консоли на последоватльном порте нету:

Код: Выделить всё

load: 0.01 not a controlling terminal
и в conscontrol(8) в Configured появилось ttyu0.

теперь другая проблема, cu -l cuau0 -s115200 консоль видит, но gdb не хочет.

Код: Выделить всё

(/usr/obj/usr/src/sys/MYKERNEL)! make gdbinit
(/usr/obj/usr/src/sys/MYKERNEL)! gdb kernel.debug
(gdb) tr /dev/cuau0
load: 0.04  cmd: gdb 23265 [tty input] 0.00u 0.00s 0% 4644k
load: 0.04  cmd: gdb 23265 [tty input] 0.00u 0.00s 0% 4644k
load: 0.04  cmd: gdb 23265 [tty input] 0.00u 0.00s 0% 4644k
load: 0.04  cmd: gdb 23265 [tty input] 0.00u 0.00s 0% 4644k
load: 0.04  cmd: gdb 23265 [tty input] 0.00u 0.00s 0% 4644k
Не смотря на то что при загрузке было:

Код: Выделить всё

Booting [/boot/kernel/kernel]...
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1992-2008 The FreeBSD Project.
и в DDB я набрал:

Код: Выделить всё

KDB: enter: Line break on console
[thread pid 10 tid 100002 ]
Stopped at      kdb_enter+0x3a: movl    $0,kdb_why
db> gdb
Step to enter the remote GDB backend.
db> step
$T058:e79a61c0;thread:186a2;#b5~
[EOT]
Кто-нить занималься удаленной отладкой ядра через gdb(4)? Есть идеи в чем может быть такая проблема при подключение из gdb(1) в gdb(4)?

Гость
проходил мимо

Re: serial/COM console

Непрочитанное сообщение Гость » 2008-11-22 6:24:15

Гость писал(а):Есть идеи в чем может быть такая проблема при подключение из gdb(1) в gdb(4)?
туплю:

Код: Выделить всё

(gdb) show remotebaud
Baud rate for remote serial I/O is 9600.
(gdb) set remotebaud 115200
tr /dev/cuau0
Error while mapping shared library sections:
opensolaris.ko: No such file or directory.
Error while mapping shared library sections:
zfs.ko: No such file or directory.
Error while mapping shared library sections:
ng_mppc.ko: No such file or directory.
0xc0619add in kdb_enter ()
Правда пришлось использовать kgdb(1), но даже с ним проблема:

Код: Выделить всё

(kgdb) ps
Attempt to extract a component of a value that is not a structure.
Спешу заметить, ядро было собрано с DEBUG=-g.

Гость
проходил мимо

Re: serial/COM console

Непрочитанное сообщение Гость » 2008-11-26 6:48:07

Код: Выделить всё

(kgdb) ps
Attempt to extract a component of a value that is not a structure.
Спешу заметить, ядро было собрано с DEBUG=-g.[/quote]кажется, gdb(4) не нравятся символы от солярки, а именно -DWITH_CTF не стоит указывать при сборке ядра.