qla2xxx driver cannot load firmware at boot

Bug #295287 reported by sdedgar
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Debian
New
Undecided
Unassigned
linux (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

I just upgraded from Kubuntu 8.04 to 8.10, all updates as of 5 minutes ago installed, but my qlogic 2100 fibre channel card has stopped working following the dist upgrade. Looking in kern.log I see

[CODE]Nov 4 07:58:51 tricho kernel: [ 5.261947] qla2xxx 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Nov 4 07:58:51 tricho kernel: [ 5.262037] qla2xxx 0000:05:01.0: Found an ISP2312, irq 19, iobase 0xf8880000
Nov 4 07:58:51 tricho kernel: [ 5.262088] qla2xxx 0000:05:01.0: Configuring PCI space...
Nov 4 07:58:51 tricho kernel: [ 5.262606] qla2xxx 0000:05:01.0: Configure NVRAM parameters...
Nov 4 07:58:51 tricho kernel: [ 5.356198] qla2xxx 0000:05:01.0: Verifying loaded RISC code...
Nov 4 07:58:51 tricho kernel: [ 5.372107] firmware: requesting ql2300_fw.bin
Nov 4 07:58:51 tricho kernel: [ 5.373351] qla2xxx 0000:05:01.0: Firmware image unavailable.
Nov 4 07:58:51 tricho kernel: [ 5.373354] qla2xxx 0000:05:01.0: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
Nov 4 07:58:51 tricho kernel: [ 5.373358] qla2xxx 0000:05:01.0: Failed to initialize adapter[/CODE]

Package linux-firmware is installed, and there does appear to be a matching firmware binary supplied by that package at

/lib/firmware/ql2300_fw.bin

Doing an 'rmmod qla2xxx' followed by an 'insmod qla2xxx' results in the driver loading just fine and the devices attached via the card are accessible, however when it loads at boot time it cannot locate firmware.

Kernel.org has a bugzilla entry for this.

http://bugzilla.kernel.org/show_bug.cgi?id=11645

Can we ensure this is backported to Intrepid, likely particularly problematic for the server guys.

Thanks

Revision history for this message
Kurt Wall (kwall) wrote :

This bug has been fixed in the upstream kernel sources. Is this still an issue for you?

Revision history for this message
sdedgar (ubuntu-tricho) wrote :

This is still an issue or me, but I only use the qla2xxx card to connect to an LT0 drive. As long as I remember to rmmod/modprobe for qla2xxx before using it I can work around it. I'm on Ubuntu 8.10 with latest kernel 2.6.27-14-generic.

Kurt Wall (kwall)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Kurt Wall (kwall) wrote :

Please review https://bugs.launchpad.net/ubuntu/+source/udev/+bug/328550 and see if the issue and workaround described there will address the issue you have with firmware not loading at boot.

Regards,

Kurt

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Kurt Wall (kwall) wrote :

Marking Incomplete pending additional information.

Revision history for this message
sdedgar (ubuntu-tricho) wrote :

I actually upgraded to 9.04 yesterday, so now on kernel 2.6.28-11, bug still exists and is now causing significant delays to bootup, several minutes worth. The system does boot eventually however without any actions on my part. 8.10 did not appear to suffer these delays, certainly not to the same extent.

I'm afraid I'm not very familiar with the initramfs system, so I'm not really sure what is required when that other bug stated

"creating your own file in /etc/initramfs-tools/hooks that copies /lib/udev/firmware.sh and the /lib/firmware/ql2400_fw.bin file into the initramfs"

I've had a look at the initramfs-tools man page, but it isn't clear to me whether the included functions are appropriate for this, as these files don't appear to me to be modules, and copy_exec doesn't seem appropriate either. This being the case, where should I be copying the files to?

Thanks

Steven

Revision history for this message
Kurt Wall (kwall) wrote :

Steven,

The take-away here is that the firmware files you need aren't available at boot time, that is, that they don't appear to be in the initrd file. This much you can see by saying "mkdir foo; cd foo; zcat /boot/initrd.img-$(uname -r) | cpio -id" and then looking for the firmware file in foo/lib/firmware.

I have limited experience with initrfamfs tools, so prudence demands I defer to someone with more experience. I don't want to recommend a procedure that will render your server unbootable :)

Kurt

Kurt Wall (kwall)
Changed in linux (Ubuntu):
status: Incomplete → New
Revision history for this message
kernel-janitor (kernel-janitor) wrote :

Hi sdedgar,

This bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? Can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/karmic .

If it remains an issue, could you run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 295287

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
DrBob (bobnelson) wrote : apport-collect data

Architecture: amd64
Dependencies:

DistroRelease: Ubuntu 9.04
Package: linux None [modified: /var/lib/dpkg/info/linux.list]
PackageArchitecture: amd64
ProcEnviron:
 SHELL=/bin/bash
 LANG=en_US.UTF-8
Uname: Linux 2.6.28-11-server x86_64
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

Revision history for this message
DrBob (bobnelson) wrote :

Yes, I'm still having issues with this matter. If you have any suggestions, I'm open to try them!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.