kernel hangs on CD-R HP8100i if compiled w/ VIA IDE support.

From: Henryk Paluch (paluch@KMLinux.fjfi.cvut.cz)
Date: Sun Jan 21 2001 - 07:34:09 EST


Hi folks!

The Problem:
  Kernel hangs when accessing CD-R HP8100i if VIA IDE chipset support
  is compiled in. If VIA IDE is not compiled in kernel, it works.

Tested kernels:
  2.2.16, RedHat 7.0's 2.2.16-22, 2.2.18, 2.2.18 + Andre's IDE patch,
  2.4.0. All tested kernels behave as described. Compiled using kgcc on
  RedHat 7. No other problems.

Hardware:
  MB Microstar K7T Pro2-A (MS-6330) - ATA 100 capable, VIA KT133.
  hda: ATA-100 30GB IBM drive
  hdc: CD-R HP8100i (does not support UDMA modes).
BIOS reports following status:
  "hda" ATA100 mode
  "hdc" PIO3 mode

Kernel 2.4.0 w/ VIA IDE support messages:

 Linux version 2.4.0-via (root@henryk.domain.cz) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Sun Jan 21 11:54:55 CET 2001
 BIOS-provided physical RAM map:
  BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
  BIOS-e820: 0000000000000400 @ 000000000009fc00 (reserved)
  BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
  BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
  BIOS-e820: 0000000007ef0000 @ 0000000000100000 (usable)
  BIOS-e820: 000000000000d000 @ 0000000007ff3000 (ACPI data)
  BIOS-e820: 0000000000003000 @ 0000000007ff0000 (ACPI NVS)
 On node 0 totalpages: 32752
 zone(0): 4096 pages.
 zone(1): 28656 pages.
 zone(2): 0 pages.
 Kernel command line: BOOT_IMAGE=linux.240via ro root=306 BOOT_FILE=/boot/vmlinuz-2.4.0-via
 Initializing CPU#0
 Detected 699.692 MHz processor.
 Console: colour VGA+ 80x25
 Calibrating delay loop... 1395.91 BogoMIPS
 Memory: 126760k/131008k available (917k kernel code, 3860k reserved, 359k data, 192k init, 0k highmem)
 Dentry-cache hash table entries: 16384 (order: 5, 131072 bytes)
 Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
 Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
 Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
 CPU: Before vendor init, caps: 0183f9ff c1c7f9ff 00000000, vendor = 2
 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
 CPU: L2 Cache: 64K (64 bytes/line)
 CPU: After vendor init, caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: After generic, caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: Common caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: AMD Duron(tm) Processor stepping 01
 Checking 'hlt' instruction... OK.
 POSIX conformance testing by UNIFIX
 mtrr: v1.37 (20001109) Richard Gooch (rgooch@atnf.csiro.au)
 mtrr: detected mtrr type: Intel
 PCI: PCI BIOS revision 2.10 entry at 0xfb250, last bus=1
 PCI: Using configuration type 1
 PCI: Probing PCI hardware
 Linux NET4.0 for Linux 2.4
 Based upon Swansea University Computer Society NET3.039
 DMI 2.2 present.
 38 structures occupying 1029 bytes.
 DMI table at 0x000F0800.
 BIOS Vendor: Award Software International, Inc.
 BIOS Version: 6.00 PG
 BIOS Release: 11/13/00
 System Vendor: MICRO-STAR INTERNATIONAL CO., LTD.
 Product Name: MS-6330.
 Version .
 Serial Number .
 Board Vendor: MICRO-STAR INTERNATIONAL CO., LTD.
 Board Name: MS-6330.
 Board Version: .
 Starting kswapd v1.8
 Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
 SMSC Super-IO detection, now testing Ports 2F0, 370 ...
 parport0: PC-style at 0x378, irq 7 [PCSPP,EPP]
 parport_pc: Via 686A parallel port: io=0x378, irq=7
 pty: 256 Unix98 ptys configured
 Uniform Multi-Platform E-IDE driver Revision: 6.31
 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
 VP_IDE: IDE controller on PCI bus 00 dev 39
 VP_IDE: chipset revision 6
 VP_IDE: not 100%% native mode: will probe irqs later
 VP_IDE: VIA vt82c686a IDE UDMA66 controller on pci0:7.1
     ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
     ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:pio
 hda: IBM-DTLA-307030, ATA DISK drive
 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
 hdc: Hewlett-Packard CD-Writer Plus 8100, ATAPI CDROM drive
 ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
 ide1 at 0x170-0x177,0x376 on irq 15
 hda: 60036480 sectors (30739 MB) w/1916KiB Cache, CHS=3737/255/63, UDMA(33)
 Partition check:
  hda: hda1 hda2 < hda5 hda6 > hda3
  hda3: <solaris: [s0] hda7 [s1] hda8 [s2] hda9 [s7] hda10 >
 Floppy drive(s): fd0 is 1.44M
 FDC 0 is a post-1991 82077
 Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
 ttyS00 at 0x03f8 (irq = 4) is a 16550A
 ttyS01 at 0x02f8 (irq = 3) is a 16550A
 SCSI subsystem driver Revision: 1.00
 NET4: Linux TCP/IP 1.0 for NET4.0
 IP Protocols: ICMP, UDP, TCP, IGMP
 IP: routing cache hash table of 512 buckets, 4Kbytes
 TCP: Hash tables configured (established 8192 bind 8192)
 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
 ACPI: System description tables found
 ACPI: System description tables loaded
 ACPI: Subsystem enabled
 ACPI: System firmware supports: C2
 ACPI: System firmware supports: S0 S1 S5
 VFS: Mounted root (ext2 filesystem) readonly.
 Freeing unused kernel memory: 192k freed
 Adding Swap: 265032k swap-space (priority -1)
 Via 686a audio driver 1.1.14
 ac97_codec: AC97 Audio codec, id: 0x4943:0x4511 (Unknown)
 via82cxxx: board #1 at 0xDC00, IRQ 11
 MSDOS FS: IO charset iso8859-2
 MSDOS FS: Using codepage 852
 Linux agpgart interface v0.99 (c) Jeff Hartmann
 agpgart: Maximum main memory to use for agp memory: 94M
 agpgart: Detected Via Apollo Pro KT133 chipset
 agpgart: AGP aperture is 64M @ 0xd0000000
 ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
   http://www.scyld.com/network/ne2k-pci.html
 eth0: RealTek RTL-8029 found at 0xe800, IRQ 11, 00:60:52:08:BE:A8.
