Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Dec 2000 09:16:32 -0500 (EST)
From:      Bill Chiarchiaro <wjc@work.cleartech.com>
To:        freebsd-mobile@freebsd.org
Subject:   -STABLE PNPBIOS / PC Card / Sound problem on IBM 600E
Message-ID:  <200012011416.JAA09509@sunpal1.mit.edu>

next in thread | raw e-mail | index | archive | help

  I've run into a problem going from 4.1-RELEASE to -STABLE on my IBM
600E.  The machine is experiencing hangs, apparently related to the
PNPBIOS kernel option.

  Under 4.1-RELEASE, I had included 'options PNPBIOS' and 'device pcm'
in my kernel conf file to get the sound hardware to work.  Sound
worked well, except for the known problems of non-deterministic
probing, driver confusion across an APM suspend / resume cycle, and
low record volume (I've seen Jonathan Chen's sys/conf/files patch for
the first problem, and I've found fixes from the Linux folks for the
other two).  A nearly full set of sample rate, data format, and mono /
stereo capabilities was reported by 'mpg123 -vv'.

  On November 13, I started to track -STABLE.  I used my existing conf
file to build a new kernel.  The updated system booted to multi-user,
I logged in, and it hanged after about 30 seconds.

  When this problem occurs, there is no panic or other message.  The
system does not respond to the keyboard; I can't even drop into the
kernel debugger.  However, some interrupt processing still takes
place.  If I pull a PC Card, a removal message is printed on the
console.

  I power cycled the system and booted single-user.  I built another
kernel using the -STABLE GENERIC conf file.  The system worked fine
single-user, and it worked fine multi-user with the GENERIC kernel.  I
began trimming the conf file and adding back the features I needed.  I
most recently synced with -STABLE on November 28, and the problem is
still present.

  Here's what I've been able to determine:

  The problem happens only if 'options PNPBIOS' is in the kernel conf.

  The problem is stimulated by PC Card activities.  The PC Cards I'm
using are a 3Com 3CXM556 modem and a 3Com 3C589D NIC.  The guilty
activities have changed as I've varied the kernel conf file or made
other changes to the source.  At first, the guilty activities were:

	Booting with PC Cards installed.
	Removing or inserting a card once the system was running.
	Trying to use a card (e.g. invoking kermit on the modem).

As of now, the only guilty activity is booting with the cards
installed.  If I insert them after the system is up, the problem does
not occur (I can remove and insert repeatedly and make use of the
cards).

  I have applied Jonathan Chen's sys/conf/files patch, and pcm0 is
being found at boot time.  Unfortunately, the set of capabilities as
reported by 'mpg123 -vv' is now very meager --- just mono at 8,000 and
11,025 samples/second.  This is with 'options PNPBIOS' and 'device
pcm' in the kernel conf.  The behavior is the same whether or not
'device csa' is also in the conf.

  I wondered if the hanging problem is due to an interrupt conflict,
but why wouldn't it have been a problem under 4.1-RELEASE?

  Appended below are a cat of /dev/sndstat, the output of 'vmstat -i',
my current kernel conf, and a recent /var/run/dmesg.boot.  This kernel
conf and the dmesg.boot are with 'device csa'.  The system was booted
without the CD-ROM drive installed (which uses ata1 / irq15 when
installed).

  Suggestions, anyone?


Thanks,

Bill Chiarchiaro
wjc@work.cleartech.com



FreeBSD Audio Driver (newpcm) Nov 30 2000 17:06:32
Installed devices:
pcm0: <CS423x-PCI> at io 0x530 irq 5 drq 1:0 (1p/1r channels duplex)



interrupt      total      rate
stray irq10         2        0
ata0 irq14      57052        1
fdc0 irq6           3        0
atkbd0 irq1     17333        0
psm0 irq12      84900        1
pcic0 irq3         22        0
sio0 irq4        2333        0
ppc0 irq7           1        0
pcm0 irq5         270        0
clk irq0      4743370       99
rtc irq8      6071836      127
ep0 irq10      734543       15
sio4 irq9         317        0
Total        11711982      246



#
# ROSENECK -- IBM ThinkPad 600E kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.20 2000/10/31 23:16:07 n_hibma Exp $

machine		i386
cpu		I686_CPU
ident		ROSENECK
maxusers	32

options		DDB

options		INCLUDE_CONFIG_FILE	#Include this file in kernel

options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	IPSEC			#IP security
options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	MFS			#Memory Filesystem
options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
options 	NFS_ROOT		#NFS usable as root device, NFS required
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	CD9660_ROOT		#CD-ROM usable as root, CD9660 required
options 	PROCFS			#Process filesystem
options 	KERNFS			#Kernel filesystem
options 	CODA			#CODA filesystem.
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_PRIORITY_SCHEDULING
options 	_KPOSIX_VERSION=199309L
options 	PERFMON
options		ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options         IPFILTER                #ipfilter support
options         IPFILTER_DEFAULT_BLOCK
options         IPFILTER_LOG            #ipfilter logging
options 	IPSTEALTH		#support for stealth forwarding
options 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN
options 	TCP_RESTRICT_RST	#restrict emission of TCP RST
options 	PERFMON

device		isa
device		pci

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0

# ATA and ATAPI devices
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering
options		ATA_ENABLE_ATAPI_DMA	#Enable DMA on ATAPI devices

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1 flags 0x1
device		psm0	at atkbdc? irq 12

