Monday, February 18, 2013

How I chose to cut my cable - Part 6: XBMC vs. Windows Media Center

When this project was first conceptualized and my requirements of playing mkv's, recording OTA TV from an antenna, and streaming video from the internet (including Netflix), I repeatedly came across a community project called XBMC.  It even made Lifehacker's top five five most popular tips and guides.  Though in the primordial stages of my project, PVR support was not officially supported by XBMC version 11 "Eden", but could still be patched in.  By January 29th, version 12 "Frodo" was released with full PVR support.

For the streaming side of XBMC, there's plenty of video add-ons.  The official add-ons can be browsed here.  I also recommend Fusion, blueccop, and the Advanced Launcher.  For me personally, I also added an unofficial BYU TV add on.  This gave me access to Hulu, Amazon, PBS, NASA, Vimeo, YouTube, BYU TV, all via remote control on my TV.  Bluecop has one called Free Cable, that accesses a lot of cable network websites, but the Hulu add on (also by Bluecop) gives you a similar access, but with 'limited commercial interruption'*.

The Advanced Launcher became a necessity because of my Netflix requirement.  I had Windows and Silverlight installed.  But XBMC hasn't had a supported Netflix add-on since version 10.  Version 11 wasn't quite polished for release, but could be made to work.  It's yet to be seen if the guy working that add on will support it for version 12.  From the looks of this though, it may have been orphaned.

With Advanced Launcher, I get around the not having a Netflix support inside of XBMC by using the Advanced Launcher to open an Internet Explorer window.  The only downside to this setup, is that once I launch Internet Explorer, I can no longer use the remote to browse Netflix, and must use my mouse and keyboad.  This is the case with any website I'd like to visit, that doesn't have a native add on.  It's cumbersome that way, but it works.

And I have to say, video playback is fantastic**.  Ripped blue rays and DVD's play back fine in XBMC and with the hardware I've chosen.  The music and picture library are equally functional.  In the end, XBMC gave me everything I wanted: a media center for all my media, DVR, and internet streaming.  I can't say enough good things about it.

Having purchased Windows 8 Professional during their promotional period, I also was able to get Windows Media Center as an add on for free.  So, I tried it out and compared it to XBMC.  It was equally easy to set up and comes in a very refined package.  Internet TV is easily accessible and customized (and includes BYU TV).  It has native Netflix support.  The TV portion was easier to set up than in XBMC, and the Electronic Program Guide is taken care of by Microsoft and partners.  The one drawback that was a deal breaker, was that I couldn't get it to play mkv files.  If WMC played mkv's, I probably would have used it.  But I really didn't feel like ripping my movies, and then converting them all to playable format.  It just takes twice as long.

While setting up the DVR portion of Windows Media Center was a lot easier than in XBMC, the setup for XBMC was still manageable, and deserves some detail.  So I'll cover that, and how to set up your antenna, in my next post.

*I actually found out later that you can eliminate having to watch commercials on Hulu by configuring the plugin to do so.  Even Better!

**As I've worked with it, I've discovered some playback issues.  I'll cover them in my follow up 'improvements to be made' post.  Update:  Since I haven't gotten around to writing more on this lately, I'll summarize it here:  When you configure XBMC's global resolution setting (1080P for example), it will try to output all video at that format.  So the issue I've run into is when watching 720P video recorded from over the air signals.  720P comes in at 60 frames per second.  While 1080i is 60 frames per second, but interlaced (so only half a frame changes at a time).  A 1080P blue ray is 24 frames per second (but the Hobbit will be 48...I wonder how that will work...?)  1080i and 1080P blue-ray playback is excellent with the hardware I have.  However, XBMC tries to take that 720P 60 fps video and up-convert it to 1080 resolution while maintaining the 60 frames per second (i.e make it 1080p at 60 fps).  This is where the integrated video card on this board has a hard time keeping up, and ends up dropping a few frames.  A higher powered graphics card can fix this, but was outside my imposed constraints for this project.  Changing the global resolution to 720P also fixes this, but it's annoying to go back and forth manually.  I've seen a number suggestions in the XBMC forums, to have the output resolution automatically change to the video format.  We'll see if that happens.

Friday, February 15, 2013

How I chose to cut my cable - Part 5: The Operating System

Once I had all the hardware in hand, it was time to start getting the software in place.  And the first order of business was the operating system.

As alluded to in the previous post, I would attempt to use Linux first.  Which turned out exactly the same as every other time I tried to use Linux:  I couldn't get hardware acceleration for the video processor.

Fundamentally, the DN2800MT is a Cedar Trail board and implements a GMA 3650 graphics processor.  (For a more detailed review of the board, you can read this.)  And being a relatively new architecture, there were early reports at the time of its release that it didn't quite play well with Linux.  Take this example.  The video processor also strays from Intel convention in that, in upgrading the capabilities from the standard Intel integrated graphics processor to full HD support, its design was actually sourced to another manufacturer:  PowerVR.  As a result, the Linux drivers remain proprietary.

This in and of itself was not the problem.  There's excellent documentation of how to implement the Linux drivers in Ubuntu (also here).   And what's more, when I had installed Ubuntu 12.4, it automatically told me that I had the option of installing the proprietary drivers for my board's graphics processor.  Apparently, the Ubuntu community worked through it, and the install should work, right?

Despite the seeming simplicity of getting it to work, I was never able to get the graphics hardware acceleration to function properly.  And with Windows 8 Pro running $39.99, I ended up opting for that in the end and brought the total spent at this point up to $555.  It was worth the low price and my time to get it up and running without much fuss.  With the operating system out of the way, I commenced installing the necessary software to make the box do what I want it to do.  And having picked Windows, I had a couple of options available to me along those lines that I will discuss in the next post.

Thursday, February 14, 2013

How I chose to cut my cable - Part 4: Hardware Selection

Home built media center pc's (commonly seen around the internet as Home Theater PC's, or HTPC's) are quite common topics, and you can build one pretty easily.  Here's the choices I made that got me mine.

