# Driver for LSI MegaRAID SAS 8208ELP (rev08) [resolved]

## masc

I just can't get this device working, Im reading about a mfi driver which is supposed to work (https://kerneltrap.org/mailarchive/freebsd-current/2008/9/25/3408724/thread), but I cannot find it in 2.6.28-r1.. 

Here's lspci -nnv

```
09:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 8208ELP/8208ELP [1000:0059] (rev 08)

        Subsystem: Intel Corporation Device [8086:3002]

        Flags: bus master, fast devsel, latency 0, IRQ 18

        I/O ports at 5000 [size=256]

        Memory at d8710000 (64-bit, non-prefetchable) [size=16K]

        Memory at d8700000 (64-bit, non-prefetchable) [size=64K]

        [virtual] Expansion ROM at d8000000 [disabled] [size=2M]

        Capabilities: [50] Power Management version 2

        Capabilities: [68] Express Endpoint, MSI 00

        Capabilities: [98] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-

        Capabilities: [b0] MSI-X: Enable- Mask- TabSize=1

        Capabilities: [100] Advanced Error Reporting <?>
```

and emerge --info

```
Portage 2.1.6.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.28-gentoo-r1 x86_64)

=================================================================

System uname: Linux-2.6.28-gentoo-r1-x86_64-Intel-R-_Xeon-R-_CPU_E5430_@_2.66GHz-with-glibc2.2.5

Timestamp of tree: Tue, 27 Jan 2009 01:45:01 +0000

distcc 3.0 x86_64-pc-linux-gnu [disabled]

ccache version 2.4 [enabled]

app-shells/bash:     3.2_p39

dev-lang/python:     2.5.2-r7

dev-util/ccache:     2.4-r7

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.63

sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2

sys-devel/binutils:  2.18-r3

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.27-r2

ACCEPT_KEYWORDS="amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /var/bind"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ ftp://gentoo.imj.fr/pub/gentoo/ http://91.121.125.139/gentoo-distfiles/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://mirror.muntinternet.net/pub/gentoo/ ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://91.121.124.139/gentoo-distfiles/"

LDFLAGS="-Wl,-O1"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X acl acpi amd64 berkdb bzip2 cli cracklib crypt dbus device-mapper dhcp disk-partition dri fortran gdbm gpm hddtemp hvm iconv ipv6 isdnlog kvm lm_sensors logrotate loop-aes lvm midi mmx mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse sse2 sse3 ssl ssse3 sysfs tcpd unicode xorg xulrunner zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

Last edited by masc on Tue Jan 27, 2009 5:51 pm; edited 1 time in total

----------

## Dairinin

FreeBSD does have mfi module, linux does not  :Smile: 

Try megaraid

----------

## masc

mhmm, thanks.. 

I already tried following scsi/fusion drivers.. none of them match 1000:0059. 

Wonder why mfi is not in linux..( which options do I have now.. sell it? .)

megaraid

```
alias:          pci:v00008086d00001960sv*sd*bc*sc*i*

alias:          pci:v0000101Ed00009060sv*sd*bc*sc*i*

alias:          pci:v0000101Ed00009010sv*sd*bc*sc*i*
```

megaraid_sas

```
alias:          pci:v00001028d00000015sv*sd*bc*sc*i*

alias:          pci:v00001000d00000413sv*sd*bc*sc*i*

alias:          pci:v00001000d00000079sv*sd*bc*sc*i*

alias:          pci:v00001000d00000078sv*sd*bc*sc*i*

alias:          pci:v00001000d0000007Csv*sd*bc*sc*i*

alias:          pci:v00001000d00000060sv*sd*bc*sc*i*

alias:          pci:v00001000d00000411sv*sd*bc*sc*i*
```

megaraid_mbox

```
alias:          pci:v00001000d00000409sv*sd*bc*sc*i*

alias:          pci:v00001000d00001960sv*sd*bc*sc*i*

alias:          pci:v0000101Ed00001960sv*sd*bc*sc*i*

alias:          pci:v00001000d00000408sv*sd*bc*sc*i*

alias:          pci:v00001028d00000013sv00001028sd00000170bc*sc*i*

alias:          pci:v00001028d00000013sv00001028sd0000016Fbc*sc*i*

alias:          pci:v00001028d00000013sv00001028sd0000016Ebc*sc*i*

