Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Sep 2012 02:10:09 +0000
From:      John <jwd@FreeBSD.org>
To:        FreeBSD-scsi <freebsd-scsi@freebsd.org>
Subject:   camcontrol inquiry xpt0 ?
Message-ID:  <20120922021009.GA86891@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi Folks,

   I'm trying to understand how some code in the mps driver works,
specifically sys/dev/mps/mps_sas.c:

static void
mpssas_action(struct cam_sim *sim, union ccb *ccb)
{
        struct mpssas_softc *sassc;
 
        sassc = cam_sim_softc(sim);
        
        mps_dprint(sassc->sc, MPS_TRACE, "%s func 0x%x\n", __func__,
            ccb->ccb_h.func_code);
        mtx_assert(&sassc->sc->mps_mtx, MA_OWNED);
                
        switch (ccb->ccb_h.func_code) {
        case XPT_PATH_INQ:
        {


   In trying to cause the the XPT_PATH_INQ case to execute, I was
playing around with the pass driver and xpt:

camcontrol inquiry xpt0

   and received the following:

camcontrol: cam_lookup_pass: CAMGETPASSTHRU ioctl failed
cam_lookup_pass: No such file or directory
cam_lookup_pass: either the pass driver isn't in your kernel
cam_lookup_pass: or xpt0 doesn't exist

   However, pass is in the kernel, and /dev/xpt0 exists:

# ls -al /dev/xpt0
crw-------  1 root  operator    0,  81 Sep 20 08:05 /dev/xpt0

   And for instance:

# camcontrol inquiry pass22
pass22: <HP EG0600FBLSH HPD2> Fixed Direct Access SCSI-5 device 
pass22: Serial Number 6XR15VLY0000M149G7XX
pass22: 600.000MB/s transfers, Command Queueing Enabled


   I'm trying figure out if the code above setting itself as
device id 255 is related to my system not being able to scan
the disk device at id 255.

   Am I doing something wrong? Any ideas?

   FreeBSD 9.1-PRERELEASE #0:

Thanks!
John




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120922021009.GA86891>