<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ipsidixit.net &#187; Hardware</title>
	<atom:link href="http://www.ipsidixit.net/tag/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ipsidixit.net</link>
	<description>A far off place</description>
	<lastBuildDate>Thu, 08 Dec 2011 06:30:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>VIA &#8211; Hot stuff!</title>
		<link>http://www.ipsidixit.net/2008/08/31/100/</link>
		<comments>http://www.ipsidixit.net/2008/08/31/100/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 19:25:11 +0000</pubDate>
		<dc:creator>sgroarke</dc:creator>
				<category><![CDATA[FPage]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ipsidixit.net/2008/08/31/100/</guid>
		<description><![CDATA[<p></p> <p>A while back I wrote a few notes on building a small home server box. Specifically that I had chosen this neat Morex case and this VIA EK Corefusion motherboard.Here in southern Europe the summer has been in full swing, and it got hotter by the day. A few weekends back I thought [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-106 alignleft" style="margin: 10px;" title="via_logo" src="http://www.ipsidixit.net/wp-content/2008/08/via_logo.jpg" alt="" width="144" height="71" /></p>
<p>A while back I wrote a <a href="http://www.ipsidixit.net/2008/01/14/home-server-intro/" target="_blank">few notes on building a small home server</a> box. Specifically that I had chosen <a href="http://www.morex.com.tw/products/productdetail.php?fd_id=37" target="_blank">this neat Morex case</a> and this <a href="http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=420" target="_blank">VIA EK Corefusion motherboard</a>.<br id="jh511" /><br id="jh512" />Here in southern Europe the summer has been in full swing, and it got hotter by the day. A few weekends back I thought I&#8217;d do a quick check on temperatures on this system to make sure it wasn&#8217;t about to burst into flames.<br id="jh513" /><br id="jh514" />Logged in and ran &#8216;sensors&#8217;. Yikes! CPU at 77 degrees C, and the chassis temp only a couple of degrees lower.<br id="a70l" /><br id="a70l0" />Went over to the box and touched it. Very warm. Listened. No sound of a fan. Now the motherboard is fanless (in the 800MHz version I chose for this very reason) but the Morex case has a single internal fan which I was pretty sure I had wired in to the system/case fan header on the board. Peering in the side with a torch I confirmed that it most definitely wasn&#8217;t turning.</p>
<p><span id="more-100"></span></p>
<h2 id="i-rf">Investigation</h2>
<p>Power off the box (very inconvenient as it really is a busy little thing) and take it to the workbench. Off with the lid. Poke around. Looks OK. Almost no dust in it at all (which was odd &#8211; most of my systems have half a sheep inside them.) Also checked the fan was still wired to the header.<br id="mezh" /><br id="mezh0" />The system runs completely headless, so connect up a spare screen and keyboard and power it on. Notice that the fan spins for the first few seconds of power, then the BIOS cuts it off. So in to the BIOS to see what it thinks is going on. Interesting&#8230;</p>
<h2 id="i-rf0">VIA Corefusion BIOS Settings</h2>
<p>The BIOS allows temperature monitoring to be simply enabled or disabled for CPU and/or chassis. If either goes over the threshold, the corresponding header is powered. And upon looking I see that the threshold it fixed at&#8230; 80 degrees. Wow. That&#8217;s flippin&#8217; hot.<br id="x_mr" /><br id="x_mr0" />Each 80 setting also comes with what they call a &#8220;tolerance&#8221; number, of 0 up to 3 degrees. What the hell is that? <br id="x_mr1" /><br id="x_mr2" />Anyway, I pack it all up again and set the threshold On and the tolerance to &#8217;2&#8242;. The system then creeps up to about 70 degrees after a few minutes (and we&#8217;re talking an ambient temperature of about 28 degrees for starters) And no fan.</p>
<h2 id="hz4r">Which header? CPU versus chassis temp</h2>
<p>Having monitored the system for a while, I see the pattern of CPU temperature versus chassis temperature. Rather reasonable when one thinks about it: CPU temperature of course ramps up and down very quickly indeed in direct response to utilisation. Chassis temperature moves more slowly, both up and down. So you can have a chassis AND CPU temp of (say) 60, then the CPU peaks up to 75 for a couple of minutes. During this time the chassis temp might only pop up a degree or two. And when the CPU utilisation drops to nothing, the CPU temp can even drop <em>below </em>chassis temp for a little while. Of course the longer the CPU stays at a higher temperature, the closer the chassis temperature approximates to it. In the longer term they will be in constant proportion. But in the short to middle term they are not.<br id="jrms" /><br id="jrms0" />Hence the choice to change the single case fan from the chassis header to the CPU header. Let it respond to the CPU threshold being breached rather than the chassis temperature.</p>
<h2 id="cu_:">So what&#8217;s wrong? Nothing at all<br id="e9cc" /></h2>
<p>System in the high 70&#8242;s (and that&#8217;s Celsius, note) and no fan? BIOS appears to only trigger at 80? And guess what? That&#8217;s absolutely right! If I cranked up the CPU to 82 degrees (the fixed threshold of 80 plus the mystical &#8220;tolerance value&#8221; which I set at 2) the fan kicks in. For the first time in its life. And it keeps spinning until we drop to the chilly depths of 77 degrees. <br id="jpx4" /><br id="jpx40" />So we now know two things: the mystery &#8220;tolerance&#8221; value is actually the hysteresis offset, to stop the fan turning on and off rapidly when the threshold is breached.</p>
<p>The other thing we learn is that these VIA boards are as tough as old boots. Hot, very very hot, old boots. This fanless motherboard simply does not require cooling until we hit at least 80 degrees C. Which is amazing. And a tribute to the designers of this stuff. It&#8217;s robust beyond belief. I love it.<br id="t4:q0" /><br id="hz4r1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipsidixit.net/2008/08/31/100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a home server &#8211; Software</title>
		<link>http://www.ipsidixit.net/2008/02/18/home-server-software/</link>
		<comments>http://www.ipsidixit.net/2008/02/18/home-server-software/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 14:59:12 +0000</pubDate>
		<dc:creator>sgroarke</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ipsidixit.net/index.php/2008/02/18/71/</guid>
		<description><![CDATA[Install the Operating System <p>As detailed in the Introduction, we&#8217;re going to drop a standard install of Ubuntu Server Edition on here, and then customise for various additional functionality.</p> <p>The first step, of course, is to obtain one Ubuntu install CD! Go to the download page for Ubuntu, then make sure you select the [...]]]></description>
			<content:encoded><![CDATA[<h3>Install the Operating System</h3>
<p>As detailed in the <a href="http://www.ipsidixit.net/index.php/2008/01/14/home-server-intro/">Introduction</a>, we&#8217;re going to drop a standard install of Ubuntu Server Edition on here, and then customise for various additional functionality.</p>
<p>The first step, of course, is to obtain one Ubuntu install CD! Go to the <a href="http://www.ubuntu.com/getubuntu/download" title="Ubuntu download" id="fnu2">download page for Ubuntu</a>, then make sure you select the server edition. At the time of writing the latest version of this was 7.10, however what follows is unlikely to be greatly different for later versions.</p>
<p>A short aside on why we choose the server edition: it avoids installing a bunch of software we&#8217;re never going to use, prime examples of which would be Gnome or KDE. They take up space and, to some extent, use resources which we&#8217;d rather keep available. You can install the non-server version if you want, just as it&#8217;s trivially easy to upgrade the server version itself to, say, a full install of KDE. But for what we&#8217;re trying to do there&#8217;s no point. The server edition is &#8220;lighter&#8221; and has better default options selected.</p>
<p>Once you&#8217;ve downloaded the ISO file, you need to burn it to a CD. Then, of course, make sure you&#8217;ve got your install environment plugged in to the newly built server. We need:</p>
<ul>
<li>Keyboard (USB or PS/2 will do &#8211; note that no mouse is required)</li>
<li>Screen &#8211; any old thing will do &#8211; this is just for a few minutes.</li>
<li>CD reader. If you&#8217;ve built the same server as me, then it does not have a CD reader &#8211; we need to temporarily cable one on to the IDE bus (or, if you have a SATA CD drive, then on to the SATA bus), just for the duration of the install.</li>
<li>Network connection. While not required for the initial install from CD, a working Internet connection will be required pretty soon thereafter.</li>
</ul>
<h3>Are you experienced? At least a little bit&#8230;?</h3>
<p>Ubuntu is rightly praised as being easy to install. Take a desktop PC and the CD installation is pretty much automated. Afterwards you have a working system.</p>
<p>However if you are building a server, such as we are here, one must assume that you&#8217;ve at least a <em>little</em> Linux experience. And some network experience (If I say &#8220;DHCP&#8221; you know what I&#8217;m talking about, right?) And some general hacking around from the command line experience. Guru-level <em>not</em> required, but building this server is not maybe the <em>first</em> Linux project one might undertake&#8230;</p>
<h3>Install and boot</h3>
<p>The Ubuntu server install is really straightforward, but you do need to answer a few questions along the way. As with the hardware install, you almost certainly know enough to answer the questions asked and at the end we are told to eject the CD and reboot. The install has gone so swimmingly well that you just know it&#8217;s going to boot and fly first time. Right?</p>
<p>Upon reboot we quickly reach the GRUB display, and sit tight to let it take the default. Kernel load starts and&#8230; Kernel Panic. Complete lock up and failure. You try again (as if second-time lucky might actually work) and get the same thing. Leaving aside a very lengthy period of diagnosis I had to perform, let&#8217;s get right on with fixing this.</p>
<h3>Kernel choice</h3>
<p>The installation CD, which ran so well, boots off a <em>generic</em> kernel. However the installer does not stop to think, and merrily installs a <em>different</em> kernel than the one it successfully booted from. It installs the Ubuntu <em>server</em> kernel. Which sound reasonable, actually, as this is, errr, a server. OK, but just what do we mean by <em>generic</em> kernel or <em>server</em> kernel? Here and now is neither the place nor time to go into details, but suffice to say that when a kernel is built there are numerous (many hundreds) of features which can be enabled, disabled or generally fiddled with. The Ubuntu developers have duly fiddled to produce what they think is a really spiffy kernel for servers. And in doing so they made some assumptions about what sort of hardware you would actually install this on. And, guess what, those assumptions are <em>Not Good</em> for the hardware being used here.</p>
<p>Is it a bug or a feature? One could argue both ways. I do think the installer should at least warn of the incompatibility, though. It&#8217;s easy enough to check for, if you know where to look.</p>
<p>Completely optional paragraph: For the technically minded, the server kernel assumes you have a CPU with PAE extensions. These relate to very large memory configurations. Trouble is, though, the kernel <em>requires</em> PAE support and if your dear little VIA CPU doesn&#8217;t have them (and it sure does not) then the kernel dies an ugly death. (For the even more technically-minded, you would confirm this by doing a &#8220;cat /proc/cpuinfo&#8221; and looking to see if the &#8220;Flags:&#8221; contains a mention of PAE)</p>
<p>So what can we actually <em>do</em> about this?</p>
<h3>Fixing the kernel</h3>
<p>There&#8217;s a <em>really</em> easy solution to this. And there&#8217;s a really (and I do mean <em>really</em>) difficult one. The difficult path is, of course, hugely more fun and interesting, but you need plenty of spare time, a lot of experience and, ideally, a spare Linux system.</p>
<p>So, easy, recommended fix first: boot off the install CD again and choose the option to &#8220;Rescue a broken system&#8221;. Then, after various prompts, choose &#8220;Execute a shell in &lt;your partition here&gt;&#8221;.  Then perform these commands:</p>
<ul>
<li>apt-get update (if your network is up, otherwise skip this)</li>
<li>apt-get install linux-386</li>
<li>apt-get remove linux-server</li>
</ul>
<p>Then you should be able to boot fine off the new kernel. See &#8211; easy??</p>
<p>Of course you might be asking yourself whether changing to this other kernel matters? I can confidently say that for a small, home server, no it does not matter one jot. The server optimisations in the Ubuntu server kernel only really matter for seriously big boxes, with many users, multiple disks, and so forth. So don&#8217;t worry.</p>
<p>However&#8230;&#8230;&#8230;&#8230;&#8230;.. if your Inner Geek absolutely insists on having the server optimisations in your kernel: well, here&#8217;s where I&#8217;ll point you in the right direction and leave you to it. I actually did this. But it&#8217;s hard work&#8230;</p>
<h3>Building your own kernel &#8211; Massively optional and not required&#8230; and not recommended!</h3>
<p>You <em>really</em> want to build your own kernel? Hey, remember: the generic kernel will do you just fine. Really. But for fun, this outlines the steps you would follow:</p>
<ul>
<li>You <em>could</em> install the tools and source on the VIA box itself. But building a kernel will be a slow process here. Ideally use another, more powerful, desktop Ubuntu system.</li>
<li>Install tools and source: <span style="font-family: Courier New">sudo apt-get install build-essential linux-source-2.6 libncurses5-dev kernel-package</span></li>
<li>Go to the source: cd /usr/src</li>
<li>Unpack it: tar -xvjf linux-source*</li>
<li>Drop in to it: cd linux-source</li>
<li>Where to start? You <em>might</em> want to use an existing config file, so you could: cp /boot/config-&lt;whatever&gt; .config (Note that leading dot on the second file name)</li>
<li>Configure the kernel: sudo make menuconfig</li>
<li>Which options?: sorry, but if you cannot choose the options yourself then, honestly, you should not be building a customised kernel in the first place! Of course drop me a line and if I was nice I could send you a copy of <em>my</em> config file. <img src='http://www.ipsidixit.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>OK, I&#8217;ll relent and mention a <em>few</em> options, at least insofar as to what makes the server image a server image. But I&#8217;ll not go into details &#8211; you&#8217;ll need to do some research to learn more about these:
<ul>
<li>The I/O scheduler: a desktop system will typically use <em>CFQ</em> or, maybe, <em>Anticipatory.</em> A server will more typically want to have a default scheduler of <em>Deadline.</em></li>
<li>Preemption. Desktops normally want a <em>preemptive</em> kernel. A server generally wants a <em>non-preemptive</em> kernel.</li>
<li>PAE. This is the option that caused us all this grief in the first place. So you do not want PAE support in the kernel. Except that it&#8217;s not mentioned by name. To disable PAE support you need to make sure the high mem model is set to 4GB, not 64GB.</li>
<li>You want on-demand interrupt timers, so select the <em>&#8220;tickless&#8221;</em> option. And for a server the <em>&#8220;Hertz&#8221;</em> setting for the interrupt rates is probably best set to 100 (somewhat lower than a desktop system)</li>
</ul>
</li>
<li>And of course a zillion other choices to make too. Take particular care in the networking selections, as getting that wrong will cause subtle but very significant issues later when we try to get the firewall working.</li>
<li>Then build it all with: sudo make-kpkg kernel_image kernel_headers</li>
<li>Go up: cd /usr/src</li>
<li>Grab the debs: there will be two .deb packages there. These need to be transported to the VIA system and installed using &#8220;dpkg -i *deb&#8221;</li>
<li>Boot the server. If it works first time then, damn, you&#8217;re either very good or very lucky!</li>
<li>When the kernel does one day boot to completion start work on mopping up the error messages from the boot!! A prime example being the AppArmor module not loading&#8230; You need to either remove AppArmor altogether or, alternatively, rebuild it against your new kernel&#8217;s headers.</li>
</ul>
<p><em>Remember: you do NOT need to do this. Building a customised kernel, particularly on this non-mainstream hardware, is great fun, but not at all easy. Only do it if you want to, not because you have to!</em></p>
<h3>Basic configuration &#8211; Networking &#8211; Back to easy stuff</h3>
<p>Before we get all carried away about installing non-standard software, let&#8217;s get the basic config right. This device is going to act as a firewall router, so we need to designate one Ethernet port as External (i.e. facing the Internet) and the other as Internal (facing the private network).</p>
<p>The internal interface is going to need a fixed IP address (pedants might say that a quasi-fixed address via DHCP would also do &#8211; but, clever clogs, this server is <em>itself</em> going to act as our DHCP server, so that wouldn&#8217;t be such a cool idea now, would it?). The external interface might or might not require it to be fixed. It depends on what network environment you have. Here in France, the ADSL termination equipment supplied by ISPs varies in its capabilities.</p>
<p>A FreeBox, for example, can terminate the ADSL but bridge the Ethernet across to the external port, thus allowing us to have a true Public IP address on our external interface. We&#8217;d want to set up the external port to use DHCP to the ISP. We would do this since (a) the address might change and (b) it allows us to pick up the DNS servers being used automatically.</p>
<p>However a LiveBox, unfortunately, cannot bridge the Ethernet connection, and the Public IP address sits on the LiveBox itself. So here you will want to do something like designate, on the LiveBox, the server&#8217;s external port as the DMZ destination for all traffic. In strictly networking terms you end up with <em>two</em> private networks, one each side of the server, with traffic being NAT&#8217;ed twice (on the server and the LiveBox) and where you treat the private network on the external side of the server as, for all practical purposes, a public network. Slightly inelegant but from a performance point of view it works just great.</p>
<p>So decide what you need and go to /etc/network/interfaces to configure it.</p>
<h3>More software!</h3>
<p>Where to start? We know we&#8217;re going to install various other things, but let&#8217;s try and break it all down in to administrative tools and applications themselves. Remember that as we installed the server edition of Ubuntu, we&#8217;ve already got MySQL, Apache and PHP installed and running in a default form. Here we consider what else will aid our administration of the server, before moving on to both advanced configuration of the server and the addition of application software.</p>
<p>For administration we might want to consider:</p>
<ul>
<li>phpMyAdmin</li>
<li>Webmin</li>
<li>synaptic</li>
</ul>
<p>Some will quibble about synaptic, as it doesn&#8217;t do anything you can&#8217;t do from the command line using &#8220;apt-get&#8221;. And, &#8217;tis also true, installing it pulls in a certain amount of X-related libraries that were not there before. Your call. Frankly, I like it, but feel free to skip it. If used, though,  remember that this server will be headless, so we need a X-server capability on the desktop PC being used to initiate something like synaptic. If that desktop PC is itself a Linux desktop system, then that&#8217;s likely no problem, but if we will admin from, say, a Windows system then we&#8217;d need something like <a href="http://sourceforge.net/projects/xming" title="Xming" target="_blank" id="bvdg">Xming</a> to run X apps back to our desktop display.</p>
<p>Webmin too is not required. But, again, I like it and it makes my life so much easier, most particularly when it comes to administering the Shorewall firewall. So we&#8217;ll install it. Alas it&#8217;s a bit fiddly to install, at least as compared with your average Ubuntu package installation. Here&#8217;s a summary of the steps required:</p>
<ol>
<li>sudo apt-get install openssl libauthen-pam-perl libio-pty-perl libmd5-perl</li>
<li> wget http://ftp.fi.debian.org/debian/pool/main/libn/libnet-ssleay-perl/libnet-ssleay-perl_1.30-1_i386.deb</li>
<li>sudo dpkg -i libnet-ssleay-perl_1.30-1_i386.deb</li>
<li>wget http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.350_all.deb</li>
<li>sudo dpkg -i webmin_1.350_all.deb</li>
</ol>
<p>And phpMyAdmin? The zealots will tell you that you can do it all from the command line. But for those of us who only occasionally need to delve into MySQL administration, I greatly recommend it.</p>
<p>On the plus side, both Webmin and phpMyAdmin are web-based applications, so unlike synaptic they do not pull in too much in the way of generic cruft.</p>
<h3>What else?</h3>
<p>The list so far will give you a very useful generic server platform, that does&#8230;. well not much yet. We&#8217;ve got the infrastructure now, and what we actually do with it is pretty much a personal choice. Refer back to &#8220;Software Choices&#8221; in <a href="http://www.ipsidixit.net/index.php/2008/01/14/home-server-intro/#more-62" title="part one of this trilogy" id="df5:">part one of this trilogy</a>, and I mention that I install a web-based Torrent Client and a Media Center server. Of course one can also crank up NFS and/or Samba servers to act as remote disk space within the local network.</p>
<p>Apart from the big apps, it&#8217;s the little odds and sods you can set up which are so handy. Also on my network I have a big, fat-but-stupid NAS device (basically a big hard disk accessible via the network) It&#8217;s great for direct access by workstations &#8211; they all back up critical data to it throughout the day. But in turn I wish to back up parts of my NAS off-site, to a server somewhere far, far away. That&#8217;s where a small-but-smart home server is so useful. A couple of lines of rsync configuration, a dash of crontab activation and my local backups are magically mirrored to the remote server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipsidixit.net/2008/02/18/home-server-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Building a home server &#8211; hardware assembly</title>
		<link>http://www.ipsidixit.net/2008/01/17/home-server-hardware/</link>
		<comments>http://www.ipsidixit.net/2008/01/17/home-server-hardware/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 20:04:20 +0000</pubDate>
		<dc:creator>sgroarke</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ipsidixit.net/index.php/2008/01/17/65/</guid>
		<description><![CDATA[How easy is this going to be? <p>Worried? Don&#8217;t be. It may be fair to say that if you&#8217;ve never taken the cover off a computer in your life then this maybe isn&#8217;t the ideal starting point. But if you&#8217;ve ever dabbled a bit, maybe adding memory or changing a hard disk on a [...]]]></description>
			<content:encoded><![CDATA[<h3>How easy is this going to be?</h3>
<p>Worried? Don&#8217;t be. It may be fair to say that if you&#8217;ve never taken the cover off a computer in your life then this maybe isn&#8217;t the ideal starting point. But if you&#8217;ve ever dabbled a bit, maybe adding memory or changing a hard disk on a desktop PC, then you should be fine here.</p>
<p>The thing to remember is that the basics are the same. The challenge, such that it is, really only relates to the space &#8211; you are trying to stuff the innards into a much tighter space than you have in a typical PC.</p>
<p>Here, then are the steps we should expect to follow, at a very high level:</p>
<ol>
<li>Open the case and familiarise what&#8217;s what.</li>
<li>Install motherboard into case.</li>
<li>Cable motherboard to case cables.</li>
<li>Add memory to motherboard.</li>
<li>Fit disk and attach to motherboard.</li>
</ol>
<p>That will be about it. Sure one or two bits might be fiddly due to space constraints, but it shouldn&#8217;t be much more difficult than that. Let&#8217;s see how it goes&#8230;</p>
<h3>Putting it all together</h3>
<p>I&#8217;m guessing that anyone putting a system like this together is not a total newbie to system building &#8211; I&#8217;m sure you know your way around connecting the standard parts of a PC together. What I will do here is hit on the &#8220;highlights&#8221; and &#8220;gotchas&#8221;.</p>
<p>The case is very nicely made. Comes apart easily enough and the motherboard fits perfectly within. Four screws hold it in place. With reference to the manual most of the connection from chassis to board are straightforward. However do take care when choosing where to plug in the USB header &#8211; there are several blocks of pins which look like a fit, including the appropriate &#8220;missing pin&#8221; location. So check the manual first &#8211; some of those physically inviting blocks of pins are most certainly not USB, so you don&#8217;t really want to treat them as such&#8230;</p>
<p>The only other area of cabling that made me pause for thought was the front-panel to motherboard header. So that&#8217;s the four connections for:</p>
<ul>
<li>Power switch</li>
<li>Reset switch</li>
<li>Power LED</li>
<li>HDD LED</li>
</ul>
<p>The manual only identifies the pin-out of the header on a per-pin basis, so you actually have to think a little as to where the connectors attach. But attach they do.</p>
<p>The drive mounting is easy enough, and in such a small chassis one is extra pleased that SATA was invented. Fitting a SATA cable in place is heaps easier than one of the old 40/80-way ribbon connectors.</p>
<p>Since I chose not to install a CD drive in this chassis, I needed to leave the lid off and cable in, via IDE, a CD drive to perform the initial software install. Not difficult until you discover that you only have one disk power connector available, and that&#8217;s already piped to the hard disk. So make sure you&#8217;ve got a Y-cable handy for splitting off the power required for the temporary drive.</p>
<p>Here&#8217;s the bare chassis, prior to fitting anything:</p>
<p><a href="http://www.ipsidixit.net/wp-content/2008/01/2008-01-02_bobby_0438.jpg" title="Case"><img src="http://www.ipsidixit.net/wp-content/2008/01/2008-01-02_bobby_0438.jpg" alt="Case" height="400" width="600" /></a></p>
<p>And here&#8217;s the motherboard fitted to the chassis:</p>
<p><a href="http://www.ipsidixit.net/wp-content/2008/01/2008-01-02_bobby_0440.jpg" title="Case &amp; motherboard"><img src="http://www.ipsidixit.net/wp-content/2008/01/2008-01-02_bobby_0440.jpg" alt="Case &amp; motherboard" height="400" width="600" /></a></p>
<h3>So it worked first time, right?</h3>
<p>Everything connected, cabling checked. Drive mounting bracket screwed back in place over the motherboard. Screen attached. Keyboard plugged in. Power it up and&#8230; plaintive beep beep beeping. Oh bugger.After, I have to confess, several minutes of thinking and worrying I realise that I hadn&#8217;t plugged in the memory. Red face. Add some memory and it powers up a treat.</p>
<p>Here&#8217;s the finished article, insitu with some other items:</p>
<p><a href="http://www.ipsidixit.net/wp-content/2008/01/2008-01-07_bobby_0407.jpg" title="Finished server"><img src="http://www.ipsidixit.net/wp-content/2008/01/2008-01-07_bobby_0407.jpg" alt="Finished server" height="400" width="600" /></a></p>
<p>See <a href="http://www.ipsidixit.net/index.php/2008/02/18/home-server-software/">this third section</a> for how we actually build the software environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipsidixit.net/2008/01/17/home-server-hardware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a home server</title>
		<link>http://www.ipsidixit.net/2008/01/14/home-server-intro/</link>
		<comments>http://www.ipsidixit.net/2008/01/14/home-server-intro/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 20:07:35 +0000</pubDate>
		<dc:creator>sgroarke</dc:creator>
				<category><![CDATA[FPage]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ipsidixit.net/index.php/2008/01/14/62/</guid>
		<description><![CDATA[<p>Here we look at building a cheap, quiet and compact home media server.So what is a &#8220;home-media server&#8221;? Different things to different folks, but the box I&#8217;m going to build is actually to replace an existing unit which works fine but is too large and much too noisy.</p> What is a home server? <p>Like [...]]]></description>
			<content:encoded><![CDATA[<p>Here we look at building a cheap, quiet and compact home media server.So what <strong><em>is</em></strong> a &#8220;home-media server&#8221;? Different things to different folks, but the box I&#8217;m going to build is actually to replace an existing unit which works fine but is too large and much too noisy.</p>
<h3>What is a home server?</h3>
<p>Like many homes these days we have various PCs and client devices scattered around the house, all networked back to a central point and, if required, via that central point to each other. What sits at the centre? Internet access, a fat hard disk for backup of workstations&#8217; data and a couple of server-related functions. The server-side of things has several requirements:<span id="more-62"></span></p>
<ul>
<li>allow users to back up to a central location</li>
<li>allow users to access shared media (e.g. photos)</li>
<li>allow a media client (e.g. Pinnacle ShowCenter 1000) to access shared media (e.g. photos, audio and video files)</li>
<li>act as a Bit Torrent client (to allow the BitTorrent functionality to sit on a server rather than on workstations)</li>
</ul>
<p>Finally, the device also acts as a firewall. While most ADSL modem-cum-routers can themselves provide this functionality these days (and my LiveBox is no exception) the main reason for doing this is to allow QoS (Quality of Service) to be applied to BitTorrent streams so that interactive use of the Internet (e.g. web-browsing) is unaffected (by making sure BitTorrent traffic is of lower priority than other traffic).</p>
<h3>My starting point</h3>
<p>Today I have an old PC sitting there doing all of this. It was cheap (almost free, in so far as it was built from old components lying around the place) and works OKish. Apart from recent unexplained &#8216;glitches&#8217; (total system hang &#8211; no errors logged) which smell of hardware issues looming, it works well. But it&#8217;s large and noisy. Sure, I could buy a slightly smaller case, change/reduce fans and so forth. But that&#8217;s no fun. Let&#8217;s replace the whole thing with something really small and neat. Hence this project.</p>
<p>I&#8217;ll split the project in to two parts: building the hardware and then installing and configuring the software.</p>
<h3>Hardware requirements</h3>
<p>What are my key requirements for the hardware?</p>
<ul>
<li>Compact (something not too much bigger than, say, a typical DVD player &#8211; and preferably somewhat smaller)</li>
<li>Quiet</li>
<li>Headless (i.e. no screen or keyboard attached, although they must be possible for setting up and diagnostics)</li>
<li>Adequate performance for firewall and media-serving functions.</li>
</ul>
<h3>Software requirements</h3>
<p>What are my key requirements for the software?</p>
<ul>
<li>Firewall</li>
<li>Media server</li>
<li><a href="http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29" title="BitTorrent" target="_blank" id="abz:">BitTorrent</a> client</li>
<li>Remotely manageable</li>
<li>Filesharing to Windows or Linux</li>
<li>Free (<a href="http://www.gnu.org/philosophy/free-sw.html" title="Free as in beer and free as in liberty" target="_blank" id="m1fh">in every sense of the word&#8230;</a> )</li>
</ul>
<h3>Software choices</h3>
<p>Since I already have a box doing just this, let me summarise the software environment which will be more or less replicated on the new device:</p>
<ul>
<li><a href="http://www.ubuntu.com/products/WhatIsUbuntu/serveredition" title="Ubuntu server edition" target="_blank" id="c5nh">Ubuntu 7.10  &#8211; server edition</a> (A wonderful Linux distribution)</li>
<li>Firewall: Ubuntu, like almost any Linux distro, come with <a href="http://www.netfilter.org/" title="iptables" target="_blank" id="zfid">iptables</a>. However using this &#8220;raw&#8221; is hard work! So we will make use of <a href="http://www.shorewall.net/" title="Shorewall" target="_blank" id="i066">Shorewall</a> and <a href="http://www.webmin.com/" title="Webmin" target="_blank" id="u2lh">Webmin</a> to layer on top of it to make life easy and friendly.</li>
<li>Media server: the very wonderful <a href="http://www.panczyk.eu/linux/mtp_center_eng.html" title="MTPCenter 2.0" target="_blank" id="gpac">MTPCenter 2.0</a> is used.</li>
<li>BitTorrent: using <a href="http://tf-b4rt.berlios.de/" title="TorrentFlux" target="_blank" id="payg">torrentflux-b4rt</a> means that users can acccess the BitTorrent system from any PC via a web-browser. It works very well.</li>
<li>Remotely manageable: internally (i.e. within the house) we make use of Webmin. And for external ssh access we&#8217;ll set up a <a href="http://en.wikipedia.org/wiki/Port_knocking" title="Port Knocking" target="_blank" id="huwp">port-knocking daemon</a> to make sure we&#8217;re really secure (yeah, I know <a href="http://www.linux.com/articles/37888?theme=print" title="Cons" target="_blank" id="e80x">the arguments against it</a> &#8211; I work in security&#8230;).</li>
<li>Filesharing: built-in to Ubuntu, and we&#8217;ll allow Webmin to administer it.</li>
<li>Both the media server and the torrrentflux software require a &#8220;LAMP&#8221; environment (Linux &#8211; <a href="http://httpd.apache.org/" title="Apache" target="_blank" id="j8:h">Apache</a> &#8211; <a href="http://www.mysql.com/why-mysql/" title="MySQL" target="_blank" id="e3sy">MySQL</a> &#8211; <a href="http://www.php.net/" title="PHP" target="_blank" id="mie_">PHP</a>) Despite the fact that the <em>L</em>, <em>A</em> and <em>M</em> bits can actually be provided by different packages, we&#8217;re going to go with the standard set. They are anyway installed by default with Ubuntu server edition.</li>
</ul>
<h3>Hardware &#8211; more detail</h3>
<p>So now we move back to the hardware. Some slightly more detailed requirements:</p>
<ul>
<li>Totally fanless would be ideal, but I&#8217;m prepared to compromise. I do want a fanless motherboard (i.e. no CPU fan) but will tolerate a single not-too-small fan venting the case itself.</li>
<li>Network. 10/100 Ethernet will do (rather than 10/100/1000) as much of the client-connectivity is anyway wireless (802.11g) But a key requirement, since we&#8217;re going to be acting as a router/firewall is that we have <em>two</em> network interfaces.</li>
<li>How much CPU does it need? Very hard to actually quantify this, but experience says &#8220;Not much&#8221; A box such as this is almost entirely I/O limited, by network and, to a lesser extent, disk. Almost all that the CPU will do here is shift data in and out, with little manipulation.</li>
<li>Memory. One could actually run all of this in very little memory indeed. 64MB would work, but frankly these days why fret? It&#8217;s so cheap let&#8217;s stuff 512MB in there. That way we also have a nice buffer against getting bogged down occasionally, as we can use the RAM for caching. If I&#8217;d already got a spare 256MB stick of DDR400 (see later) I&#8217;d have gone with that. It really isn&#8217;t too critical.</li>
<li>Disk. I&#8217;m actually going to go with a slightly smaller disk than others might. Since I already have NAS (network attached storage) available for bulk storage, I&#8217;ll find 80GB massively more than enough. But one could just as easily pop something bigger in there. It&#8217;s really down to personal need.</li>
<li>Optical disk. Not bothering &#8211; I have no need for one. But one important caveat: for the initial build we will need one, albeit temporarily.</li>
<li>Form-factor: given the requirements above, <a href="http://en.wikipedia.org/wiki/Mini-ITX" title="mini-ITX" target="_blank" id="n73j">mini-ITX</a> seems the way to go. Smaller than that and it all gets harder to spec, particularly given the dual Ethernet requirement.</li>
</ul>
<h3>Components selected</h3>
<p>So finally we move on to the actual hardware ordered. The build list is:</p>
<ul>
<li><a href="http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=420" title="VIA web site" target="_blank" id="qhi5">VIA EPIA EK 8000EG 800MHz Fanless Dual LAN Motherboard</a></li>
<li>Black <a href="http://www.morex.com.tw/products/productdetail.php?fd_id=37" title="This, but in black..." target="_blank" id="ldjj">Morex 3688</a> Mini-ITX Case</li>
<li>512MB DDR400 DIMM &#8211; EPIA SP/ML/M/MII/EK Compatible</li>
<li>WD Scorpio 80GB 2.5in SATA 8GB Cache HDD</li>
<li>SATA Data and Power Cable</li>
</ul>
<p>The motherboard has heaps of features we won&#8217;t be making use of, but that&#8217;s always the way &#8211; these things come loaded with the kitchen sink. No matter. The case choice is very subjective. I liked the look of it. Disk: this model has better performance than many 2.5in disks.</p>
<p>All of this was ordered from <a href="http://www.mini-itx.com/" title="Mini-ITX" target="_blank" id="l0tq">mini-itx.com</a> &#8211; they are good. UK-based, but seem to ship anywhere. Prices are OK, they have an excellent selection and when they say &#8220;In stock&#8221; they seem to be telling the truth &#8211; unlike some other suppliers I could mention. Also, technically they seem to know what they are talking about. I have no affiliation to them at all &#8211; I&#8217;m just happy to recommend them.</p>
<p><a href="http://www.ipsidixit.net/index.php/2008/01/17/home-server-hardware/" title="Building the hardware">Building the hardware</a> and <a href="http://www.ipsidixit.net/index.php/2008/02/18/home-server-software/" title="Software">installing the software</a> will now cover the next steps! <a href="http://www.ipsidixit.net/index.php/2008/01/17/home-server-hardware/" title="Building the hardware">Read on&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipsidixit.net/2008/01/14/home-server-intro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pinnacle Showcenter 1000</title>
		<link>http://www.ipsidixit.net/2007/10/19/pinnacle-showcenter-1000/</link>
		<comments>http://www.ipsidixit.net/2007/10/19/pinnacle-showcenter-1000/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 12:55:55 +0000</pubDate>
		<dc:creator>sgroarke</dc:creator>
				<category><![CDATA[FPage]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ipsidixit.net/2007/10/19/58/</guid>
		<description><![CDATA[<p> Media servers for Pinnacle Showcenter 1000</p> <p>I&#8217;ve had a Pinnacle Showcenter 1000 for a while now. It was one of the first &#8220;simple client &#8211; smart server&#8221; devices around, and is still a great device for getting music, photos and video from a PC to a hi-fi stack and TV.</p> <p>The Showcenter itself [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ipsidixit.net/wp-content/2007/10/pinnacle_showcenter.jpg" alt="" hspace="20" vspace="20" width="153" height="97" align="left" /><strong><span style="text-decoration: underline;"> Media servers for Pinnacle Showcenter 1000</span></strong></p>
<p>I&#8217;ve had a <a id="xv2a" title="Actually link to the 200, but it's the same kind of thing..." href="http://www.pinnaclesys.com/PublicSite/us/Products/Consumer+Products/Digital+Media+Adapters/Digital+Media+Player/ShowCenter+200">Pinnacle Showcenter 1000</a> for a while now. It was one of the first &#8220;simple client &#8211; smart server&#8221; devices around, and is still a great device for getting music, photos and video from a PC to a hi-fi stack and TV.</p>
<p>The Showcenter itself is physically located with the TV / HiFi, with a network connection back to the media server. The Showcenter has various video and audio outputs and, for the network connection back to the server, supports wired or wireless Ethernet.</p>
<p><span id="more-58"></span>Like a lot of early adopters, I originally purchased the optional wireless PCMCIA card, but that was a constant headache &#8211; the signal strength was never good. A much better option, given that I had to have a wireless connection, was to use an external wireless adapter. Of course wired Ethernet is always to be preferred to wireless, where possible.</p>
<p>Oh, and as an aside, here&#8217;s a top tip for the Pinnacle and, I guess, many other media server setups involving wireless: never have more than one wireless &#8220;hop&#8221;! For example I once had things set up with a wireless connection from the Showcenter, and then another wireless connection from the media server (so we hop from Showcenter to access point, then from access point on to the server) This is not a good idea. I suppose one could use <em>ad-hoc wireless</em> mode to have the Showcenter talk directly to the server, but that&#8217;s unlikely to be a good idea in practice. Stick to the rule of only one wireless hop.</p>
<p>So the Showcenter itself is a pretty much static device &#8211; no real config possible, other than the basics to establish connectivity of course, and no real &#8220;smarts&#8221;. The device is really a dedicated web-client, geared specifically towards receiving streamed video and audio. Standard codecs are embedded and generally just work as they should. All the clever stuff is provided by the server and its software. In this article I briefly look at the standard offering and some (better) alternatives.</p>
<p><strong><span style="text-decoration: underline;">Alternative servers?</span></strong></p>
<p>The Showcenter itself comes with a full suite of software to provide the server functionality. Also, several open-source projects have sprung up (and some died down again later&#8230;!) to provide similar functionality.</p>
<p>The Pinnacle software suite is&#8230;. well, it works as advertised but with some significant aspects which bugged me. Whether they would bug someone else I cannot say. But I think they might. The functionality they provide in the standard suite is, from memory, covering these major areas:</p>
<ul>
<li>Ability to add new media (video, audio and photos) to a library</li>
<li>Ability to automatically detect newly-added media</li>
<li>Ability to convert certain media types to a format supported by the hardware device</li>
<li>Ability, of course, to access the media! So to stream video or audio, and display photos to the hardware device.</li>
</ul>
<p>The Pinnacle suite does all of those, of course. But at a price, and with some limitations. First off, the software install is big. Really really big. I have to say that it&#8217;s probably 2 years since I used it, so my memory may not be entirely accurate, but the install package is about 200MB. That&#8217;s a lot of software. Also, it <em>installs</em> a lot of software too, not least Microsoft&#8217;s SQL database server, and a load of (early generation) .NET stuff. I have an instinctive dislike of software packages which are bloated (their size and complexity is out of proportion to their useful functionality) and believe me this lump of code falls in to the category of &#8220;Seriously Bloated&#8221;. Also, given the complexity, beware when things go wrong &#8211; I once had their suite of software in a state where it did not work BUT you could neither re-install it nor even remove it completely. Headache time. Oh, and did I mention one significant limitation of the suite? It works on Windows only.</p>
<p>Of two keys area identified above, one was unreliable and the other was overrated. Identifying newly added media: unreliable. You can designate certain folders as &#8220;Watched&#8221; folders, the idea being that when you add something to that folder&#8217;s sub-hierarchy its presence is detected automatically and made available for use. Great, when it worked. Frustrating when it frequently didn&#8217;t.</p>
<p>As for the media conversion: overrated. Now this is subjective on my part: maybe it&#8217;s a killer feature for some, but not for me. My photos are almost always JPEG, with some other formats which the hardware also supports natively anyway. My music is MP3. My video is always DivX or MPEG-4 (or one of the compatible variants) So my media does not need conversion. In the rare cases where it did, I could use any one of a number of utilities to achieve it &#8211; I didn&#8217;t need the Pinnacle software to do it for me.<br /> <br style="text-decoration: underline; font-weight: bold" /><strong><span style="text-decoration: underline;">Windows only?</span></strong><br /> The fact that the Pinnacle software is Windows only is maybe not an issue if you have a single PC in the house, and it runs Windows anyway. Why would you care? Well, you wouldn&#8217;t. But if you have a little server tucked away somewhere running Linux, then you can&#8217;t use it for serving the Showcenter, at least according to Pinnacle.  All the other solutions I shall look at below will run on either Linux or Windows (or a number of other operating systems too) That&#8217;s called freedom of choice. It&#8217;s a Good Thing.<br /> <br style="font-weight: bold; text-decoration: underline" /><strong><span style="text-decoration: underline;">Any other features?</span></strong><br /> There&#8217;s one minor feature of the Pinnacle software which, as we will see, is missing from some of the alternatives: video resume. If you stop a video&#8217;s playback you can return to the point at which you stopped it at a later time. Sounds minor, bu this is a really very useful feature in practice.</p>
<p><strong><span style="text-decoration: underline;">Who are the contenders?</span></strong><br /> Apart from the Pinnacle package, we&#8217;ll also take a look at <a id="qo7l" title="Oxylbox" href="http://www.oxyl.de/">Oxylbox</a>, <a id="ymrm" title="Swisscenter" href="http://www.swisscenter.co.uk/">Swisscenter</a> and <a id="tqb0" title="MTPCenter" href="http://www.panczyk.eu/linux/mtp_center_eng.html">MTPCenter</a>.</p>
<p><strong><span style="text-decoration: underline;">Languages?</span></strong><br /> No, not computer languages, human ones&#8230; Oxylbox is produced by a predominantly German group of developers. The software itself is in multiple languages (as are the others). MTPCenter is <em>also</em> produced by a German developer, while Swisscenter comes from the UK (so English). Since I am an English speaker, I evaluate these products as an English-speaker. Unfortunately I do not speak any German at all&#8230; The Swisscenter is therefore linguistically fine for me: both the web-site and the forums. Oxylbox is, well, difficult. Really quite tricky. That&#8217;s not a criticism, merely an observation that if you don&#8217;t speak German Oxylbox is hard work to get going and also the forums are of little use. MTPCenter&#8217;s web-site is also fully available in English, as well as German. And while the forums are primarily in German, the non-German sections appear quite busy and, key, the developer himself appears to frequently respond to posts in English.<br /> <br style="text-decoration: underline; font-weight: bold" /><strong><span style="text-decoration: underline;">Some features</span></strong></p>
<table id="q07z" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td></td>
<td style="text-align: center"><strong>Database<br /> </strong></td>
<td style="text-align: center" valign="top"><strong>Platform<br /> </strong></td>
<td style="text-align: center"><strong>Watch folders<br /> </strong></td>
<td style="text-align: center"><strong>Web server<br /> </strong></td>
<td style="text-align: center"><strong>Movie resume<br /> </strong></td>
<td style="text-align: center"><strong>Actively developed?<br /> </strong></td>
</tr>
<tr>
<td style="text-align: center"><em>Pinnacle<br /> </em></td>
<td style="text-align: center">MS SQL</td>
<td style="text-align: center" valign="top">Windows only</td>
<td style="text-align: center">Fast</td>
<td style="text-align: center">Built-in</td>
<td style="text-align: center">Yes</td>
<td style="text-align: center">No</td>
</tr>
<tr>
<td style="text-align: center"><em>Oxylbox<br /> </em></td>
<td style="text-align: center">None</td>
<td style="text-align: center" valign="top">Various</td>
<td style="text-align: center">Implicit</td>
<td style="text-align: center">Various</td>
<td style="text-align: center">No</td>
<td style="text-align: center">No</td>
</tr>
<tr>
<td style="text-align: center"><em>Swisscenter<br /> </em></td>
<td style="text-align: center">MySQL</td>
<td style="text-align: center" valign="top">Various</td>
<td style="text-align: center">Periodic</td>
<td style="text-align: center">Various</td>
<td style="text-align: center">No</td>
<td style="text-align: center">Periodically</td>
</tr>
<tr>
<td style="text-align: center"><em>MTPCenter<br /> </em></td>
<td style="text-align: center">MySQL</td>
<td style="text-align: center" valign="top">Various</td>
<td style="text-align: center">Periodic</td>
<td style="text-align: center">Various or streamer</td>
<td style="text-align: center">Yes (with streamer)</td>
<td style="text-align: center">Yes</td>
</tr>
</tbody>
</table>
<p><em><span style="text-decoration: underline;">Database:</span></em> All but <em>Oxylbox</em> make use of a database to store media and/or information about media. This has the advantage that a disparate selection of media (disparate in one or more ways: location, type, meta-data, etc.) are pulled together into a coherent view, making subsequent searching and selection easy. The disadvantage, of course, is that the database needs to be built and updated as media come and go (see Watch Folders) <em>Oxylbox</em> takes a different approach: it demands that your data is already arranged in a sufficiently structured manner in the server&#8217;s file system, and uses this structure as the implicit database. If your data is indeed already well organised, then this approach has huge merit. For example, all my photos are in folders arranged by year, and in each of those are 12 folders for each months, etc. <em>Oxylbox</em> just takes this as its own view too, and hence does not need to build a database of any complexity. Of course whether or not this would suit you depends on how organised your media already are.</p>
<p><em><span style="text-decoration: underline;">Platform:</span></em> Pinnacle is Windows-only (and as for if it&#8217;s Vista compatible &#8211; I have no idea) Tthe others can be run on multiple platforms, although for simplicity we&#8217;ll divide the world in to Windows and Linux. Since all three non-Pinnacle suites are written in <a id="gnkn" title="PHP" href="http://php.net/">PHP</a>, they require a web-server with PHP capability (e.g. <a id="uin1" title="Apache" href="http://httpd.apache.org/">Apache</a>, <a id="k92h" title="lighttpd" href="http://www.lighttpd.net/">lighttpd</a> ). They also require a <a id="r6ut" title="MySQL" href="http://www.mysql.com/">MySQL</a> database. That all sounds ominously complicated if you&#8217;re not in to server software, but what we really mean is they run on a <a id="z5dx" title="LAMP server" href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29">LAMP server</a> or a <a id="qe3w" title="WAMP server" href="http://en.wikipedia.org/wiki/Comparison_of_WAMPs">WAMP server</a> &#8211; and you can get hold of ready-to-go bundles of software that fit that bill. Trsut me &#8211; it&#8217;s not as scary as you might think.</p>
<p><em><span style="text-decoration: underline;">Watch folders:</span></em> This relates to how new media are added to the server so that they are available for use. In the case of <em>Oxylbox,</em> just putting the data in the correct location will, implicitly, make it available for use. With the other suites, all of which make use of a database, they require a mechanism for updating that database upon new media being detected. <em>Pinnacle</em> has an elegant solution: folders are designated as <em>Watch Folders</em> and newly added media are quickly detected if placed within these locations. Unfortunately it may be elegant, but it&#8217;s also (or was two years ago) very unreliable&#8230; <em>Swisscenter</em> allows you to specify periodic database updates during which it will detect new media. For example, when I use <em>Swisscenter</em> I have it check all the media locations at 4am and update the database with any new items it finds. One can also manually kick off an update to force new media to be spotted within a few minutes.</p>
<p><em><span style="text-decoration: underline;">Web server:</span></em> What a minefield! Well <em>Pinnacle</em> is simple: no choice, you use what&#8217;s built in. The others allow choice: the most popular is (probably) <em>Apache.</em> However the use of a &#8220;standard&#8221; web server means lack of one feature: the &#8220;resume video where you stopped it&#8221; feature. I had a dialogue with folks on the <em>Swisscenter</em> forums a while back about this very subject, and the conclusion was that adding the functionality was very tricky indeed, due to the way Apache, and other web servers, stream media. <em>MTPCenter</em> has an optional streaming server with it, which does allow such video-resume functionality.</p>
<p><em><span style="text-decoration: underline;">Actively developed:</span></em> This is based on my observation of the web sites and their associated forums. <em>Oxylbox</em> forums appear fairly active, but the codebase itself seem pretty old now. <em>Swisscenter</em> is definitely active, but seems to go very much in fits and spurts &#8211; nothing for months then some new fixes or features come along. <em>MTPCenter</em> seems the most active of the suites. Note that there&#8217;s certainly not a required correlation between project activity and &#8220;quality&#8221; &#8211; but we all like to use something that&#8217;s not too old, if only so we can get bugs fixed and help from other people.</p>
<p><strong><span style="text-decoration: underline;">Which to use?</span></strong><br style="font-weight: bold; text-decoration: underline" /><em>Pinnacle?</em> Well, it mostly works, but it&#8217;s a resource hog. If you have a spare Windows PC you can dedicate to it, then it&#8217;s not so bad. But if you need it to reside on a workstation also used for other tasks then prepare to get annoyed. It&#8217;s inelegant, buggy and a resource hog.</p>
<p><em>Oxylbox?</em> I used it for quite some time. It was tricky to install, in large part due to my lack of German-languages skills. The plug-in architecture is quite nifty, with great potential. The lack of video-resume is (for me anyway&#8230;) a negative. The project also appears to be in slow decline.</p>
<p><em>Swisscenter?</em> I also used this for a while. It&#8217;s really pretty good. English support available from the forums, and the product feels solid and reliable. As with <em>Oxylbox,</em> no video-resume (although I think, but have not verified, that the Windows version does have this feature) Development is sporadic, but the project is definitely alive. Worth a try.</p>
<p><em>MPTCenter?</em> This is the one I have least experience with, but also believe holds the most promise. The core functionality is all there and working fine, with the addition of an optional streaming server for Linux, thus facilitating video-resume. While German in origin, the project appears less exclusively German than <em>Oxylbox!</em> The forums and web-site seem to offer a comfortable place for non-German speakers. I&#8217;d recommend it ahead of the others, by a whisker.</p>
<p>Isn&#8217;t Open Source / Free Software wonderful? Three different groups of developers making freely available products which, in my opinion, <strong>all</strong> beat that offered by a commercial software developer. Try all three &#8211; I&#8217;d hate to put anyone off using any one of them. I hope my subjective views and thoughts might help guide your choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipsidixit.net/2007/10/19/pinnacle-showcenter-1000/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

