summaryrefslogtreecommitdiffstats
path: root/release/sysinstall/help/en_US.ISO8859-1/hardware.hlp
blob: fba56337e5d02f3ed9da2945373dd0592c5e691c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
Hardware Documentation Guide:  $Id: hardware.hlp,v 1.11 1995/06/09 13:29:19 jkh Exp $

Table of Contents
-----------------

0.  Document Conventions
1.  Using UserConfig to change FreeBSD kernel settings
2.  Default Configuration (GENERIC kernel)
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.      Using UserConfig to change FreeBSD kernel settings
--      --------------------------------------------------

The UserConfig utility allows you to override various settings of
the FreeBSD kernel before the system has booted.  This allows you to
make minor adjustments to the various drivers in the system without
necessarily having to recompile the kernel.

UserConfig is activated by specifying the `-c' flag at the initial
boot prompt.  For example:

        >> FreeBSD BOOT @ 0x10000: 640/7168 k of memory
        Use hd(1,a)/kernel to boot sd0 when wd0 is also installed.
        Usage: [[wd(0,a)]/kernel][-abcCdhrsv]
        Use ? for file list or press Enter for defaults

        Boot: -c
              --

This command causes the system to boot the default kernel ("/kernel") and
the UserConfig utility to be started once the kernel is loaded into memory.

The `-c' flag follows any of the other parameters you may need to provide
for the system to boot properly.   For example, to boot off the second of
two SCSI drives installed and run UserConfig, you would type:

        Boot: sd(1,a)/kernel -c
              -----------------

As always, the kernel will report some information on your processor
and how much memory your system has.  Then UserConfig will be invoked
and you will see the prompt:

        config>

To see the list of commands that UserConfig accepts, you may type '?' and
press [ENTER].  The help message looks something like this:

Command                 Description
-------                 -----------
attach <devname>        Return results of device attach
ls                      List currently configured devices
port <devname> <addr>   Set device port (i/o address)
irq <devname> <number>  Set device irq
drq <devname> <number>  Set device drq (DMA Request)
iomem <devname> <addr>  Set device maddr (memory address)
iosize <devname> <size> Set device memory size
flags <devname> <mask>  Set device flags
enable <devname>        Enable device
probe <devname>         Return results of device probe
disable <devname>       Disable device (will not be probed)
quit                    Exit this configuration utility
help                    This message


You may alter nearly all of the default settings present in the FreeBSD
generic kernel.  This includes reassigning IRQs, disabling troublesome
devices (or drivers that conflict with the hardware your system has),
setting special device flags, etc.  

The most common use of UserConfig is to adjust or disable a driver
which is causing trouble.  The "ls" command displays the current
settings for all the drivers present in the booted kernel, and
once you have located an entry of interest you may use the displayed
device name to change its settings or even disable the driver completely.

For example, to change the memory address of network adapter 'ed0' to
the address 0xd4000, you would type
        
        config> iomem ed0 0xd4000
                -----------------

