... is the online home of Chris Kelly. You can read more about me and the site here. You can also browse the archives, find out about some projects I've worked on, view my resume, and email me for more information.

Recent Posts

Using an HP LSI SAS 9212-4i in IT mode as a SATA3 Controller Card

Continuing from my last post, I was able to join modern times by adding an SSD to my circa-2011 gaming system. The performance improvements have been fantastic and I couldn’t be happier with the decision to upgrade.

That said, there was a bit more room for improvement when it came to the SSD upgrade. My X58 motherboard had a subpar third party SATA3 chipset which was known to cause stability issues in exchange for a suboptimal performance improvement. Most discussion threads determined it was not worth using, and one would be better off disabling the feature altogether and sticking with the built in Intel SATA2 controller. Up to this point, I had decided to follow that advice.

The problem was, I knew I could squeeze a bit more juice out of this system, and I figured that while I had the system open and was working on replacing the drive, I should look into fixing the disk performance issue.

Most threads I found when researching improving performance in systems similar to mine pointed to a similar theme - Find a used enterprise SATA/ RAID card and drop it in.

Most recommended a particular card/ chipset - The LSI 9211-8i, which was an 8-port SAS RAID card. A bit overkill for my personal needs, but one that could generally be found on ebay for ~$50. The only other major downside was that I would need to buy a new SAS cable, or try and find a card that supplied a SAS to SATA cable, both of which would increase the investment cost. Another issue was ensuring you could find a reputable seller in the US, in case the card ended up DOA and you needed to do return services.

After initially putting in eBay offers for non-US 9211-8i cards (and those offers being declined), I came across a forum post talking about a variation of the card in question - the HP LSI 9212-4i.

The 9212-4i is a slightly updated version of the 9211, but only offers 4 internal ports, and those ports are actually SATA ports instead of the more enterprise-y SAS. This meant I could use any SATA cables I had laying around without resorting to buying additional adapters. I was also able to get the 9212-4i for less than I was originally going to pay for any of the 9211 cards I was searching for, namely the IBM M1015 and the Dell Perc H200/ H310.

The only other thing recommended, but not required for these cards was adding additional cooling for the chipset. The cards are generally meant to be put in a rackmount/ server system with more dedicated cooling, and the chipset runs hot, so adding a small fan to the card gives additional peace of mind.

LSI 9212-4i, before adding fan lsi-9212-4i-1

LSI 9212-4i, after adding fan:


Once the fan was added and the card installed (NOTE: be sure to record the adapter address, which is on a label on the back of the card and starts with 500605b0XXXXXXXX), it was time to flash the ROM into Target mode to allow booting from any devices attached.

To accomplish this, I used a combination of instructions from nguvu and the FreeNAS forums:

1) Use Rufus to create a bootable DOS USB stick.

2) Copy basic firmware installation bits to the USB (I used the base version of the tools found on the FreeNAS forums here (direct link).

3) Download the most up-to-date version of the card firmware (v20 as of this writing) found here. I downloaded the package “9212-4i4e_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows”.

UPDATE - It appears LSI was purchased by Broadcom, and the old links were removed. I was able to find the P20 release on their new site. you can download it here

4) Copy the proper firmware onto the USB. I used the “214i4et.bin” firmware in the “HBA_9212_4i4e_IT” folder as well as the “mptsas2.rom” file in the “sasbios_rel” directory. Both were copied to the root of the USB stick.

5) Boot off the USB with the card installed and install the firmware:

Clear the card’s old firmware

cd sas2008
megarec -writesbr 0 sbrempty.bin
megarec -cleanflash 0

Reboot (via ctrl alt delete, etc), then boot back to USB stick

Flash the card to the new firmware and bootrom make it bootable:

sas2flsh -o -f 214i4et.bin -b mptsas2.rom

Set SAS Adapter address with address recorded from label on back of card prior to installation

sas2flsh -o -sasadd 500605b0XXXXXXXX

Once this is complete, you should be able to see the card appear in the boot order and its bios on startup.

At this point I connected the SSD to the card and moved the card to the first position in the motherboard boot order. Startup generally takes a few seconds longer than before as the card boots, but overall is negligible, especially coming from a non-SSD prior.

As for the results, I can say I am very happy. I went from pretty good drive performance:

