• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1949
  • Last Modified:

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

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?
0
alextoft
Asked:
alextoft
  • 3
  • 2
1 Solution
 
PsiCopCommented:
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.
0
 
PsiCopCommented:
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).
0
 
alextoftAuthor 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.
0
 
alextoftAuthor Commented:
Yep, that sorted it. Sometimes it's easy to overlook the basics and expect a difficult solution.
0
 
PsiCopCommented:
Glad its working.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now