<?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>Eric&#039;s Blog</title>
	<atom:link href="http://sandeen.net/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://sandeen.net/wordpress</link>
	<description>I have no idea.</description>
	<lastBuildDate>Wed, 19 Jun 2013 18:37:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Amazon cancels Minnesota affiliates</title>
		<link>http://sandeen.net/wordpress/wtf/amazon-cancels-minnesota-affiliates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=amazon-cancels-minnesota-affiliates</link>
		<comments>http://sandeen.net/wordpress/wtf/amazon-cancels-minnesota-affiliates/#comments</comments>
		<pubDate>Tue, 18 Jun 2013 13:52:30 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1167</guid>
		<description><![CDATA[[Note, if you're looking for an alternative, you might try VigLink; I'm giving that a shot now to see how it goes.] Well, it happened.  First and foremost, I&#8217;ve always tried to make my blog interesting to readers interested in &#8230; <a href="http://sandeen.net/wordpress/wtf/amazon-cancels-minnesota-affiliates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><em>[Note, if you're looking for an alternative, you might try <a href="http://www.viglink.com/?vgref=1012293">VigLink</a>; I'm giving that a shot now to see how it goes.]</em></p>
<p>Well, it happened.  First and foremost, I&#8217;ve always tried to make my blog interesting to readers interested in technology &amp; energy, and in the process I&#8217;ve sometimes linked out to relevent products on Amazon, to make me a little beer money.  I&#8217;ve tried not to be too annoying or gratuitous about it, but it did help a little to offset the ISP charges etc.  But today I got this email:</p>
<blockquote><p>We are writing from the Amazon Associates Program to notify you that your Associates account will be closed and your Amazon Services LLC Associates Program Operating Agreement will be terminated effective June 30, 2013. This is a direct result of the unconstitutional Minnesota state tax collection legislation passed by the state legislature and signed by Governor Dayton on May 23, 2013, with an effective date of July 1, 2013. As a result, we will no longer pay any advertising fees for customers referred to an Amazon Site after June 30 nor will we accept new applications for the Associates Program from Minnesota residents.</p></blockquote>
<p>As near as I can tell, Amazon has neatly evaded the law, which <a href="https://www.revisor.mn.gov/bills/text.php?session=ls88&amp;number=HF677&amp;session_number=0&amp;session_year=2013&amp;version=list">added</a>:</p>
<blockquote><p><span style="text-decoration: underline">(b) A retailer is presumed to have a solicitor in this state if it enters into an agreement with a resident under which the resident, for a commission or other substantially similar consideration, directly or indirectly refers potential customers, whether by a link on an Internet Web site, or otherwise, to the seller.</span></p></blockquote>
<p>So: Chuck out all the affiliates, collect no tax, done and done.  The state is no better off, and the bloggers in the state are worse off.  This is exactly what has happened in other states, so it should come as no surprise to our esteemed legislators.  I get it that states are hurting from dropping sales tax from brick and mortar stores and are looking for solutions, but it should have been obvious to anyone paying attention that this law would have very little effect when it&#8217;s this simple for places like Amazon to avoid it.</p>
<p>I was tempted to purge all links to Amazon from the blog &#8211; why send my good readers there for free?  ;)  But going forward, I guess I&#8217;ll try <a href="http://www.viglink.com/?vgref=1012293">VigLink</a>, which is sort of an affiliate of affiliates, and seems immune from this kind of thing, at least for now.  It looks trivial to switch over to w/o needing to go fix up any existing articles.  Hopefully it won&#8217;t make me look too craven; I&#8217;ll fine tune it as we go along.</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/wtf/amazon-cancels-minnesota-affiliates/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Running the numbers on Minnesota&#8217;s solar mandate</title>
		<link>http://sandeen.net/wordpress/energy/running-the-numbers-on-minnesotas-solar-mandate/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=running-the-numbers-on-minnesotas-solar-mandate</link>
		<comments>http://sandeen.net/wordpress/energy/running-the-numbers-on-minnesotas-solar-mandate/#comments</comments>
		<pubDate>Sat, 08 Jun 2013 22:23:41 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Energy]]></category>
		<category><![CDATA[Renewable]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1160</guid>
		<description><![CDATA[At the end of the 2013 legislative session in Minnesota, legislators passed an omnibus energy bill which included, among other things, a requirement that investor-owned utilities in Minnesota (Read: Xcel Energy) must generate 1.5% of their electricity from solar by &#8230; <a href="http://sandeen.net/wordpress/energy/running-the-numbers-on-minnesotas-solar-mandate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>At the end of the 2013 legislative session in Minnesota, legislators passed <a href="https://www.revisor.mn.gov/bills/text.php?number=HF956&amp;type=CCR&amp;version=A&amp;session=ls88&amp;session_year=2013&amp;session_number=0">an omnibus energy bill</a> which included, among other things, a requirement that investor-owned utilities in Minnesota (Read: Xcel Energy) must generate 1.5% of their electricity from solar by 2020.  There were a lot of other things in there as a result of the <del>sausage</del> law-making process for the solar mandate, including some that I&#8217;m not very fond of, but the bottom line of encouraging more solar development is a good thing in my book.  (Also, it was signed into law on my birthday!)</p>
<p><a title="Solar Panels @ Minnesota State Fair by kevinthoule, on Flickr" href="http://www.flickr.com/photos/kevint/310868087/"><img class="aligncenter" alt="Solar Panels" src="http://farm1.staticflickr.com/120/310868087_2d71a39422.jpg" width="500" height="375" /></a>1.5% doesn&#8217;t sound like a whole lot, but what does it really mean in terms of physical solar PV deployments?  Numbers have been tossed around that this will require 450MW of new capacity in the next 7 years.</p>
<p>Assuming the 450MW number is correct, and picking 250W panels as a common panel size today, that&#8217;s 450,000,000 / 250 = 1,800,000 or 1.8 million panels installed by 2020.  That&#8217;s about 700 panels installed every day for 7 years.</p>
<p>If commodity sized (65x39cm) panels are used, that&#8217;s about 112 acres of panels (if they were laid out flat and edge to edge, which of course they aren&#8217;t) ;)  That&#8217;s roughly equivalent to 112 US football fields.</p>
<p>Is this possible?  Sure.  <a href="http://www.scientificamerican.com/article.cfm?id=austria-installed-230-mw-of-solar-c-2013-04">Austria installed 230MW in 2012</a> alone.  <a href="http://www.seia.org/state-solar-policy/new-jersey">New Jersey installed 415MW in 2012</a>.  And Minnesota gave itself 7 years to accomplish this goal.</p>
<p>Is 450MW the right number?  According to the NREL <a href="http://rredc.nrel.gov/solar/calculators/PVWATTS/version1/US/Minnesota/Minneapolis.html">PVWatts calculator for Minneapolis</a>, 450MW of optimally situated, fixed solar PV could be expected to generate <span style="font-size: medium">578,512</span> MWh of solar energy in the course of a year.</p>
<p>According to the <a href="http://www.eia.gov/electricity/data/browser/">EIA energy data browser</a>, all utilities (including co-ops etc) in Minnesota generated 42,586,000 MWh in 2012.  578,512MWh is about 1.3% of that number.  Xcel is by far the largest generator, so if we take out the smaller co-ops etc, 450MW does seem like a reasonable ballpark number.</p>
<p>There are already large companies ready to jump at this.  <a href="http://stmedia.startribune.com/documents/Geronimo+solar+proposal.pdf">Geronimo Energy has submitted a proposal</a> to provide up to 100MW of capacity at up to 31 sites ranging from 2 to 10MW.  I honestly hope this isn&#8217;t the predominant mode of development.  We have an awful lot of flat roofs which would be well suited &#8211; for example, Ikea put <a href="http://www.startribune.com/business/167680535.html">1MW on their Minnesota store </a>last year.  100 acres or so isn&#8217;t all that much land, but I&#8217;d still rather see this go up on the built environment before we start using farmland &amp; green space.</p>
<p>I&#8217;m excited to see how this works going forward.  Will my friends in the small-scale solar installation business stay busy?  Will SolarCity come to town?  Will companies like Geronimo make up the bulk of this with giant installations?  Will it r<a href="http://www.midwestenergynews.com/2013/06/06/with-more-solar-on-the-way-does-xcel-need-more-gas-peakers/">educe the need for new gas peaker plants</a>?  Time will tell, but it&#8217;s an exciting time for solar in Minnesota, for sure.</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/running-the-numbers-on-minnesotas-solar-mandate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enphase Solar Microinverter Clipping Analysis</title>
		<link>http://sandeen.net/wordpress/energy/enphase-solar-microinverter-clipping-analysis/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enphase-solar-microinverter-clipping-analysis</link>
		<comments>http://sandeen.net/wordpress/energy/enphase-solar-microinverter-clipping-analysis/#comments</comments>
		<pubDate>Sat, 25 May 2013 21:08:52 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Energy]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Renewable]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1143</guid>
		<description><![CDATA[I wanted to look at how much the &#8220;clipping&#8221; behavior of power-limited solar microinverters affected my annual energy production.  The TL;DR version is: at worst, only about 0.6% loss due to clipping.  For more, read on. A photovoltaic inverter is &#8230; <a href="http://sandeen.net/wordpress/energy/enphase-solar-microinverter-clipping-analysis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I wanted to look at how much the &#8220;clipping&#8221; behavior of power-limited solar microinverters affected my annual energy production.  The TL;DR version is: at worst, only about 0.6% loss due to clipping.  For more, read on.<span id="more-1143"></span></p>
<p>A photovoltaic inverter is a device which converts the DC energy from the panel into AC energy for the grid; it also manages optimum power point tracking.  Traditionally this was done with a big central inverter for all panels combined; recently companies such as <a href="https://enphase.com/">Enphase Energy</a> have started making microinverters, which are per-panel devices.  One advantage of these devices is that each panel operates independently so that if one panel is shaded, damaged, or dirty, it doesn&#8217;t affect the rest of the array.</p>
<p>I have 11 230W Solar PV panels on my roof with an <a href="http://enphase.com/m190-m210/">Enphase M190 micronverter</a> on each.  These are nominally 190W devices, though in practice they have a maximum output of 199W.  (Note, these are 3 year old models; Enphase now has <a href="http://enphase.com/products/m215/">microinverters with more capacity</a>).  The fact that the panels can produce more than the microinverter can handle might seem like an issue; indeed on a cool, clear day we can see the effect:</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2013/05/clipping.png"><img class="aligncenter size-full wp-image-1144" alt="clipping" src="http://sandeen.net/wordpress/wp-content/uploads/2013/05/clipping.png" width="800" height="316" /></a>So from the graph above it&#8217;s clear that I <em>am</em> losing a little energy production during that clipping.  What would normally be a smooth curve is flattened out at the top as I hit the 11x199W = 2189W limit.  (A few factors affect whether this clipping happens; obviously we need a clear day, but optimal sun angle and, perhaps more than anything, panel temperature affects it greatly).</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<p>I wanted to try to quantify this a bit &#8211; how much am I really losing from this behavior?</p>
<p>One cool thing about the Enphase units is that they report data every 5 minutes, and this data can be queried via a standard <a href="http://enphase.com/api/">data API</a>.  So I pulled down the past 365 days worth of data to see how often I was clipping.  I grabbed 5-minute data files for each day, and looked for when clipping seems to start, by looking at watt output around the clipping point, and how many 5-minute entries there were for each wattage:</p>
<pre>$ egrep -w "21[789][0-9]" *.json | awk -F : '{print $8}' | sort | uniq -c
   9 2170,"enwh"
  10 2171,"enwh"
  15 2172,"enwh"
  11 2173,"enwh"
  17 2174,"enwh"
  17 2175,"enwh"
  11 2176,"enwh"
  20 2177,"enwh"
  24 2178,"enwh"
  14 2179,"enwh"
  17 2180,"enwh"
  21 2181,"enwh"
  32 2182,"enwh"
  51 2183,"enwh"
 107 2184,"enwh" &lt;-- actual clipping start?
 166 2185,"enwh"
 134 2186,"enwh"
 119 2187,"enwh"
  97 2188,"enwh"
  62 2189,"enwh" &lt;-- nominal clipping, 11x199
  21 2190,"enwh"
   2 2191,"enwh"</pre>
<p>There&#8217;s a pretty big jump at 2184W, so I went with that as a definition of &#8220;when clipping starts&#8221; vs. the nominal 2189W.  Adding up the occurrences of clipping, I got 708 5-minute intervals of clipping out of the last 365 days.  That&#8217;s about 59 hours.</p>
<p>So how much energy is that?  My panels can nominally make 11x230W = 2530W of output, so 2530-2184 = 346W lost, at most, during clipping.  That&#8217;s actually too high; not every instance above is clipping, and not every interval would have been making the maximum output.  So we&#8217;ll take that as a <em>high</em> estimate.</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<p>346W x 59 hours is 20,414 watt-hours, or about 20kWh.  At around $0.10/kWh, that&#8217;s about $2.00 of lost value.  Over the same year period, my array made 3,356 kWh, so 20kWh lost is about 0.6% of that.  I would hope that the microinverters made up at least that much by virtue of keeping the array going over the winter when some panels were snow-covered, etc.  Remember, many of my assumptions above make this a high estimate.</p>
<p>One other interesting datapoint is to see when this clipping occured.  By month, here&#8217;s how it looks:</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2013/05/clipping_by_month.png"><img class="size-full wp-image-1145 aligncenter" alt="clipping_by_month" src="http://sandeen.net/wordpress/wp-content/uploads/2013/05/clipping_by_month.png" width="790" height="489" /></a>March was far and away the highest; this is probably due in large part to the cooler temperatures, which make the panels more efficient.</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/enphase-solar-microinverter-clipping-analysis/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Distributed solar variability</title>
		<link>http://sandeen.net/wordpress/uncategorized/distributed-solar-variability/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=distributed-solar-variability</link>
		<comments>http://sandeen.net/wordpress/uncategorized/distributed-solar-variability/#comments</comments>
		<pubDate>Wed, 15 May 2013 02:39:50 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1135</guid>
		<description><![CDATA[One of the common arguments against solar as an energy source is that it&#8217;s just too variable.  You can never count on it when you need it.  What if clouds roll in and out? [1] One counter-argument might be &#8211; &#8230; <a href="http://sandeen.net/wordpress/uncategorized/distributed-solar-variability/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>One of the common arguments against solar as an energy source is that it&#8217;s just too variable.  You can never count on it when you need it.  What if clouds roll in and out? [1]</p>
<p><span id="more-1135"></span></p>
<p>One counter-argument might be &#8211; well, you never know when anyone will turn on their AC, either, at least not minute-by-minute.  The grid is a balancing act; unpredictable, random loads have the same effect as unpredictable, random generators.</p>
<p>To which one might then counter yes, but there are so many AC units out there, they average out, more or less, turning on and off at random times and smoothing things out in aggregate.</p>
<p>To which the solar advocate might reply OK, then with enough solar the peaks and valleys of generation should cancel out too, as clouds move out of one area into another.  Does this seem likely out in practice?</p>
<p>To find out, I grabbed 5 minute data from about 40 <a href="http://enphase.com/">Enphase</a> systems in the twin cities on a highly variable, sporadically cloudy day.  Because we don&#8217;t yet have a whole lot of solar here, and I didn&#8217;t want the one or two large commercial systems in the group to swamp the smaller residential systems, first I normalized them all to a % of their max output.  (This might be cheating a little, but with a lot more systems randomly distributed in size and geography, the swamping-out effect should be minimiized.)  Here&#8217;s what just 4 of those systems looks like; each is indeed pretty messy and unpredictable at the 5-minute range:</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2013/05/solar_junk.png"><img class="aligncenter size-full wp-image-1136" alt="solar_junk" src="http://sandeen.net/wordpress/wp-content/uploads/2013/05/solar_junk.png" width="945" height="570" /></a>Then I averaged all of the systems.  Here&#8217;s what the average looks like, compared to one of the individual systems:</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2013/05/solar_smoothing.png"><img class="aligncenter size-full wp-image-1137" alt="solar_smoothing" src="http://sandeen.net/wordpress/wp-content/uploads/2013/05/solar_smoothing.png" width="928" height="556" /></a>It appears that things certainly do smooth out when we look at geographically distributed systems.  If I were a grid operator, I might feel a lot better about that.</p>
<p>The caveats might be that this is a very wide geographic range &#8211; I grabbed systems from all of the twin cities and suburbs.  And that&#8217;s probably larger than the various sub-grids within the cities; what the variability is within those subgrids is, or how this solar variability affects them, I&#8217;m not sure.  And of course my initial normalization of all systems to the same size could be argued with.</p>
<p>There have been much more rigorous papers and presentations written on this as well, see for example &#8220;<a href="http://www.cleanpower.com/resources/quantifying-pv-power-output-variability/">Quantifying PV Power Output Variability</a>&#8221; by Thomas E. Hoff and Richard Perez in 1999, and &#8220;<a href="http://escholarship.org/uc/item/9mz3w055">Implications of Wide-Area Geographic Diversity for Short- Term Variability of Solar Power</a>&#8221; by Andrew Mills and Ryan Wiser at LBNL in 2010.  But with the advent of 5-minute monitoring from systems like Enphase, I wonder if even better results could be found from this wealth of data.</p>
<p>[1]  I&#8217;ll submit that a sporadically cloudy day is more trouble to a grid operator than a generally cloudy day.   We often know if a day will be cloudy well ahead of time, and that doesn&#8217;t yield the minute-to-minute variations of a sporadically cloudy day.  The grid is better, I think, at responding to these longer-term variations.</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/uncategorized/distributed-solar-variability/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Proposed Xcel Minnesota utility rate increases</title>
		<link>http://sandeen.net/wordpress/energy/proposed-xcel-minnesota-utility-rate-increases/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=proposed-xcel-minnesota-utility-rate-increases</link>
		<comments>http://sandeen.net/wordpress/energy/proposed-xcel-minnesota-utility-rate-increases/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 01:11:07 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Energy]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1120</guid>
		<description><![CDATA[This probably only interests you if you&#8217;re from Minnesota in the US and have Xcel as a utility provider.  Xcel has recently proposed rate increases as high as 10.7%; they recently scaled that back to 8.2%, and discussions are still &#8230; <a href="http://sandeen.net/wordpress/energy/proposed-xcel-minnesota-utility-rate-increases/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This probably only interests you if you&#8217;re from Minnesota in the US and have Xcel as a utility provider.<span id="more-1120"></span>  Xcel has recently proposed rate increases as high as 10.7%; they recently scaled that back to 8.2%, and discussions are still pending.  However, in the reporting thus far I&#8217;ve not seen any details about proposed changes for residential customers.  I went looking at the <a href="https://www.edockets.state.mn.us/EFiling/edockets/searchDocuments.do?method=showeDocketsSearch&amp;showEdocket=true&amp;userType=public">PUC docket system</a> for details, and found document #201211-80322-06 in docket 12-961.  There are probably other fee/rate/rider changes as well, but the top-line changes for residential seem to be:<a href="http://sandeen.net/wordpress/wp-content/uploads/2013/03/xcel_rate_increases.png"><img class="aligncenter size-full wp-image-1121" alt="xcel_rate_increases" src="http://sandeen.net/wordpress/wp-content/uploads/2013/03/xcel_rate_increases.png" width="870" height="200" /></a>That&#8217;s a <del>$2</del> $3/month increase for &#8220;customer charge&#8221; and per-kWh increases as well.  Other parts of the document seem to reveal no change in the WindSource program cost, and I can&#8217;t find any details of changes to net metering agreements.  I&#8217;m not too broken up by this, I only buy on average about 110kWh/month net after my solar, and price increases raise my avoided costs and make solar pay off faster.  I imagine it&#8217;s a hardship for some.  If the increases went towards cleaner, more efficient energy I&#8217;d be happier with it; if it goes to corporate jets, a bit less so.</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<p style="text-align: left">The above changes are before Xcel proposed a slightly lower increase; it&#8217;s unclear how that will affect residential customers at this point, I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/proposed-xcel-minnesota-utility-rate-increases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1000 days of Solar</title>
		<link>http://sandeen.net/wordpress/energy/1000-days-of-solar/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=1000-days-of-solar</link>
		<comments>http://sandeen.net/wordpress/energy/1000-days-of-solar/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 20:02:23 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Energy]]></category>
		<category><![CDATA[Renewable]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1110</guid>
		<description><![CDATA[Today marks the 1000th day of operation for the 2.53kw solar array on our roof.  Since we&#8217;ve installed it, 8.9 MWh of energy has been produced (almost 9kWh/day on average) 6 tons of CO2 have been avoided $1,100 in electricity &#8230; <a href="http://sandeen.net/wordpress/energy/1000-days-of-solar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="https://enlighten.enphaseenergy.com/pv/public_systems/3XLe4889"><img class="aligncenter size-full wp-image-1111" alt="pv_heatmap" src="http://sandeen.net/wordpress/wp-content/uploads/2013/03/pv_heatmap.png" width="936" height="392" /></a></p>
<p>Today marks the 1000th day of operation for the 2.53kw solar array on our roof.<span id="more-1110"></span>  Since we&#8217;ve installed it,</p>
<ul>
<li>8.9 MWh of energy has been produced (almost 9kWh/day on average)</li>
<li>6 tons of CO2 have been avoided</li>
<li>$1,100 in electricity costs have been avoided ($850 if I don&#8217;t count the <a href="http://responsiblebynature.com/choices/windsource">optional fee for wind power</a> I&#8217;ve subscribed to for years)</li>
<li>70% of our electrical consumption has been covered</li>
<li>No maintenance has been required (other than optional snow removal)</li>
<li>My inverter manufacturer (<a href="http://www.enphaseenergy.com">Enphase</a>) has <a href="https://www.google.com/finance?q=ENPH">gone public</a></li>
<li>My panel manufacturer (<a href="http://www2.siliken.com/www.siliken.com/index.html">Siliken</a>) has <a href="http://www2.siliken.com/www.siliken.com/news_News0501.html?new=cw506eca1951a37&amp;pag=">gone bankrupt</a>.  (But warranties remain intact, in theory)</li>
<li>Utility rebates from Xcel have dropped from $2.25/watt to $1.50 since we installed.</li>
</ul>
<p>We&#8217;ve recently embarked on a plan to renovate the house, and may end up with a new flat roof on the back.  If so, I hope we can have space and budget to add another 1kW or so.</p>
<p><a href="http://batchgeo.com/map/c06bce797c7133803f6c90ab66ca80ba"><img class="aligncenter size-full wp-image-1113" alt="batchgeo_solar" src="http://sandeen.net/wordpress/wp-content/uploads/2013/03/batchgeo_solar.png" width="393" height="432" /></a></p>
<p>Minnesota has also continued to move forward on solar energy, with <a href="http://www.startribune.com/business/137226868.html">Ikea briefly holding the state record with a 1.1MW array on its roof</a>, later eclipsed by a <a href="http://www.startribune.com/business/185725712.html">2MW utility-scale system in Slayton, MN</a>.  My utility, Xcel Energy wanted to eliminate the solar rebate altogether, but it was extended at a lower rate of $1.50/watt for now &#8211; appropriate, I feel, so that the solar industry has some planning runway, but rebates drop along with system costs.  There has also been some discussion of a <a href="http://www.mepartnership.org/our-work/clean-energy/">10% solar standard</a> for Minnesota.  <a href="http://www.solarmn.org/">Solar Works in Minnesota</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/1000-days-of-solar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Making it easy</title>
		<link>http://sandeen.net/wordpress/energy/making-it-easy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-it-easy</link>
		<comments>http://sandeen.net/wordpress/energy/making-it-easy/#comments</comments>
		<pubDate>Thu, 07 Feb 2013 05:39:58 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Conservation]]></category>
		<category><![CDATA[Energy]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1095</guid>
		<description><![CDATA[Read any collection of energy tips, and you&#8217;ll get pretty much the same thing.  Turn off lights behind you, unplug your cell phone charger, put your AV center on a power strip, etc.  The problem with these ideas, IMHO, is &#8230; <a href="http://sandeen.net/wordpress/energy/making-it-easy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_1096" class="wp-caption aligncenter" style="width: 382px"><a href="http://www.amazon.com/gp/product/B003P2UMS0/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003P2UMS0&amp;linkCode=as2&amp;tag=sandeennet-20" rel="attachment wp-att-1096"><img class="size-full wp-image-1096  " title="Timed Outlet Switch" alt="belkin-conserve" src="http://sandeen.net/wordpress/wp-content/uploads/2013/02/belkin-conserve.png" width="372" height="372" /></a><p class="wp-caption-text">(Image link goes to Amazon)</p></div>
<p style="text-align: left">Read any collection of energy tips, and you&#8217;ll get pretty much the same thing.  Turn off lights behind you, unplug your cell phone charger, put your AV center on a power strip, etc.  The problem with these ideas, IMHO, is that you have to remember to do them, everyone in your family has to do them, and you have to keep doing them indefinitely to keep getting any benefit.  And face it, it&#8217;s hard to change behavior.<span id="more-1095"></span></p>
<p style="text-align: left">There are a few things I&#8217;ve found which make it simple and automatic to save energy, without adding too much hassle to daily routines, and without any significant expense or installation trickiness.</p>
<p style="text-align: left">An example &#8211; My wife bought me a very nice espresso machine for my birthday about a year and a half ago; when it&#8217;s on, it&#8217;s using a lot of juice.  The group head has a resistive heater, and the boiler is keeping the water very hot.  I&#8217;d get up, make coffee, and then I&#8217;d be good for a while.  Almost invariably, I forgot to turn the machine off when I was done, and there it sat, drawing hundreds of watts, keeping itself warm for the next coffee I wasn&#8217;t going to make any time soon.  And worse, in the summer, it was adding heat to the kitchen.</p>
<p style="text-align: left">Enter the device pictured above.  You press a button on the side, and it turns on and stays on for 30 mins, 3 hours, or 6 hours.  I set mine to the 30min setting, so when I make my coffee, I push the button, make the coffee, and walk away.  It turns itself off in 30 mins.  Done and done.  The beauty is, I have to take the action when I want <em>something good to happen</em> (like make coffee) &#8211; it&#8217;s a positive action, not &#8220;remember to do this when you are done.&#8221;</p>
<p style="text-align: left">The other appliance I could use this device on is my stereo amplifier.  It pulls tens of watts even when not playing music.  Having the timed outlet set to 3 hours or even 6 would stop me from accidentally leaving it on over night.  A geekier and more satisfying solution, since my music source is a Logitech Squeezebox digital music player, would be to hook it to an X10-controlled switch, and tell the music server to turn on the amp whenever the device is active, and turn it off when it&#8217;s not.  I haven&#8217;t done either of those things yet, and sometimes the amp is on all night.</p>
<p style="text-align: left">Of course, there are other &#8220;set it and forget it&#8221; ideas like setting computers to sleep when idle, installing motion-detector switches for lights (I prefer <a href="http://www.amazon.com/gp/product/B0012DNL6Y/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0012DNL6Y&amp;linkCode=as2&amp;tag=sandeennet-20">ones like this</a> [amzn] which are manual-on, auto-off), programmable thermostats (if you actually program them), etc.  But I thought the device above was pretty slick for controlling random devices I&#8217;d rather not leave running when I&#8217;ve forgotten to turn them off.</p>
<p style="text-align: left">Have you found any other unusual but simple, set-it-and-forget-it devices or ideas to help control unnecessary energy use?</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/making-it-easy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Year-end energy wrap-up</title>
		<link>http://sandeen.net/wordpress/energy/year-end-energy-wrap-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=year-end-energy-wrap-up</link>
		<comments>http://sandeen.net/wordpress/energy/year-end-energy-wrap-up/#comments</comments>
		<pubDate>Sat, 12 Jan 2013 00:58:10 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Energy]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1084</guid>
		<description><![CDATA[Now that we&#8217;re through 2012, and all the utility bills are in, I took a look at how we did in 2012 vs. the previous year.  These numbers probably aren&#8217;t that interesting on their own; no big changes or revelations.  &#8230; <a href="http://sandeen.net/wordpress/energy/year-end-energy-wrap-up/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Now that we&#8217;re through 2012, and all the utility bills are in, I took a look at how we did in 2012 vs. the previous year.  These numbers probably aren&#8217;t that interesting on their own; no big changes or revelations.  But some might be interested for comparison.  <span id="more-1084"></span>This is a 1931 single-family house in the Twin Cities, with 1250 square feet above ground, and maybe 400 square feet conditioned below ground.  The basement has heat, but that zone is usually turned down pretty low.  We have an 83% AFUE furnace (the one appliance I really wish were more efficient, but it&#8217;s not very old), and a single <a title="I gave in: Mini-Split A/C" href="http://sandeen.net/wordpress/energy/mini-split-ac/">1-ton mini-split AC</a> installed this past year.</p>
<p>The top line numbers:</p>
<ul>
<li><strong>2011: 839 therms, 4538 kWh consumed = 99.4 million BTUs</strong></li>
<li><strong>2012: 687 therms, 4577 kWh consumed = 84.2 million BTUs</strong></li>
</ul>
<p>On the face of it, that looks like quite an improvement, but the vast majority of the decrease was in natural gas, which is influenced by the weather.  We can use Heating Degree Days and Cooling Degree Days to quantify air conditioning requirements, and from <a href="http://www.degreedays.net">degreedays.net</a>, I find:</p>
<ul>
<li><strong>2011: 7357 heating and 1128 cooling degree days (@65F base)</strong></li>
<li><strong>2012: 6390 heating and 1238 cooling degree days (@65F base)</strong></li>
</ul>
<p>So we had about 13% fewer heating degree days, and consumed 18% fewer therms of natural gas, our primary heating fuel &#8211; fairly strong correlation, but maybe some improvement.  I don&#8217;t measure cooling energy independently (yet) so I can&#8217;t correlate that at all.</p>
<p>On the solar production side, we had this from our <a href="http://enlighten.enphaseenergy.com/public/systems/3XLe4889">11 panel, 2.53kW array</a>:</p>
<ul>
<li><strong>2011: 3306 kWh, or 72.8% of our consumption</strong></li>
<li><strong>2011: 3352 kWh, or 73.2% of our consumption</strong></li>
</ul>
<p>Not a big change there.  So other than the weather, we didn&#8217;t have significant changes in our home other than slightly older kids, and the addition of a mini-split heat pump for AC &amp; some heating.</p>
<p>I&#8217;ve mostly run out of ideas to make this old house more efficient.  Every light is CFL or LED, we&#8217;ve insulated the walls &amp; attic, replaced the windows, etc.  We are considering some renovation, and that will probably change our energy use if we go through it.  I&#8217;ll keep you posted!</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/energy/year-end-energy-wrap-up/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Who reviews Linux kernel commits?</title>
		<link>http://sandeen.net/wordpress/computers/linux/who-reviews-linux-kernel-commits/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=who-reviews-linux-kernel-commits</link>
		<comments>http://sandeen.net/wordpress/computers/linux/who-reviews-linux-kernel-commits/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 16:45:20 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1057</guid>
		<description><![CDATA[I&#8217;ve been thinking about code review lately, and took a little time to look at the Linux kernel git tree to see how many commits are marked with &#8220;Reviewed-by&#8221; (indicates that the patch has been reviewed and found acceptable).   &#8230; <a href="http://sandeen.net/wordpress/computers/linux/who-reviews-linux-kernel-commits/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been thinking about code review lately, and took a little time to look at the <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary">Linux kernel git tree</a> to see how many commits are marked with &#8220;Reviewed-by&#8221; (<a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches;h=c379a2a6949f1c1cac04fb6f185c633512f37061;hb=HEAD#l438"><em>indicates that the patch has been reviewed and found acceptable</em></a>).   The short answer is, not a whole lot &#8211; or at least not consistently, but improving.<span id="more-1057"></span></p>
<p>I iterated over the entire linux-2.6 git tree as of today (~3.7-rc8), and counted all commits (excluding merges), then counted up every Reviewed-by tag in all commits.  <em><strong>(I realize that this isn&#8217;t the only measure of review quality.  More caveats below).</strong></em>  It&#8217;s  possible that some commits might have more than one Reviewed-by tag, but I assume that&#8217;s rare overall.  I found:</p>
<pre>4.7%: 313,848 commits, 14,631 reviews</pre>
<p>Breaking it down further, for some of the top-level directories here&#8217;s what I found:</p>
<pre> 0% sound: 12151 commits, 68 reviews
 1% virt: 451 commits, 8 reviews
 2% crypto: 888 commits, 23 reviews
 3% block: 1643 commits, 61 reviews
 4% security: 1675 commits, 68 reviews
 5% drivers: 149445 commits, 8107 reviews
 7% fs: 26747 commits, 2138 reviews
19% mm: 5858 commits, 1134 reviews</pre>
<h2>Changes Over Time</h2>
<p>However, things seem to be improving.  Here is the total ratio of &#8220;Reviewed-by&#8221; tags to commits for each release since 2.6.13:</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2012/12/kernel-reviews.png"><img class="aligncenter size-full wp-image-1067" src="http://sandeen.net/wordpress/wp-content/uploads/2012/12/kernel-reviews.png" alt="" width="906" height="557" /></a>Perhaps Reviewed-by is coming into vogue; I find that interesting, since there has been no formal push for using Reviewed-by more often, as far as I know.  What if we look at those top-level subsystems only since v3.0?</p>
<pre> 0% sound: 3341 commits, 32 reviews
 1% crypto: 185 commits, 2 reviews
 3% block: 303 commits, 10 reviews
 3% security: 406 commits, 15 reviews
 5% virt: 111 commits, 6 reviews
12% drivers: 40747 commits, 5054 reviews
15% fs: 5362 commits, 814 reviews
27% mm: 1193 commits, 325 reviews</pre>
<p>mm/ continues to win, and improve the reviewed % as well.  fs, drivers, and virt have improved their percentage lately, too.</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<h2>Filesystems</h2>
<p>fs/ is second, and of particular interest to me.  How&#8217;s it doing since the beginning of the git tree?</p>
<pre>1% fs/affs: 117 commits, 2 reviews
1% fs/bfs: 72 commits, 1 reviews
1% fs/coda: 143 commits, 2 reviews
1% fs/debugfs: 85 commits, 1 reviews
1% fs/fuse: 399 commits, 5 reviews
1% fs/gfs2: 1233 commits, 13 reviews
1% fs/logfs: 124 commits, 2 reviews
1% fs/minix: 91 commits, 1 reviews
1% fs/ncpfs: 121 commits, 2 reviews
1% fs/nfs: 2731 commits, 36 reviews
1% fs/ocfs2: 1578 commits, 29 reviews
1% fs/omfs: 57 commits, 1 reviews
1% fs/pstore: 64 commits, 1 reviews
1% fs/reiserfs: 512 commits, 7 reviews
1% fs/sysv: 95 commits, 1 reviews
2% fs/9p: 369 commits, 8 reviews
2% fs/autofs4: 216 commits, 6 reviews
2% fs/btrfs: 2607 commits, 55 reviews
2% fs/hostfs: 96 commits, 2 reviews
2% fs/hppfs: 46 commits, 1 reviews
2% fs/jbd: 172 commits, 4 reviews
2% fs/nfsd: 1358 commits, 33 reviews
3% fs/devpts: 57 commits, 2 reviews
3% fs/ecryptfs: 403 commits, 16 reviews
3% fs/ext2: 314 commits, 10 reviews
3% fs/ext3: 516 commits, 19 reviews
3% fs/jbd2: 222 commits, 8 reviews
3% fs/lockd: 376 commits, 14 reviews
3% fs/ubifs: 471 commits, 16 reviews
3% fs/udf: 306 commits, 11 reviews
4% fs/nls: 23 commits, 1 reviews
4% fs/quota: 116 commits, 5 reviews
4% fs/ramfs: 70 commits, 3 reviews
5% fs/ext4: 1629 commits, 93 reviews
6% fs/hugetlbfs: 131 commits, 9 reviews
6% fs/proc: 934 commits, 62 reviews
7% fs/ceph: 673 commits, 51 reviews
16% fs/cifs: 1741 commits, 286 reviews
50% fs/xfs: 2376 commits, 1204 reviews</pre>
<p>Any fs not listed above had &lt; 1% Reviewed-by tags.</p>
<p>I&#8217;m interested primarily in xfs, ext4, and btrfs for my day job.  How have they done over time?</p>
<p><a href="http://sandeen.net/wordpress/wp-content/uploads/2012/12/fs-reviews.png"><img class="aligncenter size-full wp-image-1068" src="http://sandeen.net/wordpress/wp-content/uploads/2012/12/fs-reviews.png" alt="" width="910" height="562" /></a>(XFS exceeds 100% at times when many commits have more than one Reviewed-by tag.)</p>
<p style="text-align: center"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0171130845146754";
/* SmallPostAd */
google_ad_slot = "1381022023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<h2>The Caveats</h2>
<p>Now, granted: all this measures is the number of aforementioned Reviewed-by tags per commit in the tree; the absence of a tag does not necessarily mean there was no review. And, in many cases, it may be that the maintainer has done a review, and it&#8217;s unusual for the maintainer to add Signed-off-by as well as Reviewed-by.  And finally, presence of the tag does not say anything about the <em>quality</em> of review. So take this with as big a grain of salt as necessary. If you&#8217;re the maintainer of one of these subsystems, and Reviewed-by is not what you use, I&#8217;d like to know (and to know why that is). Meanwhile, this seems like the best measure we&#8217;ve got.</p>
<p>Finally, who are the top ten individuals with the most Reviewed-by: tags since the git tree&#8217;s inception?</p>
<pre>213     Reviewed-by: Jesse Barnes &lt;jbarnes@virtuousg---.org&gt;
227     Reviewed-by: Chris Wilson &lt;chris@chris-wil---.co.uk&gt;
238     Reviewed-by: Josh Triplett &lt;josh@joshtripl---.org&gt;
245     Reviewed-by: Mike Christie &lt;michaelc@cs.w---.edu&gt;
255     Reviewed-by: Dave Chinner &lt;dchinner@red---.com&gt;
284     Reviewed-by: Michael Chan &lt;mchan@broad---.com&gt;
362     Reviewed-by: Pieter-Paul Giesberts &lt;pieterpg@broad---.com&gt;
435     Reviewed-by: Roland Vossen &lt;rvossen@broad---.com&gt;
478     Reviewed-by: Arend van Spriel &lt;arend@broad---.com&gt;
486     Reviewed-by: Christoph Hellwig &lt;hch@---.de&gt;</pre>
<p>hch, somehow I am not surprised. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/computers/linux/who-reviews-linux-kernel-commits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uncompressing Cisco X2000 firmware images</title>
		<link>http://sandeen.net/wordpress/computers/uncompressing-cisco-x2000-firmware-images/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=uncompressing-cisco-x2000-firmware-images</link>
		<comments>http://sandeen.net/wordpress/computers/uncompressing-cisco-x2000-firmware-images/#comments</comments>
		<pubDate>Fri, 30 Nov 2012 18:45:27 +0000</pubDate>
		<dc:creator>Eric Sandeen</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[lzma]]></category>
		<category><![CDATA[squashfs]]></category>
		<category><![CDATA[x2000]]></category>

		<guid isPermaLink="false">http://sandeen.net/wordpress/?p=1038</guid>
		<description><![CDATA[I got a refurbed Cisco X2000 [amzn] ADSL router / wireless access point for cheap from Adorama, hoping to combine 2 networking boxes, and reduce clutter and power a bit.  It comes in at 3-4W, and has an efficiency Level &#8230; <a href="http://sandeen.net/wordpress/computers/uncompressing-cisco-x2000-firmware-images/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left"><a href="http://www.amazon.com/Linksys-X2000-Wireless-N-Router-ADSL2/dp/B005HFJFHW/?tag=sandeennet-20"><img class="wp-image-1041 alignnone" alt="" src="http://sandeen.net/wordpress/wp-content/uploads/2012/11/X2000.png" width="680" height="390" /></a>I got a refurbed <a href="http://www.amazon.com/gp/product/B005HFJFHW/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B005HFJFHW&amp;linkCode=as2&amp;tag=sandeennet-20">Cisco X2000</a><img class="zminjlcgldltpguobpet swcwrojchqdhxkjbuxyw" style="border: none !important;margin: 0px !important" alt="" src="http://www.assoc-amazon.com/e/ir?t=sandeennet-20&amp;l=as2&amp;o=1&amp;a=B005HFJFHW" width="1" height="1" border="0" /> [amzn] ADSL router / wireless access point for cheap from Adorama, hoping to combine 2 networking boxes, and reduce clutter and power a bit.  It comes in at 3-4W, and has an efficiency Level V wall wart, so that part&#8217;s all good.</p>
<hr />
<p style="text-align: left">Edit: <strong><em><span style="color: #ff0000">Everything else is bad!</span></em></strong>  Don&#8217;t get this device.  Really.  It&#8217;s the buggiest piece of junk I&#8217;ve had the misfortune of trying to run on my network.  I&#8217;ll leave the rest of this post here for posterity.</p>
<hr />
<p><span id="more-1038"></span>Unfortunately it doesn&#8217;t seem to do SNMP and there&#8217;s no way to monitor traffic.  On a whim I figured I&#8217;d look into the firmware and see if it offers any hints.  Just a note to the interwebs about how I got it unpacked:</p>
<p>First I ran <a href="http://code.google.com/p/binwalk/">binwalk</a> to see what&#8217;s in it; that&#8217;s a cool tool I didn&#8217;t know about!</p>
<pre># binwalk-0.4.5/src/binwalk -m binwalk-0.4.5/src/magic.binwalk FW_X2000_AnnexA_2.0.04.007_20121009.bin

DECIMAL       HEX           DESCRIPTION
-------------------------------------------------------------------------------------------------------
256           0x100         Squashfs filesystem, little endian, non-standard signature,  version 4.0, size: 1746252031 bytes, 1243 inodes, blocksize: 0 bytes, created: Wed Jul  9 20:36:00 2025
352           0x160         LZMA compressed data, properties: 0x5D, dictionary size: 65536 bytes, uncompressed size: 65536 bytes
15110         0x3B06        LZMA compressed data, properties: 0x5D, dictionary size: 65536 bytes, uncompressed size: 13944 bytes
...</pre>
<p>Ok, so maybe squashfs starting 256 bytes in.  So dd that out:</p>
<pre># dd if=FW_X2000_AnnexA_2.0.04.007_20121009.bin bs=256 skip=1 of=FW.squash</pre>
<p>But squashfs tools won&#8217;t touch it.  What&#8217;s in it?</p>
<pre># hexdump -C FW.squash  | head -n 8
00000000  73 68 73 71 db 04 00 00  53 c6 73 50 00 00 01 00  |shsq....S.sP....|
00000010  78 00 00 00 01 00 10 00  c0 00 01 00 04 00 00 00  |x...............|
00000020  3f 1c f1 1d 00 00 00 00  19 6f 68 00 00 00 00 00  |?........oh.....|
00000030  11 6f 68 00 00 00 00 00  ff ff ff ff ff ff ff ff  |.oh.............|
00000040  b0 15 68 00 00 00 00 00  11 3a 68 00 00 00 00 00  |..h......:h.....|
00000050  2c 65 68 00 00 00 00 00  fb 6e 68 00 00 00 00 00  |,eh......nh.....|
00000060  5d 00 00 01 00 00 00 01  00 00 00 00 00 00 3f 91  |].............?.|
00000070  45 84 68 34 8a 09 0a 40  62 ae 9d db 78 c5 ce 30  |E.h4...@b...x..0|
...</pre>
<p>Ok, that&#8217;s the &#8220;shsq&#8221; magic&#8230;</p>
<p>I tried the various unsquashers from the <a href="http://firmware-mod-kit.googlecode.com/">firmware mod kit</a> but those failed too.  In the end, I grabbed the <a href="http://sandeen.net//sourceforge.net/projects/squashfs/files/">squashfs-4.2 tools from sourceforge</a> and applied this patch:</p>
<pre>diff -Nurp squashfs4.2/squashfs-tools/Makefile squashfs4.2-hack/squashfs-tools/Makefile
--- squashfs4.2/squashfs-tools/Makefile	2012-11-30 12:26:45.958576463 -0600
+++ squashfs4.2-hack/squashfs-tools/Makefile	2012-11-30 12:24:21.969566639 -0600
@@ -26,7 +26,7 @@ GZIP_SUPPORT = 1
 # To build using XZ Utils liblzma - install the library and uncomment
 # the XZ_SUPPORT line below.
 #
-#XZ_SUPPORT = 1
+XZ_SUPPORT = 1

 ############ Building LZO support ##############
diff -Nurp squashfs4.2/squashfs-tools/squashfs_fs.h squashfs4.2-hack/squashfs-tools/squashfs_fs.h
--- squashfs4.2/squashfs-tools/squashfs_fs.h	2011-02-11 09:49:24.000000000 -0600
+++ squashfs4.2-hack/squashfs-tools/squashfs_fs.h	2012-11-30 12:24:49.310566558 -0600
@@ -270,10 +270,10 @@ struct meta_index {
 typedef long long		squashfs_block;
 typedef long long		squashfs_inode;

-#define ZLIB_COMPRESSION	1
-#define LZMA_COMPRESSION	2
-#define LZO_COMPRESSION		3
-#define XZ_COMPRESSION		4
+#define LZMA_COMPRESSION	1
+#define XZ_COMPRESSION		2
+#define ZLIB_COMPRESSION	3
+#define LZO_COMPRESSION		4

 struct squashfs_super_block {
 	unsigned int		s_magic;
diff -Nurp squashfs4.2/squashfs-tools/unsquashfs.c squashfs4.2-hack/squashfs-tools/unsquashfs.c
--- squashfs4.2/squashfs-tools/unsquashfs.c	2011-02-28 16:27:06.000000000 -0600
+++ squashfs4.2-hack/squashfs-tools/unsquashfs.c	2012-11-30 12:28:31.793690803 -0600
@@ -1460,10 +1460,10 @@ int read_super(char *source)
 	 */
 	read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block),
 		&amp;sBlk_4);
-	swap = sBlk_4.s_magic != SQUASHFS_MAGIC;
+	swap = 0;
 	SQUASHFS_INSWAP_SUPER_BLOCK(&amp;sBlk_4);

-	if(sBlk_4.s_magic == SQUASHFS_MAGIC &amp;&amp; sBlk_4.s_major == 4 &amp;&amp;
+	if(!swap &amp;&amp; sBlk_4.s_major == 4 &amp;&amp;
 			sBlk_4.s_minor == 0) {
 		s_ops.squashfs_opendir = squashfs_opendir_4;
 		s_ops.read_fragment = read_fragment_4;</pre>
<p>And after that hackityhack, it does unpack. And what do you know, it <em>does</em> have busybox:</p>
<pre># ls -l bin | grep busybox
-rwxr-xr-x. 1 root root 323640 Oct  9 01:38 busybox
lrwxrwxrwx. 1 root root      7 Nov 30 12:25 cat -&gt; busybox
lrwxrwxrwx. 1 root root      7 Nov 30 12:25 chmod -&gt; busybox
lrwxrwxrwx. 1 root root      7 Nov 30 12:25 cp -&gt; busybox
lrwxrwxrwx. 1 root root      7 Nov 30 12:25 date -&gt; busybox
lrwxrwxrwx. 1 root root      7 Nov 30 12:25 dd -&gt; busybox
...</pre>
<p>And apparently runs the Linux kernel:</p>
<pre># ls lib/modules/
2.6.30</pre>
<p><del>So, ok, Cisco/Linksys, where&#8217;s the GPL notifications etc?  I haven&#8217;t seen anything obvious, but their GPL download center doesn&#8217;t seem to have anything for this box.  Is it a GPL violation? </del> I sent a request through their normal process, we&#8217;ll see what happens.  :(</p>
<p>Sadly, no hints about SNMP in there, either.</p>
<p>Edit:  Although the &#8220;GPL code center&#8221; has no download for this box, I did obtain source via a request, and apparently there is a source offer buried deep on the setup CD.  I&#8217;ll see if the source builds, next, I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://sandeen.net/wordpress/computers/uncompressing-cisco-x2000-firmware-images/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

 Served from: sandeen.net @ 2013-06-20 04:43:58 by W3 Total Cache -->