device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? flags 0x100
options 	SC_DISABLE_REBOOT	# disable reboot key sequence

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0    at nexus? # Advanced Power Management

# PCCARD (PCMCIA) support
device		card
device		pcic0	at isa?

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? disable
device		sio2	at isa? disable
device		sio3	at isa? disable

# Parallel port
device		ppc0	at isa? irq 7 port 0x3bc flags 0x8
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device

# ISA Ethernet NICs.
device		ed0	at isa? port 0x280 irq 10 iomem 0xd8000
device		ep

# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
device		wi

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	sl	1	# Kernel SLIP
pseudo-device	ppp	2	# Kernel PPP
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"
pseudo-device	gif	4	# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)
pseudo-device	stf	1	#6to4 IPv6 over IPv4 encapsulation
pseudo-device	vn		#Vnode driver (turns a file into a device)
pseudo-device	snp	3	#Snoop device - to look at pty/vty/etc..
pseudo-device	vcoda	4	#coda minicache <-> venus comm.

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# USB support
#device		uhci		# UHCI PCI->USB interface
#device		ohci		# OHCI PCI->USB interface
#device		usb		# USB Bus (required)
#device		ugen		# Generic
#device		uhid		# "Human Interface Devices"
#device		ukbd		# Keyboard
#device		ulpt		# Printer
#device		ums		# Mouse
#device		uscanner	# Scanners

options		PNPBIOS
device		pcm
device		csa
#device		pcm0 at isa? port 0x530 irq 5 drq 1 flags 0x10
#device         snd
#device sb0     at isa? port 0x220 irq 5 drq 1



Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.2-STABLE #5: Thu Nov 30 18:00:52 EST 2000
    wjc@roseneck.cleartech.com:/home/wjc/FreeBSD-T-RELENG_4/src/sys/compile/ROSENECK
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (363.96-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x66a  Stepping = 10
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 134021120 (130880K bytes)
config> di sio1
config> di sn0
No such device: sn0
Invalid command or syntax.  Type `?' for help.
config> di lnc0
No such device: lnc0
Invalid command or syntax.  Type `?' for help.
config> di le0
No such device: le0
Invalid command or syntax.  Type `?' for help.
config> di ie0
No such device: ie0
Invalid command or syntax.  Type `?' for help.
config> di fe0
No such device: fe0
Invalid command or syntax.  Type `?' for help.
config> di ed0
config> di cs0
No such device: cs0
Invalid command or syntax.  Type `?' for help.
config> di bt0
No such device: bt0
Invalid command or syntax.  Type `?' for help.
config> di ata1
No such device: ata1
Invalid command or syntax.  Type `?' for help.
config> di aic0
No such device: aic0
Invalid command or syntax.  Type `?' for help.
config> di aha0
No such device: aha0
Invalid command or syntax.  Type `?' for help.
config> di adv0
No such device: adv0
Invalid command or syntax.  Type `?' for help.
config> en pcic0
config> po pcic0 0x3e0
config> ir pcic0 3
config> iom pcic0 0xd0000
config> f pcic0 0
config> q
avail memory = 126664704 (123696K bytes)
Preloaded elf kernel "kernel" at 0xc03c6000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc03c609c.
Pentium Pro MTRR support enabled
md0: Malloc disk
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <NeoMagic MagicMedia 256AV SVGA controller> at 0.0 irq 11
pcic-pci0: <TI PCI-1251 PCI-CardBus Bridge> mem 0x50102000-0x50102fff irq 11 at device 2.0 on pci0
pcic-pci0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC parallel isa irq]
pcic-pci1: <TI PCI-1251 PCI-CardBus Bridge> mem 0x50101000-0x50101fff irq 11 at device 2.1 on pci0
pcic-pci1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC parallel isa irq]
csa0: <Crystal Semiconductor CS4610/4611 Audio accelerator> mem 0x50000000-0x500fffff,0x50100000-0x50100fff irq 11 at device 6.0 on pci0
device_probe_and_attach: csa0 attach returned 6
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcf0-0xfcff at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2 irq 11
chip1: <Intel 82371AB Power management controller> port 0xefa0-0xefaf at device 7.3 on pci0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
pcic0: <Intel i82365> at port 0x3e0 iomem 0xd0000 irq 3 drq 0 on isa0
pcic0: management irq 3
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
ppc0: <Parallel port> at port 0x3bc-0x3bf irq 7 flags 0x8 on isa0
ppc0: Generic chipset (ECP-only) in ECP mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
plip0: <PLIP network interface> on ppbus0
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <IBM3780> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0401> can't assign resources
unknown: <PNP0501> can't assign resources
pcm0: <CS423x-PCI> at port 0x530-0x537,0x388-0x38b,0x220-0x233 irq 5 drq 1,0 on isa0
unknown: <CSC0103> can't assign resources
unknown: <IBM3765> can't assign resources
unknown: <IBM0071> can't assign resources
unknown: <PNP0680> can't assign resources
IPsec: Initialized Security Association Processing.
IP Filter: v3.4.8 initialized.  Default = block all, Logging = enabled
ad0: 11513MB <IBM-DARA-212000> [23392/16/63] at ata0-master UDMA33
Mounting root from ufs:/dev/ad0s1a


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012011416.JAA09509>