WRITE command timeout

Oivind H. Danielsen oivind.danielsen at kopek.net
Sat Dec 20 13:32:48 PST 2003


Hello.

We have been running FreeBSD 4.6-5.1 systems for 1.5 years and are being
plagued  by these:

 Dec 18 15:15:39 <> /kernel: ad0: WRITE command timeout tag=0 serv=0 -
resetting
 Dec 19 15:03:23 <> /kernel: ad0: READ command timeout tag=0 serv=0 -
resetting


In our rack we have 34 identical drives (IBM IC35L080AVVA07).

  24 drives on Windows 2000    : no problems.
   4 drives on Linux 2.4.x     : no problems.

   2 drives on RELENG_4_8
    (VIA 82C686, VIA C3)       : no problems

   4 drives on RELENG_4_8
    (nVIDIA nForce, XP 2000+)  : r/w timeouts, fs corruption.

  (1 drive/system, 6 FreeBSD boxes)

The good systems have been running the 1.5 years without a hitch. The
four identical RELENG_4_8 systems have all had corrupted filesystems (at
least once every two months).


We have tried the following:

 - Changed ATA100 cables (3 diff. types, all 80-wire)
 - Disabled DMA (use PIO4) (hw.ata.ata_dma="0" in loader.conf)
 - Disabled DMA in BIOS setup
 - Changed motherboard (MSI MS6734, VIA KM400, vt8235 ATA)
 - Changed power supply (added 100W)
 - RELENG_5_1.

None of these changes has helped. The only change seen when disabling
DMA is  additional messages: "timeout waiting for DRQ - resetting".


