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=) 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=) 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?