My first choice was I wanted it to stream Netflix.  I'm not even sure why this was a requirement other than, if we were going to cut the cable, it seemed logical to supplement OTA TV with a $8 a month streaming service for shows and movies.  Kudos for Netflix for being ubiquitous enough that I'd consider them first without even having a subscription.  But that influenced the decisions I made quite a bit.

If you want to stream Netflix via a PC, you are limiting what you can do (but probably not more than simply having to to choose another streaming service, like Amazon).  But if watching Netflix on your HTPC is important, it pretty much means you will be installing Microsoft Silverlight.  And at the time I was going through all this, you could only install Silverlight on a Windows or Mac system.  Sorry Linux.  So, with Windows 8 released at an introductory low price of $39.99 and no interest in buying a Mac, I started down the road of building an x86 Windows machine.

So on Black Friday 2012 I started my build by purchasing a Hauppauge WinTV-HVR-2250 on sale for $75 to give me the DVR function I wanted on my HTPC.

Then (a few days later ironically) I found this in my RSS feeds:  Netflix finally comes to ubuntu in the form of an unofficial desktop app. All of a sudden, a Linux machine was a possibility again.  But, either way (Linux or Windows) I was already committed to an x86 machine.  This just allowed me to experiment with the OS:  I'd try Linux first, and if that didn't work, I would try Windows next (hopefully by the time the introductory Windows 8 pricing ended - so by the end of January 2013.)  Either way, I still had to find the right hardware for the job I had envisioned for it, and had a deadline that I had to meet if I wanted to save some money.

It was during this build that I realized the truthfulness in what Steve Jobs (at least I think it was him) was once accredited with saying:  people don't know what they want, they have to be told what they want.  It's true, and I think he took a lot of flack for saying that. But it's still true.  I don't know how many times someone will call me up and ask "I'm thinking about buying a [insert make and model] computer.  Is that a good one?"  To which I always ask, "What do you intend on using it for?"  Do you want to play a graphically intensive game on three monitors, then no.  Do you want to browse the internet and check your Facebook and email, then it's more than you really need.  People more often than not don't know what they want.  That's what makes the iPad so dang successful.  For people that just want to browse the internet, it's enough.  It's a form that meets it's function quite well.  I admit it.  But computers as they get smaller and smaller will be more and more tailored to a specific function, and it's form will follow.

As was the case with my build.  I needed 1080p video support (we planned on getting a new HD TV for Christmas) and as much hardware video support I could get.  I wanted low power, low heat, and low noise.  I wanted as small a form factor as I could get.  (The Roku inspired these points.)  And I needed plenty of storage for my DVD collection that I was in the process of converting to mkv's.  And it needed to have a PCIe 1x slot for my tv tuner card.  Luckily, I had fell in love with a system months prior in my search for a low powered NAS.  I went back to www.mini-box.com, and to my surprise they had a new Intel board perfect for my needs:  Mini-Box M350 Intel DN2800MT. So I picked it up with a shield bracket and PCIe 1x riser (and shipping) for $180.53.

All that was left was memory and storage, then I could start dealing with the software.  The memory wasn't an issue.  I had upgraded my netbook memory from 2GB to 4 when I bought it, so I've had 2GB of laptop memory laying around with nothing to do.  So as soon as I got my mini-box, it had a home.  And 2GB is plenty for what this little system would be doing most of the time.  To put a price on it however, I spent $27.90 for the memory: the cost of the 4 GB of memory I put in my netbook.  If you were pricing 2GB of laptop memory for this board nowadays, it'd probably be around $20.  For storage, I picked up a Samsung 320 GB Hard drive for $40 and a Western Digital Passport 2TB for $150.

I'll note here that I had originally bought the external hard drive to use with the Roku.  I ended up re-purposing it at this point because it was unclear if I could fit a second hard drive and the TV tuner card in the mini-box computer.  Now that I settled on the mini-box and have it in hand, I probably would have bought an extra HDD bracket for the Mini-Box case and an internal 2TB drive.  It would have cost me $40 more, but the box fits two hard drives and the tuner with no problems and would be in a cleaner package behind my TV.  I would have probably got a case fan for $4 too.  I'll follow up on these points and others in a future 'improvements to be made' post.

I also needed to pick up a USB keyboard for this project (I'm actually quite embarrassed to admit that I haven't had a USB keyboard until now...), and thinking there might be a possibility of using it from the couch, I bought a Logitech K400r (it's wireless and has a mouse touch pad built in) from Walmart for $30.  The USB dongle/range extender hides quite well in the front "hidden USB" port of the M350 case from Mini-Box, which frees up the rear ports for other things.  This brings the total spent at this point to about $515.  What was I saying earlier about not wanting to spend $500 on a Tivo?  And I still didn't have an operating system.  That will be discussed in my next post.

Wednesday, February 13, 2013

How I chose to cut my cable - Part 3: Decision Matrix

In searching for the perfect solution, I came across this great resource.  It let me filter a wide field of competitors and narrow it down based on my requirements.

There were none.

A Boxee Box came close.  However, you couldn't customize the streaming experience like you could on a Roku.  It came with a fixed set of popular streaming services (Netflix, Vudu, YouTube) but that was it.  Furthermore, the Boxee box had undergone a revision between the publishing of that matrix and when I was looking for a box to replace my cable TV service.  The new boxee touts itself as the first cloud DVR (for a $9.99 a month fee in limited areas - not available where I live).  Essentially, instead of recording your over-the-air (OTA from here on out) on a local hard drive, you upload it to a boxee server.  I suppose on the plus side you don't have to ever worry about running out of space.  And you could watch your shows from anywhere.  However, while I have a screaming download speed, my upload is S-L-O-W.  How long would it take to upload a 5 gigabyte 1 hour HD program at 1 Mb/s?  And I really didn't want to bump into my ISP data limit and get charged again for my DVR habit.  It just didn't seem worth it to me when a one time cost of $50 for a local hard drive would suffice.

The other option was a Tivo.  But that was quickly ruled out due to 3 factors:  1) to avoid the subscription service you can buy one for $500.  It was more than I wanted to spend.  2)  It has limited customization of the streaming experience, and 3)  I can't put my own movies (mkv's) on the thing and play them back.  But you could easily combine a Roku and a Tivo to accomplish my goals.  In fact, in polling some friends of mine, one of them highly recommended a Tivo combined with a Roku.  I suppose that could have got us what we wanted...but again, I wanted to avoid any subscriptions, and $600 seemed like quite a bit to drop.

