dconschat -- user interface to dcons
dconschat [-brvwRT1] [-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 interacts with dcons(4) using kvm(3) or firewire(4) and interact
with a user over tty or TCP/IP. To access remote dcons(4) using
firewire(4), you have to specify target EUI64 address by -t option.
The dconschat and dcons(4) communicate using 2 port, one for console port
and the other for remote gdb port. Users are supposed to access
dconschat using tty, telnet and gdb. You can specify listen ports for
console and gdb port by -C and -G options respectively. The port number 0
has special meaning that current tty(stdin/out) is used instead of
TCP/IP. A negative port number will disable the port. To quit dconschat,
send a CR + '~' + '.' sequence to the console port or send signal
to the process.
By analogy with pty(4) device, the dcons(4) acts as a slave device and
dconschat acts as a master device with telnetd(8).
-b Translate Ctrl-C to ALT_BREAK(CR + '~' + Ctrl-B) on gdb port.
-r Replay old buffer on connection.
-v Verbose debug output. Multiple '-v' increase verbosity.
-w Listen on wildcard address rather than localhost.
-R Read-only. Don't write anything on dcons buffer.
-T Enable ad hoc workaround for telnet protocol to remove unnecessary
byte sequences. It should be set when you access dconschat
using telnet.
-1 One-Shot. Read available buffer then exit. This implies -r
option.
-h hz Specify polling rate. The default value is 100.
-C console_port
Specify console port. The default value is 0(stdin/stdout).
-G gdb_port
Specify gdb port.. The default value is -1(disabled).
-M core
Specify core file.
-N system
Specify system file such as /boot/kernel/kernel.
-t target_eui64
Specify the 64bit extended unique identifier of the target and
use FireWire to access remote dcons(4).
-a address
Specify the physical/IO address of the dcons buffer. See dcons(4)
for details. If this option is not specified, dconschat 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_num
Specify FireWire bus number. The default is 0.
To use dconschat with FireWire for remote dcons, you have to specify the
eui64 of the target. You can obtain EUI64 by running fwcontorl(4) without
options. The first EUI64 is of the host running fwcontrol and others
on the bus follow.
# fwcontrol
2 devices (info_len=2)
node EUI64 status
1 0x7766554433221100 0
0 0x0011223344556677 1
The EUI64 doesn't change unless you change the hardware as the ethernet
address.
Now we can run the dconschat.
# dconschat -br -G 12345 -t 0x00112233445566677
You'll get console output of the target and login prompt if a getty is
running on dcons. You can break to DDB with ALT_BREAK (CR + '~' + Ctrl-B)
if DDB and ALT_BREAK_TO_DEBUGGER is enabled in the target kernel. To
quit the session, type CR + '~' + '.' in the console port.
Using gdb port is almost the same as remote gdb 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.
% gdb -k kernel.debug
(kgdb) target remote :12345
Once gdb is attached and you specified '-b' option to dconschat, typing
"Ctrl-C" on gdb causes break to debugger.
The following command get console log from crash dump:
# dconschat -1 -M vmcore.0 -N kernel.0
If you want access to the console using telnet, try the following:
# dconschat -rTC 5555 &
# telnet localhost 5555
You may want to keep logging console output of several machines. Conserve-com
in the ports collection should help you. Insert the following
lines in the 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 0x0011223344556677;
}
/dev/fwmem0.0
/dev/mem
/dev/kmem
gdb(1), telnet(1), kvm(3), dcons(4), dcons_crom(4), ddb(4), firewire(4),
fwohci(4), fwcontrol(8)
Hidetoshi Shimokawa <[email protected]>
This utility is still under development.
FreeBSD 5.2.1 February 11, 2003 FreeBSD 5.2.1 [ Back ] |