List Info

Thread: QLA2xxx




QLA2xxx
country flaguser name
United States
2008-02-20 12:26:04
I recently acquired a SunBlade 2000 Workstation. As neither
I nor any the other admins are very familiar with Solaris,
we are trying to put Gentoo/SPARC on the system. However, we
have run into an issue with Gentoo 2007.0 as Linux won't
find the SCSI hard drive that is attached via a QLA2xxx
device - the only number I can get is ISP2200, so I suppose
it is suppose to be the QLA2200 - so we can't even start the
install, or get to a point where we can even try to compile
the driver source.

I've noticed there were a number of issues with this card in
the forums with kernels after 2.6.16. Has anyone found an
answer? The 2007.0 ISOs seem to have the latest firmware
from Qlogic, which I tried downloading to the system, but we
continued to get the "NVRAM inconsistency"
message.

I also noticed there is a newer edition of the qlogic
firmware in portage. Does anyone know how I might be able to
get the system to use the newer code? Will the 2008.0 ISOs
use the new code? (If so, I'm sure I could wait for the
2008.0 SPARC image.)

Any pointers, etc. would be greatly appreciated.

TIA,

Ben


-- 
gentoo-sparclists.gentoo.org mailing list


Re: QLA2xxx
country flaguser name
Australia
2008-02-20 19:47:56
BRM wrote:
> I recently acquired a SunBlade 2000 Workstation. As
neither I nor any the other admins are very familiar with
Solaris, we are trying to put Gentoo/SPARC on the system.
However, we have run into an issue with Gentoo 2007.0 as
Linux won't find the SCSI hard drive that is attached via a
QLA2xxx device - the only number I can get is ISP2200, so I
suppose it is suppose to be the QLA2200 - so we can't even
start the install, or get to a point where we can even try
to compile the driver source.
>
> I've noticed there were a number of issues with this
card in the forums with kernels after 2.6.16. Has anyone
found an answer? The 2007.0 ISOs seem to have the latest
firmware from Qlogic, which I tried downloading to the
system, but we continued to get the "NVRAM
inconsistency" message.
>
> I also noticed there is a newer edition of the qlogic
firmware in portage. Does anyone know how I might be able to
get the system to use the newer code? Will the 2008.0 ISOs
use the new code? (If so, I'm sure I could wait for the
2008.0 SPARC image.)
>
> Any pointers, etc. would be greatly appreciated.
>
> TIA,
>
> Ben
>
>
>   
A similar issue is discussed here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464445


jim
-- 
gentoo-sparclists.gentoo.org mailing list


RE: QLA2xxx
country flaguser name
United States
2008-02-21 06:41:20

The problem comes from the fact that the firmware is in the disk at /lib/firmware starting from kernel 2.6.18 or something. If you boot the 2617 from the CD it will probably work fine.
Anyway even creating a proper initrd with that /lib/firmware the kernel does not load it. Don't know why.

Of course there will not be a step-back to put the firmware inside the kernel.

I've patched the kernel to make the firmware compiled within. Of course this is not "legal" because the decision to move firmwares outside the kernel was taken for license issues I guess.

These are the steps, if you are interested:
1) copy the attached .c files in the /usr/src
2) modify the linux/drivers/scsi/qla2xxx/qla_init.c in the following way:
 ;      - after the includes add a #include "/usr/src/ql2200_fw_main.c"
       - rename the function qla2x00_load_risc() to anything else, like qla2x00_load_risc_old()

done.
recompile the kernel. no need for the initrd. The firmware will be compiled within the kernel, and loaded from there.
pablo




