<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Tom Moertel's Weblog: Tag hardware</title>
    <link>http://blog.moertel.com/articles/tag/hardware?tag=hardware</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Quality rants on programming theory and stuff geeks like</description>
    <item>
      <title>Repairing my Kenwood A/V receiver's remote-control sensor</title>
      <description>&lt;p&gt;The Kenwood audio-video receiver that forms the core of my
home theater system stopped responding to its remote control.  As I
discovered shortly thereafter, having to leave the couch to fiddle
with knobs degrades the &amp;#8220;home theater experience.&amp;#8221;  Clearly, something
had to be done.&lt;/p&gt;


	&lt;p&gt;I knew the receiver was the culprit because the remote control worked fine
with other components of my system.  I figured the IR sensor had gone
bad and did a little Googling for &amp;#8220;Kenwood&amp;#8221; and &amp;#8220;IR sensor&amp;#8221; and
&amp;#8220;problem&amp;#8221;.  The results revealed that 
&lt;a href="http://www.avsforum.com/avs-vb/archive/index.php/t-288086.html"&gt;many other Kenwood customers had the same
problem&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;The cause of the problem, I learned, was that the solder joints which
connect the IR sensor&amp;#8217;s leads to the display board eventually fail
because of thermal expansion.  That explanation seemed to account for
what I was observing, so I cracked the case in search
of visual confirmation.&lt;/p&gt;


	&lt;p&gt;First, I found the joints where the IR sensor was connected to the
circuit board.  The vertical red line shows where I found them:&lt;/p&gt;


&lt;p class="photo"&gt;&lt;img src="http://community.moertel.com/~thor/blog/pix-20070525/receiver-insides.jpg" title="The insides of my Kenwood receiver" alt="The insides of my Kenwood receiver" /&gt;&lt;/p&gt;

	&lt;p&gt;Then I examined the joints closely.  Sure enough, at least one had completely failed:&lt;/p&gt;


&lt;p class="photo"&gt;&lt;img src="http://community.moertel.com/~thor/blog/pix-20070525/problem-close.jpg" title="Failing solder joints" alt="Failing solder joints" /&gt;&lt;/p&gt;

	&lt;p&gt;The problem confirmed, I moved to the solution phase of the project.
With my soldering iron, I touched-up the joints:&lt;/p&gt;


&lt;p class="photo"&gt;&lt;img src="http://community.moertel.com/~thor/blog/pix-20070525/repair.jpg" title="The repair: re-solder the joints" alt="The repair: re-solder the joints" /&gt;&lt;/p&gt;

	&lt;p&gt;It wasn&amp;#8217;t my best work, but it did the job.&lt;/p&gt;


	&lt;p&gt;Now my receiver is back on speaking terms with its remote control,
and I have returned to the modern world.  Life is good&lt;/p&gt;</description>
      <pubDate>Fri, 25 May 2007 17:42:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:284a75df-cbc2-47ba-ac5d-fe136f4f057d</guid>
      <author>Tom Moertel</author>
      <link>http://blog.moertel.com/articles/2007/05/25/repairing-my-kenwood-a-v-receivers-remote-control-sensor</link>
      <category>hardware</category>
      <category>hardware</category>
      <category>kenwood</category>
      <category>receiver</category>
      <category>ir</category>
      <category>soldering</category>
      <category>repairs</category>
      <trackback:ping>http://blog.moertel.com/articles/trackback/465</trackback:ping>
    </item>
    <item>
      <title>How to make sure your servers come back up after an extended power outage</title>
      <description>&lt;p&gt;If an extended power outage drains your &lt;span class="caps"&gt;UPS&lt;/span&gt;, and your servers are
forced to shut down, will they automatically start up again when the
power is eventually restored?  It&amp;#8217;s a good question, especially
if your servers are in some distant, unattended server room.
Unless you&amp;#8217;ve tested your servers, don&amp;#8217;t assume that the answer
is Yes.&lt;/p&gt;


	&lt;p&gt;Many servers offer a &lt;span class="caps"&gt;BIOS&lt;/span&gt; configuration option that forces them to
