Messages in this thread | | | Date | Sun, 12 May 2002 11:17:37 -0500 | From | Tom Roberts <> | Subject | PROBLEM: CR-RW works on Win98se but not Linux 2.4.18 |
| |
PROBLEM: CR-RW works on Win98se but not Linux 2.4.18 NOTE: This is probably the Via chipset data corruption bug
I have installed a Philips PCRW2412 CD writer (24x12x40x). It works fine when I boot into Windows 98se, but does not work when I boot into Linux 2.4.18. Gtoaster and cdrecord give no errors, but when I compare to the original a few files have permanent compare errors (different files for different CDRs); writing while booted in Win98se gets no compare errors (comparing while booted in Linux 2.4.18). I have tried 3 other CD writers with similar results, except that an old HP 4x2x10x writer worked mostly (compare errors about 1 out of 10 CDRs). The system is as idle as I can make it, but CPU activity does not seem to affect this.
I have upgraded everything I know how to: RedHat 7.2 (includes cdrecord 1.10) BIOS 1008a (latest from the manufacturer, Asus A7V133) Kernel 2.4.18 (configured and built it myself (:-)) -- system boots just fine using this or the RH 7.2 kernel (2.4.7-10). CD-R problems are the same for both kernels. I had to config it for PentiumIII, because the Athlon config has unsatisfied external _mmx_memcopy() in some modules. I used PCI access = BIOS (see below).
>From the success in Windows without the updated "4-in-1" driver, I believe that the BIOS is configuring the PCI and IDE systems correctly (that is Via's way to fix the bug). This implies that Linux is re- configuring them incorrectly. I did configure the Kernel to use "BIOS" access mode for PCI, hoping that would preserve the BIOS settings which work in Windows, but I still get errors.
Here I describe things with a single harddisk (master) and the CD-RW (slave) on the first IDE cable. I have a second harddisk (master) on the second IDE cable; I can copy ~700 MB ISO images between drives (hda and hdc) without errors, so the most common manifestation of the "Via chipset data corruption bug" does not affect me (I unmounted /dev/hdc while burning, to make sure cable-to-cable was not the problem). I also had these errors in an older configuration with both harddisks on the first IDE cable and the CD-RW on the second. Both cables are 80-wire; trying the CD-RW on a 40-wire second cable still had errors (did not try that in Win98se). I am of course using ide-scsi for the CD-RW drive.
[I seem to recall comments in via82cxxx.c which said there is a bug in the 40-wire detection; this may have compromized my test with the 40-wire cable.]
So I think I have eliminated hardware problems as the source of these errors. Does anyone have a clue? Is there some special kernel CONFIG I need to select? Do I need to discard this motherboard and start over? I recall seeing a Windows program which dumps some PCI config registers, and the article discussed how to change them to fix this problem -- is there such a program for Linux?
A Google search on "via data corruption bug" returns volumes of information, but I cannot separate the wheat from the chaff.... I have asked this on several Linux newsgroups, but got no answer.
Thanks for any insight or assistance....
Tom Roberts tjroberts@lucent.com tomroberts@lightfirst.com
cat /proc/version: Linux version 2.4.18 (root@lucy2) (gcc version 2.96 20000731 \ (Red Hat Linux 7.1 2.96-98)) #21 Thu May 9 20:14:55 CDT 2002
cat /proc/ide/via: ----------VIA BusMastering IDE Configuration---------------- Driver Version: 3.29 South Bridge: VIA vt82c686b Revision: ISA 0x40 IDE 0x6 Highest DMA rate: UDMA100 BM-DMA base: 0xd800 PCI clock: 33MHz 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: no yes Post Write Buffer: no yes Enabled: yes yes Simplex only: no no Cable Type: 80w 80w -------------------drive0----drive1----drive2----drive3----- Transfer Mode: UDMA UDMA UDMA PIO Address Setup: 30ns 30ns 30ns 120ns Cmd Active: 90ns 90ns 90ns 90ns Cmd Recovery: 30ns 30ns 30ns 30ns Data Active: 90ns 90ns 90ns 330ns Data Recovery: 30ns 30ns 30ns 270ns Cycle Time: 20ns 60ns 20ns 600ns Transfer Rate: 99.0MB/s 33.0MB/s 99.0MB/s 3.3MB/s
cat /proc/ide/drivers: ide-scsi version 0.9 ide-cdrom version 4.59 ide-disk version 1.10
cat /proc/cpuinfo: processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 4 model name : AMD Athlon(tm) Processor stepping : 2 cpu MHz : 807.209 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca \ cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow bogomips : 1608.90
scripts/ver_linux output: Linux lucy2 2.4.18 #21 Thu May 9 20:14:55 CDT 2002 i686 unknown
Gnu C 2.96 Gnu make 3.79.1 binutils 2.11.90.0.8 util-linux 2.11f mount 2.11g modutils 2.4.6 e2fsprogs 1.23 reiserfsprogs 3.x.0j PPP 2.4.1 Linux C Library 2.2.4 Dynamic linker (ldd) 2.2.4 Procps 2.0.7 Net-tools 1.60 Console-tools 0.3.3 Sh-utils 2.0.11 Modules Loaded es1371 ac97_codec soundcore vmnet parport_pc vmmon \ ide-scsi vfat fat
lspci -vvv: 00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03) Subsystem: Asustek Computer, Inc.: Unknown device 8042 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- Latency: 8 Region 0: Memory at e6000000 (32-bit, prefetchable) [size=32M] Capabilities: [a0] AGP version 2.0 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none> Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 0000e000-0000dfff Memory behind bridge: e2000000-e3dfffff Prefetchable memory behind bridge: e3f00000-e5ffffff BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B- Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) Subsystem: Asustek Computer, Inc.: Unknown device 8042 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 Region 4: I/O ports at d800 [size=16] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32, cache line size 08 Interrupt: pin D routed to IRQ 5 Region 4: I/O ports at d400 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) (prog-if 00 [UHCI]) Subsystem: Unknown device 0925:1234 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32, cache line size 08 Interrupt: pin D routed to IRQ 5 Region 4: I/O ports at d000 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) Subsystem: Asustek Computer, Inc.: Unknown device 8042 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin ? routed to IRQ 9 Capabilities: [68] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10) Subsystem: Realtek Semiconductor Co., Ltd. RT8139 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 (8000ns min, 16000ns max) Interrupt: pin A routed to IRQ 5 Region 0: I/O ports at a400 [size=256] Region 1: Memory at e1800000 (32-bit, non-prefetchable) [size=256] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:0b.0 Multimedia audio controller: Ensoniq CT5880 [AudioPCI] (rev 02) Subsystem: Ensoniq: Unknown device 2003 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort+ >SERR- <PERR- Latency: 64 (3000ns min, 32000ns max) Interrupt: pin A routed to IRQ 10 Region 0: I/O ports at a000 [size=64] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265 (rev 02) Subsystem: Promise Technology, Inc.: Unknown device 4d33 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 Interrupt: pin A routed to IRQ 10 Region 0: I/O ports at 9800 [size=8] Region 1: I/O ports at 9400 [size=4] Region 2: I/O ports at 9000 [size=8] Region 3: I/O ports at 8800 [size=4] Region 4: I/O ports at 8400 [size=64] Region 5: Memory at e1000000 (32-bit, non-prefetchable) [size=128K] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [58] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:00.0 VGA compatible controller: nVidia Corporation Vanta [NV6] (rev 15) (prog-if 00 [VGA]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (1250ns min, 250ns max) Interrupt: pin A routed to IRQ 11 Region 0: Memory at e2000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at e4000000 (32-bit, prefetchable) [size=32M] Expansion ROM at e3ff0000 [disabled] [size=64K] Capabilities: [60] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [44] AGP version 2.0 Status: RQ=31 SBA- 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
cat /etc/lilo.conf: prompt timeout=50 default=linux-2.4.18 boot=/dev/hda map=/boot/map install=/boot/boot.b message=/boot/message lba32
image=/boot/vmlinuz-2.4.18 label=linux-2.4.18 read-only root=/dev/hda3 append="hdb=ide-scsi"
image=/boot/vmlinuz-2.4.7-10 label=linux-2.4.7-10 initrd=/boot/initrd-2.4.7-10.img read-only root=/dev/hda3 append="hdb=ide-scsi"
other=/dev/hda1 optional label=Win98 - 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/
| |