Bug 102612 - [asr] da0 not detected when sharing bus with ch0 device on 2100s controller
Summary: [asr] da0 not detected when sharing bus with ch0 device on 2100s controller
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 6.1-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-28 17:30 UTC by John Simmons
Modified: 2017-08-26 03:36 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Simmons 2006-08-28 17:30:20 UTC
When the Seagate SCSI drive is on the internal interface
of the Adaptec 2100S and the TSL-S11000 Autoloader is on the external
interface of the same card, the system detects the asr device properly
while booting, detects sa0 for the tape drive, then (without detecting da0,
the Seagate drive) it goes on to detect ch0 as the changer device.
The system then prompts the user to select a valid boot device, but the
da0 disk is not listed as a valid choice.

If the autoloader is powered off, the system detects and boots properly
from the Seagate drive.  If the Seagate drive is moved to a separate SCSI
controller, and the autoloader is powered back on, both devices are detected.
The SCSI target ID of the autoloader is 12 and the SCSI target ID of the
drive has been varied, but currently is 2.  The drive is detected as a
SCSI-3 device, and the autoloader is detected as a SCSI-2 device.  The
same computers, with exact same hardware configurations, work fine with
the hard drive and autoloader on the same 2100s controller under
FreeBSD release 4.10 stable.  As an added note, if the Sony tape drive is
connected to the bus without the autoloader, both the sa0 and da0 devices
are dectected and the system boots normally.

Fix: 

The only work-around that I am aware of is to use separate SCSI
controllers for the autoloader and hard drive.
How-To-Repeat: Install a 2100S Adaptec RAID controller in a system with
a Seagate ST373405LC hard drive on the internal cable, with a Sony
TSL-S11000 connected to the external connector of the controller, and
boot the system.  Same results are obtained whether booting from the hard
drive or from the 6.1 distribution CD.
Comment 1 fbsd 2006-09-27 22:40:49 UTC
I'm having a similar problem with slightly different hardware.

Environment:

 - FreeBSD 6.1-RELEASE-p6 #2: Tue Sep 12 09:30:07 MDT 2006 i386
 - kernel compiled with "options ASR_COMPAT"
 - Adaptec 2015S Zero-channel raid controller
 - Motherboard has two scsi channels (one internal, one external)
 - HP Storageworks MSL2024 Tape Library (one LTO-3 drive)

Description:

The loader cannot see devices on the first scsi bus when the changer is
attached to the second bus.

Console capture with jukebox powered up, ses0 and da0 are not found.
---------------------
[snip]
asr0: <Adaptec Caching SCSI RAID> mem
0xf8300000-0xf83fffff,0xfb000000-0xfbffffff,0xfc000000-0xfdffffff irq 30 at device 3.0 on pci3
asr0: [GIANT-LOCKED]
asr0: ADAPTEC 2015S FW Rev. 3B0A, 2 channel, 256 CCBs, Protocol I2O
[snip]
sa0 at asr0 bus 1 target 10 lun 0
sa0: <HP Ultrium 3-SCSI G54W> Removable Sequential Access SCSI-3 device
sa0: Tagged Queueing Enabled
ch0 at asr0 bus 1 target 10 lun 1
ch0: <HP MSL G3 Series 2.40> Removable Changer SCSI-5 device
ch0: Tagged Queueing Enabled
ch0: 23 slots, 1 drive, 1 picker, 1 portal
Trying to mount root from ufs:/dev/da0s1a

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot> ?

List of GEOM managed disk devices:
  acd0 fd0
---------------------

Console capture with jukebox powered down, ses0 and da0 are found.
---------------------
[snip]
asr0: <Adaptec Caching SCSI RAID> mem
0xf8300000-0xf83fffff,0xfb000000-0xfbffffff,0xfc000000-0xfdffffff irq 30 at device 3.0 on pci3
asr0: [GIANT-LOCKED]
asr0: ADAPTEC 2015S FW Rev. 3B0A, 2 channel, 256 CCBs, Protocol I2O
[snip]
ses0 at asr0 bus 0 target 6 lun 0
ses0: <SUPER GEM318 0> Fixed Processor SCSI-2 device
ses0: SAF-TE Compliant Device
da0 at asr0 bus 0 target 0 lun 0
da0: <ADAPTEC RAID-5 3B0A> Fixed Direct Access SCSI-2 device
da0: Tagged Queueing Enabled
da0: 70006MB (143372288 512 byte sectors: 255H 63S/T 8924C)
Trying to mount root from ufs:/dev/da0s1a
Loading configuration files.
[snip]
---------------------

The puzzling thing is that the changer is on the second bus while da0 and
ses0 are on the first channel (bus).

Adam Ulmer
Comment 2 fbsd 2006-09-28 21:33:18 UTC
The fix for this, in my case, is to remove the asr(4) zero channel raid
controller.  Without the asr(4) device to muck things up, freebsd can
access both scsi channels and see the hard drives on the first bus and
access the lto-3 tape drive and jukebox on the second bus.

This is the second time asr(4) has bitten me.

Adam Ulmer