headermask image

header image

Fixing Sony DSC-V1 C:13:01 Errors

So I was thinking my Sony DSC-V1 was on the way out after almost 7 years of reliable service when it starting giving C:13:01 errors intermittently. There are many complaints from other users of the same symptom with various suggested fixes which had worked for some and not for others.  I was not initially optimistic of being able to fix this issue, and started thinking of looking at a newer model which I’ve been putting off for some time now.  Anyhow reading through the forums it because clear that the C:13:01 is an error that Sony cameras give anytime the memory stick (MS) flash becomes unreadable. This could be due to a number of reasons from dirty contacts on the MS, to dirty contacts on the reader, to loose cables between the reader and the main logic board internally.

After trying the obvious solutions like, trying different MS units, cleaning the contacts, hard resets etc, I decided to take the plunge and open the thing up.   I was apprehensive at first as I was sure I would break something in the process or trying to pry the cover off, but in the end it was surprisingly straightforward to open.  I undid all the screws and was able to gently pry open the back part of the casing exposing the internals as shown above in the poor quality photo from my phone camera.

Sony DSC-V1 open case

After opening the case, I noticed that there was a small piece of plastic that was jammed between contacts of the reader.  After shaking this out and making sure all of the connectors seem to be fine, I powered up the camera, inserted the same MS which was not working before and viola! the problem was fixed.  Anyhow I wrote this thinking it may help some other poor soul who’s thinking of tossing their Sony camera as Sony doesn’t seem to provide whatsoever guidance on this issue which is rather disappointing.  Hopefully my Sony DSC-v1 will provide a few more useful years of service before I upgrade to a newer DSLR, which I have to say is unlikely to be a Sony.

Building a 1080p capable MythTV HTPC system

MythTV HTPC SystemBackground

So I’ve been thinking of building a HTPC for some time now given burning to DVD to play content on my strict MPEG2 only friendly Sony DVP-NS725P  was getting a little old. Transcoding content for hours on my not so fast P4 2.8GHz desktop just to display once off my Sony KV-34HS510 34″ TV was so web 1.0.  The TV had a DVI interface which I had connected my old Laptop some time back on Windoze without too much issues for watching Netflix online and the like.

I had read about MythTV a number of times and I knew this would be the way to go in terms of software.  I had installed a  Asterisk/FreePBX system based on a Trixbox distribution a few years back and also knew that going with a bundled distribution would save me a lot of headaches later during initial configuration and future maintenance.  This Trixbox system was still reliable running my home phone system which I was very pleased with.

Research & Testing

A few weeks earlier I had tested Mythbuntu LiveCD on my work laptop as the frontend, and the backend installed on my existing Dell PowerEdge 2500SC server running CentOS 5.2.  I had moved my 5+ year old Avermedia Bt878  capture card from my Windows XP desktop (which I used rarely now due to buggy sw) to the PE2500, ran a coax run to the attic where the server was located, installed MythTV 0.21 on CentOS and was amazed to find I could get a reasonable picture (albeit with no sound) just after a hour or two of setup.

However I wanted a frontend system that was as unassuming and quiet as possible in the living room, where space was a premium, and wouldn’t be aesthetically out of place while still keeping overall costs low as possible.  This eliminated most off the shelf PCs as well as some commonly found HTPC cases, and also led to the decision to not have a hard drive on the unit.  I had read earlier that Minimyth was small enough to fit on a compact flash card and also supported PXE based booting over the network.  Since I already had my wife’s Sony laptop PXE booting using LTSP image off the PE2500, I knew this would be a fairly painless and speedy approach to system startup for the MythTV frontend unit.  Just to be sure, I downloaded a Mimimyth NFS image and got it operational on my Thinkpad X61S work laptop via PXE from the PE2500, sweet!

Hardware Selection

