Bug 14765

Summary: Something wrong for UDMA for Gigabyte 586 SG
Product: Base System Reporter: Alexander Langer <alex>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.3-STABLE   
Hardware: Any   
OS: Any   

Description Alexander Langer 1999-11-07 15:40:00 UTC
Something does not work with UDMA enabled for the controllers.

I get the following errors on bootup, when the kernel tries to access the
disks (the messages are not logged, the first one I had to remember, so it's not complete, but the important parts are in it):

The message of the first disk on this controller appears.
Then:
ide_pci: generic dmainit: 0170:1, warning... something about timeout not set.
[...]
Then it tries to access the disks (to fsck/mount them):
wd3: interrupt timeout (status 50<rdy,seekdone> error 0)
wd3: wdttimeout() DMA status 1<active>

And the system hangs.
Without DMA everything works fine.

This is the kernel-stuff that leads to the error:
controller      wdc1    at isa? port "IO_WD2" bio irq 15 flags 0xb0ffb0ff

The same errors for wdc0, of course.

This system is (without DMA stuff)
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 3.3-STABLE #0: Sun Oct 31 11:02:46 CET 1999
    root@neutron.cichlids.com:/usr/src/sys/compile/neutron-stable
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium/P55C (167.05-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x543  Stepping = 3
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 50331648 (49152K bytes)
avail memory = 45387776 (44324K bytes)
Probing for devices on PCI bus 0:
chip0: <SiS 5591 host to PCI bridge> rev 0x02 on pci0.0.0
ide_pci0: <PCI IDE controller (busmaster capable)> rev 0xd0 int a irq 14 on pci0
.0.1
chip1: <SiS 85c503> rev 0x01 on pci0.1.0
vga0: <SiS 86c201 SVGA controller> rev 0x00 on pci0.2.0
amd0: <Tekram DC390(T)/AMD53c974 SCSI Host Adapter> rev 0x10 int a irq 11 on pci
0.11.0
xl0: <3Com 3c905B-TX Fast Etherlink XL> rev 0x30 int a irq 10 on pci0.15.0
xl0: Ethernet address: 00:50:04:0f:5a:27
xl0: autoneg complete, link status good (half-duplex, 100Mbps)
Probing for devices on PCI bus 1:
Probing for PnP devices:
Probing for devices on the ISA bus:
sc0 on isa
sc0: MDA/Hercules <16 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
fdc0: direction bit not set
fdc0: cmd 3 failed at out byte 1 of 3
fdc0 not found at 0x3f0
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <Maxtor 90680D4>
wd0: 6485MB (13281408 sectors), 13176 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 on isa
wdc1: unit 0 (wd2): <ST3250A-XR>
wd2: 204MB (417792 sectors), 1024 cyls, 12 heads, 34 S/T, 512 B/S
wdc1: unit 1 (wd3): <IBM-DTTA-351010>
wd3: 9671MB (19807200 sectors), 19650 cyls, 16 heads, 63 S/T, 512 B/S
wt0 not found at 0x300
mcd0 not found at 0x300
matcdc0 not found at 0x230
scd0 not found at 0x230
ppc0 at 0x378 irq 7 flags 0x40 on isa
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
ppb0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
plip0: <PLIP network interface> on ppbus 0
isic0 at 0xd80 irq 5 flags 0x3 on isa
isic0: Teles S0/16.3
isic0: ISAC 2085 Version A1/A2 or 2086/2186 Version 1.1 (IOM-2) (Addr=0x960)
isic0: HSCX 82525 or 21525 Version 2.1 (AddrA=0x160, AddrB=0x560)
adv0 not found at 0x330
bt0 not found at 0x134
aha0 not found at 0x134
vga0 at 0x3b0-0x3bb maddr 0xb0000 msize 32768 on isa
npx0 on motherboard
npx0: INT 16 interface
Intel Pentium detected, installing workaround for F00F bug
IP packet filtering initialized, divert enabled, rule-based forwarding disabled,
 default to accept, logging disabled
i4b: ISDN call control device attached
i4bisppp: 4 ISDN SyncPPP device(s) attached
i4bctl: ISDN system control port attached
i4bipr: 4 IP over raw HDLC ISDN device(s) attached (VJ header compression)
i4btel: 2 ISDN telephony interface device(s) attached
i4brbch: 4 raw B channel access device(s) attached
i4btrc: 4 ISDN trace device(s) attached
IP Filter: initialized.  Default = pass all, Logging = disabled
Waiting 15 seconds for SCSI devices to settle
changing root device to wd0s1a
i4b: unit 0, assigned TEI = 69 = 0x45


root@neutron /sys/i386/conf $ uname -a
FreeBSD neutron.cichlids.com 3.3-STABLE FreeBSD 3.3-STABLE #0: Sun Oct 31 11:02:46 CET 1999     root@neutron.cichlids.com:/usr/src/sys/compile/neutron-stable  i386

cvsup from today, but as I said, I got this on -current some weeks ago.

My Mainboard is a Gigabyte 586SG AT Board with the latest BIOS on it (if this helps).

Fix: 

Workaround: Don't use UDMA for this board (slow)
How-To-Repeat: 
I get this everytime, but I don't know, if you can reproduce it it.
Comment 1 Jeroen Ruigrok van der Werven freebsd_committer freebsd_triage 2000-02-06 18:17:02 UTC
State Changed
From-To: open->closed

Closed at originator's request.