Subject: Kingston PCI ethernet (de0) causes boot to hang on 1.3
To: Alexis Rosen <port-i386@NetBSD.ORG, alexis@panix.com>
From: Brian Marcotte <marcotte@panix.com>
List: port-i386
Date: 02/13/1998 15:35:46
Usually when I boot a 1.3 kernel with a Kingston PCI ethernet, it hangs
when /etc/netstart configures the interface. I am running with serial
console. To continue the boot process, I need to press any key or cycle
the RS-232 control lines.

I have many machines with these cards, with many different configs.
Every machine running 1.3 with a Kingston PCI ethernet has this problem.
Enclosed are sample boot messages and kernel config.                      

I got a DDB trace at the point it was hanging.

Any help would be greatly appreciated.
Thanks.

--------------------------------------------------------------------

NetBSD 1.3 (PANIX-WEB) #0: Fri Feb 13 13:55:58 EST 1998
    marcotte@trinity.panix.com:/usr/src-1.3/sys/arch/i386/compile/PANIX-WEB
cpu0: family 5 model 2 step 5
cpu0: Intel Pentium (P54C) (586-class)
real mem  = 49938432
avail mem = 47624192
using 635 buffers containing 2600960 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82437FX System Controller (TSC) (rev. 0x02)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371FB PCI-to-ISA Bridge (PIIX) (rev. 0x02)
Intel 82371FB IDE controller (PIIX) (IDE mass storage, interface 0x80, revision 0x02) at pci0 dev 7 function 1 not configured
de0 at pci0 dev 10 function 0
de0: interrupting at irq 10
de0: 21041 [10Mb/s] pass 1.1
de0: address 00:c0:f0:15:e8:22
bha0 at pci0 dev 11 function 0: BusLogic 9xxC SCSI
bha0: interrupting at irq 11
bha0: model BT-946C, firmware 4.25J
bha0: sync, parity
bha0 targ 1: sync, offset 15, period 100nsec
scsibus0 at bha0: 8 targets
sd0 at scsibus0 targ 1 lun 0: <QUANTUM, XP34301, 1071> SCSI2 0/direct fixed
sd0: 4106MB, 4076 cyl, 20 head, 103 sec, 512 bytes/sect x 8410200 sectors
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
com1: console
lpt0 at isa0 port 0x378-0x37b irq 7
npx0 at isa0 port 0xf0-0xff: using exception 16
pcvt: doreeset() - got KEYB_R_RESEND response ... [one time only msg]
pcvt: doreset() - Caution - no PC keyboard detected!
vt0 at isa0 port 0x60-0x6f irq 1
vt0: unknown trident, 80 col, color, 8 scr, unknown kbd, [R3.32]
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
biomask 840 netmask c40 ttymask cc2
de0: enabling 10baseT port
boot device: sd0
root on sd0a dumps on sd0b
root file system type: ffs
[some /etc/rc messages cut]
starting network
hostname: www1.panix.com
configuring netwde0: enabling 10baseT port
de0: abnormal interrupt: receive process stopped

telnet> send brk
Stopped at      _Debugger+0x4:  leave
db> trace
_Debugger(f0775dc0,f0343ff0,f02a8ea8,0,0) at _Debugger+0x4
_comintr(f0770800) at _comintr+0x89
_Xintr3() at _Xintr3+0x6b
--- interrupt ---
_bzero(2ea9000,f428eef8,f018ba2e,f0343ff0,effbe000) at _bzero+0x6c
_vm_page_zero_fill(f0343ff0,effbe000,effbe000,effbf000,26000) at _vm_page_zero_
fill+0x12
_vm_fault(f0851a00,effbe000,7,1) at _vm_fault+0x412
_vm_fault_wire(f0851a00,effbe000,effbf000,200fff,0) at _vm_fault_wire+0x35
_vm_map_pageable(f0851a00,effbe000,effbf000,0) at _vm_map_pageable+0x281
_trap() at _trap+0x415
--- trap (number 6) ---
0x2670c:
db> cont
ork interfaces: de0.
add net default: gateway 166.84.0.222
adding interface aliases:
add host 198.7.0.78: gateway 127.0.0.1
starting system logger

------------------------------------------------------------------------

#
#

include "arch/i386/conf/std.i386"

options         "NMBCLUSTERS=4096"
options         "MAXUPRC=512"

maxusers        64              # 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

# Misc. i386-specific options
#options        XSERVER         # X server support in console drivers

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options        "CONSDEVNAME=\"com\""

