Promise Ultra133 TX Controller with linux kernel 2.4.18.

Promise Ultra133 TX Controller with linux kernel 2.4.18.

Post by Alexe » Mon, 11 Mar 2002 06:29:34



I have a Pentium II 450 box with an Onboard UDMA33 controller plus a
Promise ATA100 PCI Controller and Promise ATA133 PCI controller
installed.

(Note: I also applied the patch ide.2.4.18-rc1.02152002.patch.gz and
recompiled my linux kernel 2.4.18 to have ATA133 support.)

Everything seems to work fine except when i connect two ATA133 hard
drives to the same 80 pin cable on any of two IDE Channels on the
Promise Ultra133 TX pci board. If i separate the two 80 GB ATA133
maxtor hard drives into one Hard Drive per IDE channel. The machine
boots up properly and detected everything properly and switches to
UDMA6 (ATA133) properly. I have tried only plugging in ONE hard drive
and set it to SLAVE on the Primay IDE Channel of the ATA133 card, and
linux on bootup will still fail to detect/use the hard drive.
I assume this problem is with the ide-patch for Kernel 2.4.x. I have
only tried this with kernel 2.4.17, 2.4.18, 2.4.19-pre2 and even the
latest 2.5.6 on Slackware Linux. (2.5.6 gave a kernel panic during
boot process and didn't even get to finish booting!)

I narrow down the problem and it seems that whenever there is a slave
hard drive connected to the 80 pin cable on any of the two Ultra133 TX
ide channels, linux will not be able to detect any of the drives on
the same cable properly.

Here is the bootup log of one of the runs i did during testing with
two 80 GB Maxtor ATA133 drive (one master one slave) both connected to
the same Primay IDE Channel.

(Note: my Ultra100 controller on the same machine has no problem what
so ever even with all 4 hard drives connected to it. I think this
problem only exists if using Promise Ultra133 TX controller.)

--------
Linux version 2.4.19-pre2 (root@fileserver) (gcc version 3.0.3) #2 SMP
Sat Mar 9 15:26:27 EST 2002
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
 BIOS-e820: 000000000009e800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e7000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000017ffdc00 (usable)
 BIOS-e820: 0000000017ffdc00 - 0000000017fffc00 (ACPI data)
 BIOS-e820: 0000000017fffc00 - 0000000018000000 (ACPI NVS)
 BIOS-e820: 00000000fffe7000 - 0000000100000000 (reserved)
On node 0 totalpages: 98301
zone(0): 4096 pages.
zone(1): 94205 pages.
zone(2): 0 pages.
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Kernel command line: BOOT_IMAGE=Linux-2.4.18 ro root=302
Initializing CPU#0
Detected 448.972 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 894.56 BogoMIPS
Memory: 385536k/393204k available (1643k kernel code, 7276k reserved,
685k data, 256k init, 0k highmem)
Dentry-cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: Before vendor init, caps: 0183fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0183fbff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0183fbff 00000000 00000000 00000000
CPU:             Common caps: 0183fbff 00000000 00000000 00000000
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
CPU: Before vendor init, caps: 0183fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0183fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0183fbff 00000000 00000000 00000000
CPU:             Common caps: 0183fbff 00000000 00000000 00000000
CPU0: Intel Pentium II (Deschutes) stepping 02
per-CPU timeslice cutoff: 1464.52 usecs.
SMP motherboard not detected.
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 448.9812 MHz.
..... host bus clock speed is 99.7732 MHz.
cpu: 0, clocks: 997732, slice: 498866
CPU0<T0:997728,T1:498848,D:14,S:498866,C:997732>
Waiting on wait_init_idle (map = 0x0)
All processors have done init_idle
PCI: PCI BIOS revision 2.10 entry at 0xfd9b4, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 2: assuming transparent
PCI: Using IRQ router PIIX [8086/7110] at 00:07.0
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
vesafb: framebuffer at 0xf5000000, mapped to 0xd880d000, size 8128k
vesafb: mode is 1024x768x16, linelength=2048, pages=4
vesafb: protected mode interface info at c000:4cec
vesafb: scrolling: redraw
vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
block: 128 slots per queue, batch=32
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
PIIX4: IDE controller on PCI bus 00 dev 39
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x10a0-0x10a7, BIOS settings: hda:DMA, hdb:pio
PDC20269: IDE controller on PCI bus 00 dev 68
PCI: Found IRQ 11 for device 00:0d.0
PCI: Sharing IRQ 11 with 01:00.0
PDC20269: chipset revision 2
PDC20269: not 100% native mode: will probe irqs later
    ide2: BM-DMA at 0x10b0-0x10b7, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0x10b8-0x10bf, BIOS settings: hdg:pio, hdh:pio
PDC20267: IDE controller on PCI bus 00 dev 70
PCI: Found IRQ 10 for device 00:0e.0
PDC20267: chipset revision 2
PDC20267: not 100% native mode: will probe irqs later
PDC20267: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI
Mode.
    ide4: BM-DMA at 0x1000-0x1007, BIOS settings: hdi:pio, hdj:pio
    ide5: BM-DMA at 0x1008-0x100f, BIOS settings: hdk:pio, hdl:pio
hda: QUANTUM FIREBALL_TM3200A, ATA DISK drive
hde: MAXTOR 6L080L4, ATA DISK drive
hdf: MAXTOR 6L080L4, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x10d0-0x10d7,0x10c6 on irq 11
hda: 6281856 sectors (3216 MB) w/76KiB Cache, CHS=779/128/63, DMA
hde: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=155114/16/63,
UDMA(33)
hdf: set_drive_speed_status: status=0xff { Busy }
Warning: Primary channel requires an 80-pin cable for operation.
hdf reduced to Ultra33 mode.
hdf: set_drive_speed_status: status=0xff { Busy }
hdf: status timeout: status=0xff { Busy }
hdf: drive not ready for command
hdf: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=155114/16/63,
(U)DMA
hdf: status timeout: status=0xff { Busy }
hdf: drive not ready for command
Partition check:
 hda: hda1 < hda5 > hda2
 hde:hde: status timeout: status=0xff { Busy }
hde: DMA disabled
hdf: DMA disabled
PDC202XX: Primary channel reset.
hde: drive not ready for command
ide2: reset timed-out, status=0xff
hde: status timeout: status=0xff { Busy }
PDC202XX: Primary channel reset.
hde: drive not ready for command
ide2: reset timed-out, status=0xff
end_request: I/O error, dev 21:00 (hde), sector 0
end_request: I/O error, dev 21:00 (hde), sector 2
end_request: I/O error, dev 21:00 (hde), sector 4
end_request: I/O error, dev 21:00 (hde), sector 6
end_request: I/O error, dev 21:00 (hde), sector 0
end_request: I/O error, dev 21:00 (hde), sector 2
end_request: I/O error, dev 21:00 (hde), sector 4
end_request: I/O error, dev 21:00 (hde), sector 6
 unable to read partition table
 hdf:hdf: status timeout: status=0xff { Busy }
PDC202XX: Primary channel reset.
hdf: drive not ready for command
ide2: reset timed-out, status=0xff
hdf: status timeout: status=0xff { Busy }
PDC202XX: Primary channel reset.
hdf: drive not ready for command
ide2: reset timed-out, status=0xff
end_request: I/O error, dev 21:40 (hdf), sector 0
end_request: I/O error, dev 21:40 (hdf), sector 2
end_request: I/O error, dev 21:40 (hdf), sector 4
end_request: I/O error, dev 21:40 (hdf), sector 6
end_request: I/O error, dev 21:40 (hdf), sector 0
end_request: I/O error, dev 21:40 (hdf), sector 2
end_request: I/O error, dev 21:40 (hdf), sector 4
end_request: I/O error, dev 21:40 (hdf), sector 6
 unable to read partition table
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
PCI: Found IRQ 9 for device 00:10.0
PCI: Sharing IRQ 9 with 00:07.2
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
00:10.0: 3Com PCI 3c905 Boomerang 100baseTx at 0x1040. Vers LK1.1.16
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 321M
agpgart: Detected Intel 440BX chipset
agpgart: AGP aperture is 64M @ 0xf8000000
[drm] Initialized tdfx 1.0.0 20010216 on minor 0
[drm] AGP 0.99 on Intel 440BX @ 0xf8000000 64MB
[drm] Initialized radeon 1.1.1 20010405 on minor 1
Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
ip_conntrack (3071 buckets, 24568 max)
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ds: no socket drivers loaded!
reiserfs: checking transaction log (device 03:02) ...
Using r5 hash to sort names
ReiserFS version 3.6.25
VFS: Mounted root (reiserfs filesystem) readonly.
Freeing unused kernel memory: 256k freed
Adding Swap: 749912k swap-space (priority -1)
--------

If anyone have a solution to this, please help.

Thank you.