Data corruption with VIA vt82c686a and UDMA.

From: Pablo (pasrospa_at_myrealbox.com)
Date: 06/22/04

  • Next message: Andrea Arcangeli: "Re: Stop the Linux kernel madness"
    To: linux-kernel@vger.kernel.org
    Date:	Tue, 22 Jun 2004 03:03:36 +0200
    
    

    Hi,

    I've an ABIT KT7-RAID (latest BIOS) with a DVD-ROM and a CD-Writer as hda and
    hdb. Problem is that when UDMA is activated drives that are attached to ide1
    or ide2 (via controller) seem corrupt data. I didn't notice this until I got
    the CD-Writer (LG 52x24x52x), all my attempts to burn CDs failed with the
    following error:

    Sense Key: 0x4 Hardware Error, Segment 0
    Sense Code: 0x08 Qual 0x03 (logical unit communication crc error
    (ultra-dma/32)) Fru 0x0

    Then I looked in the kernel log and found that I was getting these messages:

    hda: CHECK for good STATUS
    hda: drive_cmd: status=0x51 { DriveReady SeekComplete Error }

    After googling I found someone that had the same problem long ago:
    http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/1017.html but I think
    this was not fixed or something.

    Linux version 2.6.5-gentoo-r1 (root@gentoo) (gcc versi?n 3.3.2 20031218
    (Gentoo Linux 3.3.2-r5, prop
    olice-3.3-7)) #1 Wed Jun 9 02:13:03 CEST 2004
    BIOS-provided physical RAM map:
     BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
     BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
     BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
     BIOS-e820: 0000000000100000 - 0000000027ff0000 (usable)
     BIOS-e820: 0000000027ff0000 - 0000000027ff3000 (ACPI NVS)
     BIOS-e820: 0000000027ff3000 - 0000000028000000 (ACPI data)
     BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
    639MB LOWMEM available.
    On node 0 totalpages: 163824
      DMA zone: 4096 pages, LIFO batch:1
      Normal zone: 159728 pages, LIFO batch:16
      HighMem zone: 0 pages, LIFO batch:1
    DMI 2.3 present.
    ACPI: RSDP (v000 VT8371 ) @ 0x000f7900
    ACPI: RSDT (v001 VT8371 AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x27ff3000
    ACPI: FADT (v001 VT8371 AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x27ff3040
    ACPI: DSDT (v001 VT8371 AWRDACPI 0x00001000 MSFT 0x0100000c) @ 0x00000000
    Built 1 zonelists
    Kernel command line: BOOT_IMAGE=2.6.5-gentoo ro root=2102
    video=vesa:ywrap,mtrr splash=verbose
    bootsplash: verbose mode.
    Local APIC disabled by BIOS -- reenabling.
    Found and enabled local APIC!
    Initializing CPU#0
    PID hash table entries: 4096 (order 12: 32768 bytes)
    Detected 1000.556 MHz processor.
    Using tsc for high-res timesource
    Console: colour dummy device 80x25
    Memory: 644024k/655296k available (2557k kernel code, 10516k reserved, 927k
    data, 172k init, 0k high
    mem)
    Checking if this processor honours the WP bit even in supervisor mode... Ok.
    Calibrating delay loop... 1957.88 BogoMIPS
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    checking if image is initramfs...it isn't (ungzip failed); looks like an
    initrd
    Freeing initrd memory: 99k freed
    CPU: After generic identify, caps: 0183fbff c1c7fbff 00000000 00000000
    CPU: After vendor identify, caps: 0183fbff c1c7fbff 00000000 00000000
    CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
    CPU: L2 Cache: 256K (64 bytes/line)
    CPU: After all inits, caps: 0183fbff c1c7fbff 00000000 00000020
    Intel machine check architecture supported.
    Intel machine check reporting enabled on CPU#0.
    CPU: AMD Athlon(tm) processor stepping 02
    Enabling fast FPU save and restore... done.
    Checking 'hlt' instruction... OK.
    POSIX conformance testing by UNIFIX
    enabled ExtINT on CPU#0
    ESR value before enabling vector: 00000000
    ESR value after enabling vector: 00000000
    Using local APIC timer interrupts.
    calibrating APIC timer ...
    ..... CPU clock speed is 999.0927 MHz.
    ..... host bus clock speed is 199.0985 MHz.
    NET: Registered protocol family 16
    PCI: PCI BIOS revision 2.10 entry at 0xfb4e0, last bus=1
    PCI: Using configuration type 1
    mtrr: v2.0 (20020519)
    SCSI subsystem initialized
    drivers/usb/core/usb.c: registered new driver usbfs
    drivers/usb/core/usb.c: registered new driver hub
    PCI: Probing PCI hardware
    PCI: Probing PCI hardware (bus 00)
    Disabling VIA memory write queue (PCI ID 0305, rev 02): [55] 89 & 1f -> 09
    PCI: Using IRQ router VIA [1106/0686] at 0000:00:07.0
    spurious 8259A interrupt: IRQ7.
    vesafb: framebuffer at 0xd8000000, mapped to 0xe8800000, size 16384k
    vesafb: mode is 1280x1024x16, linelength=2560, pages=1
    vesafb: protected mode interface info at c000:0f3e
    vesafb: scrolling: redraw
    vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
    fb0: VESA VGA frame buffer device
    Machine check exception polling timer started.
    apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
    devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
    devfs: boot_options: 0x1
    Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    udf: registering filesystem
    PCI: Disabling Via external APIC routing
    mice: PS/2 mouse device common for all mice
    serio: i8042 AUX port at 0x60,0x64 irq 12
    input: ImPS/2 Generic Wheel Mouse on isa0060/serio1
    serio: i8042 KBD port at 0x60,0x64 irq 1
    input: AT Translated Set 2 keyboard on isa0060/serio0
    bootsplash 3.1.4-2004/02/19: looking for picture.... silentjpeg size 75071
    bytes, found (1280x1024,
    26385 bytes, v3).
    Console: switching to colour frame buffer device 153x54
    lp: driver loaded but no devices found
    Real Time Clock Driver v1.12
    Linux agpgart interface v0.100 (c) Dave Jones
    agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
    agpgart: Maximum main memory to use for agp memory: 564M
    agpgart: AGP aperture is 128M @ 0xd0000000
    Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
    ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
    parport_pc: Via 686A parallel port disabled in BIOS
    Using anticipatory io scheduler
    Floppy drive(s): fd0 is 1.44M
    FDC 0 is a post-1991 82077
    RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
    loop: loaded (max 8 devices)
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    VP_IDE: IDE controller at PCI slot 0000:00:07.1
    VP_IDE: chipset revision 16
    VP_IDE: not 100% native mode: will probe irqs later
    VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci0000:00:07.1
        ide0: BM-DMA at 0xc000-0xc007, BIOS settings: hda:DMA, hdb:DMA
        ide1: BM-DMA at 0xc008-0xc00f, BIOS settings: hdc:pio, hdd:pio
    hda: LG DVD-ROM DRD-8120B, ATAPI CD/DVD-ROM drive
    hdb: HL-DT-ST GCE-8520B, ATAPI CD/DVD-ROM drive
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    HPT370: IDE controller at PCI slot 0000:00:13.0
    PCI: Found IRQ 11 for device 0000:00:13.0
    PCI: Sharing IRQ 11 with 0000:00:09.0
    HPT370: chipset revision 3
    HPT37X: using 33MHz PCI clock
    HPT370: 100% native mode on irq 11
        ide2: BM-DMA at 0xe800-0xe807, BIOS settings: hde:DMA, hdf:pio
        ide3: BM-DMA at 0xe808-0xe80f, BIOS settings: hdg:pio, hdh:pio
    hde: Maxtor 6Y120L0, ATA DISK drive
    ide2 at 0xd800-0xd807,0xdc02 on irq 11
    hde: max request size: 128KiB
    hde: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100)
     /dev/ide/host2/bus0/target0/lun0: p1 p2 p3
    hda: ATAPI 40X DVD-ROM drive, 512kB Cache, UDMA(33)
    Uniform CD-ROM driver Revision: 3.20
    hdb: ATAPI 8X CD-ROM CD-R/RW CD-MRW drive, 2048kB Cache, UDMA(33)
    USB Universal Host Controller Interface driver v2.2
    PCI: Found IRQ 7 for device 0000:00:07.2
    PCI: Sharing IRQ 7 with 0000:00:07.3
    uhci_hcd 0000:00:07.2: VIA Technologies, Inc. USB
    uhci_hcd 0000:00:07.2: irq 7, io base 0000c400
    uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 2 ports detected
    PCI: Found IRQ 7 for device 0000:00:07.3
    PCI: Sharing IRQ 7 with 0000:00:07.2
    uhci_hcd 0000:00:07.3: VIA Technologies, Inc. USB (#2)
    uhci_hcd 0000:00:07.3: irq 7, io base 0000c800
    uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 2 ports detected
    drivers/usb/core/usb.c: registered new driver usblp
    drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
    Initializing USB Mass Storage driver...
    drivers/usb/core/usb.c: registered new driver usb-storage
    USB Mass Storage support registered.
    drivers/usb/core/usb.c: registered new driver hid
    drivers/usb/input/hid-core.c: v2.0:USB HID core driver
    Advanced Linux Sound Architecture Driver Version 1.0.4rc2 (Tue Mar 30 08:19:30
    2004 UTC).
    PCI: Found IRQ 5 for device 0000:00:0f.0
    ALSA device list:
      #0: Sound Blaster Live! (rev.8) at 0xd000, irq 5
    NET: Registered protocol family 2
    IP: routing cache hash table of 8192 buckets, 64Kbytes
    TCP: Hash tables configured (established 262144 bind 65536)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    RAMDISK: Couldn't find valid RAM disk image starting at 0.
    kjournald starting. Commit interval 5 seconds
    EXT3-fs: mounted filesystem with ordered data mode.
    VFS: Mounted root (ext3 filesystem) readonly.
    Mounted devfs on /dev
    Freeing unused kernel memory: 172k freed
    Adding 128512k swap on /dev/hde3. Priority:-1 extents:1
    EXT3 FS on hde2, internal journal
    8139too Fast Ethernet driver 0.9.27
    PCI: Found IRQ 11 for device 0000:00:09.0
    PCI: Sharing IRQ 11 with 0000:00:13.0
    eth0: RealTek RTL8139 at 0xe98d7000, 00:e0:7d:89:e6:c9, IRQ 11
    eth0: Identified 8139 chip type 'RTL-8139B'
    nvidia: module license 'NVIDIA' taints kernel.
    0: nvidia: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-5336 Wed Jan 14
    18:29:26 PST 2004
    eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
    hda: CHECK for good STATUS
    hdb: CHECK for good STATUS
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 0 changed to on
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 1 changed to on
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 2 changed to on
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 3 changed to on
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 4 changed to on
    bootsplash 3.1.4-2004/02/19: looking for picture.... found (1280x1024, 26385
    bytes, v3).
    bootsplash: status on console 5 changed to on
    agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
    agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode
    agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode
    atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0).
    atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.
    hda: CHECK for good STATUS
    hda: CHECK for good STATUS
    hdb: CHECK for good STATUS
    hdb: CHECK for good STATUS

    /dev/hda:

     Model=LG DVD-ROM DRD-8120B, FwRev=1.03, SerialNo=
     Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
     RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
     BuffType=unknown, BuffSize=0kB, MaxMultSect=0
     (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
     IORDY=on/off, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:150}
     PIO modes: pio0 pio1 pio2 pio3 pio4
     DMA modes: mdma0 mdma1 mdma2
     UDMA modes: udma0 udma1 *udma2
     AdvancedPM=no

    /dev/hdb:

     Model=HL-DT-ST GCE-8520B, FwRev=1.04, SerialNo=
     Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
     RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
     BuffType=unknown, BuffSize=0kB, MaxMultSect=0
     (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
     IORDY=yes, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
     PIO modes: pio0 pio1 pio2 pio3 pio4
     DMA modes: mdma0 mdma1 mdma2
     UDMA modes: udma0 udma1 *udma2
     AdvancedPM=no

    ----------VIA BusMastering IDE Configuration----------------
    Driver Version: 3.38
    South Bridge: VIA vt82c686a
    Revision: ISA 0x22 IDE 0x10
    Highest DMA rate: UDMA66
    BM-DMA base: 0xc000
    PCI clock: 33.3MHz
    Master Read Cycle IRDY: 0ws
    Master Write Cycle IRDY: 0ws
    BM IDE Status Register Read Retry: yes
    Max DRDY Pulse Width: No limit
    -----------------------Primary IDE-------Secondary IDE------
    Read DMA FIFO flush: yes yes
    End Sector FIFO flush: no no
    Prefetch Buffer: yes yes
    Post Write Buffer: yes no
    Enabled: yes yes
    Simplex only: no no
    Cable Type: 40w 40w
    -------------------drive0----drive1----drive2----drive3-----
    Transfer Mode: UDMA UDMA PIO PIO
    Address Setup: 30ns 30ns 120ns 120ns
    Cmd Active: 90ns 90ns 480ns 480ns
    Cmd Recovery: 30ns 30ns 480ns 480ns
    Data Active: 90ns 90ns 330ns 330ns
    Data Recovery: 30ns 30ns 270ns 270ns
    Cycle Time: 60ns 60ns 600ns 600ns
    Transfer Rate: 33.3MB/s 33.3MB/s 3.3MB/s 3.3MB/s

    I've tried changing the cables but I get the same result. This problems
    doesn't happen under Windows so the drives are ok (I also tried to attach a
    HDD there and I got many errors like now). I read that there might be
    problems with SB Live! but I get same errors without it.

    A workaround for this has been to turn UDMA off and set it to MDMA, then I
    have no problem at all and CDs are burned ok. The HPT370 (ATA100) ide
    controller also works fine, my hd is there.

    I know this is an old thing but if you decided not to fix it because of
    something I would like to know :-)

    This is my first message to this list, I wish I told enough information. And
    please, CC this message to me because I'm not subscribed to the list.

    Pablo.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Andrea Arcangeli: "Re: Stop the Linux kernel madness"

    Relevant Pages

    • Re: 2.6.0-test2-bk3 phantom I/O errors
      ... PCI: PCI BIOS revision 2.10 entry at 0xfb4e0, ... 15 nodes reported by PnP BIOS; 15 recorded by driver ... udf: registering filesystem ... PCI: Found IRQ 11 for device 0000:00:0f.0 ...
      (Linux-Kernel)
    • Trouble with VIA vt82c686a and UDMA.
      ... PCI: PCI BIOS revision 2.10 entry at 0xfb4e0, ... drivers/usb/core/usb.c: registered new driver usbfs ... udf: registering filesystem ... i8042 AUX port at 0x60,0x64 irq 12 ...
      (Linux-Kernel)
    • Re: [Bug 185] Sometimes kernel freezes sometime lists OOPS - hostap_cs
      ... Looks like it partially fixed problem, but hostap driver still not work: ... ACPI: bus type pci registered ... PCI Interrupt Link enabled at IRQ 10 ... SELinux: Registering netfilter hooks ...
      (Linux-Kernel)
    • 2.6.1-rc1-mm1 - ieee1394 broken again?
      ... number of MP IRQ sources: ... PCI: PCI BIOS revision 2.10 entry at 0xfdb71, ... NTFS driver 2.1.5. ... udf: registering filesystem ...
      (Linux-Kernel)
    • ACPI kernel panic at boot on 2.6.0-test5-mm1
      ... PCI: PCI BIOS revision 2.10 entry at 0xfb370, ... drivers/usb/core/usb.c: registered new driver usbfs ... udf: registering filesystem ... PCI: Found IRQ 11 for device 0000:00:0d.0 ...
      (Linux-Kernel)