cc66af5234
Submitted-By: seki@sysrap.cs.fujitsu.co.jp
450 lines
19 KiB
Plaintext
450 lines
19 KiB
Plaintext
Hardware Documentation Guide: $Id: hardware.hlp,v 1.10 1996/11/13 12:35:12 jkh Exp $
|
|
|
|
Contents last changed: July 4th, 1996
|
|
|
|
Table of Contents
|
|
-----------------
|
|
0. Document Conventions
|
|
1. Default Configuration (GENERIC kernel)
|
|
2. Using UserConfig to change FreeBSD kernel settings
|
|
3. LINT - other possible configurations.
|
|
4. Known Hardware Problems.
|
|
|
|
=========================================================================
|
|
|
|
0. Document Conventions
|
|
-- --------------------
|
|
|
|
We have `underlined' text which represents user input with `-' symbols
|
|
throughout this document to differentiate it from the machine output.
|
|
|
|
1. Default (GENERIC) Configuration
|
|
-- -------------------------------
|
|
|
|
The following table contains a list of all of the devices that are
|
|
present in the GENERIC kernel, that being the kernel (the operating
|
|
system) that was placed in your root partition during the FreeBSD
|
|
installation process. A compressed version of the GENERIC kernel is
|
|
also used on the installation floppy diskette and DOS boot image.
|
|
|
|
The table describes the various parameters used by the driver to
|
|
communicate with the hardware in your system. There are four
|
|
parameters in the table, though not all are used by each and every
|
|
device.
|
|
|
|
Detail:
|
|
|
|
Port The starting I/O port used by the device, shown in hexadecimal.
|
|
|
|
IOMem The lowest (or starting) memory address used by the device,
|
|
also shown in hexadecimal.
|
|
|
|
IRQ The interrupt the device uses to alert the driver to an event,
|
|
given in decimal.
|
|
|
|
DRQ The DMA (direct memory access) channel the device uses to move
|
|
data to and from main memory, also given in decimal.
|
|
|
|
If an entry in the table has `n/a' for a value then it means that the
|
|
parameter in question does not apply to that device. A value of `dyn'
|
|
means that the correct value should be determined automatically by the
|
|
kernel when the system boots.
|
|
|
|
|
|
FreeBSD GENERIC kernel:
|
|
|
|
Port IRQ DRQ IOMem Description
|
|
---- --- --- ----- ---------------------------------
|
|
fdc0 3f0 6 2 n/a Floppy disk controller
|
|
wdc0 1f0 14 n/a n/a IDE/MFM/RLL disk controller
|
|
wdc1 170 15 n/a n/a IDE/MFM/RLL disk controller
|
|
|
|
ncr0 n/a n/a n/a n/a NCR PCI SCSI controller
|
|
ahc0 n/a n/a n/a n/a Adaptec 294x PCI SCSI controller
|
|
bt0 330 dyn dyn dyn Buslogic SCSI controller
|
|
uha0 330 dyn 6 dyn Ultrastore 14f
|
|
aha0 330 dyn 5 dyn Adaptec 154x SCSI controller
|
|
ahb0 dyn dyn dyn dyn Adaptec 174x SCSI controller
|
|
ahc0 dyn dyn dyn dyn Adaptec 274x/284x/294x SCSI controller
|
|
aic0 340 11 dyn dyn Adaptec 152x/AIC-6360 SCSI
|
|
controller
|
|
nca0 1f88 10 dyn dyn ProAudioSpectrum cards
|
|
sea0 dyn 5 dyn c8000 Seagate ST01/02 8 bit controller
|
|
|
|
wt0 300 5 1 dyn Wangtek and Archive QIC-02/QIC-36
|
|
|
|
mse0 23c 5 n/a n/a Microsoft Bus Mouse
|
|
psm0 60 12 n/a n/a PS/2 Mouse (disabled by default)
|
|
|
|
mcd0 300 10 n/a n/a Mitsumi CD-ROM
|
|
matcd0 230 n/a n/a n/a Matsushita/Panasonic CD-ROM
|
|
scd0 230 n/a n/a n/a Sony CD-ROM
|
|
|
|
sio0 3f8 4 n/a n/a Serial Port 0 (COM1)
|
|
sio1 2f8 3 n/a n/a Serial Port 1 (COM2)
|
|
|
|
lpt0 dyn 7 n/a n/a Printer Port 0
|
|
lpt1 dyn dyn n/a n/a Printer Port 1
|
|
|
|
de0 n/a n/a n/a n/a DEC DC21x40 PCI based cards
|
|
(including 21140 100bT cards)
|
|
ed0 280 5 dyn d8000 WD & SMC 80xx; Novell NE1000 &
|
|
NE2000; 3Com 3C503; HP PC Lan+
|
|
ed1 300 5 dyn d8000 Same as ed0
|
|
eg0 310 5 dyn dyn 3Com 3C505
|
|
ep0 300 10 dyn dyn 3Com 3C509
|
|
fe0 300 dyn n/a n/a Allied-Telesis AT1700, RE2000 and
|
|
Fujitsu FMV-180 series cards.
|
|
fxp0 dyn dyn n/a dyn Intel EtherExpress Pro/100B
|
|
ie0 360 7 dyn d0000 AT&T StarLAN 10 and EN100;
|
|
3Com 3C507; NI5210
|
|
ix0 300 10 dyn d0000 Intel EtherExpress cards
|
|
le0 300 5 dyn d0000 Digital Equipment EtherWorks
|
|
2 and EtherWorks 3
|
|
lnc0 280 10 n/a dyn Lance/PCnet cards
|
|
(Isolan, Novell NE2100, NE32-VL)
|
|
vx0 dyn dyn n/a dyn 3Com 3c590 / 3c595
|
|
ze0 300 5 dyn d8000 IBM/National Semiconductor
|
|
PCMCIA Ethernet Controller
|
|
zp0 300 10 dyn d8000 3Com PCMCIA Etherlink III
|
|
Ethernet Controller
|
|
--- End of table ---
|
|
|
|
|
|
If the hardware in your computer is not set to the same settings as
|
|
those shown in the table and the item in conflict is not marked 'dyn',
|
|
you will have to either reconfigure your hardware or use UserConfig
|
|
to reconfigure the kernel to match the way your hardware is currently set
|
|
(see the next section).
|
|
|
|
If the settings do not match, the kernel may be unable to locate
|
|
or reliably access the devices in your system.
|
|
|
|
|
|
2. Using UserConfig to change FreeBSD kernel settings
|
|
-- --------------------------------------------------
|
|
|
|
The FreeBSD kernel on the install floppy contains drivers for every
|
|
piece of hardware that could concievably be used to install the rest
|
|
of the system with. Unfortunately, PC hardware being what it is, some
|
|
of these devices can be difficult to detect accurately, and for some,
|
|
the process of detecting another can cause irreversible confusion.
|
|
|
|
To make this process easier, FreeBSD provides UserConfig. With this
|
|
UserConfig, the user can configure and disable device drivers before
|
|
the kernel is loaded, avoiding potential conflicts, and eliminating
|
|
the need to reconfigure hardware to suit the default driver settings.
|
|
|
|
Once FreeBSD is installed, it will remember the changes made using
|
|
UserConfig, so that they only need be made once.
|
|
|
|
It is important to disable drivers that are not relevant to a system
|
|
in order to minimise the possibility of interference, which can cause
|
|
problems that are difficult to track down.
|
|
|
|
UserConfig features a commandline interface for users with serial
|
|
consoles or a need to type commands, and a fullscreen 'visual'
|
|
interface, which provides point-and-shoot configuration functionality.
|
|
|
|
Here is a sample UserConfig screen shot in 'visual' mode:
|
|
|
|
---Active Drivers---------------------------10 Conflicts------Dev---IRQ--Port--
|
|
Storage : (Collapsed)
|
|
Network :
|
|
NE1000,NE2000,3C503,WD/SMC80xx Ethernet adapters CONF ed0 5 0x280
|
|
NE1000,NE2000,3C503,WD/SMC80xx Ethernet adapters CONF ed1 5 0x300
|
|
Communications : (Collapsed)
|
|
Input : (Collapsed)
|
|
Multimedia :
|
|
---Inactive Drivers-------------------------------------------Dev--------------
|
|
Storage :
|
|
Network : (Collapsed)
|
|
Communications :
|
|
Input :
|
|
Multimedia :
|
|
PCI :
|
|
|
|
---Parameters-for-device-ed0---------------------------------------------------
|
|
Port address : 0x280 Memory address : 0xd8000
|
|
IRQ number : 5 Memory size : 0x2000
|
|
Flags : 0x0000
|
|
-------------------------------------------------------------------------------
|
|
IO Port address (Hexadecimal, 0x1-0x2000)
|
|
[TAB] Change fields [Q] Save device parameters
|
|
|
|
|
|
The screen is divided into four sections :
|
|
|
|
- Active Drivers. Listed here are the device drivers that are currently
|
|
enabled, and their basic parameters.
|
|
- Inactive Drivers. These drivers are present, but are disabled.
|
|
- Parameter edit field. This area is used for editing driver parameters.
|
|
- Help area. Keystroke help is displayed here.
|
|
|
|
One of the Active and Inactive lists is always in use, and the current
|
|
entry in the list will be shown with a highlight bar. If there are
|
|
more entries in a list than can be shown, it will scroll. The bar can
|
|
be moved up and down using the cursor keys, and moved between lists
|
|
with the TAB key.
|
|
|
|
Drivers in the Active list may be marked "CONF". This indicates that
|
|
one or more of their parameters conflicts with another device, and
|
|
indicates a potential for problems. The total number of conflicts is
|
|
displayed at the top of the screen.
|
|
|
|
As a general rule, conflicts should be avoided, either by disabling
|
|
conflicting devices that are not present in the system, or by altering
|
|
their configuration so that they match the installed hardware.
|
|
|
|
In the list areas, drivers are grouped by their basic function.
|
|
Groups can be 'Collapsed' to simplify the display (this is the default
|
|
state for all groups). If a group is collapsed, it will be shown with
|
|
'(Collapsed)' in the list, as above. To Expand a Collapsed group,
|
|
position the highlight bar over the group heading and press Enter. To
|
|
Collapse it again, repeat the process.
|
|
|
|
When a device driver in the Active list is highlighted, its full
|
|
parameters are displayed in the Parameter edit area. Note that not
|
|
all drivers use all possible parameters, and some hardware supported
|
|
by drivers may not use all the parameters the driver supports.
|
|
|
|
To disable a driver, go to the Active list, Expand the group it is in,
|
|
highlight the driver and press Del. The driver will move to its group
|
|
in the Inactive list. (If the group is collapsed or off the screen,
|
|
you may not see the driver in its new location.)
|
|
|
|
To enable a driver, go to the Inactive list, Expand the group it is
|
|
in, highlight the driver and press Enter. The highlight will move to
|
|
the Active list, and the driver you have just enabled will be
|
|
highlighted, ready to be configured.
|
|
|
|
To configure a driver, go to the Active list, Expand the group it is
|
|
in, highlight the driver and press Enter. The cursor will move to the
|
|
Parameter edit area, and the device's parameters may be edited.
|
|
|
|
While editing parameters, the TAB and cursor keys can be used to move
|
|
between fields. Most numeric values (except IRQ) are entered in
|
|
hexadecimal, as indicated by the '0x' at the beginning of the field.
|
|
The allowable values for a given field are show in the Key Help area
|
|
when the field is active.
|
|
|
|
To finish configuring a driver, press 'Q'.
|
|
|
|
|
|
Sample UserConfig session
|
|
-------------------------
|
|
|
|
Here is a walkthrough of a sample use of UserConfig. The system in
|
|
question has an IDE disk, two serial ports, a single printer port, a
|
|
floppy drive and an NE2000 ethernet card set to I/O address 0x340 and
|
|
IRQ 10.
|
|
|
|
- At the 'config>' prompt, type 'v' and press Enter to activate
|
|
'visual' mode.
|
|
|
|
- The fullscreen mode comes up, with the highlight bar in the Active Drivers
|
|
area over the 'Storage' group, which is Collapsed. Press Enter to
|
|
Expand the group.
|
|
|
|
- Disable all of the drivers listed in this group except for the
|
|
"Floppy disk controller" and "IDE/ESDI/MFM disk controller" by
|
|
highlighting each in turn and pressing Del.
|
|
|
|
- Move to the 'Network' group, Expand it, and disable all of the drivers
|
|
except for 'ed0', the first of the
|
|
"NE1000,NE2000,3C503,WD/SMC80xx Ethernet adapters".
|
|
|
|
- Move to the 'Communications' group, Expand it and disable the 'lpt1' and
|
|
'lpt2' drivers.
|
|
|
|
- Disable the 'mse0' driver in the 'Input' group.
|
|
|
|
- Go back to the 'Network' group, highlight the 'ed0' driver, and press
|
|
Enter to configure it.
|
|
|
|
- Change the 'Port address' and 'IRQ number' fields to match the
|
|
configuration of the card, ie. 0x340 and 10 respectively.
|
|
|
|
- Press 'Q' to finish configuring the device, and then 'Q' again to
|
|
leave UserConfig. Answer 'yes' to save the changes and continue to boot
|
|
using the new configuration.
|
|
|
|
|
|
3. LINT - other possible configurations
|
|
-- ------------------------------------
|
|
|
|
The following drivers are not in the GENERIC kernel but remain
|
|
available to those who do not mind compiling a custom kernel (see
|
|
section 6 of FreeBSD.FAQ). The LINT configuration file
|
|
(/sys/i386/conf/LINT) also contains prototype entries for just about
|
|
every device supported by FreeBSD and is a good general reference.
|
|
|
|
The device names and a short description of each are listed below. The port
|
|
numbers, etc, are not meaningful here since you will need to compile a
|
|
custom kernel to gain access to these devices anyway and can thus
|
|
adjust the addresses to match the hardware in your computer in the process.
|
|
The LINT file contains prototype entries for all of the below which you
|
|
can easily cut-and-paste into your own file (or simply copy LINT and edit
|
|
it to taste):
|
|
|
|
ctx: Cortex-I frame grabber
|
|
cx: Cronyx/Sigma multiport sync/async
|
|
cy: Cyclades high-speed serial driver
|
|
el: 3Com 3C501
|
|
fea: DEV DEFEA EISA FDDI adater
|
|
fpa: DEC DEFPA PCI FDDI adapter
|
|
gp: National Instruments AT-GPIB and AT-GPIB/TNT board
|
|
gsc: Genius GS-4500 hand scanner
|
|
gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
|
|
gusxvi: Gravis Ultrasound 16-bit PCM
|
|
joy: Joystick
|
|
labpc: National Instrument's Lab-PC and Lab-PC+
|
|
meteor: Matrox Meteor frame-grabber card
|
|
mpu: Roland MPU-401 stand-alone card
|
|
mse: Logitech & ATI InPort bus mouse ports
|
|
mss: Microsoft Sound System
|
|
nic: Dr Neuhaus NICCY 3008, 3009 & 5000 ISDN cards
|
|
opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
|
|
pas: ProAudioSpectrum PCM and MIDI
|
|
pca: PCM audio ("/dev/audio") through your PC speaker
|
|
psm: PS/2 mouse port
|
|
rc: RISCom/8 multiport card
|
|
sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
|
|
sbmidi: SoundBlaster 16 MIDI interface
|
|
sbxvi: SoundBlaster 16
|
|
spigot: Creative Labs Video Spigot video-acquisition board
|
|
uart: Stand-alone 6850 UART for MIDI
|
|
wds: Western Digital WD7000 IDE
|
|
|
|
--- end of list ---
|
|
|
|
|
|
4. 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 section 1.0) 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: 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 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.
|
|
|
|
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.
|
|
|
|
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 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:
|
|
st0(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/sd0a''.
|
|
|
|
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 hangs during boot, right after the "fd0: [my floppy drive]"
|
|
line.
|
|
|
|
A: This is not actually a hang, simply a very LONG "wdc0" probe that
|
|
often takes a long time to complete on certain systems (where there
|
|
usually _isn't_ a WD controller). Be patient, your system will boot!
|
|
To eliminate the problem, boot with the -c flag and eliminate the wdc0
|
|
device, or compile a custom kernel.
|
|
|
|
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.
|
|
|
|
[ Please add more hardware tips to this Q&A section! ]
|
|
|