Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Dec 2001 14:58:18 -0800 (PST)
From:      Craig Reyenga <dreyenga@telus.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/32447: Data corruption when reading from ATAPI CD-ROMs
Message-ID:  <200112022258.fB2MwI158943@freefall.freebsd.org>

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

>Number:         32447
>Category:       i386
>Synopsis:       Data corruption when reading from ATAPI CD-ROMs
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 02 15:00:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Craig Reyenga
>Release:        FreeBSD 4.4-STABLE
>Organization:
None
>Environment:
FreeBSD fireball.net 4.4-STABLE FreeBSD 4.4-STABLE #0: Sat Dec  1 18:57:48 PST 2001     root@fireball.net:/usr/obj/usr/source/src-4.4S/src/sys/K7KERN  i386

>Description:
With the VIA VT8233's onboard ATA100 controller, there is data corruption when reading from CDROM. The CDs will mount just fine, but when data is read, it is corrupted. Portions remain intact, however. This has been verified with clean regular CDs, CD-Rs and CD-RWs, all producing the same result. It has not been verified with CD-audio.

There are actually two CD-ROMs on the second IDE channel, and the problem exists whether both are connected or just one. The Toshiba CD-ROM is worse than the Ricoh CD-Writer, but both are affected. Both also work perfectly in Windows 98 with or without VIA chipset patches.

The mainboard is an EPoX EP-8KHA+ with an AMD processor.

Verbose dmesg output:

Copyright (c) 1992-2001 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.4-STABLE #0: Sat Dec  1 18:57:48 PST 2001
    root@fireball.tornado:/usr/obj/usr/source/src-4.4S/src/sys/K7KERN
