loading module sdhci causes panic

Steven Friedrich freebsd at insightbb.com
Mon Feb 1 16:23:23 UTC 2010


On Sunday 31 January 2010 07:33:19 pm Steven Friedrich wrote:
> On Sunday 31 January 2010 05:57:14 pm Jeremy Chadwick wrote:
> > On Sun, Jan 31, 2010 at 04:44:39PM -0500, Steven Friedrich wrote:
> > > On Saturday 30 January 2010 08:56:06 am Bartosz Fabianowski wrote:
> > > > > Can anyone verify that sdhci is compatible with FreeBSD 8?
> > > >
> > > > I loaded mmc, mmcsd, and sdhci when I first installed FreeBSD 8.0
> > > > without any problems. Since then, I have updated to -STABLE and put
> > > > these three devices in my kernel configuration file. No problems
> > > > either. It must be very recent breakage or some incompatibility with
> > > > your particular hardware.
> > > >
> > > > - Bartosz
> > >
> > > When I add the three drivers to my kernel, I don't get a panic, but
> > > when I insert an SD 1GB card, nothing happens.
> > >
> > > pciconf -lv reveals that the driver attached to my device:
> > >
> > > sdhci0 at pci0:11:0:4:     class=0x080500 card=0x3082103c chip=0x8034104c
> > > rev=0x00 hdr=0x00
> > >     vendor     = 'Texas Instruments (TI)'
> > >     device     = 'SDA Standard Compliant SD Host Controller (10981734)'
> > >     class      = base peripheral
> > >     subclass   = SD host controller
> > >
> > > I verified that this SD card is recognized by Windows XP.
> > >
> > > When I plug in a card, should some message appear on the console?  Will
> > > it auto-mount?
> >
> > Can you please post your entire kernel configuration file (specifically
> > the one which includes the above 3 drivers in it)?
> 
> #
> # LAPTOP -- Laptop kernel configuration file for FreeBSD/i386
> #
> 
> ident		LAPTOP
> machine		i386
> cpu		I586_CPU
> cpu		I686_CPU
> 
> # To statically compile in device wiring instead of /boot/device.hints
> #hints		"LAPTOP.hints"		# Default places to look for devices.
> 
> makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
> 
> # hopefully, cure the shutdown anomaly
> options 	PRINTF_BUFR_SIZE=128
> 
> options		INCLUDE_CONFIG_FILE
> 
> options 	SCHED_ULE		# ULE scheduler
> #options 	SCHED_4BSD		# 4BSD scheduler
> options 	PREEMPTION		# Enable kernel thread preemption
> # IPI_PREEMPTION instructs the kernel to preempt threads running on other
> # CPUS if needed.  Relies on the PREEMPTION option
> options 	IPI_PREEMPTION
> options 	INET			# InterNETworking
> options 	INET6			# IPv6 communications protocols
> options 	SCTP			# Stream Control Transmission Protocol
> options 	FFS			# Berkeley Fast Filesystem
> options 	SOFTUPDATES		# Enable FFS soft updates support
> options 	UFS_ACL			# Support for access control lists
> options 	UFS_DIRHASH		# Improve performance on big directories
> options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
> #options 	MD_ROOT			# MD is a potential root device
> options 	PROCFS			# Process filesystem (requires PSEUDOFS)
> options 	PSEUDOFS		# Pseudo-filesystem framework
> #options 	GEOM_GPT		# GUID Partition Tables.
> # The options COMPAT_43 kernel configuration option has been deemed
> unnecessary and
> # has been removed from GENERIC and related kernel configurations. This
>  change may
> # result in a small performance increase for some workloads.
> #options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
> options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
> options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
> options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
> options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
> options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
> options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
> options 	SYSVSHM			# SYSV-style shared memory
> options 	SYSVMSG			# SYSV-style message queues
> options 	SYSVSEM			# SYSV-style semaphores
> options 	P1003_1B_SEMAPHORES	# POSIX-style semaphores
> options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time 
extensions
> options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
> #options 	ADAPTIVE_GIANT		# Giant mutex is adaptive.
> options		SC_HISTORY_SIZE=1000
> options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
> options 	AUDIT			# Security event auditing
> options 	MAC			# TrustedBSD MAC Framework
> options		FLOWTABLE		# per-cpu routing cache
> options 	KTRACE			# ktrace(1) support
> options 	STACK			# stack(9) support
> #options 	KDTRACE_HOOKS		# Kernel DTrace hooks
> # PERFMON causes the driver for Pentium/Pentium Pro performance counters
> # to be compiled.  See perfmon(4) for more information.
> #
> options 	PERFMON
> 
> # To make an SMP kernel, the next line is needed
> options 	SMP			# Symmetric MultiProcessor Kernel
> # The apic device enables the use of the I/O APIC for interrupt delivery.
> # The apic device can be used in both UP and SMP kernels, but is required
> # for SMP kernels.  Thus, the apic device is not strictly an SMP option,
> # but it is a prerequisite for SMP.
> device		apic			# I/O APIC
> 
> # ACPI extras driver for HP laptops
> device		acpi_hp
> 
> # CPU frequency control
> device		cpufreq
> 
> #
> # Temperature sensors:
> #
> # coretemp: on-die sensor on Intel Core and newer CPUs
> #
> device		coretemp
> 
> # Bus support.
> device		pci
> 
> # Floppy drives
> #device		fdc
> 
> # ATA and ATAPI devices
> device		ata
> device		atadisk		# ATA disk drives
> device		atapicd		# ATAPI CDROM drives
> #device		atausb		# ATA USB support
> options 	ATA_STATIC_ID	# Static device numbering
> 
> # SCSI peripherals
> device		scbus		# SCSI bus (required for SCSI)
> device		da		# Direct Access (disks)
> #device		cd		# CD
> device		pass		# Passthrough device (direct SCSI access)
> 
> # atkbdc0 controls both the keyboard and the PS/2 mouse
> device		atkbdc		# AT keyboard controller
> device		atkbd		# AT keyboard
> device		psm		# PS/2 mouse
> 
> device		vga		# VGA video card driver
> 
> device		splash		# Splash screen and screen saver support
> 
> # syscons is the default console driver, resembling an SCO console
> device		sc
> 
> device		agp		# support several AGP chipsets
> device		drm		# DRM core module required by DRM drivers
> device		radeondrm	# ATI Radeon
> 
> # Power management support (see NOTES for more options)
> #device		apm
> # Add suspend/resume support for the i8254.
> device		pmtimer
> 
> # PCCARD (PCMCIA) support
> # PCMCIA and cardbus bridge support
> device		cbb		# cardbus (yenta) bridge
> device		pccard		# PC Card (16-bit) bus
> device		cardbus		# CardBus (32-bit) bus
> 
> # Serial (COM) ports
> #device		sio		# 8250, 16[45]50 based serial ports
> 
> # Parallel port
> #device		ppc
> #device		ppbus		# Parallel port bus (required)
> #device		lpt		# Printer
> #device		plip		# TCP/IP over parallel
> #device		ppi		# Parallel port interface device
> #device		vpo		# Requires scbus and da
> 
> # PCI Ethernet NICs that use the common MII bus controller code.
> # NOTE: Be sure to keep the 'device miibus' line in order to use these
>  NICs! #device		miibus		# MII bus support
> #device		rl		# RealTek 8129/8139
> 
> # Wireless NIC cards
> #device		wlan		# 802.11 support
> #device		wlan_wep	# 802.11 WEP support
> #device		wlan_ccmp	# 802.11 CCMP support
> #device		wlan_tkip	# 802.11 TKIP support
> #device		wlan_amrr	# AMRR transmit rate control algorithm
> # the scan code has been folded into the wlan module in FreeBSD8.0
> #device		wlan_scan_ap	# 802.11 AP mode scanning
> #device		wlan_scan_sta	# 802.11 STA mode scanning
> #device		wlan_xauth	#
> #device		an		# Aironet 4500/4800 802.11 wireless NICs.
> #device		awi		# BayStack 660 and others
> #device		ral		# Ralink Technology RT2500 wireless NICs.
> #device		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
> 
> # Pseudo devices.
> device		loop		# Network loopback
> device		random		# Entropy device
> device		ether		# Ethernet support
> device		tun		# Packet tunnel.
> device		pty		# Pseudo-ttys (telnet etc)
> #device		md		# Memory "disks"
> device		gif		# IPv6 and IPv4 tunneling
> device		faith		# IPv6-to-IPv4 relaying (translation)
> 
> # The `bpf' device enables the Berkeley Packet Filter.
> # Be aware of the administrative consequences of enabling this!
> # Note that 'bpf' is required for DHCP.
> device		bpf		# Berkeley packet filter
> 
> # USB support
> device		uhci		# UHCI PCI->USB interface
> device		ohci		# OHCI PCI->USB interface
> device		ehci		# EHCI PCI->USB interface (USB 2.0)
> device		usb			# USB Bus (required)
> # ugen is gone from 8.0, must have been folded-in
> #device		ugen		# Generic
> # umass will conflict with atausb
> # removed umass per advice from Predrag Punosevac
>  <punosevac at math.arizona.edu> device		umass		# Disks/Mass storage 
-
>  Requires scbus and da
> device		ums		# Mouse
> #device		ulpt		# printers
> 
> #device		ucom		# why isn't this listed in NOTES?
> #device		uplcom		# IOgear (ATEN) usb serial adapter
> 
> # USB Ethernet, requires miibus
> #device		axe		# ASIX Electronics USB Ethernet
> 
> # FireWire support
> #device		firewire	# FireWire bus code
> 
> device snd_ich
> device sound
> #device speaker
> # see man acpi
> #device acpi
> # acpi_video can conflict with device agp
> # ACPI Video Extensions (LCD backlight/brightness, video output, etc.)
> #device acpi_video
> options VESA
> # Enable NDIS binary driver support
> options 	NDISAPI
> #device		ndis
> # Netgear WG111T supported as of 8.0, but load as module
> #device		uath		# Atheros AR5523 wireless NICs
> 
> device		dcons		# Dumb console driver
> #device		dcons_crom	# Configuration ROM for dcons
> 
> device		smb
> device		smbus
> device		ichsmb
> 
> # how about SD controller
> device mmc
> device mmcsd
> device sdhci
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
> 
Let me reiterate that it doesn't panic when the three drivers are built into 
the kernel. It only panics when I use loader.conf or hand-load.


More information about the freebsd-stable mailing list