alias:          pci:v00001028d00000013sv00001028sd0000016Dbc*sc*i*

alias:          pci:v00001028d00000013sv00001028sd0000016Cbc*sc*i*

alias:          pci:v00001028d0000000Fsv00001028sd0000014Abc*sc*i*

alias:          pci:v00001000d00000407sv*sd*bc*sc*i*

alias:          pci:v00001000d00001960sv00001028sd00000518bc*sc*i*

alias:          pci:v00001000d00001960sv00001028sd00000520bc*sc*i*

alias:          pci:v00001028d0000000Esv00001028sd00000123bc*sc*i*
```

mptsas

```
alias:          pci:v00001000d00000062sv*sd*bc*sc*i*

alias:          pci:v00001000d00000058sv*sd*bc*sc*i*

alias:          pci:v00001000d00000056sv*sd*bc*sc*i*

alias:          pci:v00001000d00000054sv*sd*bc*sc*i*

alias:          pci:v00001000d00000050sv*sd*bc*sc*i*
```

----------

## masc

meh, I resolved it. 

The controller is actually an Intel SASMF8I, but looks like and is also identified as LSI 8208ELP.

It's using LSISAS1068(E) controller chip, which is actually supported by fusion MPT/SAS driver, it's just the PCI id of this card is not recognized by the driver..

Thus, added the id (0x0059) to the mptsas_pci_table of mptsas.c and it works nicely.

here's the patch https://bugs.gentoo.org/show_bug.cgi?id=325805Last edited by masc on Sun Jun 27, 2010 12:07 pm; edited 1 time in total

----------

## gr3m1in

hi all!

having just same problem.

controller 8204ELP pci-e x4 on kernel 2.6.33-gentoo x86_64 with all drivers compilled in it.

lspci

```
01:00.0 SCSI storage controller: LSI Logic / Symbios Logic MegaRAID SAS 8208ELP/8208ELP (rev 08)

        Subsystem: LSI Logic / Symbios Logic Device 3002
```

i tried masc's method, recompilled the kernel with patched drivers, but with no result.

then tried to force driver initiation with

```
echo "0x1000 0x0059" >/sys/bus/pci/drivers/mpt2sas/new_id
```

lspci -k returned

```
01:00.0 SCSI storage controller: LSI Logic / Symbios Logic MegaRAID SAS 8208ELP/8208ELP (rev 08)

        Subsystem: LSI Logic / Symbios Logic Device 3002

        Kernel driver in use: mpt2sas
```

and dmesg

```

Mar 22 13:44:13 hitachi kernel: [ 2507.360380] scsi10 : Fusion MPT SAS Host

Mar 22 13:44:13 hitachi kernel: [ 2507.361761] mpt2sas 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

Mar 22 13:44:13 hitachi kernel: [ 2507.361774] mpt2sas 0000:01:00.0: setting latency timer to 64

Mar 22 13:44:13 hitachi kernel: [ 2507.361785] mpt2sas0: 32 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (493680 kB)

Mar 22 13:44:13 hitachi kernel: [ 2507.361883]   alloc irq_desc for 25 on node -1

Mar 22 13:44:13 hitachi kernel: [ 2507.361886]   alloc kstat_irqs on node -1

Mar 22 13:44:13 hitachi kernel: [ 2507.361894] mpt2sas 0000:01:00.0: irq 25 for MSI/MSI-X

Mar 22 13:44:13 hitachi kernel: [ 2507.361926] mpt2sas0: PCI-MSI-X enabled: IRQ 25

Mar 22 13:44:13 hitachi kernel: [ 2507.361929] mpt2sas0: iomem(0xe1010000), mapped(0xffffc90004c88000), size(16384)

Mar 22 13:44:13 hitachi kernel: [ 2507.361932] mpt2sas0: ioport(0x7000), size(256)

Mar 22 13:44:14 hitachi kernel: [ 2508.220032] mpt2sas0: sending diag reset !!

Mar 22 13:44:17 hitachi kernel: [ 2510.970029] mpt2sas0: diag reset: SUCCESS

Mar 22 13:44:21 hitachi kernel: [ 2514.650986] mpt2sas0: reply pool: pci_pool_create failed

Mar 22 13:44:21 hitachi kernel: [ 2514.651096] mpt2sas 0000:01:00.0: PCI INT A disabled

Mar 22 13:44:21 hitachi kernel: [ 2514.651116] ------------[ cut here ]------------

