Adventures in LSI-land

I bought an IBM M1015 raid card. Which is actually an LSI 9240, containing a SAS2008 chip. It is a basic card, with no battery backup. It has two mini-SAS ports, that can be split to 8 SAS/SATA devices (four per port), and then configured to either RAID0 or RAID1. With a feature-key (some little IBM fob that is slapped onto the card), you can also get RAID5, and other modes. RAID1, however, is what I wanted.

So turns out the IBM M1015 does not get detected by three of the four motherboards I tested it on. It worked on an Intel reference board (?) in some old workstation, but not on:

  • MSI MS-7497
  • MSI M2N-E
  • Asus P8Z68-V GEN3

Out of those, the 7497 and the Asus did not even boot, just a blank screen if the card was in (any PCI-E slot). I also couldn’t find any BIOS settings that would make it boot. Nothing would ever come on screen. The M2N booted just fine, but no card was detected.

So, instead of giving up, I decided to try and flash the card with a different firmware. In a process known as crossflashing, you essentially clean up the firmware on the card, and flash something that wasn’t originally intended to go on the card.

For this card, there are three alternatives (at least):

  • Original IBM M1015 (LSI 9240) firmware, as provided by IBM
  • LSI 9211-8i IT-firmware (tried this one too, machine booted fine and detected the drives behind the card)
  • LSI 9211-8i IR-firmware (i picked this one)

The latter two being provided by the actual manufacturer of the card, LSI. The differences (as listed by this site) are as follows:

IBM M1015 firmware

  • Can do RAID0 and RAID1. Contains Web-Bios for controlling settings, perhaps other IBM branding

LSI IT-firmware

  • Can do straight passthrough, without RAID. Apparently ideal for ZFS for instance.

LSI IR-firmware

  • Can do RAID0 and RAID1, 1E and 10, as well as passthrough

The flashage!

So, to flash the card, you need a machine that (obviously) can recognize the card. I had two of them, the Intel reference motherboard-box, and an IBM x3690 X5 server (UEFI, more on this later). On top of this, you need a bootable USB stick. I used a Kingston U3 USB stick, which is recognized by most machines, and works great. On that stick, I have FreeDOS, the LSI Megacli/megarec tools, as well as the required firmware- and bios-images. I can make a package of the files that I have, so you can slap em on a card. To get FreeDOS on a stick, check here and then here, for instance. I also needed the UEFI Shell file, again, more on that later. But you might as well put that file on your stick too.

To start off, you need to clean out whatever is on the 16MB flash chip on the card. Boot up to freedos, and move to the directory where you have megacli and the firmware files. First, get the ‘SAS Address’ of the card, either by looking at the card physically, or by running:

megarec -writesbr 0 sbrempty.bin
megarec -cleanflash 0

After this, you have a card with pretty much nothing on it. If you do not flash a firmware on the chip, you have what is effectively a dead card. Reboot the computer. You should not see the machine detect the card, as it will not load the BIOS of the card. Now, there are two ways to move forward. Either boot back to the FreeDOS environment, and flash the correct firmware to the card, or load up an UEFI Shell (depending on your hardware) and do the flashing from there. You should start with the FreeDOS-way:

sas2flsh -o -f 2118ir.bin -b mptsas2.rom
sas2flsh -o -sasadd put_your_SAS_Address_here

A note about the first command: Chose which firmware you want to flash, either it or ir. Note, that you can flash between any of the firmwares after the fact, just do megarec -cleanflash0, and then proceed to the second step with the new firmware that you chose. You can leave out the -b mptsas2.rom command. This is the BIOS of the card, which you do not need, if you do not intend to boot off a RAID-array which is behind the card. Boot times will be faster if the BIOS isn’t loaded. I put it in just for good measure (and yes, the boot slow-down is noticeable).

The UEFI caveat

