Re: isp support for QLogic 2722/firmware?

From: Brian McGovern <rogan.mcgovern_at_gmail.com>
Date: Wed, 02 Aug 2023 01:10:26 UTC
Joerg,
  Sorry it took me a few days to get back to you and the list. Thank you
for answering the questions I asked. It required a firmware upgrade that
had previously caused problems with VMWare's ESXi.

  The fact that someone was using the adapters, despite not a lot mentioned
over the last few years during my Google search, meant I wasn't wasting my
time chasing a problem that had no solution. Mentioning the card should be
using the onboard firmware pointed me in the right direction.

  Everything appears to be working now. The only open issue I have is
making sure that the multi-path is working when I get the machine moved to
the production network.

     -Brian

On Thu, Jul 27, 2023 at 5:40 AM Joerg Pulz <Joerg.Pulz@frm2.tum.de> wrote:

> On Wed, 26 Jul 2023, Brian McGovern wrote:
>
> > >> I'm curious if anyone has this working, and if so, any chance I can
> >>> obtain the firmware or process you are using? I'm hoping its something
> >>> like flashing an image to the card with some other OS first. TIA
> >
> >> Support for this (and some other newer HBAs) was added recently to
> >> 14-CURRENT, see latest commits in
> >> https://cgit.freebsd.org/src/log/sys/dev/isp
> > <https://cgit.freebsd.org/src/log/sys/dev/isp>.
> >
> > Its getting late locally, so take this with a grain of salt... I'm pretty
> > sure I grabbed the main branch from git, and effectively did a MFC
> (working
> > with 13.2-RELEASE). Looking at the diffs you pointed me to vs. whats on
> the
> > disk, it looks like I have the latest bits, but I'll check it again
> > tomorrow to be sure. Its possible I'm missing something.
> >
> > The problem is consistent. When the adapters try to come up, and I'm
> using
> > them as kernel modules right now just so I can cycle through testing
> > faster, I continue to get
> >
> > "isp_2700 could not load firmware image, error 2"
> >
> > if I don't hack up the ispfw driver/module to have something that meets
> the
> > name requirements for "isp_2700" firmware.
> >
> > and if I try to create a firmware module it can install with the
> > bk014519.bin firmware file, it'll happily find something for firmware,
> but
> > then throws a:
> > isp0: Mailbox Command (0xb) Timeout (100000us) (isp_reset:373)
> > isp0: Mailbox Command 'LOAD RISC RAM' failed (TIMEOUT)
> > isp0: F/W download failed
> > isp0: isp_reinit: cannot reset card
> > device_attach: isp0 attach returned 6
> >
> > So, what I think is missing is either a.) finding a good firmware image
> > that I can load via the driver, or b.) figuring out how to flash firmware
> > to the adapter via some other means, and figure out how to skip the load
> > step when the driver starts. Hence why I'm hoping to find someone who has
> > the card working, so I can clone their process.
> >
> > But, if anyone has other ideas, I'm all ears.
> >
> >     -Brian
> >
> > On Wed, Jul 26, 2023 at 8:55?PM Yuri <yuri@aetern.org> wrote:
> >
> >> Brian McGovern wrote:
> >>> Quick question about the isp and card support. I have an HPE branded
> >>> Qlogic ISP 2722 that I'm trying to bring online. Following the various
> >>> tutorials I loaded ispfw, then the isp driver. I got an error message
> >>> "isp_2700 could not load firmware image, error 2". The boards don't
> come
> >>> online.
> >>>
> >>> Looking at the man page, it appears supported on the Qlogic
> >>> 2740/2742/2764 (aka 2722/2714) line, so I tried to chase down some
> >>> firmware and duplicate the isp_2400 and isp_2500 functionality with the
> >>> .bin file. Now, it tries to load but I get a firmware loading failure.
> >>> I'm assuming that either current versions and .bin files are
> >>> incompatible with the other loading processes, or I just screwed
> >>> something up in all the translation (I found a bk014519.bin file).
> >>>
> >>> I'm curious if anyone has this working, and if so, any chance I can
> >>> obtain the firmware or process you are using? I'm hoping its something
> >>> like flashing an image to the card with some other OS first. TIA
> >>
> >> Support for this (and some other newer HBAs) was added recently to
> >> 14-CURRENT, see latest commits in
> >> https://cgit.freebsd.org/src/log/sys/dev/isp.
>
> Those HBAs are supported since 2018-02-28.
> So support for them is in 13.2 - I have systems running with those:
>
> # uname -r
> 13.2-RELEASE
>
> # dmesg -a |grep isp
> isp0: <Qlogic ISP 2722 PCI FC Adapter> mem
> 0x93302000-0x93302fff,0x93300000-0x93301fff,0x93200000-0x932fffff at device
> 0.0 on pci1
>
> # sysctl dev.isp.0
> dev.isp.0.%pnpinfo: vendor=0x1077 device=0x2261 subvendor=0x1077
> subdevice=0x029b class=0x0c0400
> dev.isp.0.%driver: isp
> dev.isp.0.%desc: Qlogic ISP 2722 PCI FC Adapter
>
> Recent changes in CURRENT are for the next gen HABs (28XX) and FLT/NVRAM
> handling, so no need to backport anything.
>
> There is no firmware for those HBAs included in ispfw(4) and there is no
> need for it.
> You should not try to simply add firmware to ispfw(4) without knowing how
> the driver has to load it into the HBA.
>
> The isp(4) driver checks for firmware availability by itself. For your
> HBA the firmware is loaded by isp(4) from the HBAs flash.
> If this is not working than the firmware on your HBAs flash may be broken
> and should be reflashed.
>
> Without further information it is hard to guess what's happening.
> You should:
> - revert everything to a clean 13.2-RELEASE
> - provide verbose pciconf(8) output for your HBA
> - set isp(4) debug level using kenv(8)
>    # kenv hint.isp.0.debug=0x3f
> - load isp(4)
>    # kldload isp
> - provide dmesg(8) output for isp(4) load/attach
>
> Joerg
>
> --
> The beginning is the most important part of the work.
>                                 -Plato