automatically power on when they receive line voltage.  If your
servers have this option, just set it and you&amp;#8217;re done.&lt;/p&gt;


	&lt;p&gt;Unfortunately, some servers, including a Dell PowerEdge 1600SC
that I&amp;#8217;m using, lack this configuration option.  When these servers
turn themselves off as the final step of a &lt;span class="caps"&gt;UPS&lt;/span&gt;-controlled
shutdown, they don&amp;#8217;t start up again when the power is restored.
Because they were shut down &lt;em&gt;before&lt;/em&gt; the power was cut off, they think
they are supposed to remain off when the power is restored.  That is,
they remember their on/off status across power outages.&lt;/p&gt;


	&lt;p&gt;Fortunately, there is a way to make sure these servers automatically
power on: shut them  down without powering them off; halt them
instead.  That way, when the &lt;span class="caps"&gt;UPS&lt;/span&gt; finally cuts off the supply voltage,
the servers will still be in their &amp;#8220;on&amp;#8221; state, and they will remember
this state across the outage. Later, when the power is restored, the servers
will automatically restore their pre-outage state and power up.&lt;/p&gt;


	&lt;p&gt;With Fedora Core Linux and &lt;a href="http://www.networkupstools.org/"&gt;Network &lt;span class="caps"&gt;UPS&lt;/span&gt;
Tools&lt;/a&gt;, it&amp;#8217;s not difficult to make
sure the servers are halted instead of powered off, but the implementation
isn&amp;#8217;t obvious.  To spare you the digging, here are the
important bits.&lt;/p&gt;


&lt;ol&gt;

&lt;li&gt;When the power fails and the &lt;span class="caps"&gt;UPS&lt;/span&gt;-monitoring software decides that
the batteries are almost depleted, it will initiate a server shutdown
using the command defined in the &lt;code&gt;/etc/ups/upsmon.conf&lt;/code&gt;
file.  The default command is this:

&lt;pre&gt;&lt;code&gt;SHUTDOWNCMD "/sbin/shutdown -h +0" 
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;li&gt;The shutdown command will tell the &lt;code&gt;init&lt;/code&gt; process
to enter runlevel 0, which is the prepare-to-halt-the-system runlevel.&lt;/li&gt;

&lt;li&gt;The &lt;code&gt;init&lt;/code&gt; process will stop all of the running
services in an orderly fashion, and then, as the last step, invoke the
final script in the shutdown process:
&lt;code&gt;/etc/rc.d/rc0.d/S01halt&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;The final lines of the &lt;code&gt;S01halt&lt;/code&gt; script will
power off the server.  Unless, that is, the file &lt;code&gt;/halt&lt;/code&gt; is
present, in which case the script will halt the server instead.&lt;/li&gt;

&lt;/ol&gt;

	&lt;p&gt;Thus the trick is to make sure that the &lt;code&gt;/halt&lt;/code&gt;
file &lt;em&gt;does&lt;/em&gt; exist.  The trick turns out to be easy to pull off;
just redefine the shutdown command in &lt;code&gt;/etc/ups/upsmon.conf&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;SHUTDOWNCMD "/bin/touch /halt; /sbin/shutdown -h +0" 
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;And that&amp;#8217;s all there is to it!&lt;/p&gt;</description>
      <pubDate>Wed, 09 Aug 2006 00:35:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:488c24a8-dcb3-4015-8d8e-09f6267e6051</guid>
      <author>Tom Moertel</author>
      <link>http://blog.moertel.com/articles/2006/08/09/how-to-make-sure-your-servers-come-back-up-after-an-extended-power-outage</link>
      <category>linux</category>
      <category>hardware</category>
      <category>sysadmin</category>
      <category>hardware</category>
      <category>ups</category>
      <category>linux</category>
      <category>fedora</category>
      <category>nut</category>
      <category>power</category>
      <category>shutdown</category>
      <category>halt</category>
      <trackback:ping>http://blog.moertel.com/articles/trackback/151</trackback:ping>
    </item>
    <item>
      <title>Replacing the fan array in my HP ProCurve 4000M switch</title>
      <description>&lt;p style="float:right"&gt;&lt;a href="http://community.moertel.com/~thor/pix/20051111-procurve/"&gt;&lt;img src="http://community.moertel.com/~thor/pix/20051111-procurve/thumbnails/img_0835-wm.jpg" title="replacing the fans in a 4000m switch" alt="replacing the fans in a 4000m switch" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;The main network switch in my home office is an &lt;a href="ftp://ftp.hp.com/pub/networking/software/59676916.pdf"&gt;HP ProCurve