If when running the first command you get: “ERROR: Failed to initialize PAL. Exiting program.”, there is a problem with your motherboard’s BIOS and/or you have UEFI instead of BIOS. I can confirm that this happened on a regular old workstation (3 years old maybe?) which does not have UEFI (or then I’m blind and dumb), so I’m not exactly sure as to what is causing the error in this case. In either case, I had to move the card to a server that actually has UEFI, in my case the IBM x3690 X5 server. This server, however, does not have UEFI shell, for some inconceivable reason. But, I was able to boot to the UEFI Shell .efi file that I downloaded previously, by going into UEFI, going to Boot Manager, and selecting Boot From File. Then I navigated to the USB stick where the .efi file was, hit enter, and soon I was in the UEFI shell.

Some notes about the shell. It’s Unix-like, but has some select commands that you need here. Firstly, to navigate to different disks that it detected, use fs0:, fs1: etc. In my case, the USB stick was fs0. After that, you can use either standard DOS or Unix commands to list files; so either ls or dir. Navigate to the directory where you have your megacli and whatnot using cd, as usual. There, you can use the following commands to flash the card (and BIOS):

sas2flash.efi -o -f 2118ir.bin -b mptsas2.rom
sas2flash.efi -o -sasadd put_your_SAS_Address_here

Again, you can leave out the -b mptsas2.rom if you don’t need the BIOS. This time, I had success in flashing the card.

After the commands are done, reboot the machine. You should now see it loading LSI 2008 whatever, instead of IBM M1015. You can use Ctrl-I to enter the configuration management, where you can set card options and create RAID arrays.

Performance and management

A note about performance: When I created the RAID 1 array (consisting of two WD 1TB Red drives), the background initialization which started (There was apparently also a fast initialization option) had significant performance impact. Running Crystal Disk Mark x64, I got around 85MB/s sequential reads. When the init was done, these were the figures:

LSI 9211-8i performance with two drives in RAID 1
LSI 9211-8i performance with two drives in RAID 1

Noteworthy is the write-performance. After the Init was done, I got a log entry stating the Write Cache is disabled. Since this card has no battery backup (being an entry level card), Write Cache probably should be disabled. If it were enabled (I might try this later) from the card options, write perofmance will be significantly better. But, since this is mostly for storage (more reads than writes by far), this is not of concern to me. Data integrity is more important.

In linux, you can use the same MegaCLI from LSI to manage and view the card status. In Windows, you can use a similar graphical program called MegaRAID Storage Manager, from LSI (on the search page, pick Host Bus Adapters -> LSI SAS 9211-8i -> Management Software and Tools), which supports most versions of Windows desktop and server. To download either of these, visit here and select Host Bus Adapters, then LSI SAS 9211-8i, and your relevant download category. Also get the driver for your operating system from the same site, even though Windows 7 and Linux both supported this out of the box.

Oh. also in case you were wondering, the cable I got to hook up the SATA-drives to the card was this one, the DeLOCK Mini SAS 36 pin (SFF-8087) -> 4 SATA cable. The price at the time of this article was 17,90€.

Sources:

I would like to thank the following pages. Without them, this would not have progressed.

http://blog.monsted.dk/?q=node/5
http://www.servethehome.com/ibm-serveraid-m1015-part-4/

Upgrading hard drives – part deux

So all is now well and installed. The motherboard SATA mode is set to “RAID” (was “AHCI”).  The configuration is now as follows:

  • 256GB Samsung 840 Pro SSD – System drive for Windows 7 and Linux
  • 2 x Western Digital Red 1TB in RAID1 configuration (using the built in RAID chip on the motherboard, an Asus P8Z68) – For games, and data that i use actively. Other data is on other systems, stuff I don’t need often.

I had to take out the motherboard, all expansion cards etc, because I had installed my previous SSD behind the motherboard tray in the Fractal Design Define R4 case. It has space for two 2.5″ drives back there. I was sweating buckets, because it’s still incredibly hot here (unseasonably so), and because one of the mounting screws for the motherboard had gotten stuck. One leatherman, one pair of pliers and a screwdriver or two later, it was out safely, without scratching the motherboard or prying lose a single component! Empty bucket of sweat, and get back to work.

Reinstalling Windows 7 was a breeze. Empty SSD, and the RAID1 array, all were detected during the install with no additional drivers needed. Easy!