Now that my software distribution was more or less decided, I started working on the various hardware pieces I would need for the frontend system.  This by far was the most time consuming aspect of the project as I later found due to the stringent requirements I had managed to converge upon. These can be summarized as follows;

  1. Aesthetically pleasing form factor as mentioned earlier, dictated the choices of cases that would be suitable for my setup, more on this later;
  2. Sufficient performance to play H.264 1080i/p smoothly for both OTA HDTV and Bluray content later;
  3. Compatible video interface for my TV (DVI), although HDMI output would be  a plus for future expandability, only difference being integrated digital audio;
  4. S/PDIF coax/optical audio output for flexibility to  interface with a 7.1/5.1 surround sound receiver in future (been considering the Denon 2800 range on and off);
  5. Support for PXE booting with local CF storage as a fallback;
  6. MythTV compatible HTPC components like IR receiver/blaster, LCD/VFD panel etc;
  7. Power efficient (<200W) as it may be on for long periods of time;

Items [1] and [2] caused me the most dilemmas looking back now.  So lets start with the case, after some amount of research I narrowed it down to the four below;

The first two were bare bone cases while the last two came bundled motherboards which was a plus as looking into every bit of techno detail on a motherboard was not something I was keen to spend time on.  After much debate between expandability, which the larger cases accommodated for with full height cards and drive bays, and small form factor, which suited the living room better but needed to be IGP based, I decided on the latter narrowing it down to the last two cases.  Now it was a real toss up, and each of these units had it’s own pros and cons.  The HiperHMC-2K53A-A3Hiper HMC-2K53A-A3 won in the form factor and looks department hands down although lacked some of the I/O ports the that MSI Media Live had, which was pretty much everything under the sun. I particularly liked that the MSI Media Live had component video out and full set of RCA connectors for analog audio out as well, but in the end the 53mm height and 310mm depth of the HiperHMC-2K53A-A3 won me over, form factor and looks it was.

I had more or less settled on the  Hiper HMC-2K53A-A3 when I started looking into 1080p playback requirements under Linux which is when the real fun started. I soon discovered that to play 1080p with H.264 decoding you needed a pretty hefty CPU (Intel Core 2 Duo E6550 2.3GHz or better- 65W) or require hardware graphics offload support for MPEG2 and MPEG4.  Since I was attempting to keep costs low (<$500) and be power efficient the latter was the preferred approach, plus I has no intention of spending big bucks on a high end CPU that would dramatically drop in price 6 months from now.

Looking more into Linux video decoding support I soon found out that the defacto API being used by MythTV and others applications is X-Video Motion Compensation (XvMC).  Having used a Nvidia Geforce 7600GT on my desktop and comparing Nvidia Purevideo to ATI’s AVIVO, Purevideo seems to have come out on top for MPEG video decoding, plus Nvidia seems have good support for XvMC which hence seemed the way to go. However the Hiper HMC-2K53A-A3 came with a MSI K9AGM2 (MS-7327) motherboard and built in Radeon X1250 based on the AMD 690G chipset.  This was an issue which made me reconsider the MSI Media Live once more as it was based on the Nvidia GeForce 6150 LE / nForce 430 chipset.  But I really liked the Hiper HMC-2K53A-A3 case, luckily however Hiper also offers a basebone version in the Hiper HMC-2K53A-A0 which would give me the flexibility to choose my graphics card and motherboard combination. Sigh, not what I wanted to do but oh well…

Looking for the fastest XvMC supported video card/motherboard combination I could find, I settled on a BioStar TForce TF7050-M2 AM2 NVIDIA GeForce 7050PV HDMI Micro ATX AMD Motherboard which I could only find on Ebay as it was a bit dated.  The process I took to get there was a little more involved as I compared a number of motherboards every which way using a feature comparison matrix I built which can be found here.  I also btw included in the sheet all the other equipment I was comparing for the frontend system, including features, functionality and price which may be useful for others.

