We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

Kernel access QLogic FC card firmware at boot (SuSE 10.1)

alextoft
alextoft asked
on
Medium Priority
1,985 Views
Last Modified: 2008-01-09
I have an HP ML370 with a QLogic QLA2460 FiberChannel card connected to a SAN running SuSE 10.1 partitioned as 256Mb /boot 1Gb Swap & 70Gb /

I downloaded the firmware and placed it in /lib/firmware and when I manually probe qla2xxx everything's great:

QLogic Fibre Channel HBA Driver
ACPI: PCI Interrupt 0000:07:02.0[A] -> GSI 53 (level, low) -> IRQ 201
qla2xxx 0000:07:02.0: Found an ISP2422, irq 201, iobase 0xf886c000
qla2xxx 0000:07:02.0: Configuring PCI space...
qla2xxx 0000:07:02.0: Configure NVRAM parameters...
qla2xxx 0000:07:02.0: Verifying loaded RISC code...
qla2xxx 0000:07:02.0: Allocated (1061 KB) for firmware dump...
qla2xxx 0000:07:02.0: Waiting for LIP to complete...
qla2xxx 0000:07:02.0: LIP reset occured (f8f7).
qla2xxx 0000:07:02.0: LIP occured (f8f7).
qla2xxx 0000:07:02.0: LOOP UP detected (2 Gbps).
qla2xxx 0000:07:02.0: Topology - (Loop), Host Loop address 0x1
scsi3 : qla2xxx
qla2xxx 0000:07:02.0:
 QLogic Fibre Channel HBA Driver: 8.01.04-k
  QLogic QLA2460 - PCI-X 2.0 to 4Gb FC, Single Channel
  ISP2422: PCI-X Mode 1 (100 MHz) @ 0000:07:02.0 hdma+, host#=3, fw=4.00.16 [IP]
  Vendor: transtec  Model: T6100F16R1-F      Rev: 347D
  Type:   Direct-Access                      ANSI SCSI revision: 05
sda : very big device. try to use READ CAPACITY(16).
SCSI device sda: 5857431552 512-byte hdwr sectors (2999005 MB)
sda: Write Protect is off
sda: Mode Sense: 9b 00 00 08
SCSI device sda: drive cache: write back
sda : very big device. try to use READ CAPACITY(16).
SCSI device sda: 5857431552 512-byte hdwr sectors (2999005 MB)
sda: Write Protect is off
sda: Mode Sense: 9b 00 00 08
SCSI device sda: drive cache: write back
 sda: unknown partition table
sd 3:0:0:0: Attached scsi disk sda
sd 3:0:0:0: Attached scsi generic sg0 type 0
sda : very big device. try to use READ CAPACITY(16).
SCSI device sda: 5857431552 512-byte hdwr sectors (2999005 MB)
sda: Write Protect is off
sda: Mode Sense: 9b 00 00 08
SCSI device sda: drive cache: write back
 sda:
sda : very big device. try to use READ CAPACITY(16).
SCSI device sda: 5857431552 512-byte hdwr sectors (2999005 MB)
sda: Write Protect is off
sda: Mode Sense: 9b 00 00 08
SCSI device sda: drive cache: write back
 sda:
st: Version 20050830, fixed bufsize 32768, s/g segs 256
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.

However... at boot time the kernel can't access the firmware as root isn't mounted and I get this:

qla2xxx 0000:07:02.0: Found an ISP2422, irq 201, iobase 0xf8836000
qla2xxx 0000:07:02.0: Configuring PCI space...
qla2xxx 0000:07:02.0: Configure NVRAM parameters...
qla2xxx 0000:07:02.0: Verifying loaded RISC code...
qla2xxx 0000:07:02.0: Firmware image unavailable.
qla2xxx 0000:07:02.0: Failed to initialize adapter

and of course then the device doesn't get mounted. What can I do to make the firmware available to the driver so early in the boot process before the root fs is mounted?
Comment
Watch Question

CERTIFIED EXPERT
Commented:
Hmmm...I haven't done this, but I think you need to rebuild initrd (the command is "mkinitrd", as I recall) with the driver specifically included in the list of modules. There's a .conf file in /etc or somewhere below that, I don't recall offhand and down have my SUSE 10 system in front of me right now. Anyway, in that file there's a line where you specify modules that should be a static part of initrd, and mkinitrd reads that file when building initrd.

Sorry I'm not more precise - been about 2 years since I was in a situation where I had to rebuild initrd under SUSE, and haven't had any problems with it since then.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
CERTIFIED EXPERT

Commented:
OK, I think the file is /etc/modprobe.conf, altho I have to say the RH version of that file is garbage compared to the one I had to tweak in SLES. The SLES version of the file was well-documented. Nothing in the RH version (which is what I have in front of me right now).

Author

Commented:
Well, going through the changelog of mkinitrd I found this:

* Tue Jan 24 2006 - hare@suse.de
  - Fix journal handling
  - Copy QLogic firmware into the initramfs

So you're probably right. I shall give this a try when I drag myself into work later.

Author

Commented:
Yep, that sorted it. Sometimes it's easy to overlook the basics and expect a difficult solution.
CERTIFIED EXPERT

Commented:
Glad its working.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.