2001-11-28 15:19:46

by Pascal Lengard

[permalink] [raw]
Subject: dac960 broken ?

Hello,

I have several "servers" using old mylex DAC960P scsi raid adapter.
So I though clever to install redhat 7.2 on them ...

redhat 7.2 does install and run well with the 2.4.7-10 kernel from the
distribution, but when I try upgrading to 2.4.9-13 (via rpm) it does not boot,
there is a problem with resolving ext3fs symbols ... this is more a RedHat
problem, but read on :-)

I choosed to compile a customized kernel with only what I need inside kernel
(ext3fs, dac960, ..) plus some modules I might need some day.

I tried compiling 2.4.14 => my mylex card is not detected !
(driver dac960 version 2.4.11 from 11 october 2001)
I tried with 2.4.9-13 from redhat => same problem
(driver dac960 version 2.4.10 from 23 july 2001)
I tried custom 2.4.7-10 from redhat => works like a charm
(driver dac960 version 2.4.10 from 1 february 2001)
all these kernels were compiled with the same .config (make oldconfig)

hardware used:
DAC960P-2, D040351-0-IBM REV.E firmware 3.51-0-04

detected like this by kernel 2.4.7-10:
DAC960: ***** DAC960 RAID Driver Version 2.4.10 of 1 February 2001 *****
DAC960: Copyright 1998-2001 by Leonard N. Zubkoff <[email protected]>
DAC960#0: Configuring Mylex DAC960PD PCI RAID Controller
DAC960#0: Firmware Version: 3.51-0-04, Channels: 2, Memory Size: 4MB
DAC960#0: PCI Bus: 1, Device: 10, Function: 0, I/O Address: 0x6200
DAC960#0: PCI Address: 0xBF800C00 mapped at 0xC482DC00, IRQ Channel: 11
DAC960#0: Controller Queue Depth: 64, Maximum Blocks per Command: 128
DAC960#0: Driver Queue Depth: 63, Scatter/Gather Limit: 17 of 17 Segments
DAC960#0: Stripe Size: 64KB, Segment Size: 8KB, BIOS Geometry: 128/32


I am insterested in any clue, since I am stuck to 2.4.7 for now ...
linux-kernel readers, please cc me on replies since I am not subscribed
to the list.

Pascal Lengard


2001-11-28 15:36:06

by Alan

[permalink] [raw]
Subject: Re: dac960 broken ?

> distribution, but when I try upgrading to 2.4.9-13 (via rpm) it does not boot,
> there is a problem with resolving ext3fs symbols ... this is more a RedHat
> problem, but read on :-)

You don't provide enough information. Precisely what symbols, precisely what
error message

Alan

2001-11-29 06:25:36

by Leonard N. Zubkoff

[permalink] [raw]
Subject: Re: dac960 broken ?

Date: Wed, 28 Nov 2001 15:19:38 +0100 (CET)
From: Pascal Lengard <[email protected]>

Hello,

I have several "servers" using old mylex DAC960P scsi raid adapter.
So I though clever to install redhat 7.2 on them ...

redhat 7.2 does install and run well with the 2.4.7-10 kernel from the
distribution, but when I try upgrading to 2.4.9-13 (via rpm) it does not boot,
there is a problem with resolving ext3fs symbols ... this is more a RedHat
problem, but read on :-)

I choosed to compile a customized kernel with only what I need inside kernel
(ext3fs, dac960, ..) plus some modules I might need some day.

I tried compiling 2.4.14 => my mylex card is not detected !
(driver dac960 version 2.4.11 from 11 october 2001)
I tried with 2.4.9-13 from redhat => same problem
(driver dac960 version 2.4.10 from 23 july 2001)
I tried custom 2.4.7-10 from redhat => works like a charm
(driver dac960 version 2.4.10 from 1 february 2001)
all these kernels were compiled with the same .config (make oldconfig)

hardware used:
DAC960P-2, D040351-0-IBM REV.E firmware 3.51-0-04

