*BSD News Article 49967


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!fu-berlin.de!news.dfn.de!Germany.EU.net!Dortmund.Germany.EU.net!Uni-Dortmund.DE!distler.maschinenbau.uni-dortmund.de!ab
From: ab@distler.maschinenbau.uni-dortmund.de (Andreas Braukmann (NetAdmin))
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: SCSI - AHA2742A Twin-Channel
Date: 2 Sep 1995 22:47:47 GMT
Organization: University of Dortmund, LTD II
Lines: 98
Message-ID: <42amuj$k5b@nx2.hrz.uni-dortmund.de>
NNTP-Posting-Host: distler.maschinenbau.uni-dortmund.de
X-Newsreader: TIN [version 1.2 PL2]

Hi,

 ... I've got some trouble to use both SCSI-channels of my AHA2742AT under
 2.0.5-950622-SNAP in a consistent way.

 The hostadapter supplies two SCSI-channels named 'A' and 'B'. Channel 'A'
 may be connected to internal and external devices; channel 'B' to internal
 devices only. Because of that, I've decided to put my fast harddisk on
 channel 'B' and an external cabinet with slower devices (CD-ROM, tape, an
 older harddisk) on channel 'A'.


The problem:
The aic7770 driver (/usr/src/sys/i386/scsi/aic7xxx.*) probes the channel
'A' before channel 'B'. This seems to be logical, but leads to the
following annoying behavior:

The first harddisk found at channel 'A' becomes sd0 (the second sd1 and so
on) and the disks on channel 'B' sd??. Especially the device name for the
disk with the root-partition is unpredictable. (Mind the possibility to
have the external devices switched of.)

Naturally I've considered to wire down the scsi-devices (kernel config
file) in the following way:

controller scbus0
controller scbus1

device          sd0 at scbus1 target 0 unit 0
[...]
device          sd4 at scbus0 target 0 unit 0

... ... without any success .... 
A kernel configured like this was booting right into a kernel panic.

Tracing down the panic-message and some experiments leads to the
assumption:
The aic7xxx-driver interfaces to the kernel as one single scsi-bus?
(Is this right?)
If this is the case -- how should one distinguish devices with same target
ids (one of them on Channel A and the other on channel B) in the kernel
configuration file?


Here some excerpts from the boot-messages of the driver:

Only one scsi-disk on channel 'B'; external devices on channel 'A' switched
off.
~~~~~~~~~~~~~~~~
ahc0: reading board settings
ahc0: 274x Twin Channel, A SCSI Id=7, B SCSI Id=7, aic7770 >= Rev E, 4 SCBs
ahc0: Using Level Sensitive Interrupts
ahc0: Downloading Sequencer Program...Done
ahc0 at 0x5000-0x50ff irq 11 on eisa slot 5
ahc0: Probing channel A
ahc0 waiting for scsi devices to settle
ahc0: Probing Channel B
ahc0 waiting for scsi devices to settle
(ahc0:0:0): "FUJITSU M2694ES-512 812A" type 0 fixed SCSI 2
sd0(ahc0:0:0): Direct-Access 1033MB (2117025 512 byte sectors)

~~~~~~~~~~~~~~~~
.. the system boots as expected, sd0 is assigned to the 'right' disk.

channel 'A' device switched on
~~~~~~~~~~~~~~~~
ahc0: reading board settings
ahc0: 274x Twin Channel, A SCSI Id=7, B SCSI Id=7, aic7770 >= Rev E, 4 SCBs
ahc0: Using Level Sensitive Interrupts
ahc0: Downloading Sequencer Program...Done
ahc0 at 0x5000-0x50ff irq 11 on eisa slot 5
ahc0: Probing channel A
ahc0 waiting for scsi devices to settle
(ahc0:0:0): "SEAGATE [...]" type 0 fixed SCSI 1
sd1(ahc0:0:0): Direct-Access [...]
ahc0: Probing Channel B
ahc0 waiting for scsi devices to settle
(ahc0:0:0): "FUJITSU M2694ES-512 812A" type 0 fixed SCSI 2
sd1(ahc0:0:0): Direct-Access 1033MB (2117025 512 byte sectors)
~~~~~~~~~~~~~~~~

.. the system boots into 'panic', because the kernel cannot localize its
root filesystem.

Any suggestions?

Thanks,
    Andreas



--
       +------------------------------------------------------+
       | Andreas Braukmann             University of Dortmund |
       +------------------------------------------------------+
       |       braukman@ls12.informatik.uni-dortmund.de       |
       |       ab@ltd2.maschinenbau.uni-dortmund.de           |
       +------------------------------------------------------+