Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Dec 1998 11:25:58 +0000
From:      D.M.Pick@qmw.ac.uk
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/9030: DMPno2 - PCCards are not being recognised on insertion after system  startup
Message-ID:  <E0znhkk-00019E-00@xi.css.qmw.ac.uk>

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

>Number:         9030
>Category:       kern
>Synopsis:       DMPno2 - PCCards are not being recognised on insertion after system startup
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec  9 03:30:01 PST 1998
>Last-Modified:
>Originator:     David Pick
>Organization:
>Release:        FreeBSD 3.0-RELEASE i386
>Environment:

	FreeBSD 3.0 installed from Walnut Creek CDROM onto a
	Toshiba Libretto 50CT.

>Description:

	PCCards are not being recognised on insertion. I had previously
	had FreeBSD 2.2.7 installed on that machine, and have replaced
	it with FreeBSD 3.0 from a Walnut Creek CDROM (installed via
	FTP from another FreeBSD 2.2.7 desktop machine via isolated
	private thin-wire Ethernet). I had been using a kernel with
	PCCard support and the PCCard daemon to enable me to start
	the machine, edit "/etc/rc.conf" to change the network
	parameters, and then insert the PCCard Ethernet adaptor and
	let the interface start with the correct parameters. (The
	Ethernet adaptor is a 3Com 3C589D.) I built a new kernel
	for FreeBSD 3.0 and attempted to do the same thing. (There
	had been a problem with the sound subsystem - see my
	separate problem report "DMPno1 - ..." - and I had initially
	omitted the sound drivers from this new kernel.)

	The system refused to recognise *any* PCCard when I inserted
	them.

	After looking up your Web site, and following the links to
	the PAO project, I noted they had a note that this could
	happen if devices were omitted from the configuration, and
	they especially point at sound devices. I therefore solved
	the sound device configuration problem "DMPno1 - ..." and
	rebuilt the kernel. The problem persisted. I checked the
	PCCard was working properly under Windows95 (spit ;-). I
	rebooted *with the PCCard in its slot* (which I don't
	normally do) *and it was recognised*. I checked it out and
	it worked properly. I inserted another PCCard and that was
	not recognised at all - no logging or console messages.
	Powering down and restarting the machine produced consistant
	results - if the PCCard was in on bootup it was recognised
	but if it was inserted later it was not recognised.

	I also tried to use "pccardc dumpcis" to look at the PCCards.
	Results were consistant - if the card had been recognised
	the CIS data was printed, if it hadn't it wasn't. That was
	even true when two PCCards were in the machine; one inserted
	before bootup and one after, only the one inserted before
	bootup was recognised by pccardd and dumped by pccardc.

	Given this evidence I suspect the problem is likely to be
	in the kernel rather than the userland programs, and have
	therefore assigned a category of "kern".

	I have assigned a severity of "serious" because there are
	times when I want to be able to remove one PCCard and insert
	a different one without rebooting. I use this machine for
	various network monitoring and diagnostic jobs: connecting
	it to different and unpredictable parts of my sites network
	at unpredictable times.

	I have assigned a priority of "high" because I would very
	much like it fixed (and please regard this a a bit of
	classic British understatement) as soon a practical
	because of the use I make of this machine, and because I
	guess the next release is some time away.

	Kernel configuration file used to build the kernel was:

#
# LIBRETTO based on GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#	$Id: GENERIC,v 1.125 1998/10/16 01:30:11 obrien Exp $

machine		"i386"
#cpu		"I386_CPU"
#cpu		"I486_CPU"
cpu		"I586_CPU"
#cpu		"I686_CPU"
ident		LIBRETTO
maxusers	32

options		MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		FFS_ROOT		#FFS usable as root device [keep this!]
options		MFS			#Memory Filesystem
options		MFS_ROOT		#MFS usable as root device, "MFS" req'ed
options		NFS			#Network Filesystem
options		NFS_ROOT		#NFS usable as root device, "NFS" req'ed
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root. "CD9660" req'ed
options		"EXT2FS"		#Linux "ext2fs" Filesystem
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		SCSI_DELAY=15000	#Be pessimistic about Joe SCSI device
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor

config		kernel	root on wd0

controller	isa0
#controller	eisa0
#controller	pci0

#controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
#disk		fd0	at fdc0 drive 0
#disk		fd1	at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape		ft0	at fdc0 drive 2

#options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
#disk		wd1	at wdc0 drive 1

#controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk		wd2	at wdc1 drive 0
#disk		wd3	at wdc1 drive 1

