ACPI(pci_link) problem in 5.4-STABLE: TIMEOUT - WRITE_DMA retrying

Eugene Grosbein eugen at
Mon May 9 06:08:58 PDT 2005

>Submitter-Id:	current-users
>Originator:	Eugene Grosbein
>Organization:	Svyaz Service JSC
>Confidential:	no
>Synopsis:	ACPI(pci_link) problem in 5.4-STABLE: TIMEOUT - WRITE_DMA retrying
>Severity:	non-critical
>Priority:	low
>Category:	kern
>Class:		sw-bug
>Release:	FreeBSD 5.4-STABLE i386
System: FreeBSD 5.4-STABLE FreeBSD 5.4-STABLE #1: Sun May 8 21:16:52 KRAST 2005 root at i386

	RELENG_5 (sources of 4 may 2005) runs fine on Iwill BD100+
	motherboard (440BX chipset) when ACPI is disabled at boot time.
	With ACPI enabled, it suffers from delays using ATA drives
	and the GENERIC kernel prints:

ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=146992553
ad6: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=2228575
ad4: FAILURE - ATA_IDENTIFY timed out
ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=7895167

	And so on, but no data corruption is observed.


	Take Iwill BD100+ motherboard, install 5.3-RELEASE and
	update it to RELENG_5 (boot with ACPI disabled to upgrade).

	There is a workaround, add to /boot/loader.conf:

	With this workaround, the problem disappears.

	Here comes dmesg.boot (custom kernel, ACPI enabled, pci_link disabled,
	atapicam enabled):

Copyright (c) 1992-2005 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 5.4-STABLE #1: Sun May  8 21:16:52 KRAST 2005
    root at
Timecounter "i8254" frequency 1193165 Hz quality 0
CPU: Intel Celeron (902.04-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
real memory  = 603914240 (575 MB)
avail memory = 581259264 (554 MB)
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <AWARD AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU (3 Cx states)> port 0x530-0x537 on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0x5000-0x500f,0x4000-0x4041,0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib0: no PRT entry for 0.7.INTD
pcib0: no PRT entry for 0.16.INTA
pcib0: no PRT entry for 0.18.INTA
agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xe8000000-0xebffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pcib0: no PRT entry for 0.1.INTA
pci1: <display, VGA> at device 0.0 (no driver attached)
pci1: <display> at device 0.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0xf000-0xf00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd000-0xd01f irq 9 at device 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
intpm0: <Intel 82371AB Power management controller> port 0x5000-0x500f irq 9 at device 7.3 on pci0
intpm0: I/O mapped 5000
intpm0: intr IRQ 9 enabled revision 0
intsmb0: <Intel PIIX4 SMBUS Interface> on intpm0
smbus1: <System Management Bus> on intsmb0
smb0: <SMBus generic I/O> on smbus1
intpm0: PM I/O mapped 4000 
fxp0: <Intel 82557 Pro/100 Ethernet> port 0xd400-0xd41f mem 0xf0000000-0xf00fffff,0xf0104000-0xf0104fff irq 9 at device 16.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:a0:c9:89:95:1f
atapci1: <Promise PDC20268 UDMA100 controller> port 0xe800-0xe80f,0xe400-0xe403,0xe000-0xe007,0xdc00-0xdc03,0xd800-0xd807 mem 0xf0100000-0xf0103fff irq 10 at device 18.0 on pci0
ata2: channel #0 on atapci1
ata3: channel #1 on atapci1
acpi_tz0: <Thermal Zone> port 0x530-0x537 on acpi0
speaker0: <PC speaker> port 0x61 on acpi0
fdc0: <floppy drive controller> port 0x3f7,0x3f2-0x3f5 irq 6 drq 2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: <ECP parallel printer port> port 0x778-0x77b,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
ppbus0: <Parallel port bus> on ppc0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse/NetScroll Optical, device ID 0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xd0000-0xd27ff,0xc0000-0xccfff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <24 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
pcm0: <Yamaha OPL-SAx> at port 0x370-0x371,0x330-0x331,0x388-0x38f,0x530-0x537,0x220-0x22f irq 5 drq 1,0 on isa0
uhid0: American Power Conversion Back-UPS 500 FW: 6.5.I USB FW: c1, rev 1.10/1.00, addr 2, iclass 3/0
uscanner0: Hewlett-Packard HP ScanJet 2200C, rev 1.10/1.00, addr 3
Timecounter "TSC" frequency 902037771 Hz quality 800
Timecounters tick every 10.000 msec
ipfw2 initialized, divert enabled, rule-based forwarding disabled, default to deny, logging unlimited
acd0: DVDR <NEC DVD RW ND-3500AG/2.18> at ata0-master UDMA33
acd1: CDRW <SONY CD-RW CRX140E/1.0n> at ata1-master UDMA33
ad4: 76319MB <WDC WD800JB-00FMA0/13.03G13> [155061/16/63] at ata2-master UDMA100
ad6: 39266MB <IC35L040AVER07-0/ER4OA45A> [79779/16/63] at ata3-master UDMA100
cd0 at ata0 bus 0 target 0 lun 0
cd0: <_NEC DVD_RW ND-3500AG 2.18> Removable CD-ROM SCSI-0 device 
cd0: 33.000MB/s transfers
cd0: cd present [2295104 x 2048 byte records]
cd1 at ata1 bus 0 target 0 lun 0
cd1: <SONY CD-RW  CRX140E 1.0n> Removable CD-ROM SCSI-0 device 
cd1: 33.000MB/s transfers
cd1: cd present [332114 x 2048 byte records]
Mounting root from ufs:/dev/ad6s1a

	Here comes output of pciconf -lv:
agp0 at pci0:0:0:	class=0x060000 card=0x00000000 chip=0x71908086 rev=0x03 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Implemented)'
    class    = bridge
    subclass = HOST-PCI