> Date: Wed, 20 Feb 2008 10:26:04 -0800
> From: bm_witnessyahoo.com
> Subject: [gentoo-sparc] QLA2xxx
> To: gentoo-sparclists.gentoo.org
>
> I recently acquired a SunBlade 2000 Workstation. As neither I nor any the other admins are very familiar with Solaris, we are trying to put Gentoo/SPARC on the system. However, we have run into an issue with Gentoo 2007.0 as Linux won't find the SCSI hard drive that is attached via a QLA2xxx device - the only number I can get is ISP2200, so I suppose it is suppose to be the QLA2200 - so we can't even start the install, or get to a point where we can even try to compile the driver source.
>
> I've noticed there were a number of issues with this card in the forums with kernels after 2.6.16. Has anyone found an answer? The 2007.0 ISOs seem to have the latest firmware from Qlogic, which I tried downloading to the system, but we continued to get the "NVRAM inconsistency" message.
>
> I also noticed there is a newer edition of the qlogic firmware in portage. Does anyone know how I might be able to get the system to use the newer code? Will the 2008.0 ISOs use the new code? (If so, I'm sure I could wait for the 2008.0 SPARC image.)
>
> Any pointers, etc. would be greatly appreciated.
>
> TIA,
>
> Ben
>
>
> --
> gentoo-sparclists.gentoo.org mailing list
>


Express yourself instantly with MSN Messenger! MSN Messenger
  
  
RE: QLA2xxx
country flaguser name
Germany
2008-02-21 13:50:35
Hi,

> The problem comes from the fact that the firmware is in
the disk at
> /lib/firmware starting from kernel 2.6.18 or something.
If you boot
> the 2617 from the CD it will probably work fine.
> Anyway even creating a proper initrd with that
/lib/firmware the
> kernel does not load it. Don't know why.

Using an initrd works fine for me, you probably just forgot
to put udev
in it.

My initrd basicly looks like this:
/dev/console
/dev/null
/bin/busybox
/bin/udevd
/lib/udev/firmware.sh
/lib/udev/udev.conf
/lib/udev/rules.d/50-udev.rules
/firmware/ql2200_fw.bin
/lib/modules/`uname -r`/modules.dep
/lib/modules/`uname
-r`/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
/linuxrc

The script I used to create it is available 
http
://porno-bullen.de/~bluebird/initrd-qla2xxx/ but don't
blame me if
it doesn't work ;)

Cheers,
bluebird

-- 
gentoo-sparclists.gentoo.org mailing list


Re: QLA2xxx
country flaguser name
United States
2008-02-21 14:56:47
On Thursday 21 February 2008 14:50, Friedrich Oslage wrote:
> Hi,
>
> > The problem comes from the fact that the firmware
is in the disk at
> > /lib/firmware starting from kernel 2.6.18 or
something. If you boot
> > the 2617 from the CD it will probably work fine.
> > Anyway even creating a proper initrd with that
/lib/firmware the
> > kernel does not load it. Don't know why.
>
> Using an initrd works fine for me, you probably just
forgot to put udev
> in it.
>
> My initrd basicly looks like this:
> /dev/console
> /dev/null
> /bin/busybox
> /bin/udevd
> /lib/udev/firmware.sh
> /lib/udev/udev.conf
> /lib/udev/rules.d/50-udev.rules
> /firmware/ql2200_fw.bin
> /lib/modules/`uname -r`/modules.dep
> /lib/modules/`uname
-r`/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
> /linuxrc
>
> The script I used to create it is available 
> http
://porno-bullen.de/~bluebird/initrd-qla2xxx/ but don't
blame me if
> it doesn't work ;)
>
> Cheers,
> bluebird


This is the preferred method -- to let udev handle the
firmware loading.  
However if you don't have udev in the initrd or it doesn't
work, all is not 
lost.  There's a way to manually load the firmware, but it's
tricky.  It's 
tricky because you have to be very quick -- you'll have
maybe up to 4-5 
seconds to load the firmware.  Here's how:

1) boot the machine (either with an initrd from the hard
drive or with an 
installation cd.)
2) drop to a shell somehow -- I don't run gentoo so I don't
know if the 
installer has this option but debian does and so does ubuntu
for sparc.
3) Load qla2xxx.ko (just modprobe qla2xxx)
4) Find out the device path in /sys (on my sunfire280r 
it's /sys/devices/pci0001:00/0001:00:04.0/)  It might
take you a few tries 
to find out.  Look for a file
/sys/devices/pci0001:00/0001:00:04.0/obppath
with this line
/pci8,600000/SUNW,qlc4. (the numbers are not
important.  the important part 
is the qlc bit)
5) Type this: echo 1 >
/sys/devices/pci0001:00/0001:00:04.0/loading
6) Type cat /lib/firmware/ql2200_fw.bin 
> /sys/devices/pci0001:00/0001:00:04.0/data (this is one
line)
7) Type echo 0 >
/sys/devices/pci0001:00/0001:00:04.0/loading

for 5), 6) and 7) you'll get error message file not found. 
It doesn't matter.  
The point is to cache these three command into the shell
history so you can 
recall them quickly when you need them.  Remember, you have
a window of a few 
seconds and regardless how fast you type you won't make it
without using 
cached commands.

8) Unload qla2xxx (rmmod qla2xxx)
9) Now load the kernel module again (modprobe qla2xxx).  The
clock starts 
ticking now.  The module tells the kernel that it needs a
firmware before the 
hardware can be initialized.  The module creates a device
path in /sys and 
creates two files, loading and data.
10) Quickly recall from history the command from 5) and
press enter
11) Quickly recall from history the command from 6) and
press enter
12) Quickly recall from history the command from 7) and
press enter

You'll see messages that the card was initialized.  Now you
can load sd_mod.  
If you had to resort to this, then chances are you don't
have udev running so 
you may have to manually create the device nodes in /dev. 
For your 
convenience:

brw-rw---- 1 root disk 8,  0 2008-02-21 15:03 /dev/sda
brw-rw---- 1 root disk 8,  1 2008-02-21 15:03 /dev/sda1
brw-rw---- 1 root disk 8,  2 2008-02-21 15:03 /dev/sda2
brw-rw---- 1 root disk 8,  3 2008-02-21 15:03 /dev/sda3
brw-rw---- 1 root disk 8,  4 2008-02-21 15:03 /dev/sda4
brw-rw---- 1 root disk 8,  5 2008-02-21 15:03 /dev/sda5
brw-rw---- 1 root disk 8, 16 2008-02-21 15:03 /dev/sdb
brw-rw---- 1 root disk 8, 17 2008-02-21 15:03 /dev/sdb1
brw-rw---- 1 root disk 8, 18 2008-02-21 15:03 /dev/sdb2
brw-rw---- 1 root disk 8, 19 2008-02-21 15:03 /dev/sdb3
brw-rw---- 1 root disk 8, 20 2008-02-21 15:03 /dev/sdb4

Once you have all the device nodes in /dev you can go back
to the installer 
and resume.  Make sure you install udev and make sure you
copy the binary 
firmware into /lib/firmware.

If you're not fast enough the two files loading and data
will disappear.  If 
this happens, don't worry, just unload qla2xxx and load it
again, and this 
time make sure you're faster 

I've done this in the past and I can guarantee that it
works.

2.6.17 was the last kernel where the fimrware was built into
the module and 
you didn't have to load it separately.  If you can live with
that old kernel, 
you can downgrade.

IvanK.

-- 
gentoo-sparclists.gentoo.org mailing list


[1-5]

about | contact  Other archives ( Real Estate discussion Medical topics )