I have searched the net for more information on this topic for over a
year, and  all I find is replies like:

  - "Just change the cable, dude.."   (did that, still timeouts)
  - "IBM drives are bad for you."     (seen this with other drives too)
                                      (drives work well on Linux/W2k)
  - "Disabling DMA fixes it."         (tried that, it didn't)
  - "ATA is for wimps. SCSI rulezz."  (different discussion)


# sysctl hw.ata
hw.ata.ata_dma: 0
hw.ata.wc: 1
hw.ata.tags: 0
hw.ata.atapi_dma: 0

# atacontrol mode 0
Master = PIO4
Slave  = ???

# atacontrol info 0
Master:  ad0 <IC35L080AVVA07-0/VA4OA52A> ATA/ATAPI rev 5
Slave:       no device present


dmesg, pciconf and kernel config are attached. No special compilation
options  (except -DIPFW2) are used. I can provide more information on
request.

We're now running FreeBSD 4.8-RELEASE-p14 and FreeBSD 5.1-RELEASE-p8,
but the  problem has been around since we started out with 4.6 I
believe.  The "good" and "bad" FreeBSD systems all use the same
kernel/world.


The reason why we have used such low-end hardware in these boxes is that
they are  part of a highly redundant cluster solution for crypto
processing (no storage is used for application purposes). This means the
system can cope with the occasional fs corruption, but we would still
prefer to get rid of it.


I know this problem has been discussed before, but wanted to add more
data to the  discussion. I don't think all of the reports should be
attributed to bad HW. Nevertheless, even if the hardware is broken, the
system should preferably  function equally well/bad as with Linux/W2k.


Any help is greatly appreciated.


Best Regards,

Oivind H. Danielsen
-------------- next part --------------
Copyright (c) 1992-2003 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.8-RELEASE-p14 #0: Sat Dec  6 00:30:50 CET 2003
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD Athlon(TM) XP 2000+ (1662.38-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x662  Stepping = 2
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0400000<AMIE,DSP,3DNow!>
real memory  = 503234560 (491440K bytes)
avail memory = 485507072 (474128K bytes)
Preloaded elf kernel "kernel" at 0xc03e3000.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 10 entries at 0xc00f20b0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x10de, dev=0x01ac) at 0.1
pci0: <unknown card> (vendor=0x10de, dev=0x01ad) at 0.2
pci0: <unknown card> (vendor=0x10de, dev=0x01aa) at 0.3
isab0: <PCI to ISA bridge (vendor=10de device=01b2)> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <unknown card> (vendor=0x10de, dev=0x01b4) at 1.1 irq 5
ohci0: <OHCI (generic) USB controller> mem 0xe7000000-0xe7000fff irq 10 at device 2.0 on pci0
usb0: OHCI version 1.0
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <OHCI (generic) USB controller> mem 0xe6800000-0xe6800fff irq 10 at device 3.0 on pci0
usb1: OHCI version 1.0
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
pci0: <unknown card> (vendor=0x10de, dev=0x01c3) at 4.0 irq 10
pci0: <unknown card> (vendor=0x10de, dev=0x01b0) at 5.0 irq 5
pci0: <unknown card> (vendor=0x10de, dev=0x01b1) at 6.0 irq 11
pcib1: <PCI to PCI bridge (vendor=10de device=01b8)> at device 8.0 on pci0
pci1: <PCI bus> on pcib1
pcib2: <DEC 21150 PCI-PCI bridge> at device 6.0 on pci1
pci2: <PCI bus> on pcib2
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xb800-0xb83f mem 0xe4000000-0xe40fffff,0xe4800000-0xe4800fff irq 5 at device 4.0 on pci2
fxp0: Ethernet address 00:08:9b:14:72:0f
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: <Intel Pro 10/100B/100+ Ethernet> port 0xb400-0xb43f mem 0xe3000000-0xe30fffff,0xe3800000-0xe3800fff irq 5 at device 5.0 on pci2
fxp1: Ethernet address 00:08:9b:14:72:10
inphy1: <i82555 10/100 media interface> on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp2: <Intel Pro 10/100B/100+ Ethernet> port 0xb000-0xb03f mem 0xe2000000-0xe20fffff,0xe2800000-0xe2800fff irq 5 at device 6.0 on pci2
fxp2: Ethernet address 00:08:9b:14:71:9b
inphy2: <i82555 10/100 media interface> on miibus2
inphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp3: <Intel Pro 10/100B/100+ Ethernet> port 0xa800-0xa83f mem 0xe1000000-0xe10fffff,0xe1800000-0xe1800fff irq 5 at device 7.0 on pci2
fxp3: Ethernet address 00:08:9b:14:71:9c
inphy3: <i82555 10/100 media interface> on miibus3
inphy3:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
atapci0: <nVIDIA nForce ATA100 controller> port 0x9800-0x980f at device 9.0 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pcib3: <PCI to PCI bridge (vendor=10de device=01b7)> at device 30.0 on pci0
pci3: <PCI bus> on pcib3
pci3: <NVidia model 01a0 graphics accelerator> at 0.0 irq 11
orm0: <Option ROM> at iomem 0xd0000-0xd3fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
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=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited to 100 packets/entry by default
ad0: 78533MB <IC35L080AVVA07-0> [159560/16/63] at ata0-master PIO4
Mounting root from ufs:/dev/ad0s1a
-------------- next part --------------
machine		i386
cpu		I386_CPU
cpu		I486_CPU
cpu		I586_CPU
cpu		I686_CPU
ident		GENERIC
maxusers	0

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_DIRHASH		#Improve performance on big directories
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 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
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		ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	COMPAT_LINUX

# To make an SMP kernel, the next two are needed
#options 	SMP			# Symmetric MultiProcessor Kernel
#options 	APIC_IO			# Symmetric (APIC) I/O

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		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

device		twe		# 3ware Escalade

# 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

# 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? disable flags 0x20 # Advanced Power Management

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3

# Parallel port
device		ppc0	at isa? irq 7
device		ppbus		# Parallel port bus (required)

# PCI Ethernet NICs.
device		de		# DEC/Intel DC21x4x (``Tulip'')
device		em		# Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device		txp		# 3Com 3cR990 (``Typhoon'')
device		vx		# 3Com 3c590, 3c595 (``Vortex'')

# 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		dc		# DEC/Intel 21143 and various workalikes
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
device		pcn		# AMD Am79C97x PCI 10/100 NICs
device		rl		# RealTek 8129/8139
device		sf		# Adaptec AIC-6915 (``Starfire'')
device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
device		ste		# Sundance ST201 (D-Link DFE-550TX)
device		tl		# Texas Instruments ThunderLAN
device		tx		# SMC EtherPower II (83c170 ``EPIC'')
device		vr		# VIA Rhine, Rhine II
device		wb		# Winbond W89C840F
device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
device		bge		# Broadcom BCM570x (``Tigon III'')

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	vlan	4	#VLAN support
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"
pseudo-device	gif		# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)

# 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

options 	IPFIREWALL		#firewall
options		IPFW2
options 	IPDIVERT		#divert sockets
options 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
-------------- next part --------------
chip0 at pci0:0:0:	class=0x060000 card=0x00000000 chip=0x01a410de rev=0xb2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce AGP Controller'
    class    = bridge
    subclass = HOST-PCI
none0 at pci0:0:1:	class=0x050000 card=0x0c1110de chip=0x01ac10de rev=0xb2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce 2x0/415/4x0 Memory Controller'
    class    = memory
    subclass = RAM
none1 at pci0:0:2:	class=0x050000 card=0x0c1110de chip=0x01ad10de rev=0xb2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce 2x0/415/4x0 Memory Controller'
    class    = memory
    subclass = RAM
none2 at pci0:0:3:	class=0x050000 card=0x0c1110de chip=0x01aa10de rev=0xb2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce 220/230 Memory Controller (DDR)'
    class    = memory
    subclass = RAM
isab0 at pci0:1:0:	class=0x060100 card=0x0c1110de chip=0x01b210de rev=0xc3 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce HUB Interface'
    class    = bridge
    subclass = PCI-ISA
none3 at pci0:1:1:	class=0x0c0500 card=0x0c1110de chip=0x01b410de rev=0xc1 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP SMBus Controller'
    class    = serial bus
    subclass = SMBus
ohci0 at pci0:2:0:	class=0x0c0310 card=0x0c1110de chip=0x01c210de rev=0xc3 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP OHCI USB Controller'
    class    = serial bus
    subclass = USB
ohci1 at pci0:3:0:	class=0x0c0310 card=0x0c1110de chip=0x01c210de rev=0xc3 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP OHCI USB Controller'
    class    = serial bus
    subclass = USB
none4 at pci0:4:0:	class=0x020000 card=0x0c111043 chip=0x01c310de rev=0xc2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP Networking Adapter'
    class    = network
    subclass = ethernet
none5 at pci0:5:0:	class=0x040100 card=0x0c111043 chip=0x01b010de rev=0xc2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP Audio Processing Unit (Dolby Digital)'
    class    = multimedia
    subclass = audio
none6 at pci0:6:0:	class=0x040100 card=0x83841043 chip=0x01b110de rev=0xc2 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP Audio Codec Interface'
    class    = multimedia
    subclass = audio
pcib1 at pci0:8:0:	class=0x060400 card=0x00000044 chip=0x01b810de rev=0xc2 hdr=0x01
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
atapci0 at pci0:9:0:	class=0x01018a card=0x0c1110de chip=0x01bc10de rev=0xc3 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce MCP ATA Controller'
    class    = mass storage
    subclass = ATA
pcib3 at pci0:30:0:	class=0x060400 card=0x00000000 chip=0x01b710de rev=0xb2 hdr=0x01
    vendor   = 'NVIDIA Corporation'
    device   = 'nForce AGP Host to PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
pcib2 at pci1:6:0:	class=0x060400 card=0x000000dc chip=0x00221011 rev=0x06 hdr=0x01
    vendor   = 'Digital Equipment Corporation'
    device   = '21150-AA PCI to PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
fxp0 at pci2:4:0:	class=0x020000 card=0x100c8086 chip=0x12298086 rev=0x08 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
fxp1 at pci2:5:0:	class=0x020000 card=0x100c8086 chip=0x12298086 rev=0x08 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
fxp2 at pci2:6:0:	class=0x020000 card=0x100c8086 chip=0x12298086 rev=0x08 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
fxp3 at pci2:7:0:	class=0x020000 card=0x100c8086 chip=0x12298086 rev=0x08 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
none7 at pci3:0:0:	class=0x030000 card=0x00000000 chip=0x01a010de rev=0xb1 hdr=0x00
    vendor   = 'NVIDIA Corporation'
    device   = 'GeForce2 [Crush11] Integrated Graphics'
    class    = display
    subclass = VGA


More information about the freebsd-stable mailing list