Fibrechannel HAs
Jung-uk Kim
jkim at FreeBSD.org
Mon Jun 29 18:05:55 UTC 2009
On Friday 26 June 2009 08:20 am, Borja Marcos wrote:
> Hello,
>
> I'm trying to use a SAN with FreeBSD and running into problems, not
> sure at all what to blame. Let's see if anyone can shed some light
> on this.
>
> I'm using a Qlogic card, a QL2360, supplied by Dell.
>
> FreeBSD 7.2/amd64 recognizes it, but it claims it's a different
> model:
>
> Jun 25 17:18:36 host kernel: isp0: <Qlogic ISP 2432 PCI FC-AL
> Adapter> port 0xdc00-0xdcff mem 0xfc4bc000-0xfc4bffff irq 16 at
> device 0.0 on pci10
> Jun 25 17:18:36 host kernel: isp0: [ITHREAD]
> Jun 25 17:18:36 host kernel: isp0: Polled Mailbox Command (0x8)
> Timeout (100000us)
> Jun 25 17:18:36 host kernel: isp0: Board Type 2422, Chip Revision
> 0x3, loaded F/W Revision 4.0.20
>
> I've been using a FC disk array, and seems to work. However, to my
> astonishment, when I have connected this to a HP EVA4400 SAN, via
> one of its FC switches (supposed to be a Brocade) the EVA4400 takes
> the controller I was reaching via FC offline! Quite suprising.
>
> I've checked the switch, and indeed it correctly detects the card's
> WWN attached to the port. But other than that I'm clueless. Of
> course HP says that FreeBSD isn't among the supported systems. Of
> course I say that I'm not very fond of a subsystem that can crash
> due to a misconfigured host, if we accept that the FreeBSD´s
> driver is to blame...
>
> Any ideas? I've activated some debugging flags for the isp adapter,
> I'm using ispfw as well, and this is what I'm seeing:
>
> %fgrep isp0 mensajes1
> Jun 25 17:18:36 host kernel: isp0: <Qlogic ISP 2432 PCI FC-AL
> Adapter> port 0xdc00-0xdcff mem 0xfc4bc000-0xfc4bffff irq 16 at
> device 0.0 on pci10
> Jun 25 17:18:36 host kernel: isp0: [ITHREAD]
> Jun 25 17:18:36 host kernel: isp0: Polled Mailbox Command (0x8)
> Timeout (100000us)
> Jun 25 17:18:36 host kernel: isp0: Board Type 2422, Chip Revision
> 0x3, loaded F/W Revision 4.0.20
> Jun 26 09:28:53 host kernel: isp0: <Qlogic ISP 2432 PCI FC-AL
> Adapter> port 0xdc00-0xdcff mem 0xfc4bc000-0xfc4bffff irq 16 at
> device 0.0 on pci10
> Jun 26 09:28:53 host kernel: isp0: [ITHREAD]
> Jun 26 09:28:53 host kernel: isp0: Polled Mailbox Command (0x8)
> Timeout (100000us)
> Jun 26 09:28:53 host kernel: isp0: Board Type 2422, Chip Revision
> 0x3, loaded F/W Revision 4.0.20
> Jun 26 09:51:36 host kernel: isp0: <Qlogic ISP 2432 PCI FC-AL
> Adapter> port 0xdc00-0xdcff mem 0xfc4bc000-0xfc4bffff irq 16 at
> device 0.0 on pci10
> Jun 26 09:51:36 host kernel: isp0: set PCI latency to 64
> Jun 26 09:51:36 host kernel: isp0: [ITHREAD]
> Jun 26 09:51:36 host kernel: isp0: Polled Mailbox Command (0x8)
> Timeout (100000us)
> Jun 26 09:51:36 host kernel: isp0: Board Type 2422, Chip Revision
> 0x3, loaded F/W Revision 4.0.20
> Jun 26 09:51:36 host kernel: isp0: 2K Logins Supported
> Jun 26 09:51:36 host kernel: isp0: 4096 max I/O command limit set
> Jun 26 09:51:36 host kernel: isp0: line 1220: markportdb
> Jun 26 09:51:36 host kernel: isp0: Starting Initial Loop Down Timer
> Jun 26 09:51:36 host kernel: isp0: line 5346: markportdb
> Jun 26 09:51:36 host kernel: isp0: line 5284: markportdb
> Jun 26 09:51:36 host kernel: isp0: line 5320: markportdb
> Jun 26 09:51:36 host kernel: isp0: line 5358: markportdb
> Jun 26 09:51:36 host kernel: isp0: Stopping Loop Down Timer
> Jun 26 09:51:36 host kernel: isp0: line 5358: markportdb
> Jun 26 09:51:36 host kernel: isp0: line 5358: markportdb
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:51:36 host kernel: isp0: FC Link Test Entry
> Jun 26 09:51:36 host kernel: isp0: line 2473: markportdb
> Jun 26 09:51:36 host kernel: isp0: Firmware State <Config
> Wait->Ready> Jun 26 09:51:36 host kernel: isp0: Register FC4 Type
> accepted Jun 26 09:51:36 host kernel: isp0: HBA PortID 0x0103ef
> N-Port Handle 0, Connection Topology 'FL Port'
> Jun 26 09:51:36 host kernel: isp0: HBA WWNN 0x2000001b32886ad8 HBA
> WWPN 0x2100001b32886ad8
> Jun 26 09:51:36 host kernel: isp0: FC Link Test Complete
> Jun 26 09:51:36 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:51:36 host kernel: isp0: FC Scan Fabric
> Jun 26 09:51:36 host kernel: isp0: got 3 ports back from name
> server Jun 26 09:51:36 host kernel: isp0: Checking Fabric Port
> 0x010000 Jun 26 09:51:36 host kernel: isp0: Fabric Port 0x010000 is
> New Entry Jun 26 09:51:36 host kernel: isp0: Checking Fabric Port
> 0x010100 Jun 26 09:51:36 host kernel: isp0: Fabric Port 0x010100 is
> New Entry Jun 26 09:51:36 host kernel: isp0: skip ourselves @
> PortID 0x0103ef Jun 26 09:51:36 host kernel: isp0: FC Scan Fabric
> Done
> Jun 26 09:51:36 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target arrived at tgt 0
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010100 handle 0x82 role
> Target arrived at tgt 1
> Jun 26 09:51:36 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:51:36 host kernel: isp0: line 5368: markportdb
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:51:36 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:51:36 host kernel: isp0: line 5368: markportdb
> Jun 26 09:51:36 host kernel: isp0: line 2938: markportdb
> Jun 26 09:51:36 host kernel: isp0: isp_fc_runstate: scan loop fails
> Jun 26 09:51:36 host kernel: isp0: kthread: FC got to 2 (down count
> 0) Jun 26 09:51:36 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: sleep time 1 Jun 26
> 09:51:36 host kernel: isp0: isp_kthread: checking FC state Jun 26
> 09:51:36 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:51:36 host kernel: isp0: FC Scan Fabric
> Jun 26 09:51:36 host kernel: isp0: got 1 ports back from name
> server Jun 26 09:51:36 host kernel: isp0: skip ourselves @ PortID
> 0x0103ef Jun 26 09:51:36 host kernel: isp0: FC Scan Fabric Done
> Jun 26 09:51:36 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:51:36 host kernel: isp0: starting Gone Device Timer
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target gone zombie at tgt 0
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010100 handle 0x82 role
> Target gone zombie at tgt 1
> Jun 26 09:51:36 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:51:36 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010000 Departed from
> Target 0 because of Gone Device Timeout
> Jun 26 09:51:36 host kernel: isp0: PortID 0x010100 Departed from
> Target 1 because of Gone Device Timeout
> Jun 26 09:51:36 host kernel: isp0: stopping Gone Device Timer
> Jun 26 09:51:36 host kernel: (probe0:isp0:0:0:0): inquiry data
> fails comparison at DV1 step
> Jun 26 09:51:36 host kernel: isp0: command timed out for 0.1.0
> Jun 26 09:51:36 host kernel: (probe1:isp0:0:1:0): inquiry data
> fails comparison at DV1 step
> Jun 26 09:52:12 host kernel: isp0: line 5358: markportdb
> Jun 26 09:52:12 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:52:12 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:52:12 host kernel: isp0: FC Scan Fabric
> Jun 26 09:52:12 host kernel: isp0: got 1 ports back from name
> server Jun 26 09:52:12 host kernel: isp0: skip ourselves @ PortID
> 0x0103ef Jun 26 09:52:12 host kernel: isp0: FC Scan Fabric Done
> Jun 26 09:52:12 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:52:12 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:52:12 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:52:12 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:52:12 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:54:22 host kernel: isp0: line 5368: markportdb
> Jun 26 09:54:22 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:54:22 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:54:22 host kernel: isp0: line 5368: markportdb
> Jun 26 09:54:22 host kernel: isp0: line 2938: markportdb
> Jun 26 09:54:22 host kernel: isp0: isp_fc_runstate: scan loop fails
> Jun 26 09:54:22 host kernel: isp0: kthread: FC got to 2 (down count
> 0) Jun 26 09:54:22 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:54:22 host kernel: isp0: isp_kthread: sleep time 1 Jun 26
> 09:54:23 host kernel: isp0: isp_kthread: checking FC state Jun 26
> 09:54:23 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:54:23 host kernel: isp0: FC Scan Fabric
> Jun 26 09:54:23 host kernel: isp0: got 2 ports back from name
> server Jun 26 09:54:23 host kernel: isp0: Checking Fabric Port
> 0x010000 Jun 26 09:54:23 host kernel: isp0: Fabric Port 0x010000 is
> New Entry Jun 26 09:54:23 host kernel: isp0: skip ourselves @
> PortID 0x0103ef Jun 26 09:54:23 host kernel: isp0: FC Scan Fabric
> Done
> Jun 26 09:54:23 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:54:23 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target arrived at tgt 0
> Jun 26 09:54:23 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:54:23 host kernel: isp0: line 5368: markportdb
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:54:23 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:54:23 host kernel: isp0: FC Scan Fabric
> Jun 26 09:54:23 host kernel: isp0: got 2 ports back from name
> server Jun 26 09:54:23 host kernel: isp0: Checking Fabric Port
> 0x010000 Jun 26 09:54:23 host kernel: isp0: Fabric Port 0x010000
> Now Pending Valid
> Jun 26 09:54:23 host kernel: isp0: skip ourselves @ PortID 0x0103ef
> Jun 26 09:54:23 host kernel: isp0: FC Scan Fabric Done
> Jun 26 09:54:23 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:54:23 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target stayed at tgt 0
> Jun 26 09:54:23 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:54:23 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:54:39 host kernel: isp0: line 5368: markportdb
> Jun 26 09:54:39 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:54:39 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:54:39 host kernel: isp0: FC Scan Fabric
> Jun 26 09:54:39 host kernel: isp0: got 1 ports back from name
> server Jun 26 09:54:39 host kernel: isp0: skip ourselves @ PortID
> 0x0103ef Jun 26 09:54:39 host kernel: isp0: FC Scan Fabric Done
> Jun 26 09:54:39 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:54:39 host kernel: isp0: starting Gone Device Timer
> Jun 26 09:54:39 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target gone zombie at tgt 0
> Jun 26 09:54:39 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:54:39 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:54:39 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:54:39 host kernel: isp0: isp_kthread: sleep time 0
> Jun 26 09:54:39 host kernel: isp0: mailbox cmd (0x4001) with no
> waiters Jun 26 09:55:08 host kernel: isp0: PortID 0x010000 Departed
> from Target 0 because of Gone Device Timeout
> Jun 26 09:55:08 host kernel: isp0: stopping Gone Device Timer
> Jun 26 09:55:09 host kernel: (probe0:isp0:0:0:0): inquiry data
> fails comparison at DV1 step
> Jun 26 09:58:18 host kernel: isp0: line 5368: markportdb
> Jun 26 09:58:18 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:58:18 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:58:18 host kernel: isp0: line 5368: markportdb
> Jun 26 09:58:18 host kernel: isp0: line 2938: markportdb
> Jun 26 09:58:18 host kernel: isp0: isp_fc_runstate: scan loop fails
> Jun 26 09:58:18 host kernel: isp0: kthread: FC got to 2 (down count
> 0) Jun 26 09:58:18 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:58:18 host kernel: isp0: isp_kthread: sleep time 1 Jun 26
> 09:58:19 host kernel: isp0: line 5368: markportdb
> Jun 26 09:58:19 host kernel: isp0: isp_kthread: checking FC state
> Jun 26 09:58:19 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:58:19 host kernel: isp0: line 5368: markportdb
> Jun 26 09:58:19 host kernel: isp0: line 2938: markportdb
> Jun 26 09:58:19 host kernel: isp0: isp_fc_runstate: scan loop fails
> Jun 26 09:58:19 host kernel: isp0: kthread: FC got to 2 (down count
> 1) Jun 26 09:58:19 host kernel: isp0: isp_kthread: releasing simq
> Jun 26 09:58:19 host kernel: isp0: isp_kthread: sleep time 1 Jun 26
> 09:58:20 host kernel: isp0: isp_kthread: checking FC state Jun 26
> 09:58:20 host kernel: isp0: FC scan loop 0..125
> Jun 26 09:58:20 host kernel: isp0: FC Scan Fabric
> Jun 26 09:58:20 host kernel: isp0: got 3 ports back from name
> server Jun 26 09:58:20 host kernel: isp0: Checking Fabric Port
> 0x010000 Jun 26 09:58:20 host kernel: isp0: Fabric Port 0x010000 is
> New Entry Jun 26 09:58:20 host kernel: isp0: Checking Fabric Port
> 0x010100 Jun 26 09:58:20 host kernel: isp0: Fabric Port 0x010100 is
> New Entry Jun 26 09:58:20 host kernel: isp0: skip ourselves @
> PortID 0x0103ef Jun 26 09:58:20 host kernel: isp0: FC Scan Fabric
> Done
> Jun 26 09:58:20 host kernel: isp0: Synchronizing PDBs
> Jun 26 09:58:20 host kernel: isp0: PortID 0x010000 handle 0x81 role
> Target arrived at tgt 0
> Jun 26 09:58:20 host kernel: isp0: PortID 0x010100 handle 0x82 role
> (none) arrived
> Jun 26 09:58:20 host kernel: isp0: PortID 0xfffffe handle 0x7fe
> role (none) stayed
> Jun 26 09:58:20 host kernel: isp0: isp_kthread: FC state OK
> Jun 26 09:58:20 host kernel: isp0: isp_kthread: sleep time 0
> %
It may be a long shot but can you try the latest isp(4) driver?
ftp://ftp.feral.com/pub/isp/isp_dist.tgz
You also need to patch cam and ispfw. You can find the patches in the
tarball, i.e., freebsd/isp_freebsd.diffs.gz.
Jung-uk Kim
More information about the freebsd-scsi
mailing list