# 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=... # size of base memory
#options        REALEXTMEM=...  # size of extended memory

# Standard system options

#options        UCONSOLE        # users can use TIOCCONS (for xconsole)
#options        INSECURE        # disable kernel security levels

options         RTC_OFFSET=0    # 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_ONPANIC=0   # See if we can find out why de0 hangs on boot
#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_43       # and 4.3BSD

#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 options
#options        QUOTA           # UFS quotas
options         NFSSERVER       # Network File System server
options         FIFO            # FIFOs; RECOMMENDED
#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

# 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

# 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
pcib*   at pci? dev ? function ?        # PCI-ISA bridges
ppb*    at pci? dev ? function ?        # PCI-PCI bridges

# EISA bus support
#eisa*  at mainbus?

# ISA bus support
isa*    at mainbus?
isa*    at pcib?

# PCMCIA bus support
#pcmcia*        at pcic? controller ? socket ?

# ISA PCMCIA controllers
#pcic0  at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
#pcic1  at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000

# ISA Plug-and-Play bus support
#isapnp0        at isa?


# 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


# Serial Devices

# PCI serial interfaces
#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

# 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 ?
#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

# ISA parallel printer interfaces
lpt0    at isa? port 0x378 irq 7        # standard PC parallel ports
#lpt1   at isa? port 0x278
#lpt2   at isa? port 0x3bc


# SCSI Controllers and Devices

# PCI SCSI controllers
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

# 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 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 ?
#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 0x334 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 aha?
#scsibus* at ahb?
scsibus* at ahc?
#scsibus* at aic?
scsibus* at bha?
#scsibus* at isp?
scsibus* at ncr?
#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

# ISA IDE controllers
#wdc0   at isa? port 0x1f0 irq 14       # ST506, ESDI, and IDE controllers
#wdc1   at isa? port 0x170 irq 15

# IDE drives
#wd*    at wdc? drive ?                 # the drives themselves

# ATAPI bus support
#atapibus* at wdc?

# ATAPI devices
#cd*    at atapibus? drive ?            # ATAPI CD-ROM drives


# 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 ed devices 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 0x300 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/3c90x Ethernet
#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

# 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

# PCMCIA network interfaces
#ep*    at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
#ne*    at pcmcia? function ?           # NE2000-compatible Ethernet
#sm*    at pcmcia? function ?           # Megahertz Ethernet

# ISA network interfaces
#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
#fe0    at isa? port 0x2a0 irq ?                # AT1700
#ie0    at isa? port 0x360 iomem 0xd0000 irq 7  # StarLAN and 3C507
#ie1    at isa? port 0x300 irq 10               # EtherExpress
#iy0    at isa? port 0x360 irq ?                # EtherExpress PRO 10 ISA
#lc0    at isa? port 0x320 iomem ? irq ?        # DEC EtherWORKS III (LEMAC)
#le0    at isa? port 0x320 irq 10 drq 7         # IsoLan, NE2100, and DEPCA
#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
#we0    at isa? port 0x280 iomem 0xd0000 irq 9  # WD/SMC Ethernet
we1     at isa? port 0x300 iomem 0xcc000 irq 10
we2     at isa? port 0x280 iomem 0xd0000 irq 10 # web1

# MII bus support
#mii*   at tl?

# MII PHY network interfaces
#tlphy* at mii? dev ?                   # ThunderLAN PHYs
#nsphy* at mii? dev ?                   # NS and compatible PHYs


# Audio Devices

# ISA Plug-and-Play audio devices
#guspnp*        at isapnp?                      # Gravis Ultra Sound PnP audio
#sb*    at isapnp?                      # SoundBlaster-compatible audio

# ISA audio devices
#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 7 drq 1 drq2 5   # SoundBlaster
#wss0   at isa? port 0x530 irq 10 drq 0 drq2 1  # Windows Sound System

# Audio support
#audio* at gus?
#audio* at guspnp?
#audio* at pas?
#audio* at sb?
#audio* at sp?
#audio* at wss?

# The spkr driver provides a simple tone interface to the built in speaker.
#spkr0  at pckbd? port 0x61             # 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
#pms0   at pckbd? 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  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

# miscellaneous pseudo-devices
pseudo-device   pty             64      # pseudo-terminals
#pseudo-device  tb              1       # tablet line discipline

# rnd is EXPERIMENTAL at this point.
#pseudo-device  rnd                     # /dev/random and in-kernel generator
#options        RND_COM                 # use "com" randomness as well (BROKEN)