Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Attaching piixide device before pdcsata device



        Hello.  The most reliable way to do this is to build a custom kernel
with lines that look like:

[ ... ]
# 0x0000 means "use whatever the drive claims to support".
wd0     at atabus8 drive 0 flags 0x0000
wd*     at atabus? drive ? flags 0x0000

        We use this trick on a box with almost precisely the same setup as
yours, except that we only have one drive on the piix controller.  
In your original dmesg, note the atabus numbers to which the piixide drives
are attached, and then add the appropriate number of lines to your kernel
config, as shown above, changing the bus numbers as appropriate.  Then,
when you boot, you'll see the wd numbers get ordered in the way you want.
        Another way to skin this cat is to set the root drives up as a raidframe
device, with auto-configure turned on.  Then, no matter how the drives
attach, the appropriate root device will be mounted.  This is what we do in
situations where we have mirrored root drives or raid 5 sets.


        Hope that helps.
-Brian


        Here is the relevant portion of dmesg output for the machine using the
kernel config snippet referenced above.

pdcsata0 port 0: device present, speed: 3.0Gb/s
pdcsata0 port 1: device present, speed: 3.0Gb/s
pdcsata0 port 2: device present, speed: 3.0Gb/s
pdcsata0 port 3: device present, speed: 1.5Gb/s
pdcsata1 port 0: device present, speed: 3.0Gb/s
pdcsata1 port 1: device present, speed: 3.0Gb/s
pdcsata1 port 2: device present, speed: 3.0Gb/s
pdcsata1 port 3: device present, speed: 1.5Gb/s
wd1 at atabus0 drive 0pdcsata0:0:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(pdcsata0:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd2 at atabus1 drive 0pdcsata0:1:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd2: drive supports 16-sector PIO transfers, LBA48 addressing
wd2: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd2(pdcsata0:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd3 at atabus2 drive 0pdcsata0:2:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd3: drive supports 16-sector PIO transfers, LBA48 addressing
wd3: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd3: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd3(pdcsata0:2:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd4 at atabus3 drive 0pdcsata0:3:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <MAXTOR STM3500630AS>
wd4: drive supports 16-sector PIO transfers, LBA48 addressing
wd4: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd4: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd4(pdcsata0:3:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd5 at atabus4 drive 0pdcsata1:0:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd5: drive supports 16-sector PIO transfers, LBA48 addressing
wd5: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd5: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd5(pdcsata1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd6 at atabus5 drive 0pdcsata1:1:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd6: drive supports 16-sector PIO transfers, LBA48 addressing
wd6: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd6: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd6(pdcsata1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd7 at atabus6 drive 0pdcsata1:2:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <WDC WD5000KS-00MNB0>
wd7: drive supports 16-sector PIO transfers, LBA48 addressing
wd7: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd7: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd7(pdcsata1:2:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd8 at atabus7 drive 0pdcsata1:3:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
: <MAXTOR STM3500630AS>
wd8: drive supports 16-sector PIO transfers, LBA48 addressing
wd8: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd8: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd8(pdcsata1:3:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd0 at atabus8 drive 0: <Maxtor 5T060H6>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 58644 MB, 119150 cyl, 16 head, 63 sec, 512 bytes/sect x 120103200 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
On Mar 27,  8:49am, Selvan wrote:
} Subject: Attaching piixide device before pdcsata device
} Hi all,
} 
} I'm faced with a problem that's proving quite difficult to solve. My 
} system is populated with 8 internal SATA drives. 4 drives connected to 
} the on-board SATA connectors. 4 drives connected to a Promise TX4 300. 
} The issue here is, at startup, the Promise card is detected first and 
} hence the drives on this card are mapped as wd0, wd1, wd2 and wd3 onto 
} the pdcsata device. Thereafter, the on-board drives are detected and 
} mapped as wd4, wd5, wd6 and wd7 onto the piixide devices. Is it possible 
} to have the order re-arranged such that the on-board drives are detected 
} and mapped first as wd0, wd1, wd2 and wd3?
} 
} The relevant portions of the dmesg file are listed below:
} 
} ppb0 at pci0 dev 30 function 0: Intel 82801BA Hub-PCI Bridge (rev. 0xe1)
} pci1 at ppb0 bus 1
} pci1: i/o space, memory space enabled
} pdcsata0 at pci1 dev 0 function 0
} pdcsata0: Promise PDC40718 SATA300 controller (rev. 0x02)
} pdcsata0: interrupting at ioapic0 pin 20 (irq 10)
} pdcsata0: bus-master DMA support present
} atabus0 at pdcsata0 channel 0
} atabus1 at pdcsata0 channel 1
} atabus2 at pdcsata0 channel 2
} atabus3 at pdcsata0 channel 3
} 
} piixide0 at pci0 dev 31 function 2
} piixide0: Intel 82801GB/GR Serial ATA/Raid Controller (ICH7) (rev. 0x01)
} piixide0: bus-master DMA support present
} piixide0: primary channel configured to native-PCI mode
} piixide0: using ioapic0 pin 19 (irq 11) for native-PCI interrupt
} atabus4 at piixide0 channel 0
} piixide0: secondary channel configured to native-PCI mode
} atabus5 at piixide0 channel 1
} 
} wd0 at atabus0 drive 0umass0 at uhub4 port 5 configuration 1 interface 0
} wd1 at atabus1 drive 0pdcsata0:1:0: lost interrupt
} wd2 at atabus2 drive 0pdcsata0:2:0: lost interrupt
} wd3 at atabus3 drive 0pdcsata0:3:0: lost interrupt
} wd4 at atabus4 drive 0: <WDC WD1000FYPS-01ZKB0>
} wd5 at atabus4 drive 1: <WDC WD1000FYPS-01ZKB0>
} wd6 at atabus5 drive 0: <WDC WD1000FYPS-01ZKB0>
} wd7 at atabus5 drive 1: <WDC WD1000FYPS-01ZKB0>
} 
} Any assistance with this would be greatly appreciated.
} 
} Regards,
} 
} Selvan Naidoo
>-- End of excerpt from Selvan




Home | Main Index | Thread Index | Old Index