Bug 25948

Summary: ad6, ad7 fails in 4.3-BETA cvsup 20010317.
Product: Base System Reporter: tetragon <tetragon>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description tetragon 2001-03-20 18:20:01 UTC
hardware:
A-Bit BH6-2.0
atapci0: <Intel PIIX4 ATA33 controller> port 0xf000-0xf00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
atapci1: <Promise ATA66 controller> port 0xbc00-0xbc3f,0xb800-0xb803,0xb400-0xb407,0xb000-0xb003,0xac00-0xac07 mem 0xee100000-0xee11ffff irq 11 at device 15.0 on pci0
ata2: at 0xac00 on atapci1
ata3: at 0xb400 on atapci1
ad0: 4110MB <QUANTUM FIREBALL SE4.3A> [14848/9/63] at ata0-master UDMA33
(next 4 disks are Seagate ATAII & III disks.)
ad4: 19092MB <ST320414A> [38792/16/63] at ata2-master UDMA66
ad5: 19092MB <ST320414A> [38792/16/63] at ata2-slave UDMA66
ad6: 19458MB <ST320420A> [39535/16/63] at ata3-master UDMA66
ad7: 19458MB <ST320420A> [39535/16/63] at ata3-slave UDMA66

Software:
Generic 4.3-B kernel recompiled with all standard ata-driver options.
(Some non-ata drivers were removed.)

POST:
Promise Ultra-66 detects all 4 Seagate UDMA drives connected.

Kernel:
DMESG reports all 4 drives okay. (As above.)

Symptoms:
On boot, all 4 disks attached to the Promise seem to be reported okay.
Attempting to access ad6 & ad7 fails however. (Tried writing a label
with both disklabel and with /stand/sysinstall.)

Swapped disksets between promise controllers (swap 80way cables) produces
the same results for ad6 & ad7 only. (not HD dependant.)

Attaching one diskset to controller 0 on Promise and other diskset to 
onboard PIIX controller, all disks are accessable in all configurations
(At this point I labelled all disks correctly as I intended to have them.)

Attaching one diskset to controller 1 on Promise and other diskset to
onboard PIIX controller, only the onboard disks "worked" though they all
appeared to the OS. (disklabel was reported as fictitious. Attempts to
write a label to ad6 or ad7 reported "Device not configured.")

Workaround:
Recompile kernel WITHOUT:
options        ATA_STATIC_ID
So that ata devices are not wired down and are (possibly) able to use
ad(n) devices ad5 or less.

Result:
It would _appear_ that once ata devices are not hard wired, and all
disks appear on ad[0-5] then all devices can be accessed okay. Have
newfs'd and mounted all 4 disks, on the Promise U66, as ad1-4 all
without any problems whatsoever. This limits the number of connected
ata disks to a maximum of 6. (ad0 - ad5.)

Fix: 

Workaround:
Limit number of ata controllers to <4 (3 or less) so that there is
no ad(n) device greater than 5. (6 disks max.) Note that disabling
an onboard controller in BIOS will not work with ata hardwired.
--OR--
Recompile kernel WITHOUT:
options        ATA_STATIC_ID
So that ata devices connected ata controllers 4 or above are not wired
down.
(NOTE: I have NOT been able to test ad6 & ad7 with this option as
 unfortunatly I do not have enough hard disks. The 6-disk limit is
 thus still unknown to me when ata disks are not hardwired.)
How-To-Repeat: Reboot with old kernel, devices ad6 & ad7 resume improper
operation, though the hardware would seem to work fine, and disks 
have valid labels and filesystems.
Reboot with 4.2-RELEASE GENERIC kernel off cdrom, same symptoms.
disklabel complains (for ad6 & ad7) on read:
Bad pack or label.
on write:
Operation not supported by device.
(/stand/sysinstall fails without obvious error.)
Comment 1 sos 2001-03-20 20:02:22 UTC
It seems tetragon@cyber.com.au wrote:
> Symptoms:
> On boot, all 4 disks attached to the Promise seem to be reported okay.
> Attempting to access ad6 & ad7 fails however. (Tried writing a label
> with both disklabel and with /stand/sysinstall.)

I cannot reproduce this problem here at all, are you sure your /dev/ad*
entries are as they should be ? please post a ls -l /dev/ad[0-7] etc...

-Søren
Comment 2 Søren Schmidt freebsd_committer freebsd_triage 2001-05-30 11:58:37 UTC
State Changed
From-To: open->closed

NO feedback.