-------------------------------------------------------------------------
After issuing mount /dev/hdc:

 hdc: lost interrupt
 hdc: ATAPI 24X CD-ROM CD-R/RW drive, 1024kB Cache, DMA
 Uniform CD-ROM driver Revision: 3.12
 hdc: lost interrupt
  
Kernel hangs (num lock not responding, console switching does not work,
no disk activity).

cat /proc/ide/via:

----------VIA BusMastering IDE Configuration----------------
Driver Version: 2.1e
South Bridge: VIA vt82c686a rev 0x40
Command register: 0x7
Latency timer: 32
PCI clock: 33MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
FIFO Output Data 1/2 Clock Advance: on
BM IDE Status Register Read Retry: on
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: on on
End Sect. FIFO flush: on on
Prefetch Buffer: on on
Post Write Buffer: on on
FIFO size: 8 8
Threshold Prim.: 1/2 1/2
Bytes Per Sector: 512 512
Both channels togth: yes yes
-------------------drive0----drive1----drive2----drive3-----
BMDMA enabled: yes no no no
Transfer Mode: UDMA DMA/PIO DMA/PIO DMA/PIO
Address Setup: 30ns 120ns 30ns 120ns
Active Pulse: 90ns 330ns 90ns 330ns
Recovery Time: 30ns 270ns 90ns 270ns
Cycle Time: 120ns 600ns 180ns 600ns
Transfer Rate: 16.5MB/s 3.3MB/s 11.0MB/s 3.3MB/s
------------------------------------------------------------------------------
cat /proc/pci:
PCI devices found:
  Bus 0, device 0, function 0:
    Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 2).
      Prefetchable 32 bit memory at 0xd0000000 [0xd3ffffff].
  Bus 0, device 1, function 0:
    PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] (rev 0).
      Master Capable. No bursts. Min Gnt=12.
  Bus 0, device 7, function 0:
    ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 64).
  Bus 0, device 7, function 1:
    IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 6).
      Master Capable. Latency=32.
      I/O at 0xd000 [0xd00f].
  Bus 0, device 7, function 2:
    USB Controller: VIA Technologies, Inc. UHCI USB (rev 22).
      IRQ 9.
      Master Capable. Latency=32.
      I/O at 0xd400 [0xd41f].
  Bus 0, device 7, function 3:
    USB Controller: VIA Technologies, Inc. UHCI USB (#2) (rev 22).
      IRQ 9.
      Master Capable. Latency=32.
      I/O at 0xd800 [0xd81f].
  Bus 0, device 7, function 4:
    Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 64).
  Bus 0, device 7, function 5:
    Multimedia audio controller: VIA Technologies, Inc. AC97 Audio Controller (rev 80).
      IRQ 11.
      I/O at 0xdc00 [0xdcff].
      I/O at 0xe000 [0xe003].
      I/O at 0xe400 [0xe403].
  Bus 0, device 9, function 0:
    Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS) (rev 0).
      IRQ 11.
      I/O at 0xe800 [0xe81f].
  Bus 1, device 0, function 0:
    VGA compatible controller: ATI Technologies Inc Rage 128 RF (rev 0).
      IRQ 10.
      Master Capable. Latency=32. Min Gnt=8.
      Prefetchable 32 bit memory at 0xd4000000 [0xd7ffffff].
      I/O at 0xc000 [0xc0ff].
      Non-prefetchable 32 bit memory at 0xd9000000 [0xd9003fff].
