c2766222c3
great job, thanks Sean ! Reviewed by: roberto Submitted by: Sean Kelly <kelly@fsl.noaa.gov>
1305 lines
49 KiB
Plaintext
1305 lines
49 KiB
Plaintext
|
||
FreeBSD
|
||
Frequently Asked Questions
|
||
For Version 2.0
|
||
|
||
Please mail all suggestions and additions to <FAQ@FreeBSD.ORG>
|
||
|
||
|
||
Revision: $Id: FreeBSD.FAQ,v 1.22 1995/03/07 13:54:44 roberto Exp $
|
||
|
||
All entries are assumed to be relevant to FreeBSD 2.0.
|
||
Any entries with a <XXX> are under construction.
|
||
|
||
|
||
Table of Contents
|
||
-----------------
|
||
|
||
0 Preface
|
||
1 Installation
|
||
2 Hardware Compatibility
|
||
3 Commercial applications
|
||
4 User Applications
|
||
5 Miscellaneous Questions
|
||
6 Kernel Configuration
|
||
7 System Administration
|
||
8 Networking
|
||
9 Serial Communications
|
||
|
||
|
||
|
||
0 Preface
|
||
---------
|
||
|
||
Welcome to the FreeBSD 2.0 FAQ! This document tries to answer some of
|
||
the most frequently asked questions about FreeBSD 2.0.
|
||
If there's something you're having trouble with and you do not see it
|
||
here, please send email to:
|
||
|
||
<questions@FreeBSD.ORG>
|
||
|
||
|
||
Some of the instructions here will also refer to auxiliary utilities
|
||
in the /usr/src/share/FAQ directory. CDROM purchasers and net folks
|
||
who've grabbed the FreeBSD 2.0 `srcdist' will have these files. If
|
||
you don't have the source distribution, then you can either grab the
|
||
whole thing from:
|
||
|
||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current
|
||
|
||
Or you can grab only those files you're interested in straight out of
|
||
the FreeBSD-current distribution in:
|
||
|
||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src
|
||
|
||
0.1: What is FreeBSD?
|
||
|
||
FreeBSD 2.0 is a UN*X type operating system based on U.C. Berkeley's
|
||
4.4BSD-lite release for the i386 platform. It is also based indirectly
|
||
on William Jolitz's port of U.C. Berkeley's Net/2 to the i386, 386BSD.
|
||
There have been many additions and bug fixes made throughout
|
||
the entire system, some of the highlights of which are:
|
||
|
||
More robust and extensive PC device support
|
||
System V-style IPC, messaging and semaphores
|
||
Shared Libraries
|
||
Much improved virtual memory code
|
||
Better console driver support
|
||
Network booting (diskless) support
|
||
Yellow Pages support
|
||
Full support of the PCI bus
|
||
Loadable kernel modules
|
||
Too many additional utilities and applications to mention
|
||
|
||
<2.X-Current>
|
||
Serial Console Support
|
||
Merged VM/Buffer Cache
|
||
On demand PPP
|
||
Sync PPP
|
||
Improved SCSI support
|
||
|
||
|
||
0.2: What are the FreeBSD mailing lists, and how can I get on them?
|
||
|
||
The following mailing lists are provided for FreeBSD users and
|
||
developers. For more information, send to
|
||
<majordomo@FreeBSD.ORG> and include a single line saying
|
||
``help'' in the body of your message.
|
||
|
||
announce: For announcements about or on FreeBSD.
|
||
hackers: Useful for persons wishing to work on the internals.
|
||
questions: General questions on FreeBSD.
|
||
bugs: Where bugs should be sent.
|
||
SCSI: Mailing list for SCSI developers.
|
||
current: This list is for persons wishing to run FreeBSD-current
|
||
and carries announcements and discussions on current.
|
||
security: For issues dealing with system security.
|
||
platforms: Deals with ports to non-Intel platforms
|
||
ports: Discussion of /usr/ports/???
|
||
fs: Discussion of FreeBSD Filesystems
|
||
hardware: Discussion on hardware requirements for FreeBSD.
|
||
|
||
The FreeBSD-commit list has been broken up into groups dealing with different
|
||
areas of interest. Please see the FreeBSD mailing list FAQ in:
|
||
|
||
/usr/src/share/FAQ/mailing-list.FAQ
|
||
|
||
|
||
0.3: What are the various FreeBSD news groups?
|
||
|
||
While there are no groups currently dedicated to FreeBSD, you may find
|
||
the following groups useful.
|
||
|
||
comp.os.386bsd.announce: For announcements
|
||
comp.os.386bsd.apps: For applications
|
||
comp.os.386bsd.questions: For questions
|
||
comp.os.386bsd.development: For working on the internals
|
||
comp.os.386bsd.bugs: About bugs
|
||
comp.os.386bsd.misc: For items that don't fit anywhere else
|
||
|
||
NOTE: These groups cover all the *BSDs (FreeBSD, NetBSD, 386BSD).
|
||
|
||
comp.os.bsd: General BSD topics, maybe of intrest
|
||
|
||
NOTE: As of the date of this writing, there is has been a break up of
|
||
newsgroups into groups for each OS. These groups can be found under
|
||
``comp.unix.bsd''.
|
||
|
||
|
||
1 Installation
|
||
--------------
|
||
|
||
1.1: I want to install FreeBSD onto a SCSI disk that has more than
|
||
1024 cylinders. How do I do it?
|
||
|
||
This depends. If you don't have DOS (or another operating system) on
|
||
the system, you can just keep the drive in native mode and simply make
|
||
sure that your root partition is below 1024 so the BIOS can boot the
|
||
kernel from it. It you also have DOS/some other OS on the drive then
|
||
your best bet is to find out what parameters that it thinks you have
|
||
before installing FreeBSD. When FreeBSD's installation procedure
|
||
prompts you for these values, you should then enter them rather than
|
||
simply going with the defaults.
|
||
|
||
There is a freely available utility distributed with FreeBSD called
|
||
`pfdisk' (located in the tools/dos-tools subdirectory) which can be used for
|
||
this purpose.
|
||
|
||
|
||
1.2: When I boot FreeBSD it says ``Missing Operating System''.
|
||
|
||
See question 1.2. This is classically a case of FreeBSD and DOS or
|
||
some other OS conflicting over their ideas of disk geometry. You will
|
||
have to reinstall FreeBSD, but obeying the instructions given above
|
||
will almost always get you going.
|
||
|
||
1.3: When I install the boot manager and try to boot FreeBSD for the
|
||
first time, it just comes back with the boot manager prompt again.
|
||
|
||
This is another symptom of the problem described in 1.2. Your
|
||
BIOS geometry and FreeBSD geometry settings do not agree! If your
|
||
controller or BIOS supports cylinder translation (often marked
|
||
as ">1GB drive support"), try toggling its setting and reinstalling
|
||
FreeBSD.
|
||
|
||
1.4: I have an IDE drive with lots of bad blocks on it and FreeBSD doesn't
|
||
seem to install properly.
|
||
|
||
FreeBSD's bad block (bad144) handling is still not 100% (to put it
|
||
charitably) and it must unfortunately be said that if you've got an
|
||
IDE or ESDI drive with lots of bad blocks, then FreeBSD is probably
|
||
not for you! That said, it does work on thousands of IDE based
|
||
systems, so you'd do well to try it first before simply giving up.
|
||
|
||
IDE drives are *supposed* to come with built-in bad-block remapping;
|
||
if you have documentation for your drive, you may want to see if this
|
||
feature has been disabled on your drive. However, ESDI, RLL, and
|
||
ST-506 drives normally do not do this.
|
||
|
||
1.5: I have 32MB of memory, should I expect any special problems?
|
||
|
||
No. FreeBSD 2.0 comes with bounce buffers which allows your bus
|
||
mastering controller access to greater than 16MB.
|
||
|
||
1.6: Do I need to install the complete sources?
|
||
|
||
In general, no. However, we would strongly recommend that you
|
||
install, at a minimum, the `base' source kit, which includes several
|
||
of the files mentioned here, and the `sys' (kernel) source kit, which
|
||
includes sources for the kernel. There is nothing in the system which
|
||
requires the presence of the sources to operate, however, except for
|
||
the kernel-configuration program config(8). With the exception of the
|
||
kernel sources, our build structure is set up so that you can
|
||
read-only mount the sources from elsewhere via NFS and still be able
|
||
to make new binaries. (Because of the kernel-source restriction, we
|
||
recommend that you not mount this on /usr/src directly, but rather in
|
||
some other location with appropriate symbolic links to duplicate the
|
||
top-level structure of the source tree.)
|
||
|
||
Having the sources on-line and knowing how to build a system with them
|
||
will make it much easier for you to upgrade to future releases of
|
||
FreeBSD.
|
||
|
||
1.7: DES encryption software can not be exported from the United
|
||
States. If I live outside the US, how can I encrypt passwords?
|
||
|
||
If it is not absolutely imperative that you use DES style encryption,
|
||
you can use FreeBSD's default encryption for even _better_ security,
|
||
and with no export restrictions. FreeBSD 2.0's password default
|
||
scrambler is now MD5 based, and is more CPU-intensive to crack
|
||
with an automated password cracker than DES.
|
||
|
||
Since the DES encryption algorithm cannot legally be exported from the US,
|
||
non-US users should not download this software (as part of the secrdist)
|
||
from US FTP sites.
|
||
|
||
There is however a replacement libcrypt available, based on sources
|
||
written in Australia by David Burren. This code is now available on
|
||
some non-US FreeBSD mirror sites. Sources for the unencumbered
|
||
libcrypt, and binaries of the programs which use it, can be obtained
|
||
from the following FTP sites:
|
||
|
||
South Africa: braae.ru.ac.za:/pub/FreeBSD/securedist/
|
||
owl.und.ac.za (currently uncertain)
|
||
Iceland: ftp.veda.is:/pub/crypt/FreeBSD/
|
||
|
||
The non-US securedist can be used as a direct replacement for the
|
||
encumbered US securedist. This securedist package is installed the
|
||
same way as the US package (see installation notes for details). If
|
||
you are going to install DES encryption, you should do so as soon as
|
||
possible, before installing other software.
|
||
|
||
Non-US users should please not download any encryption software from
|
||
the USA. This can get the maintainers of the sites from which the
|
||
software is downloaded into severe legal difficulties.
|
||
|
||
A non-US distribution of Kerberos is also being developed, and current
|
||
versions can generally be obtained by anonymous FTP from
|
||
braae.ru.ac.za.
|
||
|
||
There is a mailing list for the discussion of non-US encryption
|
||
software. For more information, send an email message with a single
|
||
line saying ``help'' in the body of your message to
|
||
<majordomo@braae.ru.ac.za>.
|
||
|
||
|
||
|
||
2 Hardware compatibility
|
||
------------------------
|
||
|
||
2.1: What kind of hard drives does FreeBSD run on?
|
||
|
||
FreeBSD supports ST-506 (sometimes called ``MFM''), RLL, and ESDI
|
||
drives, which are usually connected to WD-1002, WD-1003, or WD-1006
|
||
controllers (although clones should also work).
|
||
|
||
FreeBSD also supports IDE and SCSI hard drives.
|
||
|
||
2.2: What SCSI controllers are supported?
|
||
|
||
FreeBSD supports the following SCSI controllers:
|
||
|
||
Adaptec AH-154x Series <ISA>
|
||
AH-174x Series <EISA>
|
||
AH-152x Series <ISA>
|
||
Sound Blaster SCSI (AH-152x compat) <ISA>
|
||
AH-2742/2842 Series <ISA/EISA>
|
||
AH-2820/2822/2825 Series <VLB>
|
||
Buslogic BT-445 Series <VLB> (but see section 1.5)
|
||
BT-545 Series <ISA>
|
||
BT-742 Series <EISA>
|
||
BT-747 Series <EISA>
|
||
BT-964 Series <PCI>
|
||
Future Domain TMC-950 Series <ISA>
|
||
PCI Generic NCR 53C810 based controllers <PCI>
|
||
ProAudioSpectrum Zilog 5380 based controllers <ISA>
|
||
Seagate ST-01/02 Series <ISA>
|
||
UltraStor UH-14f Series <ISA>
|
||
UH-34f Series <EISA/VLB>
|
||
|
||
<2.X-Current Only>
|
||
Western Digital WD7000 <ISA> <No scatter/gather>
|
||
Adaptec AH-294x and aic7870 MB controllers <PCI>
|
||
ProAudioSpectrum Trantor 130 based controllers <ISA>
|
||
|
||
2.3: What CD-ROM drives are supported by FreeBSD?
|
||
|
||
Any SCSI drive connected to a supported controller.
|
||
Mitsumi LU002(8bit), LU005(16bit) and FX001D(16bit 2x Speed).
|
||
|
||
<2.X-Current>
|
||
Sound Blaster Non-SCSI CD-ROM
|
||
|
||
FreeBSD does not support any of the ``IDE'' CD-ROM interfaces.
|
||
All non-SCSI cards are known to be extremely slow compared to SCSI
|
||
drives.
|
||
|
||
2.4: What multi-port serial cards are supported by FreeBSD?
|
||
|
||
AST/4
|
||
BOCA 4/8/16 port cards.
|
||
|
||
<2.X-Current>
|
||
Cyclades 8/16 port <Alpha>
|
||
|
||
Some unnamed clone cards have also been known to work,, especially those
|
||
that claim to be AST compatible.
|
||
Check the sio(4) man page to get more information on configuring such
|
||
cards.
|
||
|
||
|
||
2.5: Does FreeBSD support the AHA-2742/2842 SCSI adapters from Adaptec?
|
||
|
||
Yes, though portions of the sources are currently GPL'd (that is to say,
|
||
distributed under the GNU Public License), so be aware of the fact should
|
||
you wish to distribute kernel binaries compiled with it - you MUST also
|
||
provide the sources to the driver with the kernel image to stay legal
|
||
with the GPL! This is easily enough done by simply including the contents
|
||
of /usr/src/sys/gnu/{aic7770,misc} on whatever media you distribute the
|
||
kernel.
|
||
|
||
We are working to get the GPL restriction removed, but for now you should
|
||
at least be aware of it.
|
||
|
||
|
||
2.6: I have a Mumbleco bus mouse. Is it supported and if so, how do I set
|
||
it up for XFree86?
|
||
|
||
FreeBSD supports the Logitech and ATI Inport bus mice. You need to
|
||
add the following line to the kernel config file and recompile for the
|
||
Logitech and ATI mice:
|
||
|
||
device mse0 at isa? port 0x23c tty irq6 vector mseintr
|
||
|
||
|
||
2.7: I have a PS/2 mouse (`keyboard' mouse) [Alternatively: I have a
|
||
laptop with a track-ball mouse]. How do I use it?
|
||
|
||
|
||
|
||
2.8: What types of tape drives are supported under FreeBSD?
|
||
|
||
FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape
|
||
drives. This includes 8-mm (aka Exabyte) and DAT drives.
|
||
|
||
|
||
2.9: What sound cards are supported by FreeBSD?
|
||
|
||
FreeBSD supports the SoundBlaster, SoundBlaster Pro, Pro Audio
|
||
Spectrum 16, AdLib and Gravis UltraSound sound cards. There is also
|
||
limited support for MPU-401 and compatible MIDI cards. The
|
||
SoundBlaster 16 and SoundBlaster 16 ASP cards are not yet supported.
|
||
NOTE: This is only for sound! This driver does not support CD-ROMs,
|
||
SCSI or joysticks on these cards.
|
||
|
||
|
||
2.10: What network cards does FreeBSD support?
|
||
|
||
There is support for the following cards:
|
||
|
||
`ed' driver:
|
||
NE2000 and 1000
|
||
WD/SMC 8003, 8013 and Elite Ultra (8216)
|
||
3Com 3c503
|
||
And clones of the above
|
||
|
||
`de' driver:
|
||
DEC and compatible PCI controllers.
|
||
|
||
`le' driver:
|
||
DEC LANCE ethernet based controllers.
|
||
|
||
`ie' driver:
|
||
AT&T EN100/StarLAN 10
|
||
3Com 3c507
|
||
|
||
`is' driver:
|
||
Isolan AT 4141-0
|
||
Isolink 4110
|
||
|
||
`ep' driver:
|
||
3com 3c509 (*)
|
||
|
||
`el' driver:
|
||
3com 3c501 (*)
|
||
|
||
`ze' driver:
|
||
IBM PCMCIA credit card adapter
|
||
|
||
`lnc' driver:
|
||
Unknown Lance based (*)
|
||
|
||
<2.X-Current>
|
||
|
||
`cx' driver
|
||
Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)
|
||
|
||
`zp' driver
|
||
3Com PCMCIA Etherlink III
|
||
|
||
Note: Drivers marked with (*) are known to have problems.
|
||
|
||
Note: We also support TCP/IP over parallel lines. At this point we are
|
||
incompatiable with other versions, but we hope to correct this in
|
||
the near future.
|
||
|
||
2.11: I have a 386/486sx/486SLC machine without a math co-processor.
|
||
Will this cause me any problems?
|
||
|
||
Generally no, but there are circumstances where you will take a hit,
|
||
either in performance or accuracy of the math emulation code (see
|
||
section 4.1). In particular, drawing arcs in X will be VERY slow. It
|
||
is highly recommended that you lay out the $50 or so for a math
|
||
co-processor; it's well worth it. NOTE: Some math co-processors are
|
||
better than others. It pains us to say it, but nobody ever got fired
|
||
for buying Intel. Unless you're sure it works with FreeBSD, beware of
|
||
clones.
|
||
|
||
2.12: What other devices does 2.X support?
|
||
|
||
Here is a listing of drivers that do not fit into any of the above areas.
|
||
|
||
b004.c Driver for B004 compatiable Transputer boards
|
||
ctx.c Driver for CORTEX-I Frame grabber
|
||
gpib.c Driver for National Instruments AT-GPIB and AT-GPIB/TNT boards
|
||
pcaudio.c Driver for PC speakers to allow the playing of audio files
|
||
tw.c Driver for the X-10 POWERHOUSE
|
||
|
||
<2.X-Current>
|
||
spigot.c Driver for the Creative Labs Video Spigot
|
||
gsc.c Driver for the Genuis GS-4500 Hand scanner
|
||
joy.c Driver for a joystick
|
||
|
||
2.13: I am about to buy a new machine to run FreeBSD on and
|
||
want an idea of what other people are running. Is there list
|
||
of other systems anywhere?
|
||
|
||
Yes. Please look at the file Systems.FAQ. This file
|
||
is a listing of hardware that people are running in their machines.
|
||
Please note, this is a raw listing of equipment that other users
|
||
have sent in, and does not constitute any kind of endorsement by the
|
||
FreeBSD Project.
|
||
|
||
2.14: I have a lap-top with power management. Can FreeBSD take advantage
|
||
of this?
|
||
|
||
Yes it can on certain machines. Please look in the LINT kernel config
|
||
file under APM.
|
||
|
||
|
||
|
||
3 Commercial Applications
|
||
-------------------------
|
||
|
||
Note: This section is still very sparse, though we're hoping, of
|
||
course, that companies will add to it! :) The FreeBSD group has no
|
||
financial interest in any of the companies listed here but simply
|
||
lists them as a public service (and feels that commercial interest in
|
||
FreeBSD can have very positive effects on FreeBSD's long-term
|
||
viability). We encourage commercial software vendors to send their
|
||
entries here for inclusion.
|
||
|
||
|
||
3.1: Where can I get Motif for FreeBSD?
|
||
|
||
You can purchase Motif 1.2.3 for FreeBSD (SWiM) from the ACC Bookstore,
|
||
P.O. Box 3364, Westport CT. 06880. 1-800-546-7274 or FAX: 1-203-454-2582
|
||
|
||
This software works flawlessly for for FreeBSD 1.1.5 but has shown
|
||
one problem with 2.0 in that the "uil" program core dumps. This is
|
||
apparently because of the way uil is installed, and it's quite possible
|
||
that ACC will have a fixed version by the time you read this. No
|
||
other compatibility problems with the programs or libraries have been
|
||
found, and ACC can hardly be blamed for failing to work perfectly with
|
||
a brand-new release they haven't even seen yet! :)
|
||
|
||
|
||
3.2: Are there any commercial X servers for some of the high-end
|
||
graphics cards like the Matrox or #9 I-128, or offering 8/16/24
|
||
bit deep pallettes?
|
||
|
||
Yes, X Inside Incorporated sells their Accelerated-X product for
|
||
FreeBSD and other Intel based systems.
|
||
|
||
This high performance X Server offers easy configuration, support
|
||
for multiple concurrent video boards and is distributed in binary
|
||
form only.
|
||
|
||
Price is $99.50 (promotional price for Linux/FreeBSD version) for
|
||
the 1.1 version, which is available now.
|
||
|
||
This product is for FreeBSD 1.1 and runs under 2.0 with the FreeBSD 1.1
|
||
compatibility libs (`compat1xdist').
|
||
|
||
More info: URL http://www.xinside.com/
|
||
or URL ftp://ftp.xinside.com/accelx/1.1/prodinfo.txt
|
||
or email info@xinside.com
|
||
or phone +1(303)384-9999
|
||
|
||
|
||
3.3: Any other applications I might be interested in?
|
||
|
||
RenderMorphics, Ltd. sells a high-speed 3D rendering package for
|
||
FreeBSD called "Reality Lab" (tm). Send email to info@render.com
|
||
or call: +44(0)71-251-4411 / FAX: +44(0)71-251-0939
|
||
|
||
This package is also for FreeBSD 1.1.5 but has been tested and shown
|
||
to run under FreeBSD 2.0 with the compat1xdist installed.
|
||
|
||
Thanks must be extended to all of these companies for showing enough faith
|
||
in FreeBSD to port their products to it. While we get no direct benefit
|
||
from the sales of these products, the indirect benefits of FreeBSD
|
||
proving itself to be a successful platform for such commercial interests
|
||
will be immense! We wish these companies every measure of success, and
|
||
can only hope that others are encouraged to follow suit.
|
||
|
||
|
||
4 User Applications
|
||
-------------------
|
||
|
||
4.1: I want to run X, how do I go about it?
|
||
|
||
First, get the XFree86 distribution of X11R6 from XFree86.cdrom.com.
|
||
The version you want for FreeBSD 2.X and later is XFree86 3.1.1. Follow
|
||
the instructions for installation carefully. You may then wish to read
|
||
the documentation for the ConfigXF86 tool, which assists you in
|
||
configuring XFree86 for your particular graphics card/mouse/etc.
|
||
|
||
You may also wish to investigate the Xaccel server, which is available
|
||
at a very reasonable price. See section 3.2 for more details.
|
||
|
||
4.2: I've been trying to run ghostscript on a 386 (or 486sx) with no
|
||
math co-processor and I keep getting errors. What's up?
|
||
|
||
You will need to add the alternate math emulator to your kernel, you do this
|
||
by adding the following to your kernel config file and it will be compiled in.
|
||
|
||
options GPL_MATH_EMULATE
|
||
|
||
NOTE: You will need to remove the MATH_EMULATE option when you do this.
|
||
|
||
|
||
4.2: I want all this neat software, but I haven't got the space or
|
||
CPU power to compile it all myself. Is there any way of getting
|
||
binaries?
|
||
|
||
Yes. We support the concept of a `package', which is essentially a
|
||
gzipped binary distribution with a little extra intelligence embedded
|
||
in it for doing any custom installation work required. Packages can
|
||
also be installed or deinstalled again easily without having to know
|
||
the gory details. CDROM people will have a packages/ directory on
|
||
their CD, others can get the currently available packages from:
|
||
|
||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages
|
||
|
||
Note that all ports may not be available as packages, and that new
|
||
packages are constantly being added. It is always a good idea to
|
||
check periodically to see which packages are available. A README file
|
||
in the packages directory provides more details on the care and
|
||
feeding of the package software, so no explicit details will be given
|
||
here.
|
||
|
||
|
||
|
||
|
||
5 Miscellaneous Questions
|
||
----------------
|
||
|
||
5.1: I've heard of something called FreeBSD-current. How do I run it, and
|
||
where can I get more information?
|
||
|
||
Read the file /usr/src/share/FAQ/current-policy.FAQ,
|
||
it will tell you all you need to know.
|
||
|
||
|
||
5.2: What is this thing called `sup', and how do I use it?
|
||
|
||
SUP stands for Software Update Protocol, and was developed by CMU for
|
||
keeping their development trees in sync. We use it to keep remote
|
||
sites in sync with our central development sources.
|
||
|
||
Unless you have direct internet connectivity, and don't care too much
|
||
about the cost/duration of the sessions, you shouldn't use sup. For
|
||
those "low/expensive-bandwidth" applications, we have developed CTM,
|
||
see 5.6 for more about that.
|
||
|
||
To use it, you need to have direct internet connectivity (not just
|
||
mail or news). First, pick up the sup.tgz package from:
|
||
|
||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz
|
||
|
||
Second, read the file /usr/src/share/FAQ/sup.FAQ.
|
||
|
||
This file describes how to setup sup on your machine. You may also
|
||
want to look at /usr/src/share/FAQ/extras/*.supfile, or you may grab updated
|
||
supfiles from:
|
||
|
||
ftp://ftp.FreeBSD.ORG//pub/FreeBSD/FAQ/extras
|
||
|
||
which are a set of supfiles for supping from FreeBSD.ORG.
|
||
|
||
|
||
5.3: How do I create customized installation disks that I can give
|
||
out to other people at my site?
|
||
|
||
The entire process of creating installation disks and source and
|
||
binary archives is automated by various targets in
|
||
/usr/src/etc/Makefile. The information there should be enough to get
|
||
you started.
|
||
|
||
5.4: How do I re-build my system without clobbering the existing
|
||
installed binaries?
|
||
|
||
If you define the environment variable DESTDIR while running `make
|
||
world' or `make install', the newly-created binaries will be deposited
|
||
in a directory tree identical to the installed one, rooted at
|
||
${DESTDIR}. Some random combination of shared libraries modifications
|
||
and program rebuilds can cause this to fail in `make world', however.
|
||
|
||
|
||
5.5: When my system booted, it told me that ``(bus speed defaulted)''.
|
||
What does that mean?
|
||
|
||
The Adaptec 1542 SCSI host adapters allow the user to configure their
|
||
bus access speed in software. Previous versions of the 1542 driver tried
|
||
to determine the fastest usable speed and set the adapter to that. We
|
||
found that this breaks some users' systems, so you now have to define
|
||
the ``TUNE_1542''' kernel configuration option in order to have this
|
||
take place. Using it on those systems where it works may make your
|
||
disks run faster, but on those systems where it doesn't, your data could
|
||
be corrupted.
|
||
|
||
5.6: I would like to track changes to current and do not have net access.
|
||
Is there any way besides downloading the whole tree?
|
||
|
||
Yes, you can use the CTM facility. Check out the ctm.FAQ file or
|
||
ftp://freefall.cdrom.com/pub/CTM/README
|
||
for more information.
|
||
|
||
5.7: How do I split up large binary files into smaller 240k files
|
||
like the distribution does?
|
||
|
||
Newer BSD based systems have a "-b" option to split that allows them to
|
||
split files on arbitary byte bondaries.
|
||
|
||
Here is an example from /usr/src/Makefile.
|
||
bin-tarball:
|
||
(cd ${DISTDIR}; \
|
||
tar cf - . \
|
||
gzip --no-name -9 -c | \
|
||
split -b 240640 - \
|
||
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
|
||
|
||
|
||
<XXX> 5.8: I've had a couple of system panics and would like to be able
|
||
browse the system dumps. The normal kernel is stripped and
|
||
I don't want to run a bloated kernel. What can I do?
|
||
|
||
5.9: I just got a Perl application and it's bombing looking for
|
||
*.ph. Where is it?
|
||
|
||
There was a minor SNAFU in the 2.0-R bindist and they got left out.
|
||
If you have the source, you just have to do a "make install" from
|
||
/usr/src/gnu/usr.bin/perl/lib and everything will be fine. Or you
|
||
may ftp to phoenix-gw.gbdata.com and grab them from ~/pub/perl/libs.tar.gz.
|
||
|
||
5.10: I've got this neato kernel extension I just know everyone will
|
||
will want. How do I get it included into the distribution?
|
||
|
||
Please take a look at the FAQ for submiting code to FreeBSD at:
|
||
|
||
ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/submitters.FAQ
|
||
|
||
And thanks for the thought.
|
||
|
||
|
||
6 Kernel Configuration
|
||
----------------------
|
||
|
||
6.0: Ok, so how DO I compile my own kernel, anyway?
|
||
|
||
Before you can compile a kernel, you need either the complete srcdist
|
||
or, at the minimum, the kerndist loaded on your system. This provides
|
||
the necessary sources for building the kernel, as we have a policy of
|
||
NOT shipping our kernels in linkable object form as most commercial
|
||
UNIX vendors do. Shipping the source takes a bit more space, but it also
|
||
means that you can refer to the actual kernel sources in case of difficulty
|
||
or to further your understanding of what's *actually* happening.
|
||
|
||
Anyway, to answer the question, once you have the kerndist or srcdist
|
||
loaded, do this:
|
||
|
||
6.0.1: cd /usr/src/sys/i386/conf
|
||
6.0.2: cp GENERIC MYKERNEL
|
||
6.0.3: vi MYKERNEL
|
||
6.0.4: config MYKERNEL
|
||
6.0.5: cd ../../compile/MYKERNEL
|
||
6.0.6: make all
|
||
6.0.7: make install
|
||
6.0.8: reboot
|
||
|
||
Step 6.0.2 may not be necessary if you already have a kernel configuration
|
||
file from a previous release of FreeBSD 2.x. - simply bring your old one
|
||
over and check it carefully for any drivers that may have changed boot
|
||
syntax or been rendered obsolete.
|
||
|
||
A good kernel config file to look into is LINT, which contains entries for
|
||
*all* possible kernel options and documents them fairly well. The GENERIC
|
||
kernel config file is used to build the initial release you probably loaded
|
||
(unless you upgraded in-place) and contains entries for the most common
|
||
configurations. It's a pretty good place to start from.
|
||
|
||
If you don't need to make any changes to GENERIC, you can also skip step
|
||
6.0.3, where you customize the kernel for your configuration. Step 6.0.7
|
||
should only be undertaken if step 6.0.6 succeeds. This will copy
|
||
the new kernel image to /kernel and BACK UP YOUR OLD ONE IN /kernel.old!
|
||
It's very important to remember this in case the new kernel fails to work
|
||
for some reason - you can still select /kernel.old at the boot prompt to
|
||
boot the old one. When you reboot, the new kernel will boot by default.
|
||
|
||
If the compile in 6.0.6 falls over for some reason, then it's recommended
|
||
that you start from step 6.0.4 but substitute GENERIC for MYKERNEL. If you
|
||
can generate a GENERIC kernel, then it's likely something in your special
|
||
configuration file that's bad (or you've uncovered a bug!). If the build
|
||
of the GENERIC kernel does NOT succeed, then it's very likely that your
|
||
sources are somehow corrupted.
|
||
|
||
Finally, if you need to see your original boot messages again to compile
|
||
a new kernel that's better tailored to your hardware, try the `dmesg' command.
|
||
It should print out all the boot-time messages printed by your old kernel,
|
||
some of which may be quite helpful in configuring the new one.
|
||
|
||
|
||
6.1: When I compile a kernel with multi-port serial code, it tells me
|
||
that only the first port is probed and the rest skipped due to
|
||
interrupt conflicts. How do I fix this?
|
||
|
||
The problem here is that FreeBSD has code built-in to keep the kernel
|
||
from getting trashed due to hardware or software conflicts. The way
|
||
to fix this is to leave out the IRQ settings on other ports besides
|
||
the first. Here is a example:
|
||
|
||
#
|
||
# Multiport high-speed serial line - 16550 UARTS
|
||
#
|
||
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
|
||
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
|
||
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
|
||
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
|
||
|
||
|
||
6.2: FreeBSD is supposed to come with support for QIC-40/80 drives but
|
||
when I look, I can't find it.
|
||
|
||
You need to uncomment the following line in the generic config file
|
||
(or add it to your config file) and recompile.
|
||
|
||
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
|
||
disk fd0 at fdc0 drive 0
|
||
disk fd1 at fdc0 drive 1
|
||
#tape ft0 at fdc0 drive 2
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
You will have a device called /dev/ft0, which you can write to through
|
||
a special program to manage it called `ft' - see the man page on ft for
|
||
further details. Versions previous to -current also had some trouble dealing
|
||
wiht bad tape media; if you have trouble where ft seems to go back and forth
|
||
over the same spot, try grabbing the latest version of ft from /usr/src/sbin/ft
|
||
in current and try that.
|
||
|
||
|
||
6.3: Does FreeBSD support IPC primitives like those in System V?
|
||
|
||
Yes, FreeBSD supports System V-style IPC. This includes shared
|
||
memory, messages and semaphores. You need to add the following lines
|
||
to your kernel config to enable them.
|
||
|
||
options SYSVSHM
|
||
options "SHMMAXPGS=64" # 256Kb of sharable memory
|
||
options SYSVSEM # enable for semaphores
|
||
options SYSVMSG # enable for messaging
|
||
|
||
Recompile and install.
|
||
|
||
|
||
6.4: Will FreeBSD ever support other architectures?
|
||
|
||
Several different groups have expressed interest in working on
|
||
multi-architecture support for FreeBSD. If you are interested in
|
||
doing so, please contact the developers at
|
||
<FreeBSD-hackers@FreeBSD.ORG> for more information on our
|
||
strategy for porting.
|
||
|
||
|
||
6.5: I just wrote a device driver for a Foobar Systems, Inc.
|
||
Integrated Adaptive Gronkulator card. How do I get the
|
||
appropriate major numbers assigned?
|
||
|
||
This depends on whether or not you plan on making the driver publicly
|
||
available. If you do, then please send us a copy of the driver source
|
||
code, plus the appropriate modifications to files.i386, a sample
|
||
configuration file entry, and the appropriate MAKEDEV code to create
|
||
any special files your device uses. If you do not, or are unable to
|
||
because of licensing restrictions, then character major number 32 and
|
||
block major number 8 have been reserved specifically for this purpose;
|
||
please use them. In any case, we'd appreciate hearing about your
|
||
driver on <FreeBSD-hackers@FreeBSD.ORG>.
|
||
|
||
|
||
|
||
7 System Administration
|
||
-----------------------
|
||
|
||
7.1: How do I add a user easily? I read the man page and am more confused
|
||
than ever! [Alternatively: I didn't read the man page, I never read
|
||
man pages! :-) ]
|
||
|
||
Use the adduser command.
|
||
|
||
|
||
<XXX> 7.2: I'm trying to use my printer and keep running into problems. I tried
|
||
looking at /etc/printcap, but it's close to useless. Any ideas?
|
||
|
||
|
||
|
||
8 Networking
|
||
------------
|
||
|
||
|
||
8.2: I've heard that you can use a FreeBSD box as a dedicated network
|
||
router - is there any easy support for this?
|
||
|
||
Internet standards and good engineering practice prohibit us from
|
||
providing packet forwarding by default in FreeBSD. You can enable
|
||
this support by adding `options GATEWAY' to your kernel configuration
|
||
file and recompiling. In most cases, you will also need to run a
|
||
routing process to tell other systems on your network about your
|
||
router; FreeBSD comes with the standard BSD routing daemon routed(8),
|
||
or for more complex situations you may want to try GateD (available by
|
||
FTP from gated.Cornell.edu) which supports FreeBSD as of 3_5Alpha7.
|
||
|
||
It is our duty to warn you that, even when FreeBSD is configured in
|
||
this way, it does not completely comply with the Internet standard
|
||
requirements for routers; however, it comes close enough for ordinary
|
||
usage.
|
||
|
||
|
||
8.3: Does FreeBSD support SLIP and PPP?
|
||
|
||
Yes. See the man pages for slattach(8) and/or pppd(8) if you're using
|
||
FreeBSD to connect to another site. If you're using FreeBSD as a
|
||
server for other machines, look at the man page for sliplogin(8).
|
||
You may also want to take a look at the slip FAQ in:
|
||
/usr/src/share/FAQ/Slip.FAQ
|
||
|
||
8.4: How do I get my network set up? I don't see how to make my
|
||
/dev/ed0 device!
|
||
|
||
In the Berkeley networking framework, network interfaces are only
|
||
directly accessible by kernel code. Please see the /etc/netstart file
|
||
and the manual pages for the various network programs mentioned there
|
||
for more information. If this leaves you totally confused, then you
|
||
should pick up a book describing network administration on another
|
||
BSD-related operating system; with few significant exceptions,
|
||
administering networking on FreeBSD is basically the same as on SunOS
|
||
4.0 or Ultrix.
|
||
|
||
8.5: How do I get my 3C503 to use the other network port?
|
||
|
||
Use `ifconfig ed0' to see whether the ALTPHYS flag is set, and then
|
||
use either `ifconfig ed0 altphys' if it was off, or `ifconfig ed0
|
||
-altphys' if it was on.
|
||
|
||
8.6: I'm having problems with NFS to/from FreeBSD and my Wuffotronics
|
||
Workstation / generic NFS appliance, where should I look first?
|
||
|
||
Certain PC network cards are better than others (to put it mildly) and
|
||
can sometimes cause problems with network intensive applications like
|
||
NFS. See /usr/src/share/FAQ/NFS.FAQ for more information on this
|
||
topic.
|
||
|
||
8.8: I want to enable IP multicast support on my FreeBSD box, how do I do it?
|
||
[Alternatively: What the heck IS multicasting and what applications
|
||
make use of it?]
|
||
|
||
Multicast host operations are fully supported in FreeBSD 2.0 by default.
|
||
If you want your box to run as a multicast router, you will need to load
|
||
the ip_mroute_mod loadable kernel module and run mrouted.
|
||
|
||
For more information:
|
||
|
||
Product Description Where
|
||
--------------- ----------------------- ---------------------------------------
|
||
faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt
|
||
imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z
|
||
for jpg/gif images.
|
||
nv Network Video. ftp.parc.xerox.com:
|
||
/pub/net-reseach/exp/nv3.3alpha.tar.Z
|
||
vat LBL Visual Audio Tool. ftp.ee.lbl.gov:
|
||
/conferencing/vat/i386-vat.tar.Z
|
||
wb LBL White Board. ftp.ee.lbl.gov:
|
||
/conferencing/wb/i386-wb.tar.Z
|
||
mmcc MultiMedia Conference ftp.isi.edu:
|
||
Control program /confctrl/mmcc/mmcc-intel.tar.Z
|
||
rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c
|
||
quality of RTP packets.
|
||
vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
|
||
and nv.
|
||
|
||
|
||
|
||
9 Serial Communications
|
||
-----------------------
|
||
|
||
This section answers common questions about serial communications with
|
||
FreeBSD.
|
||
|
||
9.1: How do I tell if FreeBSD found my serial ports or modem cards?
|
||
|
||
As the FreeBSD kernel boots, it will probe for the serial ports in
|
||
your system for which the kernel was configured. You can either watch
|
||
your system closely for the messages it prints or run the command
|
||
|
||
dmesg | grep sio
|
||
|
||
after your system's up and running.
|
||
|
||
Here's some example output from the above command:
|
||
|
||
sio0 at 0x3f8-0x3ff irq 4 on isa
|
||
sio0: type 16550A
|
||
sio1 at 0x2f8-0x2ff irq 3 on isa
|
||
sio1: type 16550A
|
||
|
||
This shows two serial ports. The first is on irq 4, is using port
|
||
address 0x3f8, and has a 16550A-type UART chip. The second uses the
|
||
same kind of chip but is on irq 3 and is at port address 0x2f8.
|
||
Internal modem cards are treated just like serial ports---except that
|
||
they always have a modem ``attached'' to the port.
|
||
|
||
The GENERIC kernel includes support for two serial ports using the
|
||
same irq and port address settings in the above example. If these
|
||
settings aren't right for your system, or if you've added modem cards
|
||
or have more serial ports than your kernel is configured for, just
|
||
reconfigure your kernel. See section 7 of the FAQ for more details.
|
||
|
||
9.2: How do I access the serial ports once FreeBSD is running?
|
||
|
||
The third serial port, sio2 (known as COM3 in DOS), is on /dev/tty02
|
||
for directly-connected devices, on /dev/cuaa2 for dial-out devices,
|
||
and on /dev/ttyd2 for dial-in devices. What's the difference between
|
||
these three classes of devices?
|
||
|
||
You use ttyXX for directly-connected or hardwired devices, like
|
||
printers or terminals.
|
||
|
||
In place of ttyXX, you can use the pair of devices cuaaX and ttydX.
|
||
You use ttydX for dial-ins. The ttydX device acts like the ttyXX
|
||
device, but it also uses the modem control lines. When opening
|
||
/dev/ttydX in blocking mode, a process will wait for the corresponding
|
||
cuaaX device to become inactive, and then wait for the carrier detect
|
||
line to go active. When you open the cuaaX device, it makes sure the
|
||
serial port isn't already in use by the ttydX device. If the port's
|
||
available, it ``steals'' it from the ttydX device. Also, the cuaaX
|
||
device doesn't care about carrier detect. With this scheme and an
|
||
auto-answer modem, you can have remote users log in and you can still
|
||
dialout with the same modem and the system will take care of all the
|
||
conflicts.
|
||
|
||
9.3: How do I configure the kernel for my multiport serial card?
|
||
|
||
Again, the section on kernel configuration provides information about
|
||
configuring your kernel. For a multiport serial card, place an sio
|
||
line for each serial port on the card in the kernel configuration
|
||
file. But place the irq and vector specifiers on only one of the
|
||
entries. All of the ports on the card should share one irq. For
|
||
consistency, use the last serial port to specify the irq. Also,
|
||
specify the COM_MULTIPORT option.
|
||
|
||
The following example is for an AST 4-port serial card on irq 7:
|
||
|
||
options "COM_MULTIPORT"
|
||
device sio4 at isa? port 0x2a0 tty flags 0x781
|
||
device sio5 at isa? port 0x2a8 tty flags 0x781
|
||
device sio6 at isa? port 0x2b0 tty flags 0x781
|
||
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
|
||
|
||
The flags indicate that the master port has minor number 7 (0x700),
|
||
diagnostics enabled during probe (0x080), and all the ports share an
|
||
irq (0x001).
|
||
|
||
9.4: I have two multiport serial cards that can share irqs. Can
|
||
FreeBSD handle this?
|
||
|
||
Not yet. You'll have to use a different irq for each card.
|
||
|
||
9.5: What's the difference between tty01, ttyi01, and ttyl01? Or,
|
||
how can I set the default serial parameters for a port?
|
||
|
||
The ttyXX (or cuaaX or ttydX) device is the regular device you'll want
|
||
to open for your applications. When a process opens the device, it'll
|
||
have a default set of terminal I/O settings. You can see these
|
||
settings with the command
|
||
|
||
stty -a -f /dev/tty01
|
||
|
||
When you change the settings to this device, the settings are in
|
||
effect until the device is closed. When it's reopened, it goes back
|
||
to the default set. To make changes to the default set, you can open
|
||
and adjust the settings of the ``initial state'' device. For example,
|
||
to turn on CLOCAL mode, 8 bits, and XON/XOFF flow control by default
|
||
for tty05, do:
|
||
|
||
stty -f /dev/ttyi05 clocal cs8 ixon ixoff
|
||
|
||
A good place to do this is in /etc/rc.serial. Now, an application
|
||
will have these settings by default when it opens tty05. It can still
|
||
change these settings to its liking, though.
|
||
|
||
You can also prevent certain settings from being changed by an
|
||
application by making adjustments to the ``lock state'' device. For
|
||
example, to lock the speed of tty05 to 57600 bps, do
|
||
|
||
stty -f /dev/ttyl05 57600
|
||
|
||
Now, an application that opens tty05 and tries to change the speed of
|
||
the port will be stuck with 57600 bps.
|
||
|
||
Naturally, you should make the initial state and lock state devices
|
||
writable only by root. The MAKEDEV script does NOT do this when it
|
||
creates the device entries.
|
||
|
||
9.6: How can I enable dialup logins on my modem?
|
||
|
||
So you want to become an Internet service provider, eh? First, you'll
|
||
need one or more modems that can autoanswer. Your modem will need to
|
||
assert carrier-detect when it detects a carrier and not assert it all
|
||
the time. It will need to hang up the phone and reset itself when the
|
||
data terminal ready (DTR) line goes from on to off. It should
|
||
probably use RTS/CTS flow control or no local flow control at all.
|
||
Finally, it must use a constant speed between the computer and itself,
|
||
but (to be nice to your callers) it should negotiate a speed between
|
||
itself and the remote modem.
|
||
|
||
For many Hayes command-set--compatible modems, this command will
|
||
make these settings and store them in nonvolatile memory:
|
||
|
||
AT &C1 &D3 &K3 &Q6 S0=1 &W
|
||
|
||
See 9.10 below for information on how to make these settings without
|
||
resorting to an MS-DOS terminal program.
|
||
|
||
Next, make an entry in /etc/ttys for the modem. This file lists all
|
||
the ports on which the operating system will await logins. Add a line
|
||
that looks something like this:
|
||
|
||
ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
|
||
|
||
This line indicates that the second serial port (/dev/ttyd1) has a
|
||
modem connected running at 57600 bps and no parity (std.57600, which
|
||
comes from the file /etc/gettytab). The terminal type for this port
|
||
is ``dialup.'' The port is ``on'' and is ``insecure''---meaning root
|
||
logins on the port aren't allowed. For dialin ports like this one,
|
||
use the ttydX entry.
|
||
|
||
It's common practice to use ``dialup'' as the terminal type. Many
|
||
users set up in their .profile or .login files a prompt for the actual
|
||
terminal type if the starting type is dialup. The example shows the
|
||
port as insecure. To become root on this port, you have to login as a
|
||
regular user, then ``su'' to root. If you use ``secure'' then root
|
||
can login in directly.
|
||
|
||
After making modifications to /etc/ttys, you need to send a hangup or
|
||
HUP signal to the init process:
|
||
|
||
kill -1 1
|
||
|
||
This forces the init process to reread /etc/ttys. The init process
|
||
will then start getty processes on all ``on'' ports. You can find out
|
||
if logins are available for your port by typing
|
||
|
||
ps -ax | grep '[t]tyd1'
|
||
|
||
You should see something like:
|
||
|
||
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
|
||
|
||
9.7: How can I make my spare computer a dumb terminal connected to my
|
||
FreeBSD box?
|
||
|
||
If you're using another computer as a terminal into your FreeBSD
|
||
system, get a null modem cable to go between the two serial ports. If
|
||
you're using an actual terminal, see its accompanying instructions.
|
||
|
||
Then, modify /etc/ttys, like above. For example, if you're hooking up
|
||
a WYSE-50 terminal to the fifth serial port, use an entry like this:
|
||
|
||
tty04 "/usr/libexec/getty std.38400" wyse50 on secure
|
||
|
||
This example shows that the port on /dev/tty04 has a wyse50 terminal
|
||
connected at 38400 bps with no parity (std.38400 from /etc/gettytab)
|
||
and root logins are allowed (secure). For directly-connected
|
||
terminals, use the ttyXX entry.
|
||
|
||
9.8: Why can't I run tip or cu?
|
||
|
||
On your system, the programs tip and cu are probably executable only
|
||
by uucp and group dialer. You can use the group dialer to control who
|
||
has access to your modem or remote systems. Just add yourself to
|
||
group dialer.
|
||
|
||
Alternatively, you can let everyone on your system run tip and cu by
|
||
typing:
|
||
|
||
chmod 4511 /usr/bin/tip
|
||
|
||
You don't have to run this command for cu, since cu is just a hard
|
||
link to tip.
|
||
|
||
9.9: My stock Hayes modem isn't supported---what should I do?
|
||
|
||
Actually, the man page for tip is out of date. There is a generic
|
||
Hayes dialer already built in. Just use ``at=hayes'' in your
|
||
/etc/remote file.
|
||
|
||
The Hayes driver isn't smart enough to recognize some of the advanced
|
||
features of newer modems---messages like BUSY, NO DIALTONE, or CONNECT
|
||
115200 will just confuse it. You should turn those messages off when
|
||
you use tip (using ATX0&W).
|
||
|
||
Also, the dial timeout for tip is 60 seconds. Your modem should use
|
||
something less, or else tip will think there's a communication
|
||
problem. Try ATS7=45&W.
|
||
|
||
9.10: How am I expected to enter these AT commands without
|
||
resorting to some DOS-based terminal program?
|
||
|
||
Make what's called a ``direct'' entry in your /etc/remote file. For
|
||
example, if your modem's hooked up to the first serial port,
|
||
/dev/cuaa0, then put in the following line:
|
||
|
||
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
|
||
|
||
Use the highest bps rate your modem supports in the br capability.
|
||
Then, type ``tip cuaa0'' and you'll be connected to your modem.
|
||
|
||
If there is no /dev/cuaa0 on your system, do this:
|
||
|
||
cd /dev
|
||
MAKEDEV cuaa0
|
||
|
||
9.11: Why doesn't the @ sign for the phone number capability work?
|
||
|
||
The @ sign in the pn capability tells tip to look in /etc/phones for a
|
||
phone number. But the @ sign is also a special character in
|
||
capability files like /etc/remote. Escape it with a backslash:
|
||
``pn=\@''.
|
||
|
||
9.12: How can I dial a phone number on the command line?
|
||
|
||
Put what's called a ``generic'' entry in your /etc/remote file. For
|
||
example:
|
||
|
||
tip115200|Dial any phone number at 115200 bps:\
|
||
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
|
||
tip57600|Dial any phone number at 57600 bps:\
|
||
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
|
||
|
||
Then you can things like ``tip -115200 5551234''. If you prefer cu
|
||
over tip, use a generic cu entry:
|
||
|
||
cu115200|Use cu to dial any number at 115200bps:\
|
||
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
|
||
|
||
and type ``cu 5551234 -s 115200''.
|
||
|
||
9.13: Great---but how can I do that without having to specify the bps
|
||
rate on the command line?
|
||
|
||
Put in an entry for tip1200 or cu1200, but go ahead and use whatever
|
||
bps rate is appropriate with the br capability. tip thinks a good
|
||
default is 1200 bps which is why it looks for a ``tip1200'' entry.
|
||
You don't have to use 1200 bps, though.
|
||
|
||
9.14: I want separate entries for various hosts I access through a
|
||
terminal server, but I don't want to type ``CONNECT <host>''
|
||
each time once I'm connected. Can tip do that for me?
|
||
|
||
Yes. Use the cm capability. For example, these entries in
|
||
/etc/remote:
|
||
|
||
pain|pain.deep13.com|Forrester's machine:\
|
||
:cm=CONNECT pain\n:tc=deep13:
|
||
muffin|muffin.deep13.com|Frank's machine:\
|
||
:cm=CONNECT muffin\n:tc=deep13:
|
||
deep13:Gizmonics Institute terminal server:\
|
||
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
|
||
|
||
will let you type ``tip pain'' or ``tip muffin'' to connect to the
|
||
hosts pain or muffin; and ``tip deep13'' to get to the terminal
|
||
server.
|
||
|
||
9.15: My university has 42 billion students but only 4 modem lines.
|
||
Can tip automatically try each line?
|
||
|
||
Sure. Make an entry for your university in /etc/remote and use \@ for
|
||
the pn capability:
|
||
|
||
big-university:\
|
||
:pn=\@:tc=dialout
|
||
dialout:\
|
||
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
|
||
|
||
Then, list the phone numbers for the university in /etc/phones:
|
||
|
||
big-university 5551111
|
||
big-university 5551112
|
||
big-university 5551113
|
||
big-university 5551114
|
||
|
||
tip will try each one in the listed order, then give up. If you want
|
||
to keep retrying, run tip in a while loop.
|
||
|
||
9.16: How come I have to hit CTRL+P twice to send CTRL+P once?
|
||
|
||
CTRL+P is the default ``force'' character, used to tell tip that the
|
||
next character is literal data. You can set the force character to
|
||
any other character with the ~s escape, which means ``set a
|
||
variable.''
|
||
|
||
Type ``~sforce=<single-char>'' followed by a newline. <single-char>
|
||
is any single character. If you leave out <single-char>, then the
|
||
force character is the nul character, which you can get by typing
|
||
CTRL+2 or CTRL+SPACE. A pretty good value for <single-char> is
|
||
SHIFT+CTRL+6, which I've seen only used on some terminal servers.
|
||
|
||
You can have the force character be whatever you want by specifying
|
||
the following in your $HOME/.tiprc file:
|
||
|
||
force=<single-char>
|
||
|
||
9.17: Suddenly everything I type is all UPPER CASE. What gives?
|
||
|
||
You must've pressed CTRL+A, tip's ``raise character,'' specially
|
||
designed for people with broken caps-lock keys. Use ~s as above and
|
||
set the variable ``raisechar'' to something reasonable. In fact, you
|
||
can set it to the same as the force character, if you never expect to
|
||
use either of these features.
|
||
|
||
Here's a sample .tiprc file perfect for Emacs users who need to type
|
||
CTRL+2 and CTRL+A a lot:
|
||
|
||
force=^^
|
||
raisechar=^^
|
||
|
||
The ^^ is SHIFT+CTRL+6.
|
||
|
||
9.18: How can I do file transfers with tip?
|
||
|
||
If you're talking to another UNIX system, you can send and receive
|
||
files with ~p (put) and ~t (take). These commands run ``cat'' and
|
||
``echo'' on the remote system to accept and send files. The syntax
|
||
is:
|
||
|
||
~p <local-file> [<remote-file>]
|
||
~t <remote-file> [<local-file>]
|
||
|
||
There's no error checking, so you probably should use another
|
||
protocol, like zmodem.
|
||
|
||
9.19: Okay, how can I run zmodem with tip?
|
||
|
||
To receive files, start the sending program on the remote end. Then,
|
||
type ``~C rz'' to begin receiving them locally.
|
||
|
||
To send files, start the receiving program on the remote end. Then,
|
||
type ``~C sz <files>'' to send them to the remote system.
|
||
|
||
|
||
|
||
NOTE: Anyone wishing to submit a FAQ entry on how to get tip and cu working
|
||
would have it much appreciated! We all use Kermit over here! :-)
|
||
|
||
-----------------------------------------------------------------------------
|
||
If you see a problem with this FAQ, or wish to submit an entry, please
|
||
mail us at <FreeBSD-FAQ@FreeBSD.ORG>. We appreciate your
|
||
feedback, and cannot make this a better FAQ without your help!
|
||
|
||
|
||
FreeBSD Core Team
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
ACKNOWLEDGMENTS:
|
||
|
||
Gary Clark II - FreeBSD FAQ maintenance man (For one last time:))
|
||
Jordan Hubbard - Janitorial services (I don't do windows)
|
||
Garrett Wollman - Networking and formatting
|
||
Robert Oliver, Jr. - Ideas and dumb questions (That made me think)
|
||
Ollivier Robert - Invaluable feedback and contributions
|
||
Jim Lowe - Multicast information
|
||
The FreeBSD Team - Kvetching, moaning, submitting data
|
||
|
||
And to any others we've forgotten, apologies and heartfelt thanks!
|
||
|