One major downside I found digging deeper in to the video decode aspect was that a generation 2 PureVideo (VP2) GPU card was necessary for H.264 offload (Geforce 8400/8500/8600 family), and yet Nvidia stopped XvMC support after the GeForce 7000 series.  Ahhhhhh…..it seemed like I may have to go with a beefy CPU after all.  Upto this point I had been leaning towards AMD CPUs as they were competitively priced at the low end, something like Athlon X2 4850e 2.5GHz with 45W TPD and cost about $50.  But if I was going with a peformance oriented CPU it would be better to switch to an Intel to maximize performance, unfortunately going with something like an Intel Core 2 Duo E7200 Wolfdale 2.53GHz 3MB L2 Cache 65W Dual-Core Processor (~$119 at the time) meant that my $500 mark for the system would be history. I was mildly unhappy to say the least and started reconsidering the Bluray playback requirement.

It was at that point that I stumbled on Video Decode and Presentation API for Unix (VDPAU). It had just been released in beta form by Nvidia a few weeks earlier and what’s more, MythTV had already picked it up in one of it’s development trees.  Wow, I was certainly lucky from a timing perspective as I had almost given up being able to have a cost efective 1080p capable MythTV system and settle with the BioStar motherboard.  It was literally the morning when I was going to bid on the BioStar mobo on Ebay that I read of VDPAU, saved!  VDPAU needed a Geforce 8200 or better so the BioStar option was out, read about full card support here.

Frantic further research lead me towards a Nvidia GeForce 8200 (MCP78S) chipset based motherboard. I finally settled on the ASUS M3N78-VM at it had the full set of ports that I needed including HDMI/DVI, optical S/PDIF ASUS M3N78-VMand a Com port (Yes, a Com port!). Notable omissions on this board were Firewire, S-Video/TV Out which I would have to live without.  A particular concern was the PXE booting support, which the online documentation was notoriously vague about, but I could fall back to local CF boot if needed.  But now I can confirm that PXE booting in the BIOS is supported by this board.  I picked 2×1G RAM (for dual channel) to avoid swapping over the network and the Silverstone NT07-AM2 CPU cooler to fit in the 53mm high Hiper case.  I was relieved I had finally settled on all the components needed;

I went to NewEgg, put in the order and hit confirm at a total cost of $406.80.

Software Configuration, Setup and Issues

The parts arrived uneventfully a few days later and I started putting together the unit that very same night.  I have photos of the system at various stages in the build process here . I didn’t really have many issues with the case from an assembly point of view. The Hiper HMC-2K53A-A0 didn’t come with much in the Hiper HMC-2K53A-A0 Buildway of documentation other than a quickstart guide which made the assembly process more complex than it needed to be, with the most challenging aspect being cable routing inside the cramped 53mm high case.  However I managed to get everything hooked up correctly and powered up to see a much welcomed BIOS screen on my VGA compatible desktop display.

For Minimyth boot I setup appropriate configuration on my ISC DHCP server, NFS exports etc much like before and hit the reset button.  I had to use a beta version of the Minimyth NFS image (0.21.0-62b3) as I needed support for the latest 180.xx Nvidia X11 drivers for my Geforce 8200 and ran into some NFS mount issues.  I’m not going to repeat them but you can read more about them here. Pablo, the main gatekeeper of Minimyth these days provided great support(Thanks again Pablo!) to help me fix a script issue on the beta builds to get it booted successfully. I was impressed to see the bundled remote with the HMC-2K53A-A0 case function with minimal configuration as a mceusb2 type in Minimyth and with minimal backend/frontend MythTV configuration get live TV to work (albeit still with no sound) .  Furthermore I managed to get the Futaba dm-140gink VFD display working as well by substituting LCDproc 0.5.2 with the Henlar patches. Pablo was kind enough to integrate these in a subsequent build of Minimyth which I’m using currently (0.21.0-62b6-nvidia.180.x.x).

Next I moved the system which was still connected to my desktop display to the living room where my Sony KV-34HS510 is located and managed to get the X11 configuration setup. I used videogen to get the correct Modeline parameters setup for the TV. 

The sound issues was probably one of the most challenging issues to get finally resolved.  This was primarily due to the lack of understanding on my part on how this needed to work with my rather dated Avermedia bt878 based card which didn’t multiplex audio into the video stream natively for a split MythTV backend/frontend configuration as mine.  After some amount of frustration and hair pulling I managed to get this to work by actually reading the MythTV documentation and setting up the mixer setting correctly on the backend, yes RTFM!  Some of this is explained here also.