pcib1 at pci0:1:0:	class=0x060400 card=0x00000000 chip=0x71918086 rev=0x03 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82443BX/ZX 440BX/ZX AGPset PCI-to-PCI bridge'
    class    = bridge
    subclass = PCI-PCI
isab0 at pci0:7:0:	class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
    class    = bridge
    subclass = PCI-ISA
atapci0 at pci0:7:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
    class    = mass storage
    subclass = ATA
uhci0 at pci0:7:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
    class    = serial bus
    subclass = USB
intpm0 at pci0:7:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
    class    = bridge
fxp0 at pci0:16:0:	class=0x020000 card=0x00018086 chip=0x12298086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
atapci1 at pci0:18:0:	class=0x018085 card=0x4d68105a chip=0x4d68105a rev=0x02 hdr=0x00
    vendor   = 'Promise Technology Inc'
    device   = 'PDC20268 Ultra100 TX2 EIDE Controller'
    class    = mass storage
drm0 at pci1:0:0:	class=0x030000 card=0x7c13174b chip=0x59611002 rev=0x01 hdr=0x00
    vendor   = 'ATI Technologies Inc'
    device   = 'Radeon 9200 Series (RV280)'
    class    = display
    subclass = VGA
none0 at pci1:0:1:	class=0x038000 card=0x7c12174b chip=0x59411002 rev=0x01 hdr=0x00
    vendor   = 'ATI Technologies Inc'
    device   = 'RV280 ATI Radeon 9200 - Secondary'
    class    = display

	Here comes kernel config:

machine		i386
cpu		I686_CPU
ident		DADV
maxusers	0

options         CLK_USE_I8254_CALIBRATION
options         CPU_SUSP_HLT

options 	SCHED_4BSD		# 4BSD scheduler
options 	INET			# InterNETworking
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 	NFSCLIENT		# Network Filesystem Client
options 	NFSSERVER		# Network Filesystem Server
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	GEOM_GPT		# GUID Partition Tables.
options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
options 	KTRACE			# ktrace(1) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-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.

device		apic			# I/O APIC

# Bus support.  Do not remove isa, even if you have no isa slots
device		isa
device		pci

# Floppy drives
device		fdc

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

# 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

# Floating point support - do not disable.
device		npx

# Add suspend/resume support for the i8254.
device		pmtimer

# 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		ppi		# Parallel port interface device

# 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		fxp		# Intel EtherExpress PRO/100B (82557, 82558)

device		ep		# Etherlink III based cards

# Pseudo devices.
device		loop		# Network loopback
device		mem		# Memory and kernel memory devices
device		io		# I/O device
device		random		# Entropy device
device		ether		# Ethernet support
device		ppp		# Kernel PPP
device		pty		# Pseudo-ttys (telnet etc)
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling

# 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		usb		# USB Bus (required)
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		umass		# Disks/Mass storage - Requires scbus and da
device		uscanner	# Scanners

options         PPP_BSDCOMP
options         PPP_DEFLATE
options         PPP_FILTER

options		AUTO_EOI_1

device          atapicam
device          scbus
device          cd
device          da
device          pass

options         VESA

options         MAXCONS=24
options         SC_HISTORY_SIZE=1000
options         SC_MOUSE_CHAR=0x03
options         SC_PIXEL_MODE

device		snp
device          speaker
device          sound
device		snd_mss

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPDIVERT

options         DUMMYNET

device          smbus
device          intpm
device          smb

options         KDB
options         KDB_UNATTENDED
options         ALT_BREAK_TO_DEBUGGER

options         PQ_CACHESIZE=128
options         SHOW_BUSYBUFS
device          tap

device          agp

More information about the freebsd-stable mailing list