#options		ATAPI		#Enable ATAPI support for IDE bus
#options		ATAPI_STATIC	#Don't do it as an LKM
#device		wcd0		#IDE CD-ROM
#device		wfd0		#IDE Floppy (e.g. LS-120)

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
#controller	ncr0
#controller	amd0
#controller	ahb0
#controller	ahc0
#controller	isp0

# This controller offers a number of configuration options, too many to
# document here  - see the LINT file in this directory and look up the
# dpt0 entry there for much fuller documentation on this.
#controller      dpt0

#controller	adv0	at isa? port ? cam irq ?
#controller	adw0
#controller	bt0	at isa? port ? cam irq ?
#controller	aha0	at isa? port ? cam irq ?
#controller	uha0	at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#!CAM#controller	aic0	at isa? port 0x340 bio irq 11 vector aicintr
#controller	nca0	at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller	nca1	at isa? port 0x350 bio irq 5 vector ncaintr
#controller	sea0	at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr

controller	scbus0

device		da0

device		sa0

device		pass0

device		cd0	#Only need one of these, the code dynamically grows

#device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device		mcd0	at isa? port 0x300 bio irq 10 vector mcdintr

#controller	matcd0	at isa? port 0x230 bio

#device		scd0	at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" conflicts tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa? port "IO_KBD" conflicts tty irq 1 vector pcrint
#options		XSERVER			# support for X server
#options		FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options		PCVT_SCANSET=2		# IBM keyboards are non-std

device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
device		apm0    at isa?	flags 0x31 # Advanced Power Management

# PCCARD (PCMCIA) support
controller	card0
device		pcic0	at card?
device		pcic1	at card?

# You may need to reset all pccards after resuming
options		PCIC_RESUME_RESET	# reset after resume

device		sio0	at isa? port "IO_COM1" flags 0x20010 tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" flags 0x20000 tty irq 3 vector siointr
device		sio2	at isa? disable port "IO_COM3" tty irq 15 vector siointr
device		sio3	at isa? disable port "IO_COM4" tty irq 9 vector siointr

#device		lpt0	at isa? port? tty irq 7 vector lptintr

controller	ppc0	at isa? port? tty irq 7 vector ppcintr
controller	ppbus0
controller	vpo0	at ppbus?
device		nlpt0	at ppbus?
device		plip0	at ppbus?

device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de0
#device fxp0
#device tl0
#device tx0
#device vx0
#device xl0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
device ep0 at isa? disable port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? port 0x300 net irq ? vector csintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	sl	2
pseudo-device	ppp	2
pseudo-device	tun	2
pseudo-device	pty	16
pseudo-device	gzip		# Exec gzipped a.out's

pseudo-device	vn	2	# Vnode deiver (turns a file into a device)
pseudo-device	snp	4	# Snoop device - to look at pty/vty/etc..

# 
# The PPP_BSDCOMP option enables support for compress(1) style entire 
# packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
# PPP_FILTER enables code for filtering the ppp data stream and selecting
# events for resetting the demand dial activity timer - requires bpfilter.
# See pppd(8) for more details.
#

options	PPP_BSDCOMP			#PPP BSD-compress support
options	PPP_DEFLATE			#PPP zlib/deflate/gzip support
options	PPP_FILTER			#enable bpf filtering (needs bpfilter)

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options		SYSVSHM

# These two options provide support for System V Interface  
# Definition-style interprocess communication, in the form
# of shared semaphores and message-queues respectively.
options		SYSVSEM
options		SYSVMSG

#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
pseudo-device	bpfilter	8	#Berkeley packet filter

# Allow user-mode programs to manipulate their local descriptor tables.
# This option is required for the WINE Windows(tm) emulator, and is
# not used for anything else (that we know of).
options		USER_LDT

# This option includes a MD5 routine in the kernel, this is used for
# various authentication and privacy used.
options		"MD5"

options		IPX			# Novell IPX/SPX protocols

options		NETATALK		# Appletalk protocols

options		MROUTING		# Multicast routing

options		IPFIREWALL		# Firewall
options		IPFIREWALL_VERBOSE	# Say something about dropped packets
options		"IPFIREWALL_VERBOSE_LIMIT=100"	# Say it only so many times
#options	IPFIREWALL_DEFAULT_TO_ACCEPT	# Allow everything by default
options		IPDIVERT		# Include divert sockets

controller	snd0
device		opl0	at isa? port 0x388	# Yamaha OPL-3

>How-To-Repeat:

	It's very repeatable - start from cold or reboot the machine
	with a PCCard already inserted and it's recognised; insert
	a card after bootup and it isn't recognised.

>Fix:
	
	<none known to me>

>Audit-Trail:
>Unformatted:

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0znhkk-00019E-00>