forked from bstansell/conserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FAQ
186 lines (150 loc) · 9.04 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
Conserver FAQ
=============
This is the Conserver FAQ. Any suggestions/corrections/etc should be
directed to faq@conserver.com. The FAQ answers the following questions:
1) What is conserver?
2) Where can I find the software?
3) How do I deal with these serial ports?
4) How can I tell what compile-time defaults were used?
5) What does "conserver: getservbyname: conserver: No such file or
directory" mean (or something close to that)?
6) What does "console: gethostbyname: console: host lookup error"
mean (or something close to that)?
7) How do I set up a serial port for no parity?
8) Is "Conserver" a Trademark or Registered Trademark?
9) When I connect to a console, it says it is down. Why?
10) Is there a technical reason why --with-maxmemb's default is 16?
I've changed mine to 96.
99) OK, things just don't seem to work. Help?!?
1) What is conserver?
From an email I quickly wrote to a potential user (I'll try and
clean it up and make it a little clearer sometime soon):
Conserver is an application that allows multiple users to watch a
serial console at the same time. It can log the data, allows users
to take write-access of a console (one at a time), and has a
variety of bells and whistles to accentuate that basic
functionality. The idea is that conserver will log all your serial
traffic so you can go back and review why something crashed, look
at changes (if done on the console), or tie the console logs into a
monitoring system (just watch the logfiles it creates). With
multi-user capabilities you can work on equipment with others,
mentor, train, etc. It also does all that client-server stuff so
that, assuming you have a network connection, you can interact with
any of the equipment from home or wherever.
2) Where can I find the software?
The latest version can be found at http://www.conserver.com/
3) How do I wire/hook up serial ports?
David "Zonker" Harris has a wonderful set of pages that talk about
hooking up many types of terminal servers, equipment, etc. It also
provides links to other serial port references. You can find his
pages at http://www.conserver.com/consoles/.
Celeste Stokely also has a wealth of references at
http://www.stokely.com/. Just look around and be amazed at what
you'll find!
4) How can I tell what compile-time defaults were used?
The compile-time defaults can be found by running conserver and
console with the -V flag. Simple as that.
5) What does "conserver: getservbyname: conserver: No such file or
directory" mean (or something close to that)?
When conserver was compiled, it was told to use the /etc/services
entry of "conserver" (what came after getservbyname:). You'll need
to either recompile conserver and hard-code a port number (using
--with-port=<num>) or enter "conserver" in /etc/services.
6) What does "console: gethostbyname: console: host lookup error"
mean (or something close to that)?
When the console command was compiled, it was told to use the
hostname "console" (what came after gethostbyname:) as the master
conserver host. You'll need to either reconfigure with the
appropriate name of your conserver host (--with-master=<name>) or
add an alias of "console". In most cases, adding an alias is my
suggestion.
7) How do I set up a local serial port for no parity?
The manpage has the answer to this question. For those that don't
want to read it, here are some guidelines. For pre-7.2.2, you'd
want to use a 'p' after the baud rate ("9600p", for example). For
7.2.2 thru 7.2.7, you can use an 'n'. For 8.0.0 and beyond, you use
'parity none;'.
8) Is "Conserver" a trademark or registered trademark?
The best answer I can give is "not as far as I know". A couple of
quick searches through the source code doesn't find any claim of a
trademark. I've never done a registered trademark search, but if
it had been registered (by a previous author), I'm sure it would be
mentioned. But I'm no lawyer and don't deal with these types of
things, so I'm not exactly sure what I'm taking about and my answer
becomes a very vague "not as far as I know".
9) When I connect to a console, it says it is down. Why?
There are multiple reasons why this might happen. First, see if it's
just a remnant of some other temporary problem. Try and bring the
console up by doing a '^Eco' from the client. If that doesn't work,
there's a more serious problem which, hopefully, the conserver logfile
will explain. Check the log for any permission problems, connection
refused messages, etc. You might get more useful information in
the log by using the -v option or even by enabling debugging with
-D (ideally that shouldn't be necessary). Depending on the type of
console, your system might be out of pseudo-terminals, another process
might have a terminal server port occupied (another console server or
telnet session), or there was an unseen typo in a path or hostname.
The logfile should show hints of things like this and other issues.
10) Is there a technical reason why --with-maxmemb's default is 16?
I've changed mine to 96.
The following is an array of things you need to think about when
adjusting --with-maxmemb. It's a bit long, but it's an important
question.
The big reason (and the main reason for conserver spawning multiple
processes) is the maximum number of open files a process can have.
Each console can have a few file descriptors associated with it
(device, logfile, connected users, and listening socket). So, each
process will have about ( 2 * consoles + users + 1 ) open files
(--with-maxmemb sets the maximum number of consoles per process
in the equation). Although most current operating systems allow a
large number of open files per process, the general assumption is
it's still pretty low.
You also have the speed of your conserver host vs the rates at which
data could be streaming to it. Go back a decade and this was probably
more of an issue than today, but it's still something to think about.
And then you have the problem of delays. If any of the 96 console
connections "lock up", it'll delay all activity on the 96 consoles.
With 16, there's less of an impact. This can be an issue once the
server is up or during startup. Also, with 16 consoles per process,
you get a bit more parallelization during startup.
So, is there any reason not to up the number to 96? No. Assuming you
know the risks and weigh things appropriately. If I remember right,
I've upped the number to 48 at some sites. But that was mainly to
reduce the memory footprint in older versions of the code which had
statically allocated buffers. No need to worry about that with the
current code. Personally, I wouldn't change from 16 unless there
was a really good reason (like wanting to only have one child process
for firewall rules or some such reason).
99) OK, things just don't seem to work. Help?!?
Yes, this is a pretty vague question, but here are a few tips that
might help.
- Is your low-level serial connection correct? Incorrect cables,
adapters, wiring, etc. could be the issue. Using a signal tracer
or attaching other equipment that's known to work (like a laptop)
might be enlightening. Check out
http://www.conserver.com/consoles/msock.html for basic serial
information (or http://www.conserver.com/consoles/ for even more
info).
- Can you talk to the serial port with different software? Try
using tip or minicom or another application to make sure you can
interact with the port. If you're not seeing the right info
here, there may be a baud rate issue, a lack of a getty (or
equivalent) running on the host or...*shrug*. But, if you've
determined that you already have a valid low-level signal
connection, you shouldn't have to worry about that level of
problem.
- So, you're getting the proper interaction from other
applications, but not conserver? Are the port name and baud rate
correct in the conserver.cf file? When you start conserver
(adding -v doesn't hurt), are there any warnings/errors? Is the
port in the "up" state when you use "console -u"? If not, what
happens when you connect and then do a "^eco" escape sequence to
bring it up? What does the conserver process say when you do
this? These are the types of things I look at first. If that
doesn't help you determine the problem, others will want to see
this info (and possibly the same steps with both the client and
server using the -D option) to be able to help. Posting your
questions to the users mailing list is probably your next step.
- Have you tried a search on the conserver site (it searches
mailing list traffic as well) to see if someone else has gone
through the same problem?