Problems with boot order of multiple adapters
Stefan Engel
Stefan.Engel at syngenio.de
Fri Jan 25 10:07:57 PST 2002
Hi,
I have the following problem concering the boot
order of Adaptec controllers using Linux (SuSE Linux
7.3, Kernel 2.4.16):
The system is a DELL PowerEdge 2550 with AIC7899 on board
and a separate Adaptec 29160 (AIC7892) as add-on card
on the PCI riser board.
When booting, the BIOS first reports the SCSI devices found
for the internal on-board SCSI controller, in our configuration:
Channel A
ID 0 FUJITSU MAN3184MC
ID 7 DELL 1x4 U2W SCSI BP
Channel B
ID 4 OVERLAND LXB
ID 5 QUANTUM SuperDLT1
Then the external controller reports the external devices
Channel A
ID 0 easyRAID X12
The boot order in the DELL BIOS is configured to first use the
specified boot order (Floppy, CDROM, Disc), second the internal
on-board controller, third the 29160.
Now Linux starts booting from the internal disk (/dev/sda1) which is
is specified in the BIOS. But when the kernel is coming up, the following
order of the controllers appear in the console log (excerpt from boot.msg):
<6>scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
<4> <Adaptec 29160 Ultra160 SCSI adapter>
<4> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
<4>
<6>scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
<4> <Adaptec aic7899 Ultra160 SCSI adapter>
<4> aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
<4>
<6>scsi2 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
<4> <Adaptec aic7899 Ultra160 SCSI adapter>
<4> aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
<4>
<4>blk: queue dff91698, I/O limit 4095Mb (mask 0xffffffff)
<4> Vendor: FUJITSU Model: MAN3184MC Rev: 5508
<4> Type: Direct-Access ANSI SCSI revision: 03
<4>blk: queue dff91598, I/O limit 4095Mb (mask 0xffffffff)
<4>(scsi1:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
<4> Vendor: DELL Model: 1x4 U2W SCSI BP Rev: 1.30
<4> Type: Processor ANSI SCSI revision: 02
<4>blk: queue dff91498, I/O limit 4095Mb (mask 0xffffffff)
<4>scsi1:A:0:0: Tagged Queuing enabled. Depth 253
<4> Vendor: OVERLAND Model: LXB Rev: 0104
<4> Type: Medium Changer ANSI SCSI revision: 02
<4>blk: queue dff91398, I/O limit 4095Mb (mask 0xffffffff)
<4>(scsi2:A:4): 20.000MB/s transfers (10.000MHz, offset 15, 16bit)
<4> Vendor: QUANTUM Model: SuperDLT1 Rev: 2323
<4> Type: Sequential-Access ANSI SCSI revision: 02
<4>blk: queue dff91298, I/O limit 4095Mb (mask 0xffffffff)
<4>(scsi2:A:5): 80.000MB/s transfers (40.000MHz, offset 62, 16bit)
<4>Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
<4>SCSI device sda: 35566478 512-byte hdwr sectors (18210 MB)
As you can see, Linux first sees the "external" 29160 adapter (scsi0)
before the on-board controller (scsi1, scsi2). The problem now
is, that if the RAID-System is connected to the 29160, it is found
at scsi0 and treated as /dev/sda. In this case the internal harddisk
becomes /dev/sdb and the kernel does not find the
root partition (expected to be on /dev/sda6) and panics.
Analyzing /proc/pci revealed the the 29160 is found ionPCI bus 0
whereas the on-board controller is found on PCI bus 3.
I tried the same configuration with a DELL PowerEdge 1550
(identical Linux setup, two harddisks instead of one, the on-board
controllers are 7899). Here the 29160 adapter is found at scsi2
and the internal controllers at scsi0 and scsi1 and everything
works fine.
On the DELL 2550 I even tried to boot Linux using the command line
option "aic7xxx=reverse_scan" (I tried the LILO setting too) but the
behaviour remains the same.
Is there any way to tell Linux or the device driver to first use the internal
controllers and then the 29160?
Maybe I am missing something here. Can you point me in the right
direction on how to solve this problem?
Thanks in advance and best regards,
Stefan
--
Stefan Engel Syngenio AG
mailto:Stefan.Engel at syngenio.de http://www.syngenio.de
To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message
More information about the aic7xxx
mailing list