Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DCONSCHAT(8)		  BSD System Manager's Manual		  DCONSCHAT(8)

     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 inter-
     act 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 dcon-
     schat, 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 unneces-
	     sary byte sequences.  It should be	set when you access dconschat
	     using telnet.

     -1	     One-Shot. Read available buffer then exit.	This implies -r	op-

     -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

     -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)	with-
     out 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

     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 Re-
     mote 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. Con-
     serve-com in the ports collection should help you.	Insert the following
     lines in the

	   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;




     gdb(1), telnet(1),	kvm(3),	dcons(4), dcons_crom(4), ddb(4), firewire(4),
     fwohci(4),	fwcontrol(8)

     Hidetoshi Shimokawa <>

     This utility is still under development.

BSD			       February	11, 2003			   BSD


Want to link to this manual page? Use this URL:

home | help