Date: Fri, 29 Aug 2008 12:14:03 -0400 From: "Alexander Sack" <pisymbol@gmail.com> To: "Fuujin Networks LLC" <erich@fuujinnetworks.com> Cc: freebsd-scsi@freebsd.org Subject: Re: Qlogic FC scsi_target ISP2310 Message-ID: <3c0b01820808290914s638c970ejeae1d4f8c8c8a9d9@mail.gmail.com> In-Reply-To: <48B733CF.5000105@fuujinnetworks.com> References: <48B4CF57.30603@fuujinnetworks.com> <3c0b01820808271520w78d0f338iaf6996774512b5bb@mail.gmail.com> <48B733CF.5000105@fuujinnetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 28, 2008 at 7:25 PM, Fuujin Networks LLC <erich@fuujinnetworks.com> wrote: > > [snip] > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > cpu0 (BSP): APIC ID: 0 > cpu1 (AP): APIC ID: 1 > ioapic0: Changing APIC ID to 2 > ioapic0 <Version 1.1> irqs 0-23 on motherboard > registered firmware set <isp_1040> > registered firmware set <isp_1040_it> > registered firmware set <isp_1080> > registered firmware set <isp_1080_it> > registered firmware set <isp_12160> > registered firmware set <isp_12160_it> > registered firmware set <isp_2100> > registered firmware set <isp_2200> > registered firmware set <isp_2300> > registered firmware set <isp_2322> > registered firmware set <isp_2400> > isp0: <Qlogic ISP 2300 PCI FC-AL Adapter> port 0xc000-0xc0ff mem > 0xe7103000-0xe7103fff irq 16 at device 8.0 on pci0 > firmware_get: failed to load firmware image isp_2300_it > isp0: [ITHREAD] > isp0: Board Type 2300, Chip Revision 0x1, loaded F/W Revision 3.3.19 > isp0: target notify code 0x1007 > isp0: target notify code 0x1007 > isp0: target notify code 0x1006 > isp0: target notify code 0x1007 > isp0: target notify code 0x1008 > (targbh0:isp0:0:-1:-1): Target Mode Enabled > isp0: target notify code 0x1007 > isp0: target notify code 0x1007 > isp0: target notify code 0x1006 > isp0: target notify code 0x1007 > isp0: target notify code 0x1006 > isp0: target notify code 0x1007 > [snip] > > I'm a bit puzzled by the firmware_get failed line above. I suspect this may > be the problem, but I have not been able to resolve it. I've tried disabling > the bios on the FC cards, as well as messing with almost every other > conceivable option, but the same error appears. Thoughts? Yes, its a bug in the ISP driver. If you are in target mode, it tries to load the isp_XXX_it version of the RISC code. I *think* the old SCSI cards had two separate firmwares for target and initiator modes (currently if you look at ispfw, there is the 1040, 1080, and 12160_it firmwares). Try this patch: --- isp_pci.c 2008-08-29 07:58:08.000000000 -0400 +++ isp_pci.c.0 2008-08-29 08:03:24.000000000 -0400 @@ -1039,7 +1039,7 @@ } isp->isp_osinfo.fw = NULL; - if (isp->isp_role & ISP_ROLE_TARGET && IS_SCSI(isp)) { + if (isp->isp_role & ISP_ROLE_TARGET) { snprintf(fwname, sizeof (fwname), "isp_%04x_it", did); isp->isp_osinfo.fw = firmware_get(fwname); } That will fix the above error. The bad news is that this won't fix your problem since you DID load the 3.3.19 firmware since the next line will get the isp_2300 firmware and things will proceed normally down in isp_reset() (where the load actually happens!). So you really need to enable: options DDB options KDB and get a stack trace so when the machine panics you can do a "bt" and print the output (forget about the addresses, just the function calls). Also make sure the BIOS is configured to enable target mode (I forgot if the 2300 had a separate BIOS tunable for that). Let us know, -aps
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c0b01820808290914s638c970ejeae1d4f8c8c8a9d9>