SSD Post-ACHI-latest-intel-driver

To effectively maxing out the SSD for Read/ Writes:

SSD Post-ACHI-latest-intel-driver

X58 motherboard with LSI 9212-4i and SSD performance All in all, another cost-effective, and worthwhile upgrade, in my book.

Upgrading an Intel X58 Gaming System to SSD

For a long time I’ve been keeping an eye on SSDs as an upgrade path for my gaming PC. Upgrading to an SSD is likely the final upgrade possible for my aging X58 system. Until now, I have been carrying on with an older Western Digital Black HDD from the day I built the machine in 2011. It had served me well, but after upgrading my girlfriend’s laptop to a new Samsung 850 EVO SSD and seeing the before and after performance, I had a massive itch to upgrade the hard drive in the ol’ gaming rig.

I had picked her EVO up as part of a deal on Jet.com, getting it for about $40 below normal prices. Once I got it home and installed it in her laptop, I immediately regretted not buying a second one for the same price. I waited for several months for the price to drop but when no other deals popped up, I started looking for deals for other ~500GB SSDs at or below the $100 range.

I was fortunate enough to snag a slightly outdated (but still new!) Micron m500 SSD on clearance from Newegg and promptly ordered it.

Initial installation Once it arrived, I was able to connect and install the hard drive into a 5.25” bay in my case, and ensure that the drive was working properly. I then followed a guide on doing an SSD system migration using Macrium Reflect Free. I’ll say the migration went well, though it did take about three hours to clone everything (~300GB) over from a 500GB hard drive to a 480GB SSD; much longer than the guide suggested.

The only issue I had with the migration was that the SSD was slightly smaller than the original drive, so I had to shrink the main system partition on clone to fit the last recovery partition - I originally shrunk the main partition to its minimum per the article suggestion, with the goal of resizing after cloning, but I found that not possible to do with Reflect or any other free partition software (none would allow me to resize the middle of three partitions to take up the rest of the space after the fact). I ended up having to start over, placing the first partition, then place the second/ main one with its new size (the whole rest of the drive minus the size of the last partition), then drag and drop the third partition into place. After doing that, the clone went off without a hitch.

I was able to restart and boot from the new drive. It was definitely much snappier, and then I took a look at the benchmarks using CrystalDiskMark:


Compared to the original hard drive (non-SSD), a fantastic (almost 3x) improvement:

Original Hard Drive

But, it doesn’t seem that fast. What gives?

Check Yo’ Self Once I got the first benchmarks in, They were good, but not quite what I was expecting. I eventually found out there were a couple reasons for this.

SATA My (and most) X58 motherboards don’t come with any sort of integrated high speed SATA3 controller to go along with the slower SATA2 controller - Intel didn’t make one for most boards at the time, so manufacturers had the choice of either not including one, or including a 3rd party one. the board I have came with a Marvell controller that was notorious for being slow (slower in some cases than the “inferior” Intel ports) and buggy. Not something you want to mess with when dealing with all your data. Given the choice between the slower, more reliable Intel ports, and the faster, yet buggier Marvell ports, I’ll stick with the Intel ports, even at the expense of some speed, at least for now (though I’ve got some ideas about that going forward…) ACHI The second potential issue I stumbled upon when researching “Slow SSD X58” was that when moving from hard drives to SSDs, many systems such as mine are set by default to the older IDE mode rather than the newer ACHI mode. For hard drives the difference was negligible, but moving to ACHI is a must for getting the most performance out of an SSD. Of course once I read this, I went right ahead and set the mode in my motherboard from IDE to ACHI and rebooted.

Failure to boot. oops.

Turns out, when moving from IDE to ACHI for the first time on a Windows machine, you can’t just flip the switch and continue on. Luckily in Windows 10, you just need to force a safe mode boot to detect/ load the proper driver, then reboot normally.

Once I properly got ACHI mode enabled, I ran the test again:


Now we’re getting somewhere - 4k read/writes are on the slow side, but overall I think I’m nearing the limits of the Intel SATA2 chipset, so I’ll be content with this configuration (for now…)