I soon realized I'd have to do something else to get what I wanted.  But it involved building my own system.

How I chose to cut my cable - Part 2: The Roku 2 XS

My first choice was the Roku 2 XS.  It lets me stream everything that I wanted in my list.  In addition, the XS version has a USB port that you can plug in an external hard drive and it will play MKV files.  Over the air television broadcasts, we would have just hooked up our TV directly to an antenna.  So the only compromise would be the DVR function.

And the Roku 2 XS sells for anywhere from $75 to $99.  ($75 was the price I had found on the Roku site for a refurbished Roku 2 XS, but it seems that deal is no longer available.  But you can find used ones on ebay as well.)

In fact, I had bought one off of ebay to try it out.  And honestly, I was pretty impressed with the little box.  (I still am, actually.)  There's an amazing amount of content available.  Unfortunately, at the time when I ordered it we only had a 10 year old analog TV.  Which normally wouldn't be an issue as it comes with the standard analog RCA video out.  However, on the one I ordered 2nd hand on ebay, the jack on the back of the Roku was shot, and it would only work if the cable was partially inserted.  And I didn't have a TV with an HDMI input.  So I was obliged to send it back.

But from what I could tell from the brief time I had it was that it's a neat little box.

Even more impressive (and eventually frustrating) was what they were able to cram in that little box.  All I can do is point you to this article to see for yourself.  There's just not much there, but the thing can stream Netflix in HD (more on that later too).

But after I sent it back, I started wondering if there was a way to have all that functionality, but somehow incorporate a DVR into the equation, and I held off getting a Roku.  During that time, I started observing my wife's television viewing habits.  It was at this time, that I realized the real value of the DVR function in our home was during prime-time television:  usually we were too occupied getting our kids ready for bed to watch TV.  But as soon as our kids were in bed, we'd watch the show we recorded an hour ago. And skip the commercials.  I also queried my wife on what shows she liked to watch.  For the most part, we could get quite a few of her favorite shows from an antenna and broadcast television.  And what we couldn't get that way, we have since been able to find online.

It was settled then.  I still needed a better solution than just a Roku (despite being a close competitor.)  The hunt continues in the next post.

Tuesday, February 12, 2013

How I chose to cut my cable - Part 1

I had been reading quite a bit about people cutting their cable and the concept greatly appealed to me.  I had become increasingly aware that I was paying quite a bit of money for TV.  And I started wondering why?  Why must I pay $90 a month for 200 channels the majority of which I never watch?  When I have spare time, I found myself watching less and less TV, and instead working on my various projects (computer or otherwise), playing video games, or simply reading a good book.  What was I doing throwing all this money away for something I wasn't using?

Most of it was my family.  My wife enjoys television.  When she gets a break, her preferred form of entertainment is to enjoy some television.  And for my kids, it's admittedly nice to put on a show every once and a while to occupy them so either my wife or myself would be free to get done what we couldn't with kids  hounding us or getting under our feet.

So I provided that to my family.

But as time went on, things changed, and the more I read about cable cutting, the more I realized we could still accomplish these basic ends, without much effort.  And I'd get to build a computer as well.  I'm always up for that.

When I first started seriously considering the idea of cancelling our cable, I was trying to figure out exactly what I wanted to still do.  I came up with the following:

1) It must stream internet television, including BYU TV, Youtube, Hulu, Amazon, and Netflix.
2) It must receive over the air television transmissions
3) It must record over the air television transmissions (DVR function)
4) It must play mkv file formats

To meet these design criteria, I first explored off the shelf options which I'll discuss the pros and cons of each in my next post.

Thursday, October 25, 2012

Back to the drawing board (yes, again...)

Here's another tid-bit of information gleaned from my wanderings on the internet in search of a disaster proof solution to my data storage.

The safe I was looking at was more a Gun Safe.  And as such would protect Guns and seems like even paper from burning in a severe house fire.

However, looking at the hardware specs for the NAS I had designed it seems like the max survivable temperature for when the thing is off, is around 150 F.

If you look up the specifications for UL-72, you'll see that there's 3 classes for devices by their ability to maintain the class temperature (in F).  Then a time is added to specify the period of time for which that temperature can be maintained in a fire-like environment: 1/2 hour, and 1 or 2 hours.

350 - Mostly for protecting paper documents and valuables such as jewelry and guns
150 - Electronics, CD's, DVD's, etc.
125 - magnetic media, such as tapes, and (*ghasp*) floppy disks (and if you keep the latter, you may want to keep a floppy drive in with it too since those are getting hard to find.)

So what I discovered I was really looking for is a UL-72 Listed Class 150 1 hour Safe with built in power and ethernet.  It became clear by looking at the specification of the Cannon Home Guard H8 (and most of their safes really) that they're not sufficient to keep the NAS protected during a fire.  It's not waterproof either.  And any safe that would be listed UL-72 Class 150, wouldn't likely have a AC power/ethernet/USB penetration through the case (trust me I looked).  And Media Safes that are Listed as such are expensive (for good reason!)  That being said, I find the inclusion of the connectivity feature on of the safe I was looking at somewhat misleading, since the connectivity feature is obviously for electronics, but the safe itself won't protect them.

As an alternative, I was able to find this:
IOSafe N2
But it wont' be available until January of 2013.

