Subject: Re: NFS server hangs under 1.4.1
To: None <port-i386@netbsd.org>
From: Steve <stevep@mccue.com>
List: port-i386
Date: 03/05/2000 20:15:59
I've had similar NFS grief under 1.4.1.  Mostly on very
good hardware (P2-450/128MB)

Sometimes the machines hang and sometimes a 
full system reboot will happen randomly under load.
It's next to impossible to debug/trace.  It usually 
happens at least once every 2 days.

I do think I might have isolated it to the ep device
driver/3C509 NIC cards as I had two servers that were
exhibiting the behavior.  Both servers are dual-homed. 
One, I replaced both 3coms with Netgears/de device
and it has remained up and trouble free for close
to 3 weeks.  The other kept up the flakey behavior.

I have since replaced the internal NIC on the second 
machine with a single Netgear (the interface getting the
NFS traffic) and it hasn't rebooted or hung since 
(7 days running).    I'm fresh out of Netgear cards
which really sucks as they have been totally reliable.

If you have another NIC handy, you might want to
try it.  This might isolate if this is indeed a problem
with the NIC/ep driver.

Best Regards
Steve Paul
McCue Systems, Inc.


----- Original Message ----- 
From: "Scott Presnell" <srp@zgi.com>
To: "386 Port NetBSD" <port-i386@netbsd.org>
Sent: Sunday, March 05, 2000 7:47 PM
Subject: NFS server hangs under 1.4.1


