From owner-freebsd-scsi Fri Jul 9 14:22:39 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id AF32414EA0 for ; Fri, 9 Jul 1999 14:22:35 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from semuta.feral.com (semuta [192.67.166.70]) by feral.com (8.8.7/8.8.7) with ESMTP id OAA26662 for ; Fri, 9 Jul 1999 14:22:34 -0700 Date: Fri, 9 Jul 1999 14:22:34 -0700 (PDT) From: Matthew Jacob Reply-To: mjacob@feral.com To: scsi@freebsd.org Subject: CAM scan order perplexities Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Sometimes things seem to hang for me irretrievably when I'm booting- somewhere usually in the scanning goop that CAM does when you're booting... Mostly this happens for me with Qlogic FC, but it happens rarely for me also with the Qlogic SCSI- and it happens a lot for Andrew Gallatin @ Duke with SCSI on alpha...(I've made things marginally better for him at the moment by having his isp not scan other than lun 0 and ignore nvram settings..).... But this is not what this mail is about... I've been playing around with watching what goes on to try and sort this out, and here's something very strange.... I've set up a case where I can turn on/off throwing commands at a device, so I try multiple SCANS... here's a trace of this: isp1: Firmware State Config Wait -> Ready isp1: Loop ID 109, ALPA 0x29 isp1: Target 1 (Loop 0x1) Port ID 0xe8 role Target arrived Port WWN 0x2200002037001e57 Node WWN 0x2000002037001e57 isp1: Target 2 (Loop 0x2) Port ID 0xe4 role Target arrived Port WWN 0x22000020370752ba Node WWN 0x20000020370752ba isp1: Target 3 (Loop 0x3) Port ID 0xe2 role Target arrived Port WWN 0x2200002037049513 Node WWN 0x2000002037049513 isp1: Target 4 (Loop 0x4) Port ID 0xe1 role Target arrived Port WWN 0x2200002037049a0a Node WWN 0x2000002037049a0a da3 at isp1 bus 0 target 3 lun 0 da3: Fixed Direct Access SCSI-2 device da3: 100.000MB/s transfers, Tagged Queueing Enabled da3: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da2 at isp1 bus 0 target 1 lun 0 da2: Fixed Direct Access SCSI-2 device da2: 100.000MB/s transfers, Tagged Queueing Enabled da2: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da4 at isp1 bus 0 target 4 lun 0 da4: Fixed Direct Access SCSI-2 device da4: 100.000MB/s transfers, Tagged Queueing Enabled da4: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da5 at isp1 bus 0 target 2 lun 0 da5: Fixed Direct Access SCSI-2 device da5: 100.000MB/s transfers, Tagged Queueing Enabled da5: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) ~Stopped at siointr1+0x15c: br zero,siointr1+0x2e0 db> w/l isp_kill_unit 2 isp_kill_unit 0 = 0x2 db> c (da2:isp1:0:1:0): lost device (da2:isp1:0:1:0): removing device entry (da5:isp1:0:2:0): lost device (da5:isp1:0:2:0): removing device entry (da3:isp1:0:3:0): lost device (da3:isp1:0:3:0): removing device entry (da4:isp1:0:4:0): lost device (da4:isp1:0:4:0): removing device entry ~Stopped at siointr1+0x15c: br zero,siointr1+0x2e0 db> w/i isp_kill_unit 2 Unknown size db> w/l isp_kill_unit 0 isp_kill_unit 0x2 = 0 db> c da3 at isp1 bus 0 target 2 lun 0 da3: Fixed Direct Access SCSI-2 device da3: 100.000MB/s transfers, Tagged Queueing Enabled da3: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da4 at isp1 bus 0 target 3 lun 0 da4: Fixed Direct Access SCSI-2 device da4: 100.000MB/s transfers, Tagged Queueing Enabled da4: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da2 at isp1 bus 0 target 1 lun 0 da2: Fixed Direct Access SCSI-2 device da2: 100.000MB/s transfers, Tagged Queueing Enabled da2: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) da5 at isp1 bus 0 target 4 lun 0 da5: Fixed Direct Access SCSI-2 device da5: 100.000MB/s transfers, Tagged Queueing Enabled da5: 8637MB (17689267 512 byte sectors: 255H 63S/T 1101C) So, I have four disks on the loop. I camcontrol rescan once, and get the first mapping as: da3 at isp1 bus 0 target 3 lun 0 da2 at isp1 bus 0 target 1 lun 0 da4 at isp1 bus 0 target 4 lun 0 da5 at isp1 bus 0 target 2 lun 0 Now, first of all, this makes no sense to me- the order that this is sent in *should* be 0..N, but that's not what happens. Why? So, I turn of connecting to the device, do a camcontrol rescan which removes all the devices. Then I rescan again and get this: da3 at isp1 bus 0 target 2 lun 0 da4 at isp1 bus 0 target 3 lun 0 da2 at isp1 bus 0 target 1 lun 0 da5 at isp1 bus 0 target 4 lun 0 I'm sorry- this just cannot be the right thing to have happen. I haven't changed a thing in my configuration. Everybody is at the same Loop address. The disks should show back up at the same place. What's going on? -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message