Mar 22 13:44:21 hitachi kernel: [ 2514.652175] kernel BUG at mm/slub.c:2969!

Mar 22 13:44:21 hitachi kernel: [ 2514.653202] invalid opcode: 0000 [#1] SMP

Mar 22 13:44:21 hitachi kernel: [ 2514.654220] last sysfs file: /sys/bus/pci/drivers/mpt2sas/new_id

Mar 22 13:44:21 hitachi kernel: [ 2514.655236] CPU 0

Mar 22 13:44:21 hitachi kernel: [ 2514.656234] Pid: 3650, comm: bash Not tainted 2.6.33-gentoo #4 945GCMX-S2/945GCMX-S2

Mar 22 13:44:21 hitachi kernel: [ 2514.657258] RIP: 0010:[<ffffffff820cb2bd>]  [<ffffffff820cb2bd>] kfree+0x5a/0xbd

Mar 22 13:44:21 hitachi kernel: [ 2514.658299] RSP: 0018:ffff88001ca7db48  EFLAGS: 00010246

Mar 22 13:44:21 hitachi kernel: [ 2514.659329] RAX: ffffea00005f6fc0 RBX: ffff88001b448000 RCX: 0000000000015cb7

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] RDX: 4000000000080000 RSI: 0000000000000000 RDI: ffff88001b448000

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] RBP: ffff88001ca7db68 R08: 0000000000000002 R09: 0000000000000000

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] R10: 0000000000000005 R11: 0000000000000000 R12: ffff88001c9a1440

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] R13: ffffffff8246df7e R14: 00000000fffffff4 R15: 000000000000bdc0

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] FS:  00007fd151afe700(0000) GS:ffff880002000000(0000) knlGS:0000000000000000

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] CR2: 0000000001c2fff8 CR3: 000000001cbe9000 CR4: 00000000000006f0

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] Process bash (pid: 3650, threadinfo ffff88001ca7c000, task ffff88001ebfdac0)

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] Stack:

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  ffff88001ca7db68 ffff88001c9a1420 ffff88001c9a1440 0000000000000000

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] <0> ffff88001ca7db88 ffffffff8246df7e ffff88001c9a1420 ffff88001c9a1420

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] <0> ffff88001ca7dc58 ffffffff82470e59 0000000000000001 0000000000000292

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] Call Trace:

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8246df7e>] _base_release_memory_pools+0x248/0x264

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff82470e59>] mpt2sas_base_attach+0xfdd/0x10b4

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff824746dc>] _scsih_probe+0x33b/0x518

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff822f78a5>] ? kobject_get+0x1a/0x21

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8230c343>] local_pci_probe+0x12/0x16

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8230cff8>] pci_device_probe+0x60/0x8f

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823ca194>] ? driver_sysfs_add+0x47/0x6c

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823ca2cc>] driver_probe_device+0x9a/0x11f

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823ca3a9>] __driver_attach+0x58/0x7c

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823ca351>] ? __driver_attach+0x0/0x7c

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823c9955>] bus_for_each_dev+0x4e/0x83

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823ca14b>] driver_attach+0x19/0x1b

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8230d3b7>] pci_add_dynid+0xfe/0x11b

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8230d4a2>] store_new_id+0xce/0xf0

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff823c8fa5>] drv_attr_store+0x27/0x29

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff82121280>] sysfs_write_file+0xf2/0x12e

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff820d003f>] vfs_write+0xa9/0x106

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff820d0152>] sys_write+0x45/0x69

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  [<ffffffff8200296b>] system_call_fastpath+0x16/0x1b

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] Code: 41 ff 14 24 49 83 c4 08 49 83 3c 24 00 eb e9 48 83 fb 10 76 70 48 89 df e8 a4 ec ff ff 48 8b 10 84 d2 78 15 66 f7 c2 00 c0 75 04 <0f> 0b eb fe 48 89 c7 e8 8a d5 fd ff eb 4c 48 8b 4d 08 48 8b 78 

Mar 22 13:44:21 hitachi kernel: [ 2514.660021] RIP  [<ffffffff820cb2bd>] kfree+0x5a/0xbd

Mar 22 13:44:21 hitachi kernel: [ 2514.660021]  RSP <ffff88001ca7db48>

Mar 22 13:44:21 hitachi kernel: [ 2514.704605] ---[ end trace 28157ba1296b225d ]---
```

it seems to fail from here

```

