Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jan 2008 20:52:57 GMT
From:      Martin Laabs <martin.laabs@mailbox.tu-dresden.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/119838: udma100 enabled althrough improper cable on nVidia nForce2 UDMA133 controlle
Message-ID:  <200801202052.m0KKqv4o089858@www.freebsd.org>
Resent-Message-ID: <200801202100.m0KL05aB081538@freefall.freebsd.org>

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

>Number:         119838
>Category:       i386
>Synopsis:       udma100 enabled althrough improper cable on nVidia nForce2 UDMA133 controlle
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 20 21:00:05 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Martin Laabs
>Release:        6.2-RELEASE
>Organization:
>Environment:
FreeBSD martin.laabs 6.2-RELEASE-p9 FreeBSD 6.2-RELEASE-p9 #0: Thu Nov 29 04:07:33 UTC 2007     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
If there is an udma[66/100/133]-able device connected with a 40-pole cable to the nVidia nForce2 UDMA133 controller the udma mode is not reduced to udma33 in the boot process. This cause transfere errors and maybe data loss through wrong commands at the ata-device (even through they seems to be crc-protected). It also prevents reading the partition and slice tables and therefore creating the according devices in the /dev propperly.

The reason for that might be a bug in detection of the 40-pole cable which only supports modes up to udma33 or in reducing the mode to at most udma33 after detecting such a cable.


Output of dmesg:

Copyright (c) 1992-2007 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE-p9 #0: Thu Nov 29 04:07:33 UTC 2007
    root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) XP 2400+ (1996.98-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x681  Stepping = 1
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0400800<SYSCALL,MMX+,3DNow+,3DNow>
real memory  = 268369920 (255 MB)
avail memory = 253083648 (241 MB)
mptable_probe: MP Config Table has bad signature: \^\
ACPI APIC Table: <Nvidia AWRDACPI>
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: <Nvidia AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
Correcting nForce2 C1 CPU disconnect hangs
agp0: <NVIDIA nForce2 AGP Controller> mem 0xe8000000-0xe9ffffff at device 0.0 on pci0
pci0: <memory, RAM> at device 0.1 (no driver attached)
pci0: <memory, RAM> at device 0.2 (no driver attached)
pci0: <memory, RAM> at device 0.3 (no driver attached)
pci0: <memory, RAM> at device 0.4 (no driver attached)
pci0: <memory, RAM> at device 0.5 (no driver attached)
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xed080000-0xed080fff irq 20 at device 2.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: nVidia 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 0xed082000-0xed082fff irq 21 at device 2.1 on pci0
ohci1: [GIANT-LOCKED]
usb1: OHCI version 1.0, legacy support
usb1: <OHCI (generic) USB controller> on ohci1
usb1: USB revision 1.0
uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
ehci0: <NVIDIA nForce2 USB 2.0 controller> mem 0xed083000-0xed0830ff irq 22 at device 2.2 on pci0
ehci0: [GIANT-LOCKED]
usb2: EHCI version 1.0
usb2: companion controllers, 4 ports each: usb0 usb1
usb2: <NVIDIA nForce2 USB 2.0 controller> on ehci0
usb2: USB revision 2.0
uhub2: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 6 ports with 6 removable, self powered
nve0: <NVIDIA nForce MCP2 Networking Adapter> port 0xe000-0xe007 mem 0xed084000-0xed084fff irq 20 at device 4.0 on pci0
nve0: Ethernet address 00:e0:18:d5:26:29
miibus0: <MII bus> on nve0
rlphy0: <RTL8201L 10/100 media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
nve0: Ethernet address: 00:e0:18:d5:26:29
pci0: <multimedia, audio> at device 5.0 (no driver attached)
pcm0: <nVidia nForce2> port 0xe400-0xe4ff,0xe800-0xe87f mem 0xed081000-0xed081fff irq 22 at device 6.0 on pci0
pcm0: <Avance Logic ALC650 AC97 Codec>
pcib1: <ACPI PCI-PCI bridge> at device 8.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <network> at device 8.0 (no driver attached)
pci1: <simple comms, generic modem> at device 9.0 (no driver attached)
atapci0: <nVidia nForce2 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 9.0 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pci2: <display, VGA> at device 0.0 (no driver attached)
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77b 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
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xd0000-0xd17ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
umass0: WEM USB 1.1 5 in 1 Card Reader/Writer Multi Panel 5.25", rev 1.10/0.12, addr 2
Timecounter "TSC" frequency 1996984942 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 76319MB <Seagate ST380021A 3.19> at ata0-master UDMA100
ad1: 76319MB <SAMSUNG SP0842N BH900-41> at ata0-slave UDMA133
ad2: 39083MB <Maxtor 94098H6 BAC51KJ0> at ata1-master UDMA100
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: FAILURE - READ_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED> LBA=0
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: FAILURE - READ_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED> LBA=0
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: WARNING - READ_DMA UDMA ICRC error (retrying request) LBA=0
ad2: FAILURE - READ_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED> LBA=0
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <WEM 5 in 1 Card ReCF 1.00> Removable Direct Access SCSI-0 device 
da0: 1.000MB/s transfers
[...]

>How-To-Repeat:
Get a motherboard with such a chipset and connect an udma[66/100/133]-able device with a 40-pole ata cable to it.
>Fix:
add 'hw.ata.ata_dma="0"' to your /boot/loader.conf and enable the proper dma-modes after bootup with atacontrol mode <device> mode for each device.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801202052.m0KKqv4o089858>