Solved

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

Posted on 2006-11-08
5
1,928 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?
0
Comment
Question by:alextoft
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 34

Accepted Solution

by:
PsiCop earned 500 total points
ID: 17899805
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
 
LVL 34

Expert Comment

by:PsiCop
ID: 17899904
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
 
LVL 19

Author Comment

by:alextoft
ID: 17904883
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
 
LVL 19

Author Comment

by:alextoft
ID: 17906486
Yep, that sorted it. Sometimes it's easy to overlook the basics and expect a difficult solution.
0
 
LVL 34

Expert Comment

by:PsiCop
ID: 17908093
Glad its working.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Network Interface Card (NIC) bonding, also known as link aggregation, NIC teaming and trunking, is an important concept to understand and implement in any environment where high availability is of concern. Using this feature, a server administrator …
I am a long time windows user and for me it is normal to have spaces in directory and file names. Changing to Linux I found myself frustrated when I moved my windows data over to my new Linux computer. The problem occurs when at the command line.…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question