Mar 22 13:44:21 hitachi kernel: [ 2514.650986] mpt2sas0: reply pool: pci_pool_create failed

Mar 22 13:44:21 hitachi kernel: [ 2514.651096] mpt2sas 0000:01:00.0: PCI INT A disabled

Mar 22 13:44:21 hitachi kernel: [ 2514.651116] ------------[ cut here ]------------
```

and i still don't see any drives connected to the controller.

anyone solved it on recent kernels?

is there a patch for kernels 2.6.33+?

----------

## masc

you're trying to load the wrong driver. the patch is for mptsas (CONFIG_FUSION_SAS) not mpt2sas (CONFIG_SCSI_MPT2SAS).

----------

## gr3m1in

but i have no mptsas match nither grepping .config nor searching menuconfig (by pressing "/")...

only found mpt2sas

```
Symbol: SCSI_MPT2SAS_LOGGING [=y]

Prompt: LSI MPT Fusion logging facility

Defined at drivers/scsi/mpt2sas/Kconfig:62

Depends on: SCSI_LOWLEVEL [=y] && PCI [=y] && SCSI [=y] && SCSI_MPT2SAS [=y]

Location:

-> Device Drivers

-> SCSI device support

-> SCSI low-level drivers (SCSI_LOWLEVEL [=y])

-> LSI MPT Fusion SAS 2.0 Device Driver (SCSI_MPT2SAS [=y])

Symbol: SCSI_MPT2SAS_MAX_SGE [=128]

Prompt: LSI MPT Fusion Max number of SG Entries (16 - 128)

Defined at drivers/scsi/mpt2sas/Kconfig:50

Depends on: SCSI_LOWLEVEL [=y] && PCI [=y] && SCSI [=y] && SCSI_MPT2SAS [=y]

Location:

-> Device Drivers

-> SCSI device support

-> SCSI low-level drivers (SCSI_LOWLEVEL [=y])

-> LSI MPT Fusion SAS 2.0 Device Driver (SCSI_MPT2SAS [=y])

Symbol: SCSI_MPT2SAS [=y]

Prompt: LSI MPT Fusion SAS 2.0 Device Driver

Defined at drivers/scsi/mpt2sas/Kconfig:43

Depends on: SCSI_LOWLEVEL [=y] && PCI [=y] && SCSI [=y]

Location:

-> Device Drivers

-> SCSI device support

-> SCSI low-level drivers (SCSI_LOWLEVEL [=y])

Selects: SCSI_SAS_ATTRS [=y]
```

i supposed this driver is just next to mptsas, according newer kernel.

am i have to get exactly mptsas instead of mpt2sas?

if i have to, will it break something else meanwhile?

----------

## gr3m1in

sorry for my inattentiveness.

you're right!

i recompilled the kernel with patched fusion_sas driver.

lspci -k

```
01:00.0 SCSI storage controller: LSI Logic / Symbios Logic MegaRAID SAS 8208ELP/8208ELP (rev 08)

        Subsystem: LSI Logic / Symbios Logic Device 3002

        Kernel driver in use: mptsas
```

it works fine as a plain sata controller!

thanks a lot!

----------

## masc

yes, if you want swraid of the chip you'd have to use megasr.

this patch has been rejected for inclusion in the kernel due to megasr having this pci id in use, but afaik there's no other way to use this card as plain sata atm.

please be aware, that there is a compatibility issue with smartd. 

when using -d sat, smartd might block long times during startup, reattaching drives at least once.

So you'd want to use -d scsi for drives attached to this controller, when using mptsas that is.

----------

## gr3m1in

ok, i'll keep it in mind! thanks!

just great, complete solution!

----------

## Akkara

Thank you kindly for figuring this out and posting that patch.  I was setting up a machine with this controller in it, and this saved a ton of head-scratching after I first noticed it wasn't being recognized.

I created a bug for it here.

----------

## masc

just updated the patch for completeness, my post also links to this bug now.

----------

## blind_oracle

BTW, the same also applies to all 820(4X,4E,8X,8E)LP controllers, which are identical but for the number of ports and pci bus type, so maybe we should modify patch a little to clarify this  :Smile:  Anyway, thanks for info, i've just dug out of dust this old controller (8X) and was trying to make it work as simple SAS/SATA controller, now i know how...

----------

