DCONSCHAT(8) | MidnightBSD System Manager's Manual | DCONSCHAT(8) |
dconschat
— user
interface to
dcons(4)
dconschat |
[-brvwRT1 ] [-e
escape-char] [-h
hz] [-C
console_port] [-G
gdb_port] [-M
core] [-N
system] |
dconschat |
[-brvwR1 ] [-h
hz] [-C
console_port] [-G
gdb_port] [-a
address] [-u
bus_num] -t
target_eui64 |
The dconschat
utility is designed to
provide a way for users to access
dcons(4) (dumb console
device) on a local or remote system. The dconschat
utility interacts with
dcons(4) using
kvm(3) or
firewire(4), and
interacts with the user over TTY or TCP/IP. To access remote
dcons(4) using
firewire(4), you have
to specify target EUI64 address using the -t
option.
Physical DMA should be enabled on the target machine for access via
FireWire.
The dconschat
utility and the
dcons(4) driver
communicate using 2 ports, one for the console port and another for remote
gdb(1) port. Users are
supposed to access dconschat
using TTY,
telnet(1) and
gdb(1). You can specify
listen ports for console and
gdb(1) port using the
-C
and -G
options
respectively. The port number 0 has special meaning that current TTY
(stdin/stdout) is used instead of TCP/IP. A negative port number will
disable the port. By analogy with
pty(4) device, the
dcons(4) acts as a slave
device and dconschat
acts as a master device with
telnetd(8).
Typed characters are normally transmitted directly to
dcons(4). A escape
character (the default is ‘~
’ )
appearing as the first character of a line is an escape signal; the
following are recognized:
~.
~^G
~^R
~^Z
The following options are supported.
-b
~
’ + Ctrl-B) on
gdb(1) port.-r
-v
-v
options increase
verbosity.-w
-R
-T
dconschat
using
telnet(1).-1
-r
option.-e
escape-char-h
hz-C
console_port-G
gdb_port-M
core-N
system-t
target_eui64-a
addressdconschat
tries to
get the address from the Configuration ROM on the target. You are supposed
to enable
dcons_crom(4) on
the target to omit this option.-u
bus_numTo use dconschat
with FireWire for remote
dcons(4), you have to
specify the EUI64 of the target. You can obtain EUI64 by running
fwcontrol(8) without
options. The first EUI64 is of the host running
fwcontrol(8) and
others on the bus follow.
# fwcontrol 2 devices (info_len=2) node EUI64 status 1 77-66-55-44-33-22-11-00 0 0 00-11-22-33-44-55-66-77 1
The EUI64 does not change unless you change the hardware as the ethernet address.
Now we can run dconschat
.
# dconschat -br -G 12345 -t 00-11-22-33-44-55-66-77
You will get console output of the target and login prompt if a
getty(8) is running on
dcons(4). You can break to
DDB with ALT_BREAK (CR + ‘~
’ + Ctrl-B)
if DDB
and
ALT_BREAK_TO_DEBUGGER
are enabled in the target
kernel. To quit the session, type CR +
‘~
’ +
‘.
’ in the console port.
Using gdb(1) port is almost the same as remote gdb(1) over serial line except using TCP/IP instead of /dev/cu*. See On-line Kernel Debugging Using Remote GDB section of The FreeBSD Developers Handbook and gdb(4) for details.
% gdb -k kernel.debug (kgdb) target remote :12345
Once gdb(1) is
attached and you specified the -b
option to
dconschat
, typing Ctrl-C in
gdb(1) causes a break to
debugger.
The following command gets the console log from the crash dump:
# dconschat -1 -M vmcore.0 -N kernel.0
If you want access to the console using telnet(1), try the following:
# dconschat -rTC 5555 & # telnet localhost 5555
You may want to keep logging console output of several machines.
conserver-com
in the Ports collection may help you.
Insert the following lines in conserver.cf:
console local { master localhost; type exec; exec /usr/sbin/dconschat -rh 25; } console remote { master localhost; type exec; exec /usr/sbin/dconschat -rh 25 -t 00-11-22-33-44-55-66-77; }
gdb(1), telnet(1), kvm(3), dcons(4), dcons_crom(4), ddb(4), firewire(4), fwohci(4), gdb(4), eui64(5), fwcontrol(8)
Hidetoshi Shimokawa <simokawa@FreeBSD.org>
This utility is currently under development.
February 11, 2003 | midnightbsd-3.1 |