I’ve yet to install Linux (I’m now on Manjaro, a nice Arch-spinoff), and still kind of sorting out drivers and applications in Windows. But, I did manage to run Crystal Disk Mark on the drives. And here are the results. Everything I had expected:

256GB Samsung 840 Pro SSD
256GB Samsung 840 Pro SSD
2x1TB WD Red in RAID1
2x1TB WD Red in RAID1

 

Upgrading hard drives

So this post will be about my new hard drives, which arrived today. I got one 256GB Samsung 840 Pro SSD, and two Western Digital Red 1 TB drives. They will replace my current drives, which are a mixed bag, topped off with a 128GB Samsung 830 SSD.

The 830 obviously is still one of the better models out there, even compared to later models (though it gets a beating from the 840 Pro), and would be good enough for years to come. But, I wanted more space, and I didn’t want to switch to something that’d be slower than the 830, ergo, I ordered the 840 Pro for around 220 euros.

As for the Western Digitals, they will be running in RAID1. My storage is elsewhere, this is for local stuff, which doesn’t need much space, but which would benefit from redundancy. So instead of having the current two 500GB, one 1TB drive (a WD Green, ugh), I’ll have the 1TB RAID1, and the 256GB SSD. Less drives, more modern drives (less power consumption), and faster drives. All around good deal. For future reference, the WD’s were like 80 something euros apiece.

I will start out with using the on-board RAID card, which comes with my Asus P8Z68 motherboard. It’ll probably not be that good, but it’ll work. Then, once I get the SFF-8087 cable that is on backorder, I can move to the LSI M1015 RAID card that I bought. It’s a PCI-express x8 card, that does RAID 0 and RAID 1, and uses two SFF-8087 connectors, that can each support four sata / sas drives.

And yes, I realize I’ll have to wipe the drives when moving from the internal to the discrete RAID-card. This doesn’t bother me.

More on all of this later, once I have things installed. Meanwhile, have a picture.

2 x WD Red 1TB, Samsung 840 Pro 256GB
2 x WD Red 1TB, Samsung 840 Pro 256GB

History repeating

This Syria bullshit? It’s bullshit right?

“Obama asks Congress to approve attacks!”. Based on what, I ask? Oh, we don’t need to worry about that. Russia is fuming, because they feel they are being shat on. And I believe they are. IF, and that’s a very strong if, the US has the proof they ‘need’ to attack Syria, why not show it? Why not just bring out a fancy paper, signed and stamped, and have the non-partisan scientists who did the tests show them to the world?

The only feasible reason I can think of is, that the proof does not exist. It’s not on film either. All I’ve seen (and I’ve not seen everything), shows bodies (mostly women and children for maximum impact),  people with watery eyes, people throwing up. People handling the deceased with nothing but a surgical mask and some latex gloves. Not that I’ve ever been exposed to chemical agents, but, the fact that the lethal dose for sarin in humans, is in the tens of milligrams, suggests that handling bodies or affected people would not be very healthy. 70mg is not a whole hell of a lot (some sources say micrograms, but that seems to be incorrect). Now, it seems someone caught on to this, and is now saying that the photographers taking the video/pictures of the supposed victims have also since expired. I haven’t seen any conclusive proof.

Tear gas I have tried out, in the army. It was a 10% diluted solution (or less, depending on who you ask), and the symptoms were pretty nasty even in such amounts. Tearing, snot from every conceivable orifice, gagging, constricted breathing. Now amp that up to full ‘military grade’ tear gas, and I wouldn’t want to see the effects. I bet it can even be lethal to small children, old people, and say, people with chronic respiratory illness.

So the tests that were carried out by the UN were done in a country, and by chemists/doctors who are from countries that are not a part of the UN Security council. It just so happens protocol dictates one of thsse countries is Finland. The personel have signed NDA’s, so they can’t say when, what, how and why. I can understand this. The UN will show the results when they are in. Or will they? Will the US? What will Russia do to demand these results, and what will they do if they are denied them?

Oh shit. Clam down. I mean calm. Take off the tin foil! Maybe it’ll all turn out alright. There’s probably a real reason why the US needs to fire rockets and drop bombs on Syria. After all, they are probably a threat to their freedom. Or something.