freebsd-dev/release/texts/TROUBLE.TXT

384 lines
16 KiB
Plaintext

===============
Troubleshooting
===============
Table of Contents:
Repairing an Existing FreeBSD Installation
Common Installation Problems, Q&A
Common Hardware Problems, Q&A
Repairing an Existing FreeBSD Installation
------------------------------------------
FreeBSD releases 2.2.1 and later feature a "Fixit" option in the top
menu of the boot floppy. To use it, you will also need either a
fixit.flp image floppy, generated in the same fashion as the boot
floppy, or the 2nd CDROM from Walnut Creek CDROM's FreeBSD
distribution.
To invoke fixit, simply boot the kern.flp floppy, choose the "Fixit"
item and insert the fixit floppy or CDROM when asked. You will then
be placed into a shell with a wide variety of commands available (in
the /stand and /mnt2/stand directories) for checking, repairing and
examining file systems and their contents. Some UNIX administration
experience *is* required to use the fixit option!
Common Installation Problems, Q&A
---------------------------------
Q: I go to boot from the hard disk for the first time after installing
FreeBSD, the kernel loads and probes my hardware, but stops with
messages like:
changing root device to wd1s1a
panic: cannot mount root
What is wrong? What can I do?
Q: What is this 'bios_drive:interface(unit,partition)kernel_name' thing
that is displayed with the boot help?
A: There is a longstanding problem in the case where the boot disk is
not the first disk in the system. The BIOS uses a different numbering
scheme to FreeBSD, and working out which numbers correspond to which
is difficult to get right.
In the case where the boot disk is not the first disk in the system,
FreeBSD can need some help finding it. There are two common situations
here, and in both of these cases, you need to tell FreeBSD where the
root filesystem is. You do this by specifying the BIOS disk number,
the disk type and the FreeBSD disk number for that type.
The first situation is where you have two IDE disks, each configured as
the master on their respective IDE busses, and wish to boot FreeBSD from
the second disk. The BIOS sees these as disk 0 and disk 1, while
FreeBSD sees them as wd0 and wd2.
FreeBSD is on BIOS disk 1, of type 'wd' and the FreeBSD disk number
is 2, so you would say:
1:wd(2,a)kernel
Note that if you have a slave on the primary bus, the above is not
necessary (and is effectively wrong).
The second situation involves booting from a SCSI disk when you have
one or more IDE disks in the system. In this case, the FreeBSD disk
number is lower than the BIOS disk number. If you have two IDE disks
as well as the SCSI disk, the SCSI disk is BIOS disk 2, type 'da' and
FreeBSD disk number 0, so you would say:
2:da(0,a)kernel
To tell FreeBSD that you want to boot from BIOS disk 2, which is
the first SCSI disk in the system. If you only had one IDE disk,
you would use '1:' instead.
Once you have determined the correct values to use, you can put the
command exactly as you would have typed it in the /boot.config file
using a standard text editor.
Unless instructed otherwise, FreeBSD will use the contents of this
file as the default response to the 'boot:' prompt.
Q: I go to boot from the hard disk for the first time after installing
FreeBSD, but the Boot Manager prompt just prints `F?' at the boot menu
each time but the boot won't go any further.
A: The hard disk geometry was set incorrectly in the Partition editor when
you installed FreeBSD. Go back into the partition editor and specify
the actual geometry of your hard disk. You must reinstall FreeBSD
again from the beginning with the correct geometry.
If you are failing entirely in figuring out the correct geometry for
your machine, here's a tip: Install a small DOS partition at the
beginning of the disk and install FreeBSD after that. The install
program will see the DOS partition and try to infer the correct
geometry from it, which usually works.
The following tip is no longer recommended, but is left here
for reference:
If you are setting up a truly dedicated FreeBSD server or work-
station where you don't care for (future) compatibility with DOS,
Linux or another operating system, you've also got the option to use
the entire disk (`A' in the partition editor), selecting the
non-standard option where FreeBSD occupies the entire disk from
the very first to the very last sector. This will leave all geometry
considerations aside, but is somewhat limiting unless you're never
going to run anything other than FreeBSD on a disk.
Known Hardware Problems, Q & A
------------------------------
Q: mcd0 keeps thinking that it has found a device and this stops my Intel
EtherExpress card from working.
A: Use the UserConfig utility (see HARDWARE.TXT) and disable the probing of
the mcd0 and mcd1 devices. Generally speaking, you should only leave
the devices that you will be using enabled in your kernel.
Q: FreeBSD claims to support the 3Com PCMCIA card, but my card isn't
recognized when it's plugged into my laptop.
A: There are a couple of possible problems. First of all, FreeBSD does
not support multi-function cards, so if you have a combo
ethernet/modem card (such as the 3C562), it won't work. The
default driver for the 3C589 card was written just like all of the
other drivers in FreeBSD, and depend on the card's own configuration
data stored in NVRAM to work. You must correctly configure FreeBSD's
driver to match the IRQ, port, and IOMEM stored in NVRAM.
Unfortunately, the only program capable of reading them is the
3COM supplied DOS program. This program must be run on a absolutely
clean system (no other drivers must be running), and the program will
whine about CARD-Services not being found, but it will continue.
This is necessary to read the NVRAM values. You want to know the
IRQ, port, and IOMEM values (the latter is called the CIS tuple by
3COM). The first two can be set in the program, the third is
un-settable, and can only be read. Once you have these values, set
them in UserConfig and your card will be recognized.
Q: FreeBSD finds my PCMCIA network card, but no packets appear to
be sent even though it claims to be working.
A: Many PCMCIA cards have the ability to use either the 10-Base2 (BNC)
or 10-BaseT connectors for connecting to the network. The driver is
unable to 'auto-select' the correct connector, so you must tell it
which connector to use. In order to switch between the two
connectors, the link flags must be set. Depending on the model of
the card, '-link0 link1' or 'link0 -link1' will choose the correct
network connector. You can set these in sysinstall by using the
'Extra options to ifconfig:' field in the network setup screen.
Q: The system finds my ed network card, but I keep getting device
timeout errors.
A: Your card is probably on a different IRQ from what is specified in the
kernel configuration. The ed driver does not use the `soft' configuration
by default (values entered using EZSETUP in DOS), but it will use the
software configuration if you specify `?' in the IRQ field of your kernel
config file.
Either move the jumper on the card to a hard configuration setting
(altering the kernel settings if necessary), or specify the IRQ as
`-1' in UserConfig or `?' in your kernel config file. This will
tell the kernel to use the soft configuration.
Another possibility is that your card is at IRQ 9, which is shared
by IRQ 2 and frequently a cause of problems (especially when you
have a VGA card using IRQ 2! :). You should not use IRQ 2 or 9 if at
all possible.
Q: I have a Matsushita/Panasonic drive but it isn't recognized by the
system.
A: Make certain that the I/O port that the matcd driver is set to is
correct for the host interface card you have. (Some SoundBlaster DOS
drivers report a hardware I/O port address for the CD-ROM interface
that is 0x10 lower than it really is.)
If you are unable to determine the settings for the card by examining
the board or documentation, you can use UserConfig to change the 'port'
address (I/O port) to -1 and start the system. This setting causes the
driver to look at a number of I/O ports that various manufacturers
use for their Matsushita/Panasonic/Creative CD-ROM interfaces.
Once the driver locates the address, you should run UserConfig again
and specify the correct address. Leaving the 'port' parameter set to -1
increases the amount of time that it takes the system to boot, and
this could interfere with other devices.
The double-speed Matsushita CR-562 and CR-563 are the only drives
that are supported.
Q: I booted the install floppy on my IBM ThinkPad (tm) laptop, and the
keyboard is all messed up.
A: Older IBM laptops use a non-standard keyboard controller, so you must
tell the keyboard driver (atkbd0) to go into a special mode which works
on the ThinkPads. Change the atkbd0 'Flags' to 0x4 in UserConfig and
it should work fine. (Look in the Input Menu for 'Keyboard'.)
Q: When I try to boot the install floppy, I see the following message
and nothing seems to be happening. I cannot enter anything from
the keyboard either.
Keyboard: no
A: Due to lack of space, full support for old XT/AT (84-key) keyboards
is no longer available in the bootblocks. Some notebook computers may
also have this type of keyboard. If you are still using this kind of
hardware, you will see the above message appears when you boot from
the CD-ROM or an install floppy.
As soon as you see this message, hit the space bar, and you will see
the prompt:
>> FreeBSD/i386 BOOT
Default: x:xx(x,x)/boot/loader
boot:
Then enter `-Dh', and things should proceed normally.
Q: I have a Matsushita/Panasonic CR-522, a Matsushita/Panasonic CR-523 or
a TEAC CD55a drive, but it is not recognized even when the correct I/O
port is set.
A: These CD-ROM drives are currently not supported by FreeBSD. The command
sets for these drives are not compatible with the double-speed CR-562
and CR-563 drives.
The single-speed CR-522 and CR-523 drives can be identified by their
use of a CD-caddy.
Q: I'm trying to install from a tape drive but all I get is something like:
sa0(aha0:1:0) NOT READY csi 40,0,0,0
on the screen. Help!
A: There's a limitation in the current sysinstall that the tape MUST
be in the drive while sysinstall is started or it won't be detected.
Try again with the tape in the drive the whole time.
Q: I've installed FreeBSD onto my system, but it hangs when booting from
the hard drive with the message: ``Changing root to /dev/da0a''.
A: This problem may occur in a system with a 3com 3c509 Ethernet adaptor.
The ep0 device driver appears to be sensitive to probes for other
devices that also use address 0x300. Boot your FreeBSD system by power
cycling the machine (turn off and on). At the ``Boot:'' prompt specify
the ``-c''. This will invoke UserConfig (see Section 1. above). Use
the ``disable'' command to disable the device probes for all devices
at address 0x300 except the ep0 driver. On exit, your machine should
successfully boot FreeBSD.
Q: My system can not find my Intel EtherExpress 16 card.
A: You must set your Intel EtherExpress 16 card to be memory mapped at
address 0xD0000, and set the amount of mapped memory to 32K using
the Intel supplied softset.exe program.
Q: When installing on an EISA HP Netserver, my on-board AIC-7xxx
SCSI controller isn't detected.
A: This is a known problem, and will hopefully be fixed in the future.
In order to get your system installed at all, boot with the -c
option into UserConfig, but _don't_ use the pretty visual mode but
the plain old CLI mode. Type
eisa 12
quit
there at the prompt. (Instead of `quit', you might also type
`visual', and continue the rest of the configuration session in
visual mode.) While it's recommended to compile a custom kernel,
dset(8) now also understands to save this value.
Refer to the FAQ topic 3.16 for an explanation of the problem, and
for how to continue. Remember that you can find the FAQ on your
local system in /usr/share/doc/FAQ, provided you have installed the
`doc' distribution.
Q: I have a Panasonic AL-N1 or Rios Chandler Pentium machine and I find
that the system hangs before ever getting into the installation
now.
A: Your machine doesn't like the new i586_copyout and i586_copyin code
for some reason. To disable this, boot the installation boot floppy
and when it comes to the very first menu (the choice to drop into
kernel UserConfig mode or not) choose the command-line interface
("expert mode") version and type the following at it:
flags npx0 1
Then proceed normally to boot. This will be saved into your kernel,
so you only need to do it once.
Q: I have this CMD640 IDE controller that is said to be broken.
A: Yes, it is. FreeBSD does not support this controller except through
the legacy 'wdc' driver.
Q: On a Compaq Aero notebook, I get the message "No floppy devices found!
Please check ..." when trying to install from floppy.
A: With Compaq being always a little different from other systems, they
do not announce their floppy drive in the CMOS RAM of an Aero notebook.
Therefore, the floppy disk driver assumes there is no drive configured.
Go to the UserConfig screen, and set the Flags value of the fdc0 device
to 0x1. This pretends the existence of the first floppy drive (as a
1.44 MB drive) to the driver without asking the CMOS at all.
Q: When I go to boot my Intel AL440LX ("Atlanta") -based system from the
hard disk the first time, it stops with a "Read Error" message.
A: There appears to be a bug in the BIOS on at least some of these boards,
this bug results in the FreeBSD bootloader thinking that it is booting
from a floppy disk.
This is only a problem if you are not using the BootEasy boot manager.
Slice the disk in 'compatible' mode and install BootEasy during the
FreeBSD installation to avoid the bug, or upgrade the BIOS (see Intel's
website for details).
Q: When installing on an Dell Poweredge XE, Dell proprietary RAID controller
DSA (Dell SCSI Array) isn't recognized.
A: Configure DSA to use AHA-1540 emulation using EISA configuration utility.
After that FreeBSD detects DSA as Adaptec AHA-1540 SCSI controller, with
irq 11 and port 340. Under emulation mode system will use DSA RAID disks,
but you cannot use DSA specific features such as watching RAID health.
Q: My Ethernet adapter is detected as an AMD PCnet-FAST (or similar) but
it doesn't work. (Eg. onboard Ethernet on IBM Netfinity 5xxx or 7xxx)
A: The 'lnc' driver is currently faulty, and will often not work correctly
with the PCnet-FAST and PCnet-FAST+. You need to install a different
Ethernet adapter.
Q: I have an IBM EtherJet PCI card, it is detected by the 'fxp' driver
correctly, but the lights on the card don't come on and it doesn't
connect to the network.
A: We don't understand why this happens. Neither do IBM (we asked them).
The card is a standard Intel EtherExpress Pro/100 with an IBM label
on it, and these cards normally work just fine. You may see these
symptoms only in some IBM Netfinity servers. The only solution is to
install a different Ethernet adapter.
Q: When I configure the network during installation on an IBM Netfinity
3500, the system freezes.
A: There is a problem with the onboard Ethernet in the Netfinity 3500
which we have not been able to identify at this time. It may be
related to the SMP features of the system being misconfigured. You
will have to install another Ethernet adapter and avoid attempting
to configure the onboard adapter at any time.
Q: When I install onto a drive managed by a Mylex PCI RAID controller,
the system fails to boot (eg. with a "read error" message).
A: There is a bug in the Mylex driver which results in it ignoring
the '8GB' geometry mode setting in the BIOS. Use the 2GB mode
instead.
[ Please send hardware tips for this Q&A section to jkh@freebsd.org ]