---------------------------------------------------------------------------

hdparm -i /dev/hda:
/dev/hda:

 Model=IBM-DTLA-307030, FwRev=TX4OA50C, SerialNo=YKDYKTDN632
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=40
 BuffType=DualPortCache, BuffSize=1916kB, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=60036480
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes: pio0 pio1 pio2 pio3 pio4
 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5

------------------------------------------------------------------------------
Kernel 2.4.0 without VIA IDE support:

 Linux version 2.4.0-novia (root@henryk.domain.cz) (gcc version
egcs-2.91.66
19990314/Linux (egcs-1.1.2 release)) #1 Sat Jan 20 11:12:06 CET 2001
 BIOS-provided physical RAM map:
  BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
  BIOS-e820: 0000000000000400 @ 000000000009fc00 (reserved)
  BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
  BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
  BIOS-e820: 0000000007ef0000 @ 0000000000100000 (usable)
  BIOS-e820: 000000000000d000 @ 0000000007ff3000 (ACPI data)
  BIOS-e820: 0000000000003000 @ 0000000007ff0000 (ACPI NVS)
 On node 0 totalpages: 32752
 zone(0): 4096 pages.
 zone(1): 28656 pages.
 zone(2): 0 pages.
 Kernel command line: BOOT_IMAGE=linux.240novia ro root=306 BOOT_FILE=/boot/vmlinuz-2.4.0-novia
 Initializing CPU#0
 Detected 699.676 MHz processor.
 Console: colour VGA+ 80x25
 Calibrating delay loop... 1395.91 BogoMIPS
 Memory: 126772k/131008k available (912k kernel code, 3848k reserved, 355k data, 188k init, 0k highmem)
 Dentry-cache hash table entries: 16384 (order: 5, 131072 bytes)
 Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
 Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
 Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
 CPU: Before vendor init, caps: 0183f9ff c1c7f9ff 00000000, vendor = 2
 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
 CPU: L2 Cache: 64K (64 bytes/line)
 CPU: After vendor init, caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: After generic, caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: Common caps: 0183f9ff c1c7f9ff 00000000 00000000
 CPU: AMD Duron(tm) Processor stepping 01
 Checking 'hlt' instruction... OK.
 POSIX conformance testing by UNIFIX
 mtrr: v1.37 (20001109) Richard Gooch (rgooch@atnf.csiro.au)
 mtrr: detected mtrr type: Intel
 PCI: PCI BIOS revision 2.10 entry at 0xfb250, last bus=1
 PCI: Using configuration type 1
 PCI: Probing PCI hardware
 Linux NET4.0 for Linux 2.4
 Based upon Swansea University Computer Society NET3.039
 DMI 2.2 present.
 38 structures occupying 1029 bytes.
 DMI table at 0x000F0800.
 BIOS Vendor: Award Software International, Inc.
 BIOS Version: 6.00 PG
 BIOS Release: 11/13/00
 System Vendor: MICRO-STAR INTERNATIONAL CO., LTD.
 Product Name: MS-6330.
 Version .
 Serial Number .
 Board Vendor: MICRO-STAR INTERNATIONAL CO., LTD.
 Board Name: MS-6330.
 Board Version: .
 Starting kswapd v1.8
 Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
 SMSC Super-IO detection, now testing Ports 2F0, 370 ...
 parport0: PC-style at 0x378, irq 7 [PCSPP,EPP]
 parport_pc: Via 686A parallel port: io=0x378, irq=7
 pty: 256 Unix98 ptys configured
 Uniform Multi-Platform E-IDE driver Revision: 6.31
 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
 VP_IDE: IDE controller on PCI bus 00 dev 39
 VP_IDE: chipset revision 6
 VP_IDE: not 100%% native mode: will probe irqs later
     ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
     ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:pio
 hda: IBM-DTLA-307030, ATA DISK drive
 hdc: Hewlett-Packard CD-Writer Plus 8100, ATAPI CDROM drive
 ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
 ide1 at 0x170-0x177,0x376 on irq 15
 hda: 60036480 sectors (30739 MB) w/1916KiB Cache, CHS=3737/255/63
 Partition check:
  hda: hda1 hda2 < hda5 hda6 > hda3
  hda3: <solaris: [s0] hda7 [s1] hda8 [s2] hda9 [s7] hda10 >
 Floppy drive(s): fd0 is 1.44M
 FDC 0 is a post-1991 82077
 Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
 ttyS00 at 0x03f8 (irq = 4) is a 16550A
 ttyS01 at 0x02f8 (irq = 3) is a 16550A
 SCSI subsystem driver Revision: 1.00
 NET4: Linux TCP/IP 1.0 for NET4.0
 IP Protocols: ICMP, UDP, TCP, IGMP
 IP: routing cache hash table of 512 buckets, 4Kbytes
 TCP: Hash tables configured (established 8192 bind 8192)
 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
 ACPI: System description tables found
 ACPI: System description tables loaded
 ACPI: Subsystem enabled
 ACPI: System firmware supports: C2
 ACPI: System firmware supports: S0 S1 S5
 VFS: Mounted root (ext2 filesystem) readonly.
 Freeing unused kernel memory: 188k freed
 Adding Swap: 265032k swap-space (priority -1)
 MSDOS FS: IO charset iso8859-2
 MSDOS FS: Using codepage 852
 Linux agpgart interface v0.99 (c) Jeff Hartmann
 agpgart: Maximum main memory to use for agp memory: 94M
 agpgart: Detected Via Apollo Pro KT133 chipset
 agpgart: AGP aperture is 64M @ 0xd0000000
 ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
   http://www.scyld.com/network/ne2k-pci.html
 eth0: RealTek RTL-8029 found at 0xe800, IRQ 11, 00:60:52:08:BE:A8.
 hdc: ATAPI 24X CD-ROM CD-R/RW drive, 1024kB Cache
 Uniform CD-ROM driver Revision: 3.12
 Via 686a audio driver 1.1.14
 ac97_codec: AC97 Audio codec, id: 0x4943:0x4511 (Unknown)
 via82cxxx: board #1 at 0xDC00, IRQ 11

hdparm -i /dev/hdc:
/dev/hdc:

 Model=Hewlett-Packard CD-Writer Plus 8100, FwRev=1.0g, SerialNo=PJY1R1N1CG
 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:180,w/IORDY:180}, tDMA={min:150,rec:150}
 PIO modes: pio0 pio1 pio2 pio3
 DMA modes: sdma0 sdma1 sdma2 mdma0 *mdma1

mount /dev/hdc works without problems.

Notes:
  Kernel reports that BIOS settings for hdc: is DMA,
         however BIOS really reports PIO3.
  Kernel reports hda: UDMA(33) however BIOS reports ATA 100.
  I tried most of other tricks (ide1=noautotune, hdc=nodma etc. but
  it did not help).

Sincerely
    Henryk Paluch, paluch@KMLinux.fjfi.cvut.cz

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



This archive was generated by hypermail 2b29 : Tue Jan 23 2001 - 21:00:24 EST