4000m&lt;/a&gt;, which 
has been running non-stop for over half a decade.  It is a great
switch, and even though it is getting old, it is still dependable.&lt;/p&gt;


	&lt;p&gt;A while ago I noticed that the 4000m&amp;#8217;s fault indicator was
lit.  So I logged into the switch and checked the log:  fan
1 was dead.  The switch has built-in redundancy (three fans),
and so I didn&amp;#8217;t worry about it, but I did call HP ProCurve
tech support.&lt;/p&gt;


	&lt;p&gt;The woman I spoke with was friendly and helpful.  I told her what was
wrong, and she said a new fan array would
be on my doorstep within 48 hours.  No charge.  (I guess the
ProCurve warranty really is worth something.)&lt;/p&gt;


	&lt;p&gt;Today, I installed the array.  This meant opening up the switch,
which is a fun thing to do.  If you are curious about what is inside
of a 4000m, &lt;a href="http://community.moertel.com/~thor/pix/20051111-procurve/"&gt;I took photos of the operation&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;During the process, I recalled why I love old-style HP engineering:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The replacement parts came with clear instructions
  that showed me how to remove the old array and install the new one.
  They were easy to follow and didn&amp;#8217;t leave anything to guess.&lt;/li&gt;
		&lt;li&gt;The 4000m is solid &amp;#8211; inside and out.&lt;/li&gt;
		&lt;li&gt;The electrical components are top quality.&lt;/li&gt;
		&lt;li&gt;The industrial engineering is superb.  For example, all of the user-removable
  screws have non-stripping torx heads and are designed &lt;em&gt;not&lt;/em&gt; to fall
  out and get lost; instead they remain attached to the module or
  panel you are removing.  (See &lt;a href="http://community.moertel.com/~thor/pix/20051111-procurve/img_0835-wm.jpg"&gt;this photo of removed modules&lt;/a&gt;
  to see how the screws stay in place.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Everything about the process made me think, &lt;em&gt;wow, this is really well engineered&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;The thing is, I know, as I sit here and watch the blinking LEDs on my
now-restored 4000m, that my next network switch will probably be a
Dell.&lt;/p&gt;


	&lt;p&gt;As much as I love the ProCurve engineering, the Dell price is
compelling.  Even if I expect the Dells to fail twice as often (and
the Dell warranties &lt;em&gt;are&lt;/em&gt; comparatively lame), I can buy twice as
many Dells and keep spares on the shelf &amp;#8211; and still save money
compared to the equivalent ProCurve equipment.&lt;/p&gt;


	&lt;p&gt;I find the situation somewhat sad.  I am an engineering guy to the
core.  So when &lt;em&gt;I&lt;/em&gt; go for the cheaper product because it is &lt;em&gt;so darn cheap&lt;/em&gt;,
I know that much of the market will do likewise.  That bodes ill
for HP.  Like HP&amp;#8217;s calculators, the ProCurves too may pass into
history.&lt;/p&gt;</description>
      <pubDate>Fri, 11 Nov 2005 21:42:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e4dc96cdd46f60872cb5b6f4c3fc3151</guid>
      <author>Tom Moertel</author>
      <link>http://blog.moertel.com/articles/2005/11/11/replacing-the-fan-array-in-my-hp-procurve-4000m-switch</link>
      <category>photography</category>
      <category>hardware</category>
      <category>engineering</category>
      <category>hardware</category>
      <category>hp</category>
      <category>networking</category>
      <category>4000m</category>
      <category>engineering</category>
      <category>photos</category>
      <category>switch</category>
      <trackback:ping>http://blog.moertel.com/articles/trackback/14</trackback:ping>
    </item>
  </channel>
</rss>