Driver Issues Ok, so I was pretty happy at this point, so I decided to take the new system for a spin in one of my favorite games, Diablo 3. The game loaded quickly, and I started playing, but ran into another issue - every so often I would get a 5+ second pause in the middle of gameplay. This pausing extended to the desktop as well. This was of course very disconcerting, having just added a new SSD to the mix and all. Once again, researching the issue led me to discover others had issues with similar configurations. Potential fixes ranged from installing different drivers to hacking the Windows registry. I decided to go with the easier end of the spectrum and look to installing a different set of drivers.

As a general rule, aside from video cards, I usually let Windows handle driver management. Windows 10 has been very good at recognizing everything in my system, and it’s been remarkably stable. Seeing others recommend installing a different driver, I decided to see if Intel had a better/ newer option.

Attempting to install Intel’s latest driver for its Rapid Storage Technology product (a brand name for its controller chips), I encountered several errors about my system being unsupported. A few searches later, and it appears that the latest versions drop support for the older (in this case, 5-series) chipsets, so you have to go back. How far though? Looking for what is considered the best driver, I came across this guide, including custom download packages (spoiler, it’s version “v11.7.4.1001 WHQL” for the X58 chipset), available through a custom install package on the site, or a slightly older official revision through Intel’s site. I originally installed a version direct from my motherboard manufacturer, but that version was several major revisions old, so I ended up using the recommended driver from the guide. In both the manufacturer and guide-based driver cases, the hangs went away completely with little change to benchmarks over the default windows one (faster in smaller reads, slightly slower in 4k).

Conclusion The X58 + Radeon HD7970 system I built back in 2011 has done a very good job of not showing its age to this point. From a processor performance standpoint, it’s held up remarkably well compared to even current generation systems. The Radeon still runs most games at a respectable clip. These days I run most games at 1440p, and have only recently started having to crank down the settings in newer games like Battlefield 1, and for that I am hoping to get a newer-than-my-current-card hand me down in the form of a GeForce Titan that should help remedy the GPU perf issues.

One area where the system does lag is on the peripheral side. There is no WiFi or bluetooth, and things like USB3 and SATA3 are both handled by third party chips, as opposed to being integrated like they are in newer systems. In the case of my system, the Marvell SATA controller is widely considered unreliable and is deactivated.

Migrating to an SSD involved a bit more legwork than I was original anticipating, but the end result has been worth it: near instant load times for Windows and all the games I like to play.

Overall, the hardware deficiencies of this older platform haven’t affected much in terms of day-to-day general usage, and I’m happy to say I have gotten my money’s worth with this build over the last 5ish years. With the addition of an SSD to the mix, I should be able to get at least another couple of years out of the this system.

Welcome Home, Jim

Jim Thome

If there was any Indians player that I idolized as a kid, it was Jim Thome. I felt a bit of a bond to him, he being a big-time left handed infielder, the kind of hitter that I wanted to be playing baseball in rec leagues and middle/ high school. I used to be able to emulate the swings of almost every player on that team, but Thome’s was my favorite. The wide stance, holding the bat out in front until the pitcher started his wind-up, then finishing with a huge swing. I used to wear his number, 25, and of course wore my baseball socks knee-high, the “right way”, just like Thome. I even took practice swings in my bedroom at night to his infamous ‘95 World Series home run at-bat.

He left the Indians in 2002, a few years after Manny Ramirez. Indians fans were still mad at Manny at that time, being a home-grown talent that bolted when he outgrew the small market atmosphere of the Indians. Indians fans, myself included, thought that Thome wouldn’t leave in the same manner. He ended up taking an offer with Philadelphia for more money, more guaranteed years, and the hope of winning a title. The indians were about to begin a rebuilding process, so you couldn’t really blame the guy for not wanting to waste the prime of his career in a losing city. Still, anger ensued, probably even on my part. Some fans are mad to this day.

Yesterday, the Indians picked up Jim Thome off of waivers from the Minnesota Twins, hoping his bat can help the team and its outside shot of winning the division. He never got that title with the Phillies, or the White Sox, Dodgers, or Twins. He’s batting cleanup as the DH in his first game back. His swing may be a little slower than the last time he donned an Indians uniform, but judging from the 601 home runs he’s hit in his career, it’s still effective. When he steps out of the dugout to bat tonight, I’m sure he’ll get the standing ovation he deserves from Indians fans, and I’m sure I’ll be watching, just like old times.