detected like this by kernel 2.4.7-10:
DAC960: ***** DAC960 RAID Driver Version 2.4.10 of 1 February 2001 *****
DAC960: Copyright 1998-2001 by Leonard N. Zubkoff <[email protected]>
DAC960#0: Configuring Mylex DAC960PD PCI RAID Controller
DAC960#0: Firmware Version: 3.51-0-04, Channels: 2, Memory Size: 4MB
DAC960#0: PCI Bus: 1, Device: 10, Function: 0, I/O Address: 0x6200
DAC960#0: PCI Address: 0xBF800C00 mapped at 0xC482DC00, IRQ Channel: 11
DAC960#0: Controller Queue Depth: 64, Maximum Blocks per Command: 128
DAC960#0: Driver Queue Depth: 63, Scatter/Gather Limit: 17 of 17 Segments
DAC960#0: Stripe Size: 64KB, Segment Size: 8KB, BIOS Geometry: 128/32


I am insterested in any clue, since I am stuck to 2.4.7 for now ...
linux-kernel readers, please cc me on replies since I am not subscribed
to the list.

Pascal Lengard

Hmmm. Nothing you've described makes any sense to me as I don't believe the
driver has changed in a way that would break the basic detection of the boards.
When you say that the card is not detected, precisely what do you mean? Does
the driver report anything at all?

Leonard

2001-11-29 06:37:47

by Doug Ledford

[permalink] [raw]
Subject: Re: dac960 broken ?

Leonard N. Zubkoff wrote:

> Date: Wed, 28 Nov 2001 15:19:38 +0100 (CET)
> From: Pascal Lengard <[email protected]>
>
> Hello,
>
> I have several "servers" using old mylex DAC960P scsi raid adapter.
> So I though clever to install redhat 7.2 on them ...
>
> redhat 7.2 does install and run well with the 2.4.7-10 kernel from the
> distribution, but when I try upgrading to 2.4.9-13 (via rpm) it does not boot,
> there is a problem with resolving ext3fs symbols ... this is more a RedHat
> problem, but read on :-)


Sounds pretty simple to me. If you are using lilo, then you might not
be rerunning lilo after installing the new kernel. Also, after
installing a new kernel you need a new initrd image. Your unresolved
symbols problem is because you are trying to load the ext3 module from a
2.4.7-10 kernel in the 2.4.9-13 errata kernel. The general answer here
is that there is significant documentation on what must be done to
upgrade a Red Hat kernel. Read it.


> I choosed to compile a customized kernel with only what I need inside kernel
> (ext3fs, dac960, ..) plus some modules I might need some day.
>
> I tried compiling 2.4.14 => my mylex card is not detected !
> (driver dac960 version 2.4.11 from 11 october 2001)
> I tried with 2.4.9-13 from redhat => same problem
> (driver dac960 version 2.4.10 from 23 july 2001)
> I tried custom 2.4.7-10 from redhat => works like a charm
> (driver dac960 version 2.4.10 from 1 february 2001)
> all these kernels were compiled with the same .config (make oldconfig)
>
> hardware used:
> DAC960P-2, D040351-0-IBM REV.E firmware 3.51-0-04
>
> detected like this by kernel 2.4.7-10:
> DAC960: ***** DAC960 RAID Driver Version 2.4.10 of 1 February 2001 *****
> DAC960: Copyright 1998-2001 by Leonard N. Zubkoff <[email protected]>
> DAC960#0: Configuring Mylex DAC960PD PCI RAID Controller
> DAC960#0: Firmware Version: 3.51-0-04, Channels: 2, Memory Size: 4MB
> DAC960#0: PCI Bus: 1, Device: 10, Function: 0, I/O Address: 0x6200
> DAC960#0: PCI Address: 0xBF800C00 mapped at 0xC482DC00, IRQ Channel: 11
> DAC960#0: Controller Queue Depth: 64, Maximum Blocks per Command: 128
> DAC960#0: Driver Queue Depth: 63, Scatter/Gather Limit: 17 of 17 Segments
> DAC960#0: Stripe Size: 64KB, Segment Size: 8KB, BIOS Geometry: 128/32
>
>
> I am insterested in any clue, since I am stuck to 2.4.7 for now ...
> linux-kernel readers, please cc me on replies since I am not subscribed
> to the list.
>
> Pascal Lengard
>
> Hmmm. Nothing you've described makes any sense to me as I don't believe the
> driver has changed in a way that would break the basic detection of the boards.
> When you say that the card is not detected, precisely what do you mean? Does
> the driver report anything at all?
>
> Leonard
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>



--

Doug Ledford <[email protected]> http://people.redhat.com/dledford
Please check my web site for aic7xxx updates/answers before
e-mailing me about problems

2001-11-29 10:18:09

by Pascal Lengard

[permalink] [raw]
Subject: Re: dac960 broken ?

Hello Alan,

Sorry, I must apology here. I just rerun the redhat kernel and the error
is not linked to ext3fs (anyway it made no sens since the user base of
ext3 is HUGE and no problem was reported ...).

The problem is linked to DAC960 also:
here are the messages:

Loading scsi_mod module
Loading DAC960 module
/lib/DAC960.o: init_module: Operation not permitted
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
ERROR /bin/insmod exited abnormally!
Loading jbd module
Journalled Block Device driver loaded
Loading ext3 module
Mounting /proc filesystem
Creaing root device
Mounting root filesystem
mount: error 19 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
Freeing unused kernel memory: 216k freed
Kernel panic: No init found. Try passing init= option to kernel

Pascal Lengard

On Wed, 28 Nov 2001, Alan Cox wrote:
> You don't provide enough information. Precisely what symbols, precisely what
> error message
>
> Alan
>

2001-11-29 16:57:00

by John Jasen

[permalink] [raw]
Subject: Re: dac960 broken ?


Redhat's bugzilla does have a few entries regarding the DAC960 and RH 7.1.
Strangely, I can't see the one my friend recently reported ...

--
-- John E. Jasen ([email protected])
-- In theory, theory and practise are the same. In practise, they aren't.

2001-11-29 19:18:25

by Pascal Lengard

[permalink] [raw]
Subject: Re: dac960 broken ?

On Wed, 28 Nov 2001, Leonard N. Zubkoff wrote:

> Hmmm. Nothing you've described makes any sense to me as I don't believe the
> driver has changed in a way that would break the basic detection of the boards.
> When you say that the card is not detected, precisely what do you mean? Does
> the driver report anything at all?

