Skip to contentSkip to conversation

Dell 2850 build in (LSI) PERC4/Di 2.6 kernel driver.

DISCUSSION Paul Veldema 2 participants 2 messages Mar 29, 2005 – Apr 1, 2005 SCSI

lore
Share & tools
lore
#0 lore raw

Hello developers,

For the last two months I've been strugling with a driver problem. Our company bought two Dell PowerEdge 2850's
to try our production kernel version 2.6.8 (debian sarge) on since the 2650 are no longer sold. The Dell PE 2650's had Perc4/DC cards in them (which work fine with the drivers and kernel 2.6.X) supposedly the same thing as the build in Perc4/Di controllers in the PE2850's. According to Dell the LSI chipset in the PERC4 is de LSI53C1020.

However, the megaraid drivers don't detect the Perc4/Di controllers resulting in a kernel panic when linux wants to start load stuff from disk (can't find file bla).

On http://linux.dell.com/storage.shtml the following info has been posted for a while now:

* PowerEdge 2800, PowerEdge 2850, PowerEdge 1850 - PERC4e/Di - dual channel, U320 SCSI, PCI Express, with battery-backed cache. Requires megaraid2 driver 2.00.3 or higher (on 2.4.x kernels), on 2.6.x kernels you can use the 'megaraid' driver (now historical), or ideally, the 'megaraid_mbox' and 'megaraid_mm' drivers.

The mentioned "*on 2.6.x kernels you can use the 'megaraid' driver (now historical), or ideally, the 'megaraid_mbox' and 'megaraid_mm' drivers.*" don't work (kernel 2.6.8 as well as kernel 2.6.9).

I tried the correct driver source downloaded from http://www.lsilogic.com/downloads/selectDownload.do#driver: mptlinux-3.01.14.23.zip .

Quoted 1 line

From source *'megaraid' driver (now historical)*:

#define MEGARAID_VERSION        \
       "v2.00.3 (Release Date: Wed Feb 19 08:51:30 EST 2003)\n"
Quoted 1 line

From source "*megaraid_mbox*":

#define MEGARAID_VERSION "2.20.3.1"

...

#define PCI_DEVICE_ID_PERC4E_DI_KOBUK 0x0013
#define PCI_SUBSYS_ID_PERC4E_DI_KOBUK 0x016d

#define PCI_DEVICE_ID_PERC4E_DI_CORVETTE 0x0013
#define PCI_SUBSYS_ID_PERC4E_DI_CORVETTE 0x016e

#define PCI_DEVICE_ID_PERC4E_DI_EXPEDITION 0x0013
#define PCI_SUBSYS_ID_PERC4E_DI_EXPEDITION 0x016f

#define PCI_DEVICE_ID_PERC4E_DI_GUADALUPE 0x0013
#define PCI_SUBSYS_ID_PERC4E_DI_GUADALUPE 0x0170

...

I tried the historical, mm and mbox drivers (together, separately, omitting the historical form the build, in different orders also with initrd ramdisk image)
nothing works. If anyone knows/has working version combinations (kernel+drivers) please email the information to [email protected]. Also where can I get newer versions of the megaraid drivers than can be downloaded from LSI's download page?

Here some info under the 2.4.27 kernel and megaraid2 driver on one of the PE2850 machines:
lsmod:

megaraid2              33768   6 (autoclean)
scsi_mod               97828   3 (autoclean) [ide-scsi sd_mod megaraid2]

dmesg:
SCSI subsystem driver Revision: 1.00
megaraid: v2.10.3 (Release Date: Thu Apr 8 16:16:05 EDT 2004)
megaraid: found 0x1028:0x0013:bus 2:slot 14:func 0 scsi0:Found MegaRAID controller at 0xf8838000, IRQ:38
megaraid: [513O:H418] detected 1 logical drives.
megaraid: supports extended CDBs.
megaraid: channel[0] is raid.
megaraid: channel[1] is scsi.
scsi0 : LSI Logic MegaRAID 513O 254 commands 16 targs 5 chans 7 luns
blk: queue f6e45e18, I/O limit 4095Mb (mask 0xffffffff)
scsi0: scanning scsi channel 0 for logical drives.
Vendor: MegaRAID Model: LD 0 RAID5 279G Rev: 513O
Type: Direct-Access ANSI SCSI revision: 02
blk: queue f6e45c18, I/O limit 4095Mb (mask 0xffffffff)
scsi0: scanning scsi channel 1 for logical drives.
scsi0: scanning scsi channel 2 for logical drives.
scsi0: scanning scsi channel 4 [P0] for physical devices.
Vendor: PE/PV Model: 1x6 SCSI BP Rev: 1.0
Type: Processor ANSI SCSI revision: 02
blk: queue f6e45a18, I/O limit 4095Mb (mask 0xffffffff)
scsi0: scanning scsi channel 5 [P1] for physical devices. Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: 572456960 512-byte hdwr sectors (293098 MB) Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1 p2 p3 p4 < p5 p6 p7 > Journalled Block Device driver loaded

I hope this is enough info, if there are fixes I'll be happy to try them and reply the results (dmesg errors etc.) I have one machine freely available for testing.

With regards, Paul Veldema (Realworks B.V.).

#1 lore raw
Quoted 10 lines · Paul Veldema

Hello developers,

For the last two months I've been strugling with a driver problem. Our company bought two Dell PowerEdge 2850's
to try our production kernel version 2.6.8 (debian sarge) on since the 2650 are no longer sold. The Dell PE 2650's had Perc4/DC cards in them (which work fine with the drivers and kernel 2.6.X) supposedly the same thing as the build in Perc4/Di controllers in the PE2850's. According to Dell the LSI chipset in the PERC4 is de LSI53C1020.

Quoted 4 lines

However, the megaraid drivers don't detect the Perc4/Di controllers resulting in a
kernel panic when linux wants to start load stuff from disk (can't find file bla).

I don't have the debian sarge source handy, but the kernel.org 2.6.8 kernel's drivers/scsi/megaraid.[ch] driver indeed does not have the PCI IDs for these controllers present. Looks like I misremembered when I put that text on linux.dell.com, I've corrected it.

kernel.org 2.6.9 drivers/scsi/megaraid/megaraid_mbox.c does have the PCI IDs for this adapter.

[snip]

Quoted 7 lines
Quoted 1 line

From source "*megaraid_mbox*":

#define MEGARAID_VERSION "2.20.3.1"

...

#define PCI_DEVICE_ID_PERC4E_DI_KOBUK 0x0013
#define PCI_SUBSYS_ID_PERC4E_DI_KOBUK 0x016d

Right, this are the right IDs, as your working 2.4 scenario shows:

Quoted 1 line

megaraid: found 0x1028:0x0013:bus 2:slot 14:func 0

so your 2.6.9 kernel should work.

Thanks,
Matt

Signature · 4 lines
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com