Welcome Home, Jim.

Music Lockers, Streaming Services, and My Ultimate Music Service

Steve Jobs’ WWDC 2011 Keynote is less than a few minutes away, and the rumors are abuzz about the notion that iCloud will be the new iTunes. John Gruber’s article mentions that this service will encompass much more than just music, but for many, that music portion is the biggest of this new service, at least for the immediate future.

I had hoped for quite some time that what is now known as the music portion of iCloud would be an Apple subscription music service, as opposed to more of a Music Locker Service, such as Amazon Cloud Storage/ Player or Google Music. I was hoping that in true Apple form, it would be less of an either/ or proposition, and more of a complete solution that would help bridge the gap between previously owning music, and accessing an unlimited amount of music online.

A confession - One of my favorite music services is the currently European-only Spotify. From the first time I had the opportunity to try it, I was hooked. Being able to access millions of tracks at performance that was previously unseen from a “streaming” service is where the industry should be going. Month upon month, I have been waiting for the service to launch stateside, and even to this day I still wait for that fateful day when I can convert my account. Until then, I’ve been using Rdio, which offers many of the same Spotify benefits, but already has a stateside presence.

Rdio Matched songs. I'm still missing about 1600

Based on my Spotify and Rdio experiences, I want any and all music I discover and listen to from this point on to be from a subscription streaming service - I’m happy to pay for a listening privilege, but I don’t want to buy any more music. At the same time, I want to listen to all the music I’ve accumulated over the past few decades(!). Using Rdio’s “Match Collection” feature, I’ve got almost 1600 tracks that Rdio doesn’t match. These are tracks such as live mixes, “joined track” albums and other obscure tracks that are not and likely never will be in either a Rdio or Spotify catalog. I need the Music Locker feature set just as much as I want the streaming.

Given Spotify’s track record in getting to the states, I don’t put much stock in them creating a Locker service anytime soon. Google is too dedicated to Android at the moment that I can’t bank on them supporting iOS (my preferred Phone/ Tablet OS) in lockstep with Android. Amazon has the best non-smartphone provider chance of doing a full featured music service, but I worry about pricing for the amount of music I need to store (60GB+).

This leaves Apple. I believe that all-you-can-eat services are how music will be listened to in the future, but we also need to have support for media that these services won’t/ can’t provide. I also believe Apple to be a forward thinking company and the future is in streaming services. I know that we’re likely not going to hear a thing about a streaming music service from Apple, but I hope within the next year we get that as part of the iTunes/ iCloud picture.

California, Here We Come

The Golden Gate at Dusk It’s official. We’re moving to San Francisco.

This will be by far the biggest change either of us has ever made. Though I’ve lived in places as exotic as Puerto Rico, I’ve always been an “East Coaster”, spending many of my formative years in New Hampshire, and the last 7+ years in the greater Boston area. I’ve always had an itch to move to the West coast, but the timing never seemed right, there was always something stopping us - a new job, losing a job, sick pets - something that kept us right where we were.

I previously worked for a company based in San Francisco, though I was personally based in Cambridge, MA. Whenever I’d talk to our West coast counterparts, they’d always tell me that I should really be out there, and that I’d really enjoy it. I’d always shrug it off, thinking it wasn’t really my kind of city. Whenever I had thought about moving to the West Coast, I had always envisioned myself in Seattle, if anywhere. Upon telling this to one of my uncles at a previous Thanksgiving, he would scoff and say the best city he’d ever been to was the city by the Bay. These events, several years apart, would create that Inception-style moment in my head where I finally thought “Hey, maybe there is something to San Francisco after all.”

Then, a few months back, things just started falling into place. A few opportunities to relocate to the Bay Area presented themselves. Our lease could be broken with no penalty provided we move into another building from the same company (several are conveniently located in the Bay area), My car, a major moving expense, had a prospective buyer lined up.

At this point, the decision to head to San Francisco was less “Why leave?” and more “Why not?”. Why not try living on the West Coast? Why not sample the best of what the area has to offer in food, drink, friends, and technology? With a lot of thought, we finally decided to go for it. Maybe we’ll be back in a few years; maybe we’ll find San Francisco to be what we have been always looking for deep down. All I know is there’s only one way to find out, and we’re excited to see what happens.