OK, I did not write down the messages, but while testing, with DAC960
compiled as module, It did load and initialise but said "no such peripheral"
or something equivalent once (I know it's not precise enough ...).

I ran some tests to record precise messages today:

Here are the messages from the kernel 2.4.9-13 shipped by redhat:
-----------------------------------------------------------------
Loading scsi_mod module
Loading DAC960 module
/lib/DAC960.o: init_module: Operation not permitted
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
ERROR /bin/insmod exited abnormally!
Loading jbd module
Journalled Block Device driver loaded
Loading ext3 module
Mounting /proc filesystem
Creaing root device
Mounting root filesystem
mount: error 19 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
Freeing unused kernel memory: 216k freed
Kernel panic: No init found. Try passing init= option to kernel


Here is dmesg of 2.4.7-10 with dac960 compiled INSIDE kernel (WORKS):
---------------------------------------------------------------------
Journalled Block Device driver loaded
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10d
block: queued sectors max/low 41557kB/13852kB, 128 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Floppy drive(s): fd0 is 2.88M
FDC 0 is an 82078.
DAC960: ***** DAC960 RAID Driver Version 2.4.10 of 1 February 2001 *****
DAC960: Copyright 1998-2001 by Leonard N. Zubkoff <[email protected]>
DAC960#0: Configuring Mylex DAC960PD PCI RAID Controller
DAC960#0: Firmware Version: 3.51-0-04, Channels: 2, Memory Size: 4MB
DAC960#0: PCI Bus: 1, Device: 10, Function: 0, I/O Address: 0x6200
DAC960#0: PCI Address: 0xBF800C00 mapped at 0x45002C00, IRQ Channel: 11
DAC960#0: Controller Queue Depth: 64, Maximum Blocks per Command: 128
DAC960#0: Driver Queue Depth: 63, Scatter/Gather Limit: 17 of 17 Segments
DAC960#0: Stripe Size: 64KB, Segment Size: 8KB, BIOS Geometry: 128/32
DAC960#0: Physical Devices:
<snip the devices>
DAC960#0: Logical Drives:
<snip logical drives>
Partition check:
<snip>
loop: loaded (max 8 devices)
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
NET4: Linux TCP/IP 1.0 for NET4.0

Here are messages from 2.4.16 compiled INSIDE kernel (BROKEN)
with this method:
copy .config from 2.4.7-10 that worked (dmesg just above)
and "make oldconfig"
------------------------------------------------------------
Journalled Block device driver loaded
pty 512 Unix98 ptys configured
Serial driver version 5.05c ....
ttyS0 at ...
ttyS1 at ...
Real Time Clock Driver 1.10e
block: 128 slots per queue, batch=32
RAMDISK driver initilized ...
Floppy drives ...
FDC0 is an 82078

here DAC960 should talk!!

loop: loaded (max 8 devices)
SCSI subsystem driver Revision: 1.00
request_module [scsi_hostadapter]: Root fs not mounted
NET4: Linux TCP/IP ...
IP Protocols ...
IP: Routing ...
TCP: Hash ...
NET4: Unix domain ...
request_module[block-major-48]: Root fs not mounted
VFS: Cannot open root device "300b" or 30:0b
please append a correct "root=" boot option
Kernel Panic: VFS: Unable to mount root fs on 30:0b


When it works, DAC960 is initialized and "talks" just after FDC0,
You have seen that with 2.4.16 it does not.
the sentence "please append a correct root= boot option" makes no sens
to me since in lilo.conf both kernels are started with same options:
image=/boot/vmlinuz-2.4.16-dac960
label=linuxdac
read-only
root=/dev/rd/c0d1p3
image=/boot/vmlinuz-2.4.7-10custom
label=linux247
read-only
root=/dev/rd/c0d1p3

I can tell you DAC960 REALLY is compiled inside the kernel since
a "grep DAC960" System.map-2.4.16-dac960 shows lots of entries.


Now I am lost ... If anyone has an idea of the problem ...


Pascal Lengard

2001-11-29 20:06:46

by Leonard N. Zubkoff

[permalink] [raw]
Subject: Re: dac960 broken ?

Date: Thu, 29 Nov 2001 19:42:01 +0100 (CET)
From: Pascal Lengard <[email protected]>

On Wed, 28 Nov 2001, Leonard N. Zubkoff wrote:

> Hmmm. Nothing you've described makes any sense to me as I don't believe
> the driver has changed in a way that would break the basic detection of the
> boards. When you say that the card is not detected, precisely what do you
> mean? Does the driver report anything at all?

OK, I did not write down the messages, but while testing, with DAC960
compiled as module, It did load and initialise but said "no such peripheral"
or something equivalent once (I know it's not precise enough ...).

I ran some tests to record precise messages today:

Here are the messages from the kernel 2.4.9-13 shipped by redhat:
-----------------------------------------------------------------
Loading scsi_mod module
Loading DAC960 module
/lib/DAC960.o: init_module: Operation not permitted
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
ERROR /bin/insmod exited abnormally!
Loading jbd module
Journalled Block Device driver loaded
Loading ext3 module
Mounting /proc filesystem
Creaing root device
Mounting root filesystem
mount: error 19 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
Freeing unused kernel memory: 216k freed
Kernel panic: No init found. Try passing init= option to kernel


Hmmm. Can you check if the following patch is present in the Linux kernel
you're using:

--- linux/init/main.c- Sat Oct 6 08:49:16 2001
+++ linux/init/main.c Wed Oct 10 09:06:07 2001
@@ -221,6 +221,24 @@
{ "dasdg", (DASD_MAJOR << MINORBITS) + (6 << 2) },
{ "dasdh", (DASD_MAJOR << MINORBITS) + (7 << 2) },
#endif
+#if defined(CONFIG_BLK_DEV_DAC960) || defined(CONFIG_BLK_DEV_DAC960_MODULE)
+ { "rd/c0d0p",0x3000 },
+ { "rd/c0d1p",0x3008 },
+ { "rd/c0d2p",0x3010 },
+ { "rd/c0d3p",0x3018 },
+ { "rd/c0d4p",0x3020 },
+ { "rd/c0d5p",0x3028 },
+ { "rd/c0d6p",0x3030 },
+ { "rd/c0d7p",0x3038 },
+ { "rd/c0d8p",0x3040 },
+ { "rd/c0d9p",0x3048 },
+ { "rd/c0d10p",0x3050 },
+ { "rd/c0d11p",0x3058 },
+ { "rd/c0d12p",0x3060 },
+ { "rd/c0d13p",0x3068 },
+ { "rd/c0d14p",0x3070 },
+ { "rd/c0d15p",0x3078 },
+#endif
#if defined(CONFIG_BLK_CPQ_DA) || defined(CONFIG_BLK_CPQ_DA_MODULE)
{ "ida/c0d0p",0x4800 },
{ "ida/c0d1p",0x4810 },

Without this patch, which Linux has repeatedly refused to include in the
standard sources, it is entirely possible that the root= processing won't work
correctly.

Leonard

2001-11-30 11:16:56

by Pascal Lengard

[permalink] [raw]
Subject: Re: dac960 broken ?


working 2.4.7-10 from redhat includes definitions for devices rd/c0...
(not in #define(CONFIG_BLK_DEV_DAC960), patch is different)

broken 2.4.9-13 from redhat includes these also in the same way.
(so ...)

broken 2.4.16 does not define these devices in linux/init/main.c
I just tried your patch on 2.4.16. It went smoothly but the 2.4.16+patch
behaves exactly as before, same messages as without patch when booting ...
and kernel panic.

Pascal Lengard


On Thu, 29 Nov 2001, Leonard N. Zubkoff wrote:
> Hmmm. Can you check if the following patch is present in the Linux kernel
> you're using:
>
> --- linux/init/main.c- Sat Oct 6 08:49:16 2001
> +++ linux/init/main.c Wed Oct 10 09:06:07 2001
> @@ -221,6 +221,24 @@
> { "dasdg", (DASD_MAJOR << MINORBITS) + (6 << 2) },
> { "dasdh", (DASD_MAJOR << MINORBITS) + (7 << 2) },
> #endif
> +#if defined(CONFIG_BLK_DEV_DAC960) || defined(CONFIG_BLK_DEV_DAC960_MODULE)
> + { "rd/c0d0p",0x3000 },
> + { "rd/c0d1p",0x3008 },
> + { "rd/c0d2p",0x3010 },
> + { "rd/c0d3p",0x3018 },
> + { "rd/c0d4p",0x3020 },
> + { "rd/c0d5p",0x3028 },
> + { "rd/c0d6p",0x3030 },
> + { "rd/c0d7p",0x3038 },
> + { "rd/c0d8p",0x3040 },
> + { "rd/c0d9p",0x3048 },
> + { "rd/c0d10p",0x3050 },
> + { "rd/c0d11p",0x3058 },
> + { "rd/c0d12p",0x3060 },
> + { "rd/c0d13p",0x3068 },
> + { "rd/c0d14p",0x3070 },
> + { "rd/c0d15p",0x3078 },
> +#endif
> #if defined(CONFIG_BLK_CPQ_DA) || defined(CONFIG_BLK_CPQ_DA_MODULE)
> { "ida/c0d0p",0x4800 },
> { "ida/c0d1p",0x4810 },
>
> Without this patch, which Linux has repeatedly refused to include in the
> standard sources, it is entirely possible that the root= processing won't work
> correctly.
>
> Leonard
>