Subject: kern/10085: kernel freeze with 3C 3CXM576 pcmcia modem
To: None <gnats-bugs@gnats.netbsd.org>
From: None <matthieu@laas.fr>
List: netbsd-bugs
Date: 05/09/2000 13:30:16
>Number: 10085
>Category: kern
>Synopsis: kernel freeze with 3C 3CXM576 pcmcia modem
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue May 09 13:31:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Matthieu Herrb
>Release: NetBSD-current May 8 2000
>Organization:
LAAS/CNRS Toulouse, France
>Environment:
System: NetBSD bluenote 1.4Y NetBSD 1.4Y (BLUENOTE) #75: Tue May 9 21:45:09 CEST 2000 matthieu@bluenote:/local/NetBSD/src/sys/arch/i386/compile/BLUENOTE i386
>Description:
I recently bought a 3COM 3CXM756 pcmcia modem for my laptop. It's
detected by my -current kernel, but then during ttyflags -a the kernel
outputs 4 time the following message:
com1: com_iflush timeout 0d
And when I try to use tip to talk to the modem, the kernel generates a
few other com_iflush timeout messages and then the machine completly
freezes and stop responding to pings. Dropping into DDB I get the
following trace:
db> trace
cpu_Debugger(c0474d00,db753d74,c02144e0,c0474d00,db753d80) at cpu_Debugger+0x4
internal_command(c0474d00,db75380,f420,1,c02a1e20) at internal_command+0x150
wskbd_translate(c02a1aE0,2,1,c046aa80,c02a1e20) at wskbd_translate+0xd8
wskbd_input(c0474d00,2,1,1,2) at wskbd_input+0x50
pckbd_input(c046aa80,1) at pckbd_input+0x4e
pckbcintr(c045e500) at pckbcintr+0xdb
Xintr1() at Xintr1+0x6c
--- interrupt ---
comintr(c047d800) at comintr+0x415
pccbintr_function(c0460200,c0469ce0,db7445f0,db7445f0,1) at pccbintr_function+0x1b
pccbintr(c0460200) at pccbintr+0x5a
Xintr11() at Xintr11+0x70
--- interrupt ---
idle(c0471800,c0471850,0,0,db753f94) at idle+0x21
pbendtsleep(c0471800,20,c026b5ba,72,c0471850,6,0,c0471800,c0471850,2,0) at bpendtsleep
apm_thread(c0471800) at apm_thread+0x58
Bad frame pointer: 0xc02ede80
db>
The machine is a Dell Lattitude CPi300.
For completness, here's my kernel config file
--- snip ---
include "arch/i386/conf/std.i386"
maxusers 32 # estimated number of users
# CPU support. At least one is REQUIRED.
options I686_CPU
# CPU-related options.
# 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
#options XSERVER_DDB # PF12 gets you into DDB when X is running
# Standard system options
options UCONSOLE # users can use TIOCCONS (for xconsole)
options INSECURE # disable kernel security levels
options RTC_OFFSET="-120" # 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 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_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4
options COMPAT_43 # and 4.3BSD
options COMPAT_AOUT # NetBSD a.out
options COMPAT_LINUX # binary compatibility with Linux
#options COMPAT_FREEBSD # binary compatibility with FreeBSD
# File systems
file-system FFS # UFS
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 NTFS # Windows NT
file-system FDESC # /dev/fd
file-system KERNFS # /kern
file-system PROCFS # /proc
# File system options
options SOFTDEP # FFS soft updates support.
options NFSSERVER # Network File System server
# Networking options
options GATEWAY # packet forwarding
options INET # IP + ICMP + TCP + UDP
#options MROUTING # IP multicast routing
#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
# 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 USBVERBOSE # verbose USB device autoconfig messages
# wscons options
#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 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/wscons/wskbdmap_mfii.h for implemented layouts
options PCKBD_LAYOUT="KB_FR"
# options APM_NO_IDLE
options BUFCACHE=15
# Kernel root file system and dump configuration.
config netbsd root on ? type ?
#
# Device configuration
#
mainbus0 at root
apm0 at mainbus0 # Advanced power management
# Basic Bus Support
# PnP BIOS `bus' support
pnpbios* at mainbus?
com* at pnpbios? index ?
lpt* at pnpbios? index ?
wss* at pnpbios? index ?
# PCI bus support
pci* at mainbus? bus ?
pci* at pchb? bus ?
options PCIBIOS # PCI BIOS support
options PCIBIOSVERBOSE # PCI BIOS verbose info
options PCIBIOS_INTR_FIXUP # fixup PCI interrupt routing
#options PCIINTR_DEBUG # super-verbse PCI interrupt fixup
options PCIBIOS_BUS_FIXUP # fixup PCI bus numbering
# PCI bridges
pchb* at pci? dev ? function ? # PCI-Host bridges
pcib* at pci? dev ? function ? # PCI-ISA bridges
# options CBB_PCI_BASE=0x10000000
# ISA bus support
# isa* at mainbus?
isa* at pcib?
# ISA Plug-and-Play bus support
# isapnp0 at isa?
# 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
# PCI PCMCIA controllers
pcic0 at pci? dev? function ?
cbb* at pci? dev? function ?
cardslot* at cbb?
# CardBus bus support
cardbus* at cardslot?
pcmcia* at cardslot?
# Coprocessor Support
# Math Coprocessor support
npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# Console Devices
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
pms* at pckbc? # PS/2 mouse for wsmouse
#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 ?
wsmouse0 at pms?
pcppi0 at isa?
sysbeep0 at pcppi?
# Serial Devices
# CardBus serial interfaces
com* at cardbus? function ? # Modems and serial cards
# 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
# Parallel Printer Interfaces
# ISA parallel printer interfaces
lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports
# PCI IDE controllers (CMD tech's PCI0640, Intel's PIIx, ...).
# 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
# IDE drives.
# Flags are used only with controlers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The first 4 bytes of the flags define the PIO mode to use, the
# second DMA mode and the third UltraDMA mode. For each group of 4 bytes,
# the 3 lower define the mode to use, and the last one must be 1 for the
# setting to be used. For DMA and UDMA, 0xf means 'disable'.
# 0x0fac means 'use PIO mode 4 DMA mode 2, disable UltraDMA'.
# 0x0000 means "use whatever the drive claims to support.
wd* at pciide? channel ? drive ? flags 0x0000
wd* at wdc? 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
fd* at fdc? drive ? # the drives themselves
# PCMCIA IDE controllers
wdc* at pcmcia? function ?
# Network Interfaces
# CardBus network cards
ex* at cardbus? dev ? function ? # 3Com 3C575TX
# MII/PHY support
tqphy* at mii? phy ? # TDK Semiconductor PHYs
# USB Controller and Devices
# PCI USB controllers
uhci* at pci? # Universal Host Controller (Intel)
# USB bus support
usb* at uhci?
# USB Hubs
uhub* at usb?
uhub* at uhub? port ? configuration ? interface ?
# USB Mice
ums* at uhub? port ? configuration ? interface ?
wsmouse* at ums? mux 0
# Audio Devices
# OPL[23] FM syntheziers
opl* at wss?
audio* at wss?
# MIDI support
midi* at opl?
midi* at pcppi? # MIDI interface to the PC speaker
# Pseudo-Devices
# disk/mass storage pseudo-devices
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
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
# 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
--- snip ---
and the dmesg output :
--- snip ---
NetBSD 1.4Y (BLUENOTE) #75: Tue May 9 21:45:09 CEST 2000
matthieu@bluenote:/local/NetBSD/src/sys/arch/i386/compile/BLUENOTE
cpu0: family 6 model 5 step 2
cpu0: Intel Pentium II (Deschutes) (686-class)
total memory = 65088 KB
avail memory = 51456 KB
using 2430 buffers containing 9720 KB of memory
BIOS32 rev. 0 found at 0xffe90
PCI BIOS rev. 2.1 found at 0xfbc8e
pcibios: config mechanism [1][x], special cycles [x][x], last bus 0
PCI IRQ Routing Table rev. 1.0 found at 0xfb950, size 112 bytes (5 entries)
PCI Interrupt Router at 000:07:0 (Intel 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX))
--------------------------------------------
device vendor product pin PIRQ IRQ stage
--------------------------------------------
000:02:0 0x10c8 0x0004 A 0x00 11 0
000:03:0 0x104c 0xac15 A 0x03 11 0
000:03:1 0x104c 0xac15 B 0x03 11 0
000:07:2 0x8086 0x7112 D 0x03 11 0
--------------------------------------------
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI bridge 1: primary 0, secondary 2, subordinate 2
PCI bus #2 is the last bus
mainbus0 (root)
pnpbios0 at mainbus0: nodes 14, max len 110
pnpbios0: not docked
com0 at pnpbios0 index 12 (PNP0501)
com0: io 3f8-3ff, irq 4
com0: ns16550a, working fifo
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443BX Host Bridge/Controller (AGP disabled) (rev. 0x02)
vga0 at pci0 dev 2 function 0: Neomagic MagicGraph 128XD (rev. 0x01)
wsdisplay0 at vga0: console (80x25, vt100 emulation)
cbb0 at pci0 dev 3 function 0: Texas Instruments PCI1131 PCI-CardBus Bridge (rev. 0x01)
cbb1 at pci0 dev 3 function 1: Texas Instruments PCI1131 PCI-CardBus Bridge (rev. 0x01)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x01)
pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <IBM-DADA-26480>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 6194 MB, 13424 cyl, 15 head, 63 sec, 512 bytes/sect x 12685680 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: secondary channel ignored (disabled)
uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x01) at pci0 dev 7 function 3 not configured
cbb0: interrupting at irq 11
cbb0: cacheline 0x8 lattimer 0x20
cbb0: bhlc 0x822008 lscp 0x20010100
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 1 device 0 cacheline 0x8, lattimer 0x20
pcmcia0 at cardslot0
cbb1: interrupting at irq 11
cbb1: cacheline 0x8 lattimer 0x20
cbb1: bhlc 0x822008 lscp 0x20020200
cardslot1 at cbb1 slot 1 flags 0
cardbus1 at cardslot1: bus 2 device 0 cacheline 0x8, lattimer 0x20
pcmcia1 at cardslot1
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
apm0 at mainbus0: Power Management spec V1.2
biomask efed netmask efed ttymask ffef
pcmcia0: CIS version PC Card Standard 5.0
pcmcia0: CIS info: 3Com Megahertz, 3CXM756/3CCM756
pcmcia0: Manufacturer code 0x101, product 0x3f
pcmcia0: function 0: serial port, ccr addr 300 mask 17
pcmcia0: function 0, config table entry 32: I/O card; irq mask ffff; iomask a, iospace 3f8-3ff; rdybsy_active io8 irqlevel powerdown audio
pcmcia0: function 0, config table entry 33: I/O card; irq mask ffff; iomask a, iospace 2f8-2ff; rdybsy_active io8 irqlevel powerdown audio
pcmcia0: function 0, config table entry 34: I/O card; irq mask ffff; iomask a, iospace 3e8-3ef; rdybsy_active io8 irqlevel powerdown audio
pcmcia0: function 0, config table entry 35: I/O card; irq mask ffff; iomask a, iospace 2e8-2ef; rdybsy_active io8 irqlevel powerdown audio
com1 at pcmcia0 function 0: serial device
com1: ns16550a, working fifo
ex0 at cardbus1 dev 0 function 0: 3Com 3c575B-TX Ethernet
ex0: interrupting at 11
ex0: MAC address 00:10:4b:f1:2d:cc
tqphy0 at ex0 phy 0: 78Q2120 10/100 media interface, rev. 3
tqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
com1: com_iflush timeout 0d
com1: com_iflush timeout 0d
com1: com_iflush timeout 0d
com1: com_iflush timeout 0d
com1: com_iflush timeout 0d
XFree86 aperture driver version 1.99
Pentium Pro MTRR support enabled
IP Filter: v3.4.1 initialized. Default = pass all, Logging = disabled
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
--- snip ---
>How-To-Repeat:
Put a 3CXM756 modem in a laptop ?
>Fix:
Unknown
>Release-Note:
>Audit-Trail:
>Unformatted: