1 Reply Latest reply on Apr 11, 2012 4:31 PM by Victor_Intel

    DQ67SW and LSI Logic RAID controller broken on Linux only


      Hi all,


      I have a DQ67SW motherboard with an i5-2400 CPU and an IBM ServeRAID M1015 PCIe x8 card which is plugged into the PCIe x16 slot. This card is a rebadged LSI Logic 9240-8i MegaRAID card.
      BTW I have two of these RAID controllers, one with IBM firmware and the other with LSI Logic firmware, and they both behave identically in all the testing I've done below.
      To summarize:
      • everything works properly at the BIOS level, including the LSI Logic WebBIOS and configuring RAID arrays
      • Linux (Debian Squeeze 64-bit, Ubuntu 11.10 64-bit) which I need to run, will not complete the boot process with this card installed, even with no drives attached, however
      • Windows 7 64-bit installs and runs perfectly on this RAID controller....hmmmm!


      I'm posting here as the issue may not be as simple as "Linux is broken". I've tried two other motherboards:
      • a 5 year old Dell Poweredge 840 and it boots Linux fine
      • a 3 year old "media PC" motherboard, the Asus M3N78-EM, and it too boots Linux fine
      I've tried different compiling different major versions of the LSI Logic MegaRAID driver as kernel modules in Debian Squeeze:
      • version 5.3...same problem
      • version 6.12...same problem


      Here are some screenshots of from the BIOS and LSI Controller BIOS screen:
      As the 2.6.32 and 2.6.35 kernels of Debian Squeeze and Ubuntu are fairly old, I compiled and tried:
      • the very latest Linux kernel, v3.2.5, on the Debian Squeeze installation...same problem


      Using Debian Squeeze with the Linux latest kernel v3.2.5, I get the following bootup sequence and error messages:
      Reboot is the only option at this point.
      I've tried BIOS version experimentation too:
      • the last 3 versions of the Intel motherboard BIOS...same problem
      • the last 3 versions of the LSI Logic firmware...same problem
      A theory.....right now I think the problem is somehow related to the PCIe implementation and Linux's intepretation of it. Something is different about this motherboard that prevents Linux from talking to the RAID card properly. I getting out of my depth here, but....
      • Perhaps the RAID card is presenting dodgy PCIe config data, which might be confusing the BIOS
      • Perhaps incorrect information is being exposed to Linux by the various BIOS tables? This could be an all-out MB bug and maybe it is triggered by an interaction with the RAID card.
      • Maybe Windows ignores that incorrect information and just does it's own thing, coincidently working?


      PCIe experiments:
      As a result of this theory I've tried disabling all power management stuff on the BIOS and enabling PCIe ASPM and various combinations of these settings. Anything that might effect how Linux interacts with the PCIe implementation, however I still end up with the same problem.
      What makes this difficult is the very specific combination of factors required to expose the problem. Good questions that come out of it are:
      • why does it work properly on Windows 7?
      • why does it work properly at the BIOS and LSI Logic WebBIOS screens?
      • but, why does the RAID card work properly on other motherboards?
      Help!! Any advice much appreciated. I'm more than happy to try out beta BIOSs if an Intel engineer is able to help with this.