an mps probelm

Kenneth D. Merry ken at freebsd.org
Wed Aug 3 17:37:59 UTC 2011


On Wed, Aug 03, 2011 at 11:48:45 -0400, Gregory Wright wrote:
> 
> Hi,
> 
> I have an LSI SAS 9200-8e hba card.  It's connected to a Dell
> PowerVault 124T autoloader with an LTO4 drive.
> 
> I installed 9.0-BETA1 yesterday and was able to successfully
> detect the tape drive (mps driver), but the hba doesn't find the changer.
> I used camcontrol to force rescanning all luns but that
> didn't help either.

Try rescanning the particular LUN for the changer device, like this:

camcontrol rescan 6:4:1

(That is assuming the tape drive is at 6:4:0.)

> Since I have just acquired this hardware I installed an OS
> reported to work with this autoloader/hba combination,
> ubuntu 11.04 server.  On ubuntu, the changer is found:
> 
> gwright at greenhouse-george:~$ lsscsi -g
> [0:0:0:0]    disk    AMCC     9650SE-12M DISK  3.06  /dev/sdb  /dev/sg1
> [0:0:0:1]    disk    AMCC     9650SE-12M DISK  3.06  /dev/sdc  /dev/sg2
> [0:0:1:0]    disk    AMCC     9650SE-12M DISK  3.06  /dev/sdd  /dev/sg3
> [1:0:0:0]    tape    IBM      ULTRIUM-TD4      97F0  /dev/st0  /dev/sg5
> [1:0:0:1]    mediumx DELL     PV-124T          0080  /dev/sch0  /dev/sg6
> [2:0:0:0]    disk    ATA      ST3160811AS      3.AA  /dev/sda  /dev/sg0
> [6:0:0:0]    cd/dvd  MITSUMI  CD-ROM SR244W    T01A  /dev/sr0  /dev/sg4
> 
> (On ubuntu the driver is mpt2sas.)
> 
> It seems as if the mps driver is not seeing the additional lun
> hanging off the bus.

Yeah, it looks like the path inquiry CCB in the driver is telling CAM not
to scan LUNs.

> This server is not in production yet so I can re-install 9.0-BETA1
> and run more tests, if that would help.

Try the attached patch, and let me know whether it works.

> FWIW, I set hw.mps.0.debug_level=1.  In the dmesg I get
> 
> greenhouse-george# dmesg | grep mps
> mps0: <LSI SAS2008> port 0xa000-0xa0ff mem 
> 0xff4f0000-0xff4fffff,0xff480000-0xff4bffff irq 28 at device 0.0 on pci5
> mps0: Doorbell= 0x22000000
> mps0: Doorbell= 0x12000000
> mps0: IOCFacts  :
> mps0: Firmware: 02.15.63.00
> mps0: IOCCapabilities: 
> 185c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,IR>
> mps0: Doorbell= 0x10000000
> mps0: num_reqs 1024, num_replies 1055
> mps0: Doorbell= 0x10000000
> mps0: IOCInit status= 0x0
> mps0: writing postindex 1
> mps0: PortFacts :
> mps0: writing postindex 2
> mps0: writing postindex 3
> mps0: mpssas_discovery_end: removing confighook
> mps0: writing postindex 8
> mps0: SAS Device Page 0 :
> mps0: writing postindex 9
> mps0: writing postindex 10
> mps0: SAS PHY Page 0    :
> mps0: Triggering rescan of 6:4:-1
> mps0: writing postindex 11
> mps0: writing postindex 12
> mps0: writing postindex 13
> mps0: (6:4:0) IOCStatus= 0x45, ScsiStatus= 0x2, SCSIState= 0x1 
> TransferCount= 0x0
> mps0: writing postindex 14
> mps0: (6:4:0) IOCStatus= 0x45, ScsiStatus= 0x0, SCSIState= 0x0 
> TransferCount= 0x11
> mps0: writing postindex 15
> mps0: (6:4:0) IOCStatus= 0x45, ScsiStatus= 0x0, SCSIState= 0x0 
> TransferCount= 0x56
> mps0: writing postindex 16
> mps0: (6:4:0) IOCStatus= 0x45, ScsiStatus= 0x0, SCSIState= 0x0 
> TransferCount= 0xe
> mps0: writing postindex 17
> mps0: (6:4:0) IOCStatus= 0x0, ScsiStatus= 0x2, SCSIState= 0x1 
> TransferCount= 0x0
> mps0: writing postindex 18
> (probe4:mps0:0:4:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
> (probe4:mps0:0:4:0): CAM status: SCSI Status Error
> (probe4:mps0:0:4:0): SCSI status: Check Condition
> (probe4:mps0:0:4:0): SCSI sense: NOT READY asc:3a,0 (Medium not present) 
> field rp
> 
> 
> Please let me know what I can do to help debug this.

Ken
-- 
Kenneth Merry
ken at FreeBSD.ORG
-------------- next part --------------
==== //depot/SpectraBSD/head/sys/dev/mps/mps_sas.c#29 - /usr/home/kenm/perforce4/SpectraBSD/head/sys/dev/mps/mps_sas.c ====
*** /tmp/tmp.96563.59	Wed Aug  3 10:56:49 2011
--- /usr/home/kenm/perforce4/SpectraBSD/head/sys/dev/mps/mps_sas.c	Wed Aug  3 10:56:31 2011
***************
*** 921,927 ****
  		cpi->hba_misc = PIM_NOBUSRESET;
  		cpi->hba_eng_cnt = 0;
  		cpi->max_target = sassc->sc->facts->MaxTargets - 1;
! 		cpi->max_lun = 0;
  		cpi->initiator_id = 255;
  		strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
  		strncpy(cpi->hba_vid, "LSILogic", HBA_IDLEN);
--- 921,927 ----
  		cpi->hba_misc = PIM_NOBUSRESET;
  		cpi->hba_eng_cnt = 0;
  		cpi->max_target = sassc->sc->facts->MaxTargets - 1;
! 		cpi->max_lun = 8;
  		cpi->initiator_id = 255;
  		strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
  		strncpy(cpi->hba_vid, "LSILogic", HBA_IDLEN);


More information about the freebsd-scsi mailing list