]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - usr.sbin/dconschat/dconschat.8
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / usr.sbin / dconschat / dconschat.8
1 .\" Copyright (c) 2003 Hidetoshi Shimokawa
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 .\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
17 .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
22 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 .\" POSSIBILITY OF SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .\"
28 .Dd February 11, 2003
29 .Dt DCONSCHAT 8
30 .Os
31 .Sh NAME
32 .Nm dconschat
33 .Nd user interface to
34 .Xr dcons 4
35 .Sh SYNOPSIS
36 .Nm
37 .Op Fl brvwRT1
38 .Op Fl e Ar escape-char
39 .Op Fl h Ar hz
40 .Op Fl C Ar console_port
41 .Op Fl G Ar gdb_port
42 .Op Fl M Ar core
43 .Op Fl N Ar system
44 .Nm
45 .Op Fl brvwR1
46 .Op Fl h Ar hz
47 .Op Fl C Ar console_port
48 .Op Fl G Ar gdb_port
49 .Op Fl a Ar address
50 .Op Fl u Ar bus_num
51 .Fl t Ar target_eui64
52 .Sh DESCRIPTION
53 The
54 .Nm
55 utility is designed to provide a way for users to access
56 .Xr dcons 4
57 (dumb console device) on a local or remote system.
58 The
59 .Nm
60 utility interacts with
61 .Xr dcons 4
62 using
63 .Xr kvm 3
64 or
65 .Xr firewire 4 ,
66 and interacts with the user over TTY or TCP/IP.
67 To access remote
68 .Xr dcons 4
69 using
70 .Xr firewire 4 ,
71 you have to specify target EUI64 address using the
72 .Fl t
73 option. Physical DMA should be enabled on the target machine for access
74 via FireWire.
75 .Pp
76 The
77 .Nm
78 utility and the
79 .Xr dcons 4
80 driver communicate using 2 ports, one for the console port and another
81 for remote
82 .Xr gdb 1
83 port.
84 Users are supposed to access
85 .Nm
86 using TTY,
87 .Xr telnet 1
88 and
89 .Xr gdb 1 .
90 You can specify listen ports for console and
91 .Xr gdb 1
92 port using the
93 .Fl C
94 and
95 .Fl G
96 options respectively.
97 The port number 0 has special meaning that
98 current TTY (stdin/stdout) is used instead of TCP/IP.
99 A negative port number will disable the port.
100 By analogy with
101 .Xr pty 4
102 device, the
103 .Xr dcons 4
104 acts as a slave device and
105 .Nm
106 acts as a master device with
107 .Xr telnetd 8 .
108 .Pp
109 Typed characters are normally transmitted directly to
110 .Xr dcons 4 .
111 A escape character (the default is
112 .Ql ~
113 ) appearing as the first character of a line is an escape signal; the
114 following are recognized:
115 .Bl -tag -width ident
116 .It Ic ~.
117 Drop the connection and exit.
118 .It Ic ~^G
119 Invoke kgdb on the terminal on which dconschat is running.
120 .It Ic ~^R
121 Reset the target over FireWire if a reset address is registered in Configuration ROM.
122 .It Ic ~^Z
123 Suspend the dconschat process.
124 .El
125 .Pp
126 The following options are supported.
127 .Bl -tag -width indent
128 .It Fl b
129 Translate Ctrl-C to ALT_BREAK (CR +
130 .Ql ~
131 + Ctrl-B) on
132 .Xr gdb 1
133 port.
134 .It Fl r
135 Replay old buffer on connection.
136 .It Fl v
137 Verbose debug output.
138 Multiple
139 .Fl v
140 options increase verbosity.
141 .It Fl w
142 Listen on a wildcard address rather than localhost.
143 .It Fl R
144 Read-only.
145 Do not write anything to the
146 .Xr dcons 4
147 buffer.
148 .It Fl T
149 Enable ad-hoc workaround for the TELNET protocol to
150 remove unnecessary byte sequences.
151 It should be set when you access
152 .Nm
153 using
154 .Xr telnet 1 .
155 .It Fl 1
156 One-shot.
157 Read available buffer, then exit.
158 This implies the
159 .Fl r
160 option.
161 .It Fl e Ar escape-char
162 Specify escape character.
163 The default is '~'.
164 .It Fl h Ar hz
165 Specify polling rate.
166 The default value is 100.
167 .It Fl C Ar console_port
168 Specify the console port.
169 The default value is 0 (stdin/stdout).
170 .It Fl G Ar gdb_port
171 Specify
172 .Xr gdb 1
173 port.
174 The default value is \-1 (disabled).
175 .It Fl M Ar core
176 Specify core file.
177 .It Fl N Ar system
178 Specify system file such as
179 .Pa /boot/kernel/kernel .
180 .It Fl t Ar target_eui64
181 Specify the 64-bit extended unique identifier of the target,
182 and use FireWire to access remote
183 .Xr dcons 4 .
184 .It Fl a Ar address
185 Specify the physical I/O address of the
186 .Xr dcons 4
187 buffer.
188 See
189 .Xr dcons 4
190 for details.
191 If this option is not specified,
192 .Nm
193 tries to get the address from the Configuration ROM on the target.
194 You are supposed to enable
195 .Xr dcons_crom 4
196 on the target to omit this option.
197 .It Fl u Ar bus_num
198 Specify FireWire bus number.
199 The default is 0.
200 .El
201 .Sh FILES
202 .Bl -tag -width indent -compact
203 .It Pa /dev/fwmem0.0
204 .It Pa /dev/mem
205 .It Pa /dev/kmem
206 .El
207 .Sh EXAMPLES
208 To use
209 .Nm
210 with FireWire for remote
211 .Xr dcons 4 ,
212 you have to specify the EUI64 of the target.
213 You can obtain EUI64 by running
214 .Xr fwcontrol 8
215 without options.
216 The first EUI64 is of the host running
217 .Xr fwcontrol 8
218 and others on the bus follow.
219 .Bd -literal -offset indent
220 # fwcontrol
221 2 devices (info_len=2)
222 node           EUI64          status
223    1  77-66-55-44-33-22-11-00      0
224    0  00-11-22-33-44-55-66-77      1
225 .Ed
226 .Pp
227 The EUI64 does not change unless you change the hardware
228 as the ethernet address.
229 .Pp
230 Now we can run
231 .Nm .
232 .Bd -literal -offset indent
233 # dconschat -br -G 12345 -t 00-11-22-33-44-55-66-77
234 .Ed
235 .Pp
236 You will get console output of the target and login prompt if a
237 .Xr getty 8
238 is running on
239 .Xr dcons 4 .
240 You can break to DDB with ALT_BREAK (CR +
241 .Ql ~
242 + Ctrl-B)
243 if
244 .Dv DDB
245 and
246 .Dv ALT_BREAK_TO_DEBUGGER
247 are enabled in the target kernel.
248 To quit the session, type CR +
249 .Ql ~
250 +
251 .Ql \&.
252 in the console port.
253 .Pp
254 Using
255 .Xr gdb 1
256 port is almost the same as remote
257 .Xr gdb 1
258 over serial line except
259 using TCP/IP instead of
260 .Pa /dev/cu* .
261 See
262 .Sx "On-line Kernel Debugging Using Remote GDB"
263 section of
264 .%T "The FreeBSD Developers Handbook"
265 and
266 .Xr gdb 4
267 for details.
268 .Bd -literal -offset indent
269 % gdb -k kernel.debug
270 (kgdb) target remote :12345
271 .Ed
272 .Pp
273 Once
274 .Xr gdb 1
275 is attached and you specified the
276 .Fl b
277 option to
278 .Nm ,
279 typing Ctrl-C in
280 .Xr gdb 1
281 causes a break to debugger.
282 .Pp
283 The following command gets the console log from the crash dump:
284 .Bd -literal -offset indent
285 # dconschat -1 -M vmcore.0 -N kernel.0
286 .Ed
287 .Pp
288 If you want access to the console using
289 .Xr telnet 1 ,
290 try the following:
291 .Bd -literal -offset indent
292 # dconschat -rTC 5555 &
293 # telnet localhost 5555
294 .Ed
295 .Pp
296 You may want to keep logging console output of several machines.
297 .Nm conserver-com
298 in the Ports collection may help you.
299 Insert the following lines in
300 .Pa conserver.cf :
301 .Bd -literal -offset indent
302 console local {
303         master localhost;
304         type exec;
305         exec /usr/sbin/dconschat -rh 25;
306 }
307 console remote {
308         master localhost;
309         type exec;
310         exec /usr/sbin/dconschat -rh 25 -t 00-11-22-33-44-55-66-77;
311 }
312 .Ed
313 .Sh SEE ALSO
314 .Xr gdb 1 ,
315 .Xr telnet 1 ,
316 .Xr kvm 3 ,
317 .Xr dcons 4 ,
318 .Xr dcons_crom 4 ,
319 .Xr ddb 4 ,
320 .Xr firewire 4 ,
321 .Xr fwohci 4 ,
322 .Xr gdb 4 ,
323 .Xr eui64 5 ,
324 .Xr fwcontrol 8
325 .Sh AUTHORS
326 .An Hidetoshi Shimokawa Aq simokawa@FreeBSD.org
327 .Sh BUGS
328 This utility is
329 .Ud