But here's a video of another one of their products being tortured. And then the data being recovered.  Pretty impressive!

The N2 can be bolted to the floor and has a keyed faceplate so you can't just open it and take the drives.  It also has the fire protection I need in addition to being waterproof.  Though it's not listed by UL, it was instead tested to ASTM E119.  On that note, as a member of ASTM I was able to look that up:  it's a construction materials fire resistance test.  There's details for testing steel I-beams used in construction of buildings, and not much for preserving your stored electronic data like the UL standard.  However, when you purchase an N2 with the drives provided by IOSafe, you get a pretty decent warranty that makes up for not being UL listed against the -72 spec:  if they can't just swap your drive into another IOSafe N2, they'll cover up to either $2500 or $5000 for forensic data recovery (this just means they'll take the drive platters out of the drive and put them in another...this is an expensive process since it requires a very controlled environment to accomplish.)  So for the price, it's a pretty sweet deal.  My only concern is that you can extend the warranty to 5 years only.  After that, you're on your own or must purchase a new one.  I would think a 10 year warranty would be more appropriate for what is being advertised and sold for the cost.

Expensive, but promising.  And honestly for the size of storage I was considering in addition to the safe, I think if I got the N2, and a significangly less expensive document safe, it'd be the same price as what I was considering before.  So here I am.  Undecided.  Though I really liked the mini NAS I designed.

Buyer Beware

With the upcoming release of Windows 8 (I guess tomorrow, actually) I wanted to post a few things I've discovered while trying to install it.

I had downloaded the Consumer Preview and tried to install it on one of my old PC's:  the hardware requirements being a meager 1 GHz Processor, 1 Gigabyte of Ram, a DX9 video card.  All of which this old PC of mine had.  So I thought I would install it and see how I like it before committing my desktop and netbook to the new OS.

However, I kept getting an error every time I tried to install it.

Hunting around the internet for the error code lead me to what should have been an asterisk on that 1 GHz Processor requirement:  it must support for PAE, NX, and SSE2.  My XP Athalon 3000+ doesn't meet this requirement.  So just beware.

Also, there's plenty of articles on the difference between Windows 8 RT and Windows 8/Pro:  RT being designed for ARM processors (and therefore geared more for tablets.)  It isn't the full version of windows 8 that the other two (Windows 8 and Windows 8 Pro) are.  I would compare RT to Windows 7 Basic that was available on netbooks, while the others are more featured and capable (remote desktop for instance).  So, just beware and make sure you get what you really want, and don't waste money trying to upgrade if your processor is too old.

Sunday, October 14, 2012

Back to the drawing board

Being an engineer, let's be honest:  I'm cheap.  So, in waiting for prices to come down to pre-flooding prices, my home was unfortunately broken into.  Yeah, that sucked.  Fortunately for me, it was a smash and grab and whoever did it made off with my Xbox  and then a bunch of stuff out of my master bedroom.  My computers (which were in the basement) were left behind.

But the experience reaffirmed in my mind the need to get my NAS up and running as a back up for all our family memories that I have saved as pictures and video, my important documents, and the like.  But even just having a NAS wasn't enough for me.

After the break in, my mind has been playing all sorts of worst case scenarios of what could possibly happen to my data.  And I've finally come up with a plan:

First, I'm aggressively liquidating all my extra hardware and computers to raise some capital.

Then I'm ordering a low power pico x86 computer, with an extra hard drive bracket.

I've got some 2 GB laptop ram from when I removed it and put 4 GB in my netbook (which also wasn't miraculously stolen).  Then I'll order two 2.5" 2TB hard drives and a 4GB usb flash drive for the Freenas OS.  All that will constitute my low power 2TB software raid NAS.  Why not more power?  Or use the stuff I already have?


It has to be low power so not to burn itself up with it's own heat inside the safe.  So far between the processor and the two hard drives, max TDP (Total Dissipated Power) comes to around 14W max.  I imagine most of the time it won't be that high.  Cannon sells a safe dehumidifier that runs 8 watts.  I figure my NAS could run as a safe dehumidifier too.

Then, once I get my SSD and install windows, I'll put my windows 7 User Accounts on the NAS* which will be in the safe.  (If the information in that link works for mapped network drives...still have to determine that.)  So that way if my computer ever disappears, I'm only missing the hardware and installed software.  None of my personal information goes with it.  If my house ever burns down...I'll still have my data.  

Now to come up with $1350.  Which sounds like a lot.  The safe ($750) will last a lifetime.  As for the $600  NAS, it seems like a lot.  But if it works for 10 years, then hey, that's only $5 a month.  I don't know of any safe deposit boxes the size of this safe for that price, and you would still have to go and get your backup drive from it on a regular basis.  (And I've yet to find safe deposit boxes with an internet connection...and I'm sure if I did, it would be much more than $5 a month).  And I can't put my extra car keys and passport on the cloud, nor find 2TB of storage that cheap (and I don't want my data there anyway).  This is the best of both worlds.

*Update:  I've since posted to the tutorial in the SevenForums asking if it's possible to move these folders to a mapped network drive.  The author of the tutorial discourages it.  However, I may move what I can out of my user folder to the NAS through libraries and the programs that store stuff in the Users folder.  We shall see.

Friday, March 16, 2012

I ain't got a gat, but I got a soldering gun...

If you're reading this, it's because you have an NZXT Vulcan case that is giving you horrid audio artifacts through the front audio port because of the ground loop they designed into their printed circuit board.  Here's what you need to do to fix it.
Here you can see that the path from audio jacks to the audio ground wire is shared with the same path that's used for the USB.  In order to eliminate the ground loop (and the annoying sounds that come with it) you have to separate the grounds. 

Using a dremel with an engraving tool, I separated the front audio cable header ground wire from the rest of the circuits. 