> Hi Folks,
> This has been driving me nuts. 
> 
> I have a machine running NetBSD 1.4.1 which serves home and source
> directories
> using NFS3 over UDP.
> 
> I have clients, another NetBSD machine running the same release of
> 1.4.1 and
> an SGI indigo**2 running IRIX 6.5.
> 
> About once a week, sometimes under heavy usage, sometimes not, my server
> will hang during
> NFS server activity: it only happens during NFS service.  Either client
> can precipitate
> the server hang.  But I cannot reproduce this at will with heavy NFS
> traffic.  These are
> home machines in a mostly quiet network (just me and my wife).
> 
> I installed DDB in an effort to debug this, but Ctrl-Alt-Esc wouldn't
> get me to the debugging
> prompt, the only way to interrupt the hang is to power cycle.  The
> machine is dead to ping and
> any other attempts to contact it at the console.  The drive access light
> is on solid (perhaps
> this indicates its stuck in an interrupt routine?)  Nothing suspicious
> appears in the system logs.
> 
> I've tried bumping up NMBCLUSTERS to 1024, and I've also attempted to
> add splbio()/splx()
> protection as suggested in problem report #5681 but neither of these has
> made a difference
> as far as I can tell.
> 
> I include dmesg.boot below.  Things about my setup which may make a
> difference:
> 
> 1) The server is a slower machine (486+overdrive) than either of the
> clients
> (PPro and R8000 respectively). nic drivers are ep, fxp, and ec
> receptively.
> 
> 2) The server has a few things hanging off it, aic0, two lpt ports but
> these have
> been quiescent at the time of the hangs.
> 
> 3) The last thing I did to this machine was add some memory, but I've
> not seen
> any problems that would indicate bad memory.  The Maxtor drive is about
> 9 mons. old.
> 
> I could find a couple of "NFS under load" bug reports, but nothing that
> has helped resolve
> this case. Since I cannot get a stack trace or otherwise report on where
> this is hanging,
> I've been reluctant to file a problem report.
> 
> Where do I go from here?
> 
> Thanks for any suggestions...
> 
> - Scott Presnell (srp@zgi.com)
> 
> 
> 
> NetBSD 1.4.1 (RHINE) #14: Sun Feb 27 13:09:48 PST 2000
>     srp@srp1.olywa.net:/usr/src/sys/arch/i386/compile/RHINE
> cpu0: family 5 model 3 step 2
> cpu0: Intel OverDrive Pentium (P24T) (586-class)
> real mem  = 49938432
> avail mem = 44351488
> using 635 buffers containing 2600960 bytes of memory
> mainbus0 (root)
> pci0 at mainbus0 bus 0: configuration mode 1
> pci0: i/o enabled, memory enabled
> Compaq Triflex Host-PCI Bridge (miscellaneous prehistoric) at pci0 dev 0
> function 0 not configured
> vga1 at pci0 dev 10 function 0: Cirrus Logic CL-GD5434-8 (rev. 0x8e)
> wsdisplay0 at vga1: console (80x25, vt100 emulation)
> pcib0 at pci0 dev 15 function 0
> pcib0: Compaq PCI-ISA Bridge (rev. 0x02)
> isa0 at pcib0
> aic0 at isa0 port 0x340-0x35f irq 11
> scsibus0 at aic0: 8 targets, 8 luns per target
> st0 at scsibus0 targ 5 lun 0: <HP, T4000s, 1.10> SCSI2 1/sequential
> removable
> st0: rogue, density code 0x45, 512-byte blocks, write-enabled
> ep0 at isa0 port 0x300-0x30f irq 10: 3Com 3C509 Ethernet
> ep0: address 00:a0:24:4b:cb:6c, 8KB byte-wide FIFO, 5:3 Rx:Tx split
> ep0: 10baseT, 10base5 (default 10baseT)
> com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
> wdc0 at isa0 port 0x1f0-0x1f7 irq 14
> wd0 at wdc0 channel 0 drive 0: <Maxtor 84320A8>
> wd0: drive supports 16-sector pio transfers, lba addressing
> wd0: 4134MB, 8960 cyl, 15 head, 63 sec, 512 bytes/sect x 8467200 sectors
> wd0: drive supports PIO mode 4, DMA mode 2
> lpt0 at isa0 port 0x378-0x37b irq 7
> lpt1 at isa0 port 0x278-0x27b irq 5
> pckbc0 at isa0 port 0x60-0x64
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> sysbeep0 at pcppi0
> npx0 at isa0 port 0xf0-0xff: using exception 16
> fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
> fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
> biomask 4840 netmask 4c40 ttymask 4ce2
> IP Filter: initialized.  Default = pass all, Logging = enabled
> IP Filter: v3.3.2
> wscons: wskbd0 glued to wsdisplay0 (console)
> boot device: wd0
> root on wd0a dumps on wd0b
> root file system type: ffs
> ===
> 
> include "arch/i386/conf/std.i386"
> 
> maxusers        32              # estimated number of users
> 
> # CPU support.  At least one is REQUIRED.
> options         I386_CPU
> options         I486_CPU
> options         I586_CPU
> #options        I686_CPU
> 
> # CPU-related options.
> #options        MATH_EMULATE    # floating point emulation
> #options        VM86            # virtual 8086 emulation
> options         USER_LDT        # user-settable LDT; used by WINE
> # eliminate delay no-ops in I/O; recommended on all but very old
> machines
> #options        DUMMY_NOPS
> 
> # delay between "rebooting ..." message and hardware reset, in
> milliseconds
> #options        CPURESET_DELAY=2000
> 
> # Misc. i386-specific options
> #options        XSERVER         # X server support in console drivers
> #options        XSERVER_DDB     # PF12 gets you into DDB when X is
> running
> 
> # This option allows you to force a serial console at the specified
> # I/O address.   see console(4) for details.
> #options        "CONSDEVNAME=\"com\"",CONADDR=0x2f8,CONSPEED=57600
> #       you don't want the option below ON iff you are using the
> #       serial console option of the new boot strap code.
> #options        CONS_OVERRIDE   # Always use above! independent of boot
> info
> 
> # The following options override the memory sizes passed in from the
> boot
> # block.  Use them *only* if the boot block is unable to determine the
> correct
> # values.  Note that the BIOS may *correctly* report less than 640k of
> base
> # memory if the extended BIOS data area is located at the top of base
> memory
> # (as is the case on most recent systems).
> #options        REALBASEMEM=639         # size of base memory (in KB)
> #options        REALEXTMEM=15360        # size of extended memory (in
> KB)
> options         NMBCLUSTERS=1024
> 
> # Standard system options
> 
> options         UCONSOLE        # users can use TIOCCONS (for xconsole)
> options         INSECURE        # disable kernel security levels
> 
> options         RTC_OFFSET=480  # hardware clock is this many mins. west
> of GMT
> options         NTP             # NTP phase/frequency locked loop
> 
> options         KTRACE          # system call tracing via ktrace(1)
> 
> options         SYSVMSG         # System V-like message queues
> options         SYSVSEM         # System V-like semaphores
> options         SYSVSHM         # System V-like memory sharing
> #options        SHMMAXPGS=1024  # 1024 pages is the default
> 
> options         LKM             # loadable kernel modules
> 
> # Diagnostic/debugging support options
> #options        DIAGNOSTIC      # cheap kernel consistency checks
> #options        DEBUG           # expensive debugging checks/support
> options         KMEMSTATS       # kernel memory statistics (vmstat -m)
> options         DDB             # in-kernel debugger
> #options        DDB_HISTORY_SIZE=100    # enable history editing in DDB
> #options        KGDB            # remote debugger
> #options        "KGDB_DEVNAME=\"com\"",KGDBADDR=0x3f8,KGDBRATE=9600
> #makeoptions    DEBUG="-g"      # compile full symbol table
> 
> # Compatibility options
> options         COMPAT_NOMID    # compatibility with 386BSD, BSDI,
> NetBSD 0.8,
> options         COMPAT_09       # NetBSD 0.9,
> options         COMPAT_10       # NetBSD 1.0,
> options         COMPAT_11       # NetBSD 1.1,
> options         COMPAT_12       # NetBSD 1.2,
> options         COMPAT_13       # NetBSD 1.3,
> options         COMPAT_43       # and 4.3BSD
> options         COMPAT_386BSD_MBRPART # recognize old partition ID
> 
> options         COMPAT_SVR4     # binary compatibility with SVR4
> options         COMPAT_IBCS2    # binary compatibility with SCO and ISC
> options         COMPAT_LINUX    # binary compatibility with Linux
> options         COMPAT_FREEBSD  # binary compatibility with FreeBSD
> 
> # Executable format options
> options         EXEC_ELF32      # 32-bit ELF executables (SVR4, Linux)
> 
> # File systems
> file-system     FFS             # UFS
> #file-system    EXT2FS          # second extended file system (linux)
> file-system     LFS             # log-structured file system
> file-system     MFS             # memory file system
> file-system     NFS             # Network File System client
> file-system     CD9660          # ISO 9660 + Rock Ridge file system
> file-system     MSDOSFS         # MS-DOS file system
> file-system     FDESC           # /dev/fd
> file-system     KERNFS          # /kern
> file-system     NULLFS          # loopback file system
> #file-system    PORTAL          # portal filesystem (still experimental)
> file-system     PROCFS          # /proc
> file-system     UMAPFS          # NULLFS + uid and gid remapping
> #file-system    UNION           # union file system
> #file-system    CODA            # Coda File System; also needs vcoda
> (below)
> 
> # File system options
> #options        QUOTA           # UFS quotas
> #options        FFS_EI          # FFS Endian Independant support
> options         NFSSERVER       # Network File System server
> #options        EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append
> and
>                                 # immutable) behave as system flags.
> 
> # Networking options
> options         GATEWAY         # packet forwarding
> options         INET            # IP + ICMP + TCP + UDP
> options         MROUTING        # IP multicast routing
> #options        NS              # XNS
> #options        NSIP            # XNS tunneling over IP
> #options        ISO,TPIP        # OSI
> #options        EON             # OSI tunneling over IP
> #options        CCITT,LLC,HDLC  # X.25
> #options        NETATALK        # AppleTalk networking protocols
> #options        PPP_BSDCOMP     # BSD-Compress compression support for
> PPP
> #options        PPP_DEFLATE     # Deflate compression support for PPP
> #options        PPP_FILTER      # Active filter support for PPP
> (requires bpf)
> options         PFIL_HOOKS      # pfil(9) packet filter hooks
> options         IPFILTER_LOG    # ipmon(8) log support
> 
> # Compatibility with 4.2BSD implementation of TCP/IP.  Not recommended.
> #options        TCP_COMPAT_42
> 
> # These options enable verbose messages for several subsystems.
> # Warning, these may compile large string tables into the kernel!
> options         EISAVERBOSE     # verbose EISA device autoconfig
> messages
> options         PCIVERBOSE      # verbose PCI device autoconfig messages
> #options        PCMCIAVERBOSE   # verbose PCMCIA configuration messages
> options         SCSIVERBOSE     # human readable SCSI error messages
> #options                SCSIDEBUG
> options         USBVERBOSE      # verbose USB device autoconfig messages
> 
> options         NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
> 
> #
> # wscons options
> #
> # builtin terminal emulations
> #options        WSEMUL_SUN              # sun terminal emulation
> options         WSEMUL_VT100            # VT100 / VT220 emulation
> # different kernel output - see dev/wscons/wsdisplayvar.h
> options         WS_KERNEL_FG=WSCOL_GREEN
> #options        WS_KERNEL_BG=WSCOL_BLACK
> # compatibility to other console drivers
> options         WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
> options         WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
> options         WSDISPLAY_COMPAT_USL            # VT handling
> options         WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
> # see dev/pckbc/wskbdmap_mfii.c for implemented layouts
> #options        PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
> # allocate a number of virtual screens at autoconfiguration time
> #options        WSDISPLAY_DEFAULTSCREENS=4
> 
> # Kernel root file system and dump configuration.
> config          netbsd  root on ? type ?
> #config         netbsd  root on sd0a type ffs
> #config         netbsd  root on ? type nfs
> 
> #
> # Device configuration
> #
> 
> mainbus0 at root
> 
> #apm0   at mainbus0                     # Advanced power management
> 
> 
> # Basic Bus Support
> 
> # PCI bus support
> pci*    at mainbus? bus ?
> pci*    at pchb? bus ?
> pci*    at ppb? bus ?
> 
> # PCI bridges
> pchb*   at pci? dev ? function ?        # PCI-Host bridges
> pceb*   at pci? dev ? function ?        # PCI-EISA bridges
> pcib*   at pci? dev ? function ?        # PCI-ISA bridges
> ppb*    at pci? dev ? function ?        # PCI-PCI bridges
> # XXX 'puc's aren't really bridges, but there's no better place for them
> here
> puc*    at pci? dev ? function ?        # PCI "universal" comm. cards
> 
> # EISA bus support
> #eisa*  at mainbus?
> #eisa*  at pceb?
> 
> # ISA bus support
> isa*    at mainbus?
> isa*    at pceb?
> isa*    at pcib?
> 
> # PCMCIA bus support
> #pcmcia*        at pcic? controller ? socket ?
> #pcmcia*        at tcic? controller ? socket ?
> 
> # ISA PCMCIA controllers
> #pcic0  at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
> #pcic1  at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
> #tcic0  at isa? port 0x240 iomem 0xd0000 iosiz 0x4000
> 
> # PCI PCMCIA controllers
> #pcic0  at pci? dev? function ?
> 
> # ISA Plug-and-Play bus support
> #isapnp0        at isa?
> 
> # ISA Plug-and-Play PCMCIA controllers
> #pcic*  at isapnp?
> 
> # Coprocessor Support
> 
> # Math Coprocessor support
> npx0    at isa? port 0xf0 irq 13        # x86 math coprocessor
> 
> 
> # Console Devices
> 
> # ISA console.  You can only configure one of these!
> #pc0    at isa? port 0x60 irq 1         # pccons generic PC console
> driver
> #vt0    at isa? port 0x60 irq 1         # PCVT console driver
> 
> # Keyboard layout configuration for pccons
> #options        FRENCH_KBD
> #options        FINNISH_KBD
> #options        GERMAN_KBD
> #options        NORWEGIAN_KBD
> 
> # wscons
> pckbc0  at isa?                 # pc keyboard controller
> pckbd*  at pckbc?               # PC keyboard
> # "opms" should not be enabled together with "pms" or "pmsi"
> #pms*           at pckbc?               # PS/2 mouse for wsmouse
> #pmsi*          at pckbc?       # PS/2 "Intelli"mouse for wsmouse
> #opms*          at pckbc?               # backwards compatible PS/2
> mouse
> vga0            at isa?
> vga*            at pci?
> pcdisplay0      at isa?                 # CGA, MDA, EGA, HGA
> wsdisplay*      at vga? console ?
> wsdisplay*      at pcdisplay? console ?
> wskbd*  at pckbd? console ?
> #wsmouse*       at pms?
> #wsmouse*       at pmsi?
> 
> pcppi0  at isa?
> sysbeep0        at pcppi?
> 
> # Serial Devices
> 
> # PCI serial interfaces
> #com*   at puc? port ?                  # 16x450s on "universal" comm
> boards
> #cy*    at pci? dev ? function ?        # Cyclades Cyclom-Y serial
> boards
> 
> # ISA Plug-and-Play serial interfaces
> #com*   at isapnp?                      # Modems and serial boards
> 
> # PCMCIA serial interfaces
> #com*   at pcmcia? function ?           # Modems and serial cards
> 
> #pcmcom*        at pcmcia? function ?           # PCMCIA multi-port
> serial cards#com*   at pcmcom? slave ?              # ...and the slave
> devices
> 
> # ISA serial interfaces
> #options        COM_HAYESP              # adds Hayes ESP serial board
> support
> com0    at isa? port 0x3f8 irq 4        # Standard PC serial ports
> com1    at isa? port 0x2f8 irq 3
> #com2   at isa? port 0x3e8 irq 5
> #com3   at isa? port 0x2e8 irq 9
> #ast0   at isa? port 0x1a0 irq 5        # AST 4-port serial cards
> #com*   at ast? slave ?
> #boca0  at isa? port 0x100 irq 5        # BOCA 8-port serial cards
> #com*   at boca? slave ?
> #tcom0  at isa? port 0x100 irq 7        # TC-800 8-port serial cards
> #com*   at tcom? slave ?
> #rtfps0 at isa? port 0x1230 irq 10      # RT 4-port serial cards
> #com*   at rtfps? slave ?
> #cy0    at isa? iomem 0xd4000 irq 12    # Cyclades serial cards
> 
> 
> # Parallel Printer Interfaces
> 
> # PCI parallel printer interfaces
> lpt*    at puc? port ?                  # || ports on "universal" comm
> boards
> 
> # ISA parallel printer interfaces
> lpt0    at isa? port 0x378 irq 7        # standard PC parallel ports
> lpt1    at isa? port 0x278 irq 5
> #lpt2   at isa? port 0x3bc
> 
> 
> # SCSI Controllers and Devices
> 
> # PCI SCSI controllers
> #adv*   at pci? dev ? function ?        # AdvanSys 1200[A,B], 9xx[U,UA]
> SCSI
> #adw*   at pci? dev ? function ?        # AdvanSys 9xxUW SCSI
> #ahc*   at pci? dev ? function ?        # Adaptec [23]94x, aic78x0 SCSI
> #bha*   at pci? dev ? function ?        # BusLogic 9xx SCSI
> #isp*   at pci? dev ? function ?        # Qlogic ISP [12]0x0
> SCSI/FibreChannel
> #ncr*   at pci? dev ? function ?        # NCR 53c8xx SCSI
> #pcscp* at pci? dev ? function ?        # AMD 53c974 PCscsi-PCI SCSI
> 
> # EISA SCSI controllers
> #ahb*   at eisa? slot ?                 # Adaptec 174[02] SCSI
> #ahc*   at eisa? slot ?                 # Adaptec 274x, aic7770 SCSI
> #bha*   at eisa? slot ?                 # BusLogic 7xx SCSI
> #uha*   at eisa? slot ?                 # UltraStor 24f SCSI
> 
> # PCMCIA SCSI controllers
> #aic*   at pcmcia? function ?           # Adaptec APA-1460 SCSI
> 
> # ISA Plug-and-Play SCSI controllers
> #aha*   at isapnp?                      # Adaptec AHA-154[02
> #aic*   at isapnp?                      # Adaptec AHA-1520B
> 
> # ISA SCSI controllers
> #aha0   at isa? port 0x330 irq ? drq ?  # Adaptec 154[02] SCSI
> #aha1   at isa? port 0x334 irq ? drq ?
> #ahc0   at isa? port ? irq ?            # Adaptec 284x SCSI
> aic0    at isa? port 0x340 irq 11       # Adaptec 152[02] SCSI
> #bha0   at isa? port 0x330 irq ? drq ?  # BusLogic [457]4X SCSI
> #bha1   at isa? port 0x334 irq ? drq ?
> #nca0   at isa? port 0x360 irq 15       # Port-mapped NCR 53C80
> contoller
> #nca1   at isa? iomem 0xd8000 irq 5     # Memory-mapped controller
> (T128, etc.)
> #sea0   at isa? iomem 0xc8000 irq 5     # Seagate/Future Domain SCSI
> #uha0   at isa? port 0x330 irq ? drq ?  # UltraStor [13]4f SCSI
> #uha1   at isa? port 0x340 irq ? drq ?
> #wds0   at isa? port 0x350 irq 15 drq 6 # WD7000 and TMC-7000
> controllers
> #wds1   at isa? port 0x358 irq 11 drq 5
> 
> # SCSI bus support
> #scsibus* at adv?
> #scsibus* at adw?
> #scsibus* at aha?
> #scsibus* at ahb?
> #scsibus* at ahc?
> scsibus* at aic?
> #scsibus* at bha?
> #scsibus* at isp?
> #scsibus* at nca?
> #scsibus* at ncr?
> #scsibus* at pcscp?
> #scsibus* at sea?
> #scsibus* at uha?
> #scsibus* at wds?
> 
> # SCSI devices
> sd*     at scsibus? target ? lun ?      # SCSI disk drives
> st*     at scsibus? target ? lun ?      # SCSI tape drives
> cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
> ch*     at scsibus? target ? lun ?      # SCSI autochangers
> #ss*    at scsibus? target ? lun ?      # SCSI scanners
> uk*     at scsibus? target ? lun ?      # SCSI unknown
> 
> 
> # IDE and related devices
> # PCI IDE controllers - see pciide(4) for supported hardware.
> # The 0x0001 flag force the driver to use DMA, even if the driver
> doesn't know
> # how to set up DMA modes for this chip. This may work, or may cause
> # a machine hang with some controllers.
> pciide* at pci ? dev ? function ? flags 0x0000
> 
> # ISA Plug-and-Play IDE controllers
> #wdc*   at isapnp? 
> 
> # PCMCIA IDE controllers
> #wdc*   at pcmcia? function ?
> 
> # ISA ST506, ESDI, and IDE controllers
> wdc0    at isa? port 0x1f0 irq 14
> wdc1    at isa? port 0x170 irq 15
> 
> # IDE drives
> # Flags are used only with controllers that support DMA operations
> # and mode settings (e.g. some pciide controllers)
> # The lowest order four bits (rightmost digit) of the flags define the
> PIO
> # mode to use, the next set of four bits the DMA mode and the third set
> the
> # UltraDMA mode. For each set of four bits, the 3 lower bits define the
> mode
> # to use, and the last bit must be 1 for this setting to be used.
> # For DMA and UDMA, 0xf (1111) means 'disable'.
> # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
> # (0xc=1100, 0xa=1010, 0xf=1111)
> # 0x0000 means "use whatever the drive claims to support".
> wd*     at wdc? channel ? drive ? flags 0x0000
> wd*     at pciide? channel ? drive ? flags 0x0000
> 
> # ATAPI bus support
> atapibus* at wdc? channel ?
> atapibus* at pciide? channel ?
> 
> # ATAPI devices
> # flags have the same meaning as for IDE drives.
> cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
> sd*     at atapibus? drive ? flags 0x0000       # ATAPI disk drives
> uk*     at atapibus? drive ? flags 0x0000       # ATAPI unknown
> 
> 
> # Miscellaneous mass storage devices
> 
> # ISA floppy
> fdc0    at isa? port 0x3f0 irq 6 drq 2  # standard PC floppy controllers
> #fdc1   at isa? port 0x370 irq ? drq ?
> fd*     at fdc? drive ?                 # the drives themselves
> # some machines need you to do this instead of fd*
> #fd0    at fdc0 drive 0
> 
> # ISA CD-ROM devices
> #mcd0   at isa? port 0x300 irq 10       # Mitsumi CD-ROM drives
> 
> # ISA tape devices
> # note: the wt driver conflicts unpleasantly with SMC boards at the
> # same I/O address. The probe reprograms their EEPROMs. Don't
> # uncomment it unless you are actually using it.
> #wt0    at isa? port 0x308 irq 5 drq 1  # Archive and Wangtek QIC tape
> drives
> 
> 
> # Network Interfaces
> 
> # PCI network interfaces
> #de*    at pci? dev ? function ?        # DEC 21x4x-based Ethernet
> #en*    at pci? dev ? function ?        # ENI/Adaptec ATM
> #ep*    at pci? dev ? function ?        # 3Com 3c59x
> #ex*    at pci? dev ? function ?        # 3Com 90x[B]
> #epic*  at pci? dev ? function ?        # SMC EPIC/100 Ethernet
> #esh*   at pci? dev ? function ?        # Essential HIPPI card
> #fpa*   at pci? dev ? function ?        # DEC DEFPA FDDI
> #fxp*   at pci? dev ? function ?        # Intel EtherExpress PRO
> 10+/100B
> #le*    at pci? dev ? function ?        # PCnet-PCI Ethernet
> #ne*    at pci? dev ? function ?        # NE2000-compatible Ethernet
> #tl*    at pci? dev ? function ?        # ThunderLAN-based Ethernet
> #vr*    at pci? dev ? function ?        # VIA Rhine Fast Ethernet
> #lmc*   at pci? dev ? function ?        # Lan Media Corp SSI/HSSI/DS3
> 
> # EISA network interfaces
> #ep*    at eisa? slot ?                 # 3Com 3c579 Ethernet
> #fea*   at eisa? slot ?                 # DEC DEFEA FDDI
> 
> # ISA Plug-and-Play network interfaces
> #ep*    at isapnp?                      # 3Com 3c509 Ethernet
> #ne*    at isapnp?                      # NE2000-compatible Ethernet
> #tr*    at isapnp?                      # IBM/3COM TROPIC Token-Ring
> 
> # PCMCIA network interfaces
> #ep*    at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
> #mbe*   at pcmcia? function ?           # MB8696x based Ethernet
> #ne*    at pcmcia? function ?           # NE2000-compatible Ethernet
> #sm*    at pcmcia? function ?           # Megahertz Ethernet
> 
> # ISA network interfaces
> #ate0   at isa? port 0x2a0 irq ?                # AT1700
> #cs0    at isa? port 0x300 iomem ? irq ? drq ?  # CS8900 Ethernet
> #ec0    at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
> #eg0    at isa? port 0x280 irq 9                # 3C505 ethernet cards
> #el0    at isa? port 0x300 irq 9                # 3C501 ethernet cards
> ep0     at isa? port ? irq ?                    # 3C509 ethernet cards
> #ef0    at isa? port 0x360 iomem 0xd0000 irq 7  # 3C507
> #ai0    at isa? port 0x360 iomem 0xd0000 irq 7  # StarLAN
> #fmv0   at isa? port 0x2a0 irq ?                # FMV-180 series
> #ix0    at isa? port 0x300 irq 10               # EtherExpress/16
> #iy0    at isa? port 0x360 irq ?                # EtherExpress PRO 10
> ISA
> #lc0    at isa? port 0x320 iomem ? irq ?        # DEC EtherWORKS III
> (LEMAC)
> #depca0 at isa? port 0x300 iomem 0xc8000 iosiz 0x8000 irq 5     # DEPCA
> #le*    at depca?
> #nele0  at isa? port 0x320 irq 9 drq 7          # NE2100
> #le*    at nele?
> #bicc0  at isa? port 0x320 irq 10 drq 7         # BICC IsoLan
> #le*    at bicc?
> #ne0    at isa? port 0x280 irq 9                # NE[12]000 ethernet
> cards
> #ne1    at isa? port 0x300 irq 10
> #sm0    at isa? port 0x300 irq 10               # SMC91C9x Ethernet
> #tr0    at isa? port 0xa20 iomem 0xd8000 irq ?  # IBM TROPIC based
> Token-Ring
> #tr1    at isa? port 0xa24 iomem 0xd0000 irq ?  # IBM TROPIC based
> Token-Ring
> #tr*    at isa? port ? irq ?                    # 3COM TROPIC based
> Token-Ring
> #we0    at isa? port 0x280 iomem 0xd0000 irq 9  # WD/SMC Ethernet
> #we1    at isa? port 0x300 iomem 0xcc000 irq 10
> 
> # MII/PHY support
> exphy*  at mii? phy ?                   # 3Com internal PHYs
> #icsphy*        at mii? phy ?                   # Integrated Circuit
> Systems ICS1890
> #inphy* at mii? phy ?                   # Intel 82555 PHYs
> #lxtphy*        at mii? phy ?                   # Level One LXT-970 PHYs
> #nsphy* at mii? phy ?                   # NS83840 PHYs
> #qsphy* at mii? phy ?                   # Quality Semiconductor QS6612
> PHYs
> #sqphy* at mii? phy ?                   # Seeq 80220/80221/80223 PHYs
> #tlphy* at mii? phy ?                   # ThunderLAN PHYs
> #ukphy* at mii? phy ?                   # generic unknown PHYs
> 
> # USB Controller and Devices
> 
> # PCI USB controllers
> #uhci*  at pci?                         # Universal Host Controller
> (Intel)
> #ohci*  at pci?                         # Open Host Controller
> 
> # USB bus support
> #usb*   at uhci?
> #usb*   at ohci?
> 
> # USB Hubs
> #uhub*  at usb?
> #uhub*  at uhub? port ? configuration ? interface ?
> 
> # USB Mice
> #ums*   at uhub? port ? configuration ? interface ?
> #wsmouse*       at ums?
> 
> # USB Keyboards
> #ukbd*  at uhub? port ? configuration ? interface ?
> #wskbd* at ukbd? console ?
> 
> # USB Generic HID devices
> #uhid*  at uhub? port ? configuration ? interface ?
> 
> # USB Printer
> #ulpt*  at uhub? port ? configuration ? interface ?
> 
> # USB Generic driver
> #ugen*  at uhub? port ? configuration ? interface ?
> 
> # Audio Devices
> 
> # PCI audio devices
> #eap*   at pci? dev ? function ?        # Ensoniq AudioPCI
> #sv*    at pci? dev ? function ?        # S3 SonicVibes
> 
> # ISA Plug-and-Play audio devices
> #ess*   at isapnp?                      # ESS Tech ES1887, ES1888, ES888
> audio
> #guspnp*        at isapnp?                      # Gravis Ultra Sound PnP
> audio
> #sb*    at isapnp?                      # SoundBlaster-compatible audio
> #wss*   at isapnp?                      # Windows Sound System
> #ym*    at isapnp?                      # Yamaha OPL3-SA3 audio
> 
> # ISA audio devices
> # the "aria" probe might give false hits
> #aria0  at isa? port 0x290 irq 10               # Aria
> #gus0   at isa? port 0x220 irq 7 drq 1 drq2 6   # Gravis Ultra Sound
> #pas0   at isa? port 0x220 irq 7 drq 1          # ProAudio Spectrum
> #pss0   at isa? port 0x220 irq 7 drq 6          # Personal Sound System
> #sp0    at pss0 port 0x530 irq 10 drq 0         #       sound port
> driver
> #sb0    at isa? port 0x220 irq 5 drq 1 drq2 5   # SoundBlaster
> #sb0    at isa? port 0x220 irq 5 drq 3 drq2 7   # SoundBlaster - from
> Win95
> #wss0   at isa? port 0x530 irq 10 drq 0 drq2 1  # Windows Sound System
> 
> # OPL[23] FM syntheziers
> #opl0   at isa? port 0x388      # use only if not attached to sound card
> #opl*   at ess?
> #opl*   at sb?
> #opl*   at sv?
> 
> # Audio support
> #audio* at aria?
> #audio* at eap?
> #audio* at ess?
> #audio* at gus?
> #audio* at guspnp?
> #audio* at pas?
> #audio* at sb?
> #audio* at sp?
> #audio* at sv?
> #audio* at wss?
> #audio* at ym?
> 
> # MIDI support
> #midi*  at pcppi?               # MIDI interface to the PC speaker
> #midi*  at sb?                  # SB MPU401 port
> #midi*  at opl?                 # OPL FM synth
> 
> # The spkr driver provides a simple tone interface to the built in
> speaker.
> spkr0   at pcppi?               # PC speaker
> 
> 
> # Mice
> 
> # ISA busmice
> #lms0   at isa? port 0x23c irq 5        # Logitech bus mouse
> #lms1   at isa? port 0x238 irq 5
> #mms0   at isa? port 0x23c irq 5        # Microsoft InPort mouse
> #mms1   at isa? port 0x238 irq 5
> #wsmouse*       at lms?
> #wsmouse*       at mms?
> # backwards compatible versions
> #olms0  at isa? port 0x23c irq 5        # Logitech bus mouse
> #olms1  at isa? port 0x238 irq 5
> #omms0  at isa? port 0x23c irq 5        # Microsoft InPort mouse
> #omms1  at isa? port 0x238 irq 5
> #opms0  at pc? irq 12           # PS/2 auxiliary port mouse
> #opms0  at vt? irq 12           # PS/2 auxiliary port mouse
> 
> 
> # Joysticks
> 
> # ISA Plug-and-Play joysticks
> #joy*   at isapnp?                      # Game ports (usually on audio
> cards)
> 
> # ISA joysticks. Probe is a little strange; add only if you have one.
> #joy0   at isa? port 0x201
> 
> 
> # Miscellaneous Devices
> 
> # Planetconnect Satellite receiver driver.
> #satlink0 at isa? port 0x300 drq 1
> 
> 
> # Pull in optional local configuration
> include "arch/i386/conf/GENERIC.local"
> 
> 
> # Pseudo-Devices
> 
> # disk/mass storage pseudo-devices
> #pseudo-device  ccd             4       # concatenated/striped disk
> devices
> #pseudo-device  raid            4       # RAIDframe disk driver
> pseudo-device   md              1       # memory disk device (ramdisk)
> pseudo-device   vnd             4       # disk-like interface to files
> 
> # network pseudo-devices
> pseudo-device   bpfilter        8       # Berkeley packet filter
> pseudo-device   ipfilter                # IP filter (firewall) and NAT
> pseudo-device   loop                    # network loopback
> pseudo-device   ppp             2       # Point-to-Point Protocol
> #pseudo-device  sl              2       # Serial Line IP
> #pseudo-device  strip           2       # Starmode Radio IP (Metricom)
> pseudo-device   tun             2       # network tunneling over tty
> pseudo-device   gre             2       # generic L3 over IP tunnel
> pseudo-device   ipip            2       # IP Encapsulation within IP
> (RFC 2003)
> 
> # miscellaneous pseudo-devices
> pseudo-device   pty             64      # pseudo-terminals
> #pseudo-device  tb              1       # tablet line discipline
> #pseudo-device  sequencer       1       # MIDI sequencer
> # rnd works; RND_COM does not on port i386 yet.
> pseudo-device   rnd                     # /dev/random and in-kernel
> generator
> #options        RND_COM                 # use "com" randomness as well
> (BROKEN)
> 
> # a pseudo device needed for Coda       # also needs CODA (above)
> #pseudo-device  vcoda           4       # coda minicache <-> venus comm.
>