Calibrating clock(s) ... TSC clock: 1403287668 Hz, i8254 clock: 1193272 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: AMD Athlon(tm) XP 1600+ (1403.19-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x662  Stepping = 2
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0480000<<b19>,AMIE,DSP,3DNow!>
Data TLB: 32 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
real memory  = 268369920 (262080K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x003b0000 - 0x0ffe7fff, 264470528 bytes (64568 pages)
avail memory = 257519616 (251484K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00fafc0
bios32: Entry = 0xfb430 (c00fb430)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xb460
pnpbios: Found PnP BIOS data at 0xc00fbec0
pnpbios: Entry = f0000:bef0  Rev = 1.0
Other BIOS signatures found:
ACPI: 000f70d0
Preloaded elf kernel "kernel" at 0xc0389000.
VESA: information block
56 45 53 41 00 03 00 01 00 01 01 00 00 00 17 01 
00 01 00 01 01 02 5b 01 00 01 72 01 00 01 83 01 
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
VESA: 33 mode(s) found
VESA: v3.0, 16384k memory, flags:0x1, mode table:0xc031b657 (1000117)
VESA: 3dfx Interactive, Inc.
VESA: 3dfx Interactive, Inc. Voodoo3 3500 TV  210-0371-00X
netsmb_dev: loaded
Pentium Pro MTRR support enabled
pci_open(1):	mode 1 addr port (0x0cf8) is 0x80010014
pci_open(1a):	mode1res=0x80000000 (0x80000000)
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=30991106)
Using $PIR table, 7 entries at 0xc00fde70
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
found->	vendor=0x1106, dev=0x3099, revid=0x00
	class=06-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	map[10]: type 1, range 32, base e0000000, size 26
found->	vendor=0x1106, dev=0xb099, revid=0x00
	class=06-04-00, hdrtype=0x01, mfdev=0
	subordinatebus=1 	secondarybus=1
found->	vendor=0x10ec, dev=0x8139, revid=0x10
	class=02-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base 0000d000, size  8
	map[14]: type 1, range 32, base eb000000, size  8
found->	vendor=0x109e, dev=0x036e, revid=0x02
	class=04-00-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base eb001000, size 12
found->	vendor=0x109e, dev=0x0878, revid=0x02
	class=04-80-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base eb002000, size 12
found->	vendor=0x1102, dev=0x0002, revid=0x07
	class=04-01-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base 0000d400, size  5
found->	vendor=0x1102, dev=0x7002, revid=0x07
	class=09-80-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	map[10]: type 1, range 32, base 0000d800, size  3
found->	vendor=0x1106, dev=0x3074, revid=0x00
	class=06-01-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
found->	vendor=0x1106, dev=0x0571, revid=0x06
	class=01-01-8a, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=255
	map[20]: type 1, range 32, base 0000dc00, size  4
found->	vendor=0x1106, dev=0x3038, revid=0x1b
	class=0c-03-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=d, irq=11
	map[20]: type 1, range 32, base 0000e000, size  5
found->	vendor=0x1106, dev=0x3038, revid=0x1b
	class=0c-03-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=d, irq=11
	map[20]: type 1, range 32, base 0000e800, size  5
pci0: <PCI bus> on pcib0
agp0: <VIA Generic host to PCI bridge> mem 0xe0000000-0xe3ffffff at device 0.0 on pci0
agp0: allocating GATT for aperture of size 256M
pcib1: <PCI to PCI bridge (vendor=1106 device=b099)> at device 1.0 on pci0
found->	vendor=0x121a, dev=0x0005, revid=0x01
	class=03-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base e4000000, size 25
	map[14]: type 1, range 32, base e8000000, size 25
	map[18]: type 1, range 32, base 0000c000, size  8
pci1: <PCI bus> on pcib1
pci1: <3Dfx Voodoo 3 graphics accelerator> (vendor=0x121a, dev=0x0005) at 0.0 irq 11
rl0: <RealTek 8139 10/100BaseTX> port 0xd000-0xd0ff mem 0xeb000000-0xeb0000ff irq 11 at device 10.0 on pci0
rl0: Ethernet address: 00:50:bf:5a:eb:bd
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bpf: rl0 attached
bktr0: <BrookTree 878> mem 0xeb001000-0xeb001fff irq 11 at device 11.0 on pci0
	using shared irq11.
iicbb0: <I2C generic bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus: iic devclass not found
smbus0: <System Management Bus> on bti2c0
smbus: smb devclass not found
brooktree0: PCI bus latency is 32.
bktr0: buffer size 3555328, addr 0x5000000
bktr0: GPIO is 0x00fff7c3
bktr0: subsystem 0x1461 0x0002
bktr0: AVer Media TV/FM, Philips NTSC tuner.
pci0: <unknown card> (vendor=0x109e, dev=0x0878) at 11.1 irq 11
pcm0: <Creative EMU10K1> port 0xd400-0xd41f irq 11 at device 13.0 on pci0
emu: setmap (5d000, 800), nseg=1, error=0
emu: setmap (3b0000, 1000), nseg=1, error=0
pcm0: ac97 codec id 0x54524123 (TriTech TR28602)
pcm0: ac97 codec features 5 bit master volume, no 3D Stereo Enhancement
emu: setmap (3f0000, 1000), nseg=1, error=0
emu: setmap (430000, 1000), nseg=1, error=0
emu: setmap (470000, 1000), nseg=1, error=0
emu: setmap (4b0000, 1000), nseg=1, error=0
pcm: setmap 4f0000, 1000; 0xd0696000 -> 4f0000
pcm: setmap 530000, 1000; 0xd06d6000 -> 530000
pcm: setmap 570000, 1000; 0xd0716000 -> 570000
isab0: <PCI to ISA bridge (vendor=1106 device=3074)> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0xdc00-0xdc0f at device 17.1 on pci0
ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xdc00
ata0: mask=03 status0=50 status1=00
ata0: mask=03 ostat0=50 ostat2=00
ata0-master: ATAPI probe a=00 b=00
ata0-slave: ATAPI probe a=00 b=00
ata0: mask=03 status0=50 status1=00
ata0-master: ATA probe a=01 b=a5
ata0: devices=01
ata0: at 0x1f0 irq 14 on atapci0
ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xdc08
ata1: mask=03 status0=50 status1=50
ata1: mask=03 ostat0=50 ostat2=50
ata1-master: ATAPI probe a=14 b=eb
ata1-slave: ATAPI probe a=14 b=eb
ata1: mask=03 status0=00 status1=00
ata1: devices=0c
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe000-0xe01f irq 11 at device 17.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xe800-0xe81f irq 11 at device 17.4 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
Trying Read_Port at 203
Trying Read_Port at 243
Trying Read_Port at 283
Trying Read_Port at 2c3
Trying Read_Port at 303
Trying Read_Port at 343
Trying Read_Port at 383
Trying Read_Port at 3c3
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0047
atkbd: keyboard ID 0x41ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
psm0: current command byte:0047
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3-00, 3 buttons
psm0: config:00000000, flags:00000000, packet size:4
psm0: syncmask:08, syncbits:08
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x700ff
fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000
fb0: init mode:24, bios mode:3, current mode:24
fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k
VGA parameters upon power-up
50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0e 0f 00 00 07 80 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
VGA parameters in BIOS for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
EGA/VGA parameters to be used for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
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
sio0: irq maps: 0x841 0x851 0x841 0x841
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 4 not in bitmap of probed irqs 0x8
sio1: irq maps: 0x841 0x849 0x841 0x841
sio1 at port 0x2f8-0x2ff irq 4 on isa0
sio1: type 16550A
ppc0: parallel port found at 0x378
ppc0: using extended I/O port range
ppc0: ECP SPP ECP+EPP SPP
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/16 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
isa_probe_children: probing PnP devices
BIOS Geometries:
 0:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
 0 accounted for
Device configuration finished.
bpf: lo0 attached
ata0-master: success setting UDMA5 on VIA chip
Creating DISK ad0
ad0: <FUJITSU MPG3204AT E/80C4> ATA-5 disk at ata0-master
ad0: 19546MB (40031712 sectors), 39714 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA100
ad0: piomode=4 dmamode=2 udmamode=5 cblid=1
ad0: 19546MB <FUJITSU MPG3204AT E> [39714/16/63] at ata0-master UDMA100
ata1-master: piomode=4 dmamode=2 udmamode=-1 dmaflag=1
ata1-master: success setting PIO4 on generic chip
acd0: <TOSHIBA CD-ROM XM-6302B/1017> CDROM drive at ata1 as master
acd0: read 5512KB/s (3271KB/s), 256KB buffer, PIO4
acd0: Reads: CD-R, CD-RW, CD-DA stream
acd0: Audio: play, 16 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: CD-ROM 120mm data disc loaded, unlocked
ata1-slave: piomode=3 dmamode=1 udmamode=-1 dmaflag=1
ata1-slave: success setting PIO3 on generic chip
acd1: <RICOH CD-R/RW MP7060A/1.80> CD-RW drive at ata1 as slave
acd1: read 4134KB/s (34515KB/s) write 1034KB/s (1034KB/s), 2048KB buffer, PIO3
acd1: Reads: CD-R, CD-RW, CD-DA stream, packet
acd1: Writes: CD-R, CD-RW, test write
acd1: Audio: play, 255 volume levels
acd1: Mechanism: ejectable tray
acd1: Medium: no/blank disc inside, unlocked
Mounting root from ufs:/dev/ad0s2a
ad0s1: type 0xb, start 63, end = 16386299, size 16386237 : OK
ad0s2: type 0xa5, start 16386300, end = 40017914, size 23631615 : OK
start_init: trying /sbin/init
splash: image decoder found: snake_saver
Linux ELF exec handler installed

>How-To-Repeat:
Obtain the hardware mentioned, mount a CDROM, attempt to read data from it.
>Fix:

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

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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