Although the old Avermedia bt878 based card worked when plugged into my cable provider, the quality was poor and due to the lack of MPEG2 hardware encoding on the card, made a single CPU on my dual 933MHz (Coppermine) PIII on the PE2500 run at a consistent 60-70% utilization.  Clearly this was not a long term solution, hence I started looking into a new tuner card for my backend.  High on the list was the Hauppauge HVR-1600. It had NTSC and QAM/ATSC dual tuners and had built in MPEG2 hardware encoding to relieve the load off my PE2500 CPUs.  However driver support was still in beta prone to a number of well know issues. Reading through the ivtv-users list the driver support seems to have come a long way just recently and hence I decided to risk it.  Alternative was to go with a Hauppauge PVR-350/500 + pcHDTV HD-5500 combination with much more mature Linux driver support.

I’m happy to report that after some amount of initial frustration I did manage to get the Hauppauge HVR-1600 working on my MythTV PE2500 backend under CentOS 5.2.  I was initially concerned that the older kernel (2.6.18-92.1.22) of CentOS may cause issues with the cx18 driver which was very much on the bleeding edge.  However after some initial configuration issues which you can read about here (Thanks to Andy Walls) , I was able to successfully get the card working for both analog NTSC from my cable provider, and ATSC OTA HDTV reasonably well. 

A learning experience…

In summary the last few weeks has been a worthwhile learning experience for me on the pros and cons of building a MythTV system that hopefully will meet our needs well into the next 3-4 years.  The process is far from a shrink wrap experience as you would get from other commercial products like Tivo or Apple TV, but offers a lot more flexibility to meet your changing needs based on open source Linux based software provided you put in the Hiper HMC-2K53A-A0 completednecessary time to get it to work.  Although I have not yet added a DVD or BluRay drive on to this system, Linux commercial Bluray disk operation is far from seamless at the moment due to encryption issues, or fully utilized VDPAU offload capabilities, the frontend system has seamlessly played all types of content I’ve thrown at it so far with some headroom to spare.  Playing 1080i OTA HDTV (MPEG2 based) loads the CPU core at around 30-40% utilization, while 1080p Quicktime and WMV content take anywhere from 60-90% utilization.  I’m already thinking of building a less powerful and costly system to extend MythTV into the bedroom but I’ll leave that for future for now…

Paris

Paris

Trip to Paris & London.

Silverado in Napa

Silverado in Napa

Weekend gateway in Napa.

Home Network Photos

Home Network Photos

Took some photos of my home network setup along with a full network diagram all of which are here.

Dell Dimension 8100 CPU Upgrade

Posted some step by steps photos of upgrading my Dell Dimension 8100 system to a faster CPU which I did a few months back. I bought this system originally in 2001 with a 1.7 GHz Willamette P4 CPU, top of the line at that time based on the Intel 850 chipset. Over the last 6 years I’ve upgraded various components including RAM (768MB RDRAM), disk (300GB Maxstore DiamondMax drive) and various other peripherals, but the CPU was getting a bit pokey for day to days apps. The problem was that the Willamette CPU uses a 423 pin socket and the fastest part Intel made for a 423 is 2.0GHz, not much of jump from the previous 1.7GHz. Hence I ended up having to use a PowerLeap PL-PL4/N 423 TO 478 Adapter to allow a faster CPU. I bought that and a Intel Pentium 4 2.8 400MHz Socket 478 (Northwood) CPU off Ebay and after some initial challenges managed to get the system successfully upgraded. You can see the photos of the upgrade here.

Web Server Details

Finally got my web server upgraded with MySQL 5.0 and PHP 5.2 to run Wordpress and Gallery 2.

This web server is Powered by Fedora Linux running Apache on a Pentium II (Deschutes) CPU with 256MB of RAM.

Sunset in Puerto Vallarta

Sunset in Puerto Vallarta

View overlooking downtown and the bay of Puerto Vallarta from Barcelona Tapas restaurant where they have the best seafood paella in town.