To entirely disable a device driver you are not using, use the
"disable" command.  In this example, you would disable device
`ie0' by typing:

        config> disable ie0
                -----------

You can use the "ls" command to verify your changes and correct
any other problems before continuing the boot process.

Once you are happy with a given configuration you may type: "quit"

This will cause the kernel to boot with the new settings you
have chosen.

Once you have a fully installed system (e.g. the `bin' distribution
has been successfully extracted), any changes you make in UserConfig
are permanently stored in the `/kernel' file on the root filesystem.
This action is performed by the `dset' utility, which will ensure that
these settings remain in effect until you replace the kernel with
a new one.  If you do not want your changes to be permanently
stored like this, remove `dset' from the /etc/rc file before you
make any changes.

If you accidentally change a setting for a device that you did not mean
to change, the safest thing to do is to reset the computer and start
over.  Do not allow the boot to proceed (e.g. do not type "quit") with
bad settings as these may be permanently stored by dset and
leave your system in a state where it will no longer run properly.

We suggest as a general rule that you disable any drivers that are not
used by your particular hardware configuration.  There are known problems
with certain device drivers (see section 4.0) that can cause conflicts
with other devices if they're also not disabled.  You should move or
disable any device that resides at the same port or IRQ as a device
you actually have!

You can also remove drivers that are not needed by building yourself a
custom kernel that contains only the device drivers which your system
really needs (see section 6.0 of the FreeBSD.FAQ).  If your system has
sufficient free disk space to store and compile the kernel sources,
this is the option we most highly recommend.



2.      Default (GENERIC) Configuration
--      -------------------------------

The following table contains a list of all of the devices that are present
in the GENERIC kernel, which is the kernel (the operating system) that was
placed on your computer during the FreeBSD installation process.
(A compressed version of the GENERIC kernel is also used on the
installation floppy diskettes.)

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, but not all are used by each device.  They are:

   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 the value, it means that the
parameter 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
ahc1    dyn     dyn     dyn     dyn     Adaptec 274x/284x SCSI controller
ahb0    dyn     dyn     dyn     dyn     Adaptec 174x SCSI controller
aha0    330     dyn     5       dyn     Adaptec 154x SCSI controller
aic0    340     11      dyn     dyn     Adaptec 152x/AIC-6360 SCSI
                                        controller
nca0    1f88    10      dyn     dyn     ProAudioSpectrum cards
nca1    350     5       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

mcd0    300     10      n/a     n/a     Mitsumi CD-ROM
mcd1    340     11      n/a     n/a     Mitsumi CD-ROM

matcd0  dyn     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)
sio2    3e8     5       n/a     n/a     Serial Port 2 (COM3)
sio3    2e8     9       n/a     n/a     Serial Port 3 (COM4)

lpt0    dyn     7       n/a     n/a     Printer Port 0
lpt1    dyn     dyn     n/a     n/a     Printer Port 1
lpt2    dyn     dyn     n/a     n/a     Printer Port 2

de0                                     DEC DC21x40 PCI based cards
                                        (including 21140 100bT cards)
ed0     280     5       dyn     d8000   WD & SMC 80xx; Novell NE1000 &
                                        NE2000; 3Com 3C503
ed1     300     5       dyn     d8000   Same as ed0
eg0     310     5       dyn     dyn     3Com 3C505
ep0     300     10      dyn     dyn     3Com 3C509
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)
lnc1    300     10      n/a     dyn     See lnc0
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 this table and the item is not marked 'dyn', you will 
have to either reconfigure your hardware, or use UserConfig ('-c' boot
option) to reconfigure the kernel to match the way your hardware is
currently set (see section 1.0).   

If the settings do not match, the kernel may be unable to locate
or reliably access the devices in your system.



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):

apm:    Laptop Advanced Power Management (experimental)
ctx:    Cortex-I frame grabber
cx:     Cronyx/Sigma multiport sync/async
cy:     Cyclades high-speed serial driver
el:     3Com 3C501
fe:     Fujitsu MB86960A/MB86965A Ethernet cards
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
gusmax: Gravis Ultrasound MAX (currently broken)
gusxvi: Gravis Ultrasound 16-bit PCM
joy:    Joystick
labpc:  National Instrument's Lab-PC and Lab-PC+
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: Create 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 will no longer 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.  The reason for the change is because the
   ed driver used to read and try to use the soft configuration information
   even when the card was jumpered to use a hard configuration, and this
   caused problems.

   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 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.


Q: I have a Matsushita/Panasonic CD-ROM drive but it isn't recognized
   by the system, even if I use UserConfig to change the Port address to
   630, which is what my card uses.

A: Not all of the companies that sell the Matsushita/Panasonic CR-562
   and CR-563 drives use the same I/O ports and interface that the
   matcd driver in FreeBSD expects.  The only adapters that are supported
   at this time are those that are 100% compatible with the Creative
   Labs (SoundBlaster) host interface.  See matcd.4 documentation for a
   list of host adapters that are known to work.


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.

[ Please add more hardware tips to this Q&A section! ]
OpenPOWER on IntegriCloud