Then I separated the audio grounds near the jacks from the everything as well.  
Then I soldered a wire connecting the grounds of the jacks (you only need to do one since they're both connected) and then solder it to the ground wire on the header.
That's all you have to do. I had originally just jumped a wire from the headphone over the header ground, but it stuck up too high and broke off when I installed it in the case. So I ended up laying a wire flat and running it like a trace on the pcb.

This eliminated all the noise I was picking up through my front audio headphone jack, and the speakers too.

NZXT - if you read this, you owe me money for the engineering re-work on your case design. Thank you.

I do have to hand it to NZXT though. I sent them an email describing my problem with my case, and they responded by sending me a new front audio/USB cabling and hardware. Which, kudos to them for sending me something, rather than just blowing me off. Yet they sent me the exact same pcb and it didn't fix the problem. It did give me enough confidence though to modify one of them to see if I could do it, with a backup in case things went wrong.

Fortunately, this worked out great, and now I've got a replacement part if I ever need it.

I also have to hand it to Creative, as after this, the X-Fi Titanium really shined. The audio quality is fantastic. I also like how the 'modes' keep track of settings for headphones and speakers separately, and automatically switches when I plug my headphones, or unplug them. That way the CMS3D is on when the headphones are in and on game mode, but off when using my 5.1 speakers or listening to music with headphones. Nice. I had to do it manually with my old card. It's really a nice piece of hardware and sounds great. And for 36 bucks, it was a steal! In a way I almost felt sorry for Creative: I wondered how many people returned these cards under the presumption they were defective, when all along they were really fine and their case was a bad design like mine. At any rate, it ended up benefiting me because I got one on the cheap because of it.

But then I'm reminded of the headache of their software and the planned obsolescence Creative has embraced to maintain their cash flow, and think: I'm glad I didn't have to give them more money than I had to because I know my card will be obsolete before it really should be.

Thursday, March 15, 2012

Loop-G-Loop

As stated in a previous post, I had picked up a copy of DCS A-10C on Steam for $20.  But in order to play it at 3840x1024 resolution at respectable frame-rates, I picked up a HIS IceQ Turbo Radeon HD 6970 2GB.  This card manages this task quite well.  You can read some of the settings I had to put in place to get good framerates (as there were some compromises) here.  For all the other games I have, it's overkill. It came with Dirt3, it stays cool, and it matches other pcbs in my case (blue!).  However, it is advertised as only taking up 2 slots, but does in fact take up 3. My Gigabyte GA-P55M-UD2 motherboard is equipped with a 16x pcie slot, followed by 2 pci slots, then another pcie slot that is only 4x (but can take a full sized video card.)  Since my video card blocks the two pci slots, I had to evict my Audigy 2 Zs Platinum Pro PCI sound card. And since my second pcie slot isn't really effective for a CrossifireX setup at only 4x, I figured it would make sense to put a nice pcie soundcard in there.  So when a refurbished  X-Fi titanium pcie showed up on Newegg for $36, I snagged it despite my previous experience with Creative.

Thanks to Creative's awesome drivers (sarcasm), getting the drivers for this card to install was a pain. Even after uninstalling my old drivers, I kept getting an error saying more up to date drivers were already installed. I finally had to manually delete any and all registry keys from my old hardware (even after Driver Sweeper and CCleaner). Then I was finally able to get the driver to install. I also had an issue where my firewall software was automatically blocking the auto-update, but was able to manually allow it and get my bundled software. And for some reason, it took nearly a whole morning to download 150MB. Unacceptable.

Also, popping and crackling sounds seemed to result from changing 'modes' while audio was being played. However, it would go away after reboot. Then I realized that it states very clearly on the mode switcher in the audio control panel that it is recommended to quit ALL audio applications and games before switching modes. Obeying this rule seemed to reduce audio artifacts.

Another issue I thought I had is that there was a lot of noise from my computer coming through the speakers and when I was using headphones out of the front audio.  Additionally, with the volume all the way up on my old card there was very little noise. This one I could hear all kinds of system stuff (on speakers or headphones.) It was very annoying and sounded as bad as (if not worse than) my onboard audio.

I originally thought this was the fault of Creative, and the fact that it was a refurbished card.  I thought it was broken.  However, after some troubleshooting (I did want to make sure I knew what the problem was, and I didn't really want to pay to send my $36 card back) I realized I had a completely different problem.

I had a ground loop.

I have had experiences with ground loops before.  Most notably in my car when I've powered an audio device (like an mp3 player or DVD player) with the cigarette lighter, and then fed the audio into the car stereo.  When you do this you can hear the hum of the alternator through the speakers as a result of the ground loop.

For my computer, it was actually coming from the front audio and front USB ports sharing a common ground, resulting in being able to hear everything I plugged into the USB port. To test it I plugged in a usb hard drive into the front usb and plugged my headphones into the front audio jack: man you could hear everything that drive was doing! I was able to plug my headphones in the rear, and it sounded so much better.  To be sure, I have a ground loop isolator (that I usually use in my car) and plugged it into the front audio port and then plugged my headphones into it. Dead silent. No noise. Plugging in the USB hard drive with the ground loop isolator and my headphones plugged into the front audio still allowed me to hear quite a bit of sound from the drive, but it was attenuated.  I found out too that a lot of cases do this (search on Google for it). Even high end cases have this issue. It is not the card: it's the case. In my instance an NZXT Vulcan.

So in the following post, I'll show you what I did to fix this problem.



Monday, February 27, 2012

Battered Woman Syndrome

In trying to procure a replacement sound card for my Windows 7 machine, I didn't have a lot of requirements.  Other than it should be as good as or better than my Audigy, it should be inexpensive, it should have a pcie interface, and preferably NOT a creative card.

 But when a Sound Blaster X-Fi Titanium showed up in the refurbished section of Newegg, and with a promotion code for 20% off putting it at $36...I couldn't pass it up.  Despite being a Creative Product.
I get to keep most of the features and specifications that my Audigy had (although apparently you cannot get a sound card with DTS and DD hardware decoders anymore...some law somewhere that it must be done with software, although I didn't honestly spend enough time to verify this claim.)  I eventually decided I wanted to connect my HD front audtio, and my 5.1 analog speakers to the card.  This does that.  It also supports EAX and positional audio for gaming.  So it had what I wanted, familiar (for better or worse) softwares, and for $36 bucks, I'd let Creative beat me again.

The only thing I need now is this in order to plug my Sennheiser HD555 headphones into my computers.  (Since I don't have a 1/4" jack anymore...)

NUKE!

In trying to liquidate some of my hardware, I was faced with the challenge of how to wipe my hard drives I want to get rid of.  You see, even formatting the drive will leave information on it.  Granted it takes more than just slapping it in a computer to read the files, but people bent on getting your personal information are resourceful to say the least.  I've heard of people trolling garage sales, second hand stores, and even dumpster diving for computers to pull personal information off of.

It was along these lines that I came across another useful Linux distribution:

Darik's Boot and Nuke

Download the iso from sourceforge (I had to use version 1.07 for it to work) and boot from the burned CD.  It will detect any hard drive you have installed on the computer and wipe it with DOD level wiping:  meaning it will be near impossible to recover any data from it once it's wiped.

So be sure to take care of your identity and wipe your computers before disposing of them.  In the same respect, make sure there's nothing on it that you want to keep.  You won't get it back if you use this program.

Hardware for sale...Make offer

With all of this going on, I also managed to pick up DCS A-10C Warthog on Steam for $20 for Christmas.  Very nice.  It goes well with my CH Products Fighter Stick, Pro Throttle, and Pro Pedals.  The only downside:  my HD 4850 couldn't manage it on 3840 x 1024 resolution.  That's right:  triple 1280x1024 monitors.  So subsequently for my birthday I picked up a HIS IceQ Turbo Radeon HD 6970 2GB which managed the game just fine.  (Although, I admit, it seems a bit silly to spend $300 on a video card to play a $20 game.)  At any rate it's a really great card.  Except for the fact that it takes up 3 slots in my case, blocking the 2 pci slots below the pcie slot it's plugged into.

Super.

This simply means I was forced to evict my Audigy 2 zs Platinum Pro sound card.  It was bittersweet:  I was finally able to move on from Creative.  Yet, it's still a great card with a lot of capability and life left in it.

That being said, with all this new hardware I've purchased, I've got some stuff up for grabs if you want to make an offer.  Here's what I'm willing to part with:

Audigy 2zs Platinum Pro (Complete)
VisionTek HD 4850 (PCIe)
MSI RX9800PRO-TD128 Radeon 9800PRO 128MB 256-bit DDR AGP 4X/8X Video Card
Dell 8960 ATI X300 (PCIe)
Hynix 2x1 GB PC3 10600S Laptop RAM
Rosewill RC-400-LX Network Adapter
Thrustmaster Firestorm Dual Analog Controller
256 MB PC3200 400MHz DDR ram
Samsung LTN154AT09 LCD Screen for Laptop

In addition to all of that I have various Hard Drives:

Quantum Fireball ATA66 15GB Hard Drive
Maxtor ATA100 15GB Hard Drive
Seagate 40GB IDE Drive
Hitachi 60 GB IDE Drive
Seagate 160 GB IDE Drive
Samsung 500 GB SATA I/II Drive

I'm also willing to part with my wife's computer (CHEAP!).  With it, I'll throw in your choice of up to 2 IDE drive(s) and install (and give you the install disc and product key for) Windows XP Pro.

Everyday I'm Shufflin'

It's been a while since I've updated my blog, so I've got a lot to cover.  Let's start with my NAS situation as it's changed substantially since I've last posted.

My desire to use my wife's old PC as a NAS was completely abandoned.  There was an issue with trying to shut it down.  When I'd try to shut down the NAS from it's web GUI, it wouldn't shut down and just hang.  So instead of trying to figure that out, I swapped computers yet again.

I took apart my Windows XP computer, got a new case for my Windows 7 machine, and shuffled everything around yet again:
From left to right:
NAS, empty case, wife's old compy.

NAS Specs:
Rosewill R101-P-BK 120mm Fan MicroATX Mid Tower Computer Case
Rosewill RFA-120-BL 120mm 4 Blue LEDs LED Case Fan
CHAINTECH 7NIL1 462(A) NVIDIA nForce2 Ultra 400 Micro ATX AMD Motherboard
AMD Athlon XP 3000+ Barton 2.1GHz Socket A Processor
Rosewill RCX-Z100 One ball bearing for over 45000/hrs life CPU Cooler
1.2 GB PC3200 DDR 400 RAM
Transcend 2GB Compact Flash (CF) Flash Card Model TS2GCF133
SYBA SD-CF-IDE-BR IDE to Compact Flash Adapter (Bracket Version)
MSI RX9800PRO-TD128 Radeon 9800PRO 128MB 256-bit DDR AGP 4X/8X Video Card
Rosewill RC-209-EX PCI 2.3, 32bit, 33/66Mhz SATA Controller Card
LG CD-R/RW Drive (CED-8120D)
HIPRO HP-P303W PSU

The empty case is a Foxconn 300 Watts MATX Mini Tower Case.  I bought it in 2004 for $30 and has been a pretty nice case.  It just lacks hard drive space, access to the far side of the case (or the side where my wife's computer is in the picture) and HD front audio.  This was the case my Windows 7 machine was in up until recently when I bought an NZXT Vulcan for that computer.

For my wife's old computer, the specs are on the first post of my blog, although it's changed too with the addition of the following:
DVD-116ME DVD ROM
Floppy Drive
Zonet Firewire/USB2.0 PCI Combo Card Model ZUC2400
Dynatron BH-610/C61G 60mm Ball Cooling Fan/Heatsink
And I've removed the hard drives from this computer.  (More on that later.)

Additionally, the heatsink currently in the NAS I had originally bought for my wife's computer when it was going to be the NAS (because her heatsink/fan was on it's last leg and was loud.)  But being I bought it new, I felt I would keep it over the 8 year old Dynatron, and moved it from the Athalon 1200 to the Barton XP and put the Dynatron on the Athalon 1200.

This NAS configuration ended up being quite a boon to the project.  Not only did the NAS become less problematic, but actually ran faster.  My wife's computer running as a NAS only ever topped out at 25 MB/s.  With the new hardware (and a SATA drive installed) I was able to get 37.5-60 MB/s.  In fact it was kinda fun to watch the system as I transferred files to the NAS.  The CPU temp would slowly climb, once it reached a threshold, the transfer would pause to allow the CPU to cool back down, and then it would start again.  Very nice.

As for the HD for the NAS, I'm still waiting for prices to reach pre-flooding prices (or about $70 for a 2TB drive).


Monday, November 14, 2011

Creative Orphans

I happen to have a Sound Blaster Audigy 2 ZS Platinum Pro that my wife had gotten me for Christmas of 2003.  At the time, it was the best you could get.  And it was (and still is) a great piece of hardware.

But anyone who has owned anything from Creative knows how quickly they orphan their products.  And as a guy who can't throw anything working away, I couldn't do it with this sound card.  (Especially knowing how much my wife paid for it back in the day...)

Now, I'll admit it's not flawless, but the latest OEM drivers from Creative gets this card working well in Windows 7.

But I found this really great blog about Creative Sound cards.  If anyone is having problems with theirs, I direct you to No More Goat Soup.

When it rains in Thailand...

As part of my NAS project, I was intending to get it working before investing in filling it full of hard-drives (since they would be the single most expensive part of making it a reality.)

Two months ago when I was pricing out hard drives, I had found a Western Digital Caviar Green 2TB drive for about $70 bucks. I was thinking of buying two of them. But I thought with Christmas on the horizon, it would be a good thing to ask for as a gift.

I recently went to see how the prices were going into Black Friday. Much to my surprise, the same drive is currently running $250 on Newegg! More than 3 times what it was two months ago. I couldn't believe it.

At first, I thought it was an artificial price increase to give an appearance of a sale during the holiday season. However, a friend of mine pointed me to this article:


Awesome. Now I have to wait 6-12 months. Maybe Christmas next year.

By the way, the graph was produced at camelcamelcamel.com.  It's pretty sweet.  All you have to do is paste a link from any product on Amazon.com and it will give you the price history.  Happy shopping.


Tuesday, October 25, 2011

FreeNAS Breakthrough

Essentially, I had two options: copy a file called if_re.ko to the right place and edit the kernel boot configuration file, or recompile my kernel.

I really didn't want to have to perform that second option. And even if I wanted to, I couldn't even find the kernel source code in my system files.

But I didn't have the 'if_re.ko' file either. I just had the source code.

But I bet the internet does! Sure enough searching for if_re.ko yielded this site.

Yippie! I downloaded it and followed the instructions, looked up some vi commands for editing the boot configuration file and BAM! Had the module loaded, and on the next reboot my NAS was recognized on the network!

One slight comment, is that my FreeNAS file system was built on / not /cf. So when she says to copy the file to /cf/boot/kernel, mine was just /boot/kernel. But other than that, it was spot on.

Now, I still haven't gotten the speeds I was anticipating, so I'm still troubleshooting that. But they did improve. I think in actuality I'm being limited by my old hard drives that I kept in there to troubleshoot the system. I still need to get some decent sata drives in there and make sure my PCI-SATA card is working properly. I think I'll see some decent speeds once I get there, but I don't have any extra sata drives around to try it out. I figure that would make a great Christmas present: a couple of 2 TB sata drives for my NAS.

So, as much as a challenge this project ended up being, it was fulfilling to get back to some command line stuff and editing the kernel. It certainly made me feel pretty confident in my computer hacking skills. And I found a great use for some old hardware so I didn't have to throw it out.

I also found some advantages to building a NAS this way. Granted, I have to power another computer (a fact my dad was quick to point out.) However, I quickly found out, that there are some great hard drive diagnostic tools built into FreeNAS. Case in point, I have some friends that had some issues with a hard drive and needed some help getting some family photos off it. They couldn't do it with Windows. However, I was easily able to slap this drive in my NAS, run some diagnostics, mount it, and copy their files over to another usb drive for them. It's nice to have that kind of capability around. Just sayin'.

Now on to the next project.

DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, REPEAT

Upon installation of the new network card, I figured it would be pretty easy going given the reviews online specifically for FreeNAS. But for some reason, I was having trouble getting an IP address. And whenever it did, it would loose it when rebooted for what seemed like 24 hours before I could get another one. Even configuring a static IP did the same thing. Weird.

I checked everything on my router and it seemed fine.
Again, this is where consulting the FreeBSD documentation came in handy. I learned two important command-line commands for trouble shooting this problem:
dhclient
ifconfig

Using these, I was able to log into the shell and configure the network adapter manually and monitor the responses.

dhclient did this:
DHCPDISCOVER some junk
DHCPDISCOVER some junk
DHCPDISCOVER some junk
DHCPOFFER from host junk
DHCPREQUEST some junk

Then it would repeat until I unplugged the cable to get it to stop.

According to this, my FreeNAS was finding the DHCP server, getting an offer, requesting it, but not being acknowledged and went back to looking for a DHCP server. Strange.

And being I already troubleshot the router, it became apparent that it was my new gigabit network card that was suspect.

Checking the hardware documentation (remember that from a previous post?) it said that the re(4) driver would cover the RTL811xS chipset. Mine was coming up as re(0). I didn't know what that meant, if my network adapter was being recognized differently. But I was starting to think this might be the problem: FreeBSD drivers for my hardware.

I went to the Realtek website and found they had drivers for FreeBSD. That being said, I thought, I'll try it and see if it works.

I downloaded the tarball, saved it to a usb drive, then stuck it in my FreeNAS box and booted it up. This is when I discovered that mounting a usb drive in FreeBSD is different than other Linux flavors. For FreeBSD you have to use mount_msdosfs. Then you'd mount it just as you would in any other Linux distribution.

Once mounted, I checked the tarball to see what was in it:
rtl_bsd_drv/if_re.c
rtl_bsd_drv/if_re.h
rtl_bsd_drv/Makefile
rtl_bsd_drv/Readme.txt

I then extracted the source code (the .c file), the header file (the .h file), the Makefile, and the readme to the FreeNAS file system. To read the Readme, I copied it back to the usb drive and opened it on my Windows 7 machine. Blank.

Darn it all.

Explaining this all to a co-worker the next day, he told me about VI. Just search it in Google.

Using the command: vi readme.txt I was able to open it and read it. The text that follows is from the Readme.txt for the driver:

This driver is modified by Realtek Semiconductor corp. and it has been tested OK on FreeBSD v5.4, FreeBSD v6.4, FreeBSD v7.3, and FreeBSD v8.0. To update the driver, you may use method 1. If method 1 failed, you must use method 2 which is more complex.

Method 1:
1.Copy if_re.ko in "modules" directory to "/modules" directory and overwrite the existing file.

2.Modify the file"/boot/defaults/loader.conf" and set "if_re_load" in "Network driver" section to "Yes"

3.Reboot.

Method 2:
Because the FreeBSD kernel has default drivers to support RTL8139C and RTL8169S. To use the RTL8139C+, RTL8169SB, RTL8169SC, RTL8168B, and RTL8101E, you need to update your NIC driver by recompiling your FreeBSD kernel.

The main steps you have to do:(FreeBSDSrcDir means the directory of FreeBSD source code and it may be "/usr/src/sys")

1. keep the original driver source code:

# cd /usr/src/sys/dev/re
# cp if_re.c if _re.c.org
# cd /usr/src/sys/modules
# cp Makefile Makefile.org
# cd /usr/src/sys/modules/re
# cp Makefile Makefile.org
# cd /usr/src/sys/i386/conf/
# cp GENERIC GENERIC.org

2. Recompile your kernel (you must install your FreeBSD souce code first!!)

# vim /usr/src/sys/i386/conf/GENERIC/ and delete re
# vim /usr/src/sys/modules/Makefile and delete re
# cd /usr/src/sys/i386/conf
# /usr/sbin/config GENERIC

(for FreeBSD 5.x/6.x/7.x/8.x)
# cd ../compile/GENERIC
(for FreeBSD 4.x)
# cd ../../compile/GENERIC

# make depend
# make
# make install
# reboot

3.update the driver source code:

Copy the driver source code ( if_re.c and if_rereg.h) into /usr/src/sys/dev/re

Copy the Makefile into /usr/src/sys/modules/re

4. build the driver:

# cd /usr/src/sys/modules/re
# make clean
# make
# cdif

5. install the driver

# cd /usr/src/sys/modules/re
# kldload ./if_re.ko

6. configurate the static IP address

# ifconfig re0 xxx.xxx.xxx.xxx

7. configurate the IP address by DHCP

# /sbin/dhclient re0

The user can use the following command to change link speed and duplexmode.

1. For auto negotiation,

# ifconfig re media autoselect

2. For 1000Mbps full-duplex,

# ifconfig re media 1000baseTX mediaopt full-duplex

3. For 100Mbps full-duplex,

# ifconfig re media 100baseTX mediaopt full-duplex

4. For 100Mbps half-duplex,

# ifconfig re media 100baseTX -mediaopt full-duplex

5. For 10Mbps full-duplex,

# ifconfig re media 10baseT/UTP mediaopt full-duplex

6. For 10Mbps half-duplex,

# ifconfig re media 10baseT/UTP -mediaopt full-duplex

1 Byte = 8 bits

Upon seeing the 12MB/sec transfer rate I was able to do a quick calculation

12MB/sec x 8bits/Byte = 96Mbits/sec

At this point I realized that I was being limited by my network. (100Mb). Notice the small b for bits. Not bytes (big B). I checked out my specs on my motherboard just to be sure:

According to the User's Manual, the PCI bus is cabable of 133MB/sec, and the IDE channels support 100MB/sec. My Intel Pro 10/100 is only capable of 100Mb/sec (or 12.5MB/sec.)

That being said, I decided to upgrade to gigabit ethernet (or 1000Mb/sec, or 125MB/sec) and purchased these items:

http://www.newegg.com/Product/Product.aspx?Item=N82E16833166017
http://www.newegg.com/Product/Product.aspx?Item=N82E16816132013

Later I realized that I needed to upgrade my switch, another network adapter on another computer, as well as add some cables and purchased these:

Two switches
Gigabit Network Interface Card (PCI)
Cables

I needed two switches so that I have a direct gigabit route from one PC to the next. In other words, previously I had just used the built in switch on my router (which is provided by my internet provider, and I can't change it because I get TV over IP through it too...) But since the router is only capable of 100Mb/sec in order to not bottle-neck my network through the router, I needed a gigabit switch right next to it. Then when say my pc talks to my FreeNAS, it doesn't need to go through the router just my PC to a switch at my desk, to the switch near the router, to the FreeNAS. As opposed to my PC to a switch, to the slow router/switch, to my FreeNAS. Then the internet/router plugs into the switch near it. Super easy.

Another note, the Roswill RC400-EX and the Startech ST1000BT32, were exactly the same (other than the quality control sticker on them.) They're both based on the Realtek RTL8110SC chipset. So get the cheaper one. They're the same.

As I purchased these, I was careful: I searched the reviews of these items to ensure they worked with FreeNAS. And it seemed there were plenty of people doing what I was doing and left reviews verifying that these network cards work with FreeNAS without much effort. Awesome.

But for some reason, I wasn't so lucky.