# LSI SAS3008 support?



## mrab54 (Jan 18, 2014)

Does anyone have any experience using this controller?  I don't see it on the supported hardware list - it is fairly new.  I'm just wondering if I should pick up a SAS2008 card or wait to see about driver support for the SAS3008.


----------



## JanJurkus (Jan 19, 2014)

You can also use a SAS2308 card, which is supported: viewtopic.php?&t=36914

I can't help you much with the support for the SAS3008 chipset, but be aware that 12 Gb/s uses different connectors. At least this is the case on all LSI controllers, and these connectors might not suit the rest of your current setup.
edit: Or use the LSI provided driver.


----------



## datarimlens (Jan 27, 2014)

I am currently experimenting with drivers for the LSI 3008 family or to be more specific an 9300-8i HBA:
It turns out:
a) The driver LSI provides to support the 12 Gbs adapters (mps2.5 for the 12Gbs) only lists BSD up to 9.0, no version 10.
b) The mps driver in BSD 10 does not support the 12Gbs adapters yet (only lists 2000 family LSI adapters).
c) The cables are a non-issue. They are a different plug than the usual 8088/8087 but LSI explained why they are switching due to the SAS standard and you can expect those new plugs to be more future proof than the old ones. The SAS/SATA ends are available as for the old plugs and conversion plugs are available at appropriate speeds.
d) My expectation is that the newer adapter versions, besides ~doubling effective bandwidth, may also support SSDs better.
e) In the code, there are a few pieces for negotiation of the higher bandwidth of the adapters.

- I came as far as trying to compile the drivers (the mps on BSD10 compiles without issue, but does not help, see above). 
- The new driver provided by LSI does not compile easily, mainly due to the header structure and interference from system headers with the system mps. From a local directory the Makefile ends up including a BSD .mk file and picks up system headers before getting to the local files.

I already ran diffs between the two versions to end up where I am right now.

1. It would be great if LSI could provide a BSD 10 driver soonish. If they can provide assistance, I would probably help.
2. Could one of the local BSD gurus help to sort out header priorities to compile an mps module?
Basically the system headers including mps are under /usr/src/sys and I had the other module under /tmp. However the headers are all included with <> and look at system paths, finding the BSD 10 headers instead of staying local. I already hacked around with "" replacements, but have not found the time to try various -I compile switch options. Is there anything standardized around for those paths?
3. Since I am just getting back into BSD, are there any recommendations for good envionments to help compile and operate with source code? Eclipse, Emacs or any other recommendations?

There are sadly very few posts around on BSD 10 and the LSI 3000 family so far. 

(My goal was a good zfs all-in-one box for a storage archive, based on ESXi and BSD 10 (zfs seems to work ok there). Unfortunately samba4 also was a bit disappointing due to its AD infrastructure requirements.)


----------

