<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Free software woes</title>
	<atom:link href="http://handyfloss.net/2009.03/free-software-woes/feed/" rel="self" type="application/rss+xml" />
	<link>http://handyfloss.net/2009.03/free-software-woes/</link>
	<description>Because FLOSS is handy, isn&#039;t it?</description>
	<lastBuildDate>Wed, 01 Feb 2012 20:23:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: isilanes</title>
		<link>http://handyfloss.net/2009.03/free-software-woes/comment-page-1/#comment-37730</link>
		<dc:creator>isilanes</dc:creator>
		<pubDate>Fri, 26 Jun 2009 07:37:56 +0000</pubDate>
		<guid isPermaLink="false">http://handyfloss.net/2009.03/free-software-woes/#comment-37730</guid>
		<description>Hey, thanks EdorFaus and Super Jamie!

I am (at a superficial level) aware of the issues you pose. I understand that the underlaying physical medium could be OK, yet the actual data (the 0s and 1s forming the file) could be corrupted. For example, a 0 could be written instead of a 1 somewhere. In this case, any tool like fsck would say the card is OK (and it is), but the file in the card would not match the original file (that I could check with a checksum, or even diff). I was just assuming that the only reason for a file being corrupted was a failure of the underlaying medium, which of course is not true.</description>
		<content:encoded><![CDATA[<p>Hey, thanks EdorFaus and Super Jamie!</p>
<p>I am (at a superficial level) aware of the issues you pose. I understand that the underlaying physical medium could be OK, yet the actual data (the 0s and 1s forming the file) could be corrupted. For example, a 0 could be written instead of a 1 somewhere. In this case, any tool like fsck would say the card is OK (and it is), but the file in the card would not match the original file (that I could check with a checksum, or even diff). I was just assuming that the only reason for a file being corrupted was a failure of the underlaying medium, which of course is not true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Super Jamie</title>
		<link>http://handyfloss.net/2009.03/free-software-woes/comment-page-1/#comment-37719</link>
		<dc:creator>Super Jamie</dc:creator>
		<pubDate>Thu, 25 Jun 2009 21:28:43 +0000</pubDate>
		<guid isPermaLink="false">http://handyfloss.net/2009.03/free-software-woes/#comment-37719</guid>
		<description>Most definitely true. Faulty RAM does display the characteristics you speak of, and by extension a magnetic hard drive would suffer the same errors due to having the cache on its&#039; controller card.

However, to do such exhaustive read-writes of an SD card would probably reduce its&#039; service life significantly, especially if left on overnight or for a week! SD cards (and flash devices in general) are so cheap these days, why would you bother? Even a 16Gb microSD is &quot;only&quot; US$50.

Sandisk announced several years ago that their company vision was to make SD so ubiquitous it would be like film, something so cheap and available that you write a card once then keep it forever.</description>
		<content:encoded><![CDATA[<p>Most definitely true. Faulty RAM does display the characteristics you speak of, and by extension a magnetic hard drive would suffer the same errors due to having the cache on its&#8217; controller card.</p>
<p>However, to do such exhaustive read-writes of an SD card would probably reduce its&#8217; service life significantly, especially if left on overnight or for a week! SD cards (and flash devices in general) are so cheap these days, why would you bother? Even a 16Gb microSD is &#8220;only&#8221; US$50.</p>
<p>Sandisk announced several years ago that their company vision was to make SD so ubiquitous it would be like film, something so cheap and available that you write a card once then keep it forever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EdorFaus</title>
		<link>http://handyfloss.net/2009.03/free-software-woes/comment-page-1/#comment-37718</link>
		<dc:creator>EdorFaus</dc:creator>
		<pubDate>Thu, 25 Jun 2009 21:04:51 +0000</pubDate>
		<guid isPermaLink="false">http://handyfloss.net/2009.03/free-software-woes/#comment-37718</guid>
		<description>(Maybe a bit late, but...) Checking the SD card with fsck is not even close to a complete test of the card.

See, fsck only checks the filesystem itself - in other words, the structures that let you store files on there and then find/recognize them afterwards - not the actual data in the files. There&#039;s a crucial difference there, though I suppose it might not be obvious to a layman.

What it means is that, most likely, the data sectors that make up the filesystem structures are OK, but there&#039;s one(or more) sector(s) that contains file data that isn&#039;t - in other words, the filesystem (which is what fsck checks) is OK, but some of the data that the installer requires to function, is not.

While I can only guess, I figure that the write probably didn&#039;t return an error, but that the data didn&#039;t actually get written properly - either that, or the read fails.

The only real way to check for the former kind of error, that I know about, is to write the data you need, and then read it back to compare with the original (probably via a checksum like e.g. MD5).
This takes time though, so most copy operations don&#039;t do it, you usually have to ask for it explicitly or do it manually afterwards. Also, to be really sure, you&#039;ll have to flush any caches first (at minimum unmount then mount, in this case it&#039;s probably a good idea to eject the card and then reinsert it).

A further issue, which compounds the problem, is that such write errors can be data dependent. In other words, the sector might work perfectly for one set of bytes, but not for a different set.
This makes testing difficult, as it&#039;s practically impossible to test all sets of bytes (block sizes being generally 512 bytes minimum, often more) in any kind of reasonable time. Because of this, even comprehensive tests only tests certain patterns.
Note that this is something I know from RAM tests - while I believe it to be true for flash as well, I technically don&#039;t really know that.</description>
		<content:encoded><![CDATA[<p>(Maybe a bit late, but&#8230;) Checking the SD card with fsck is not even close to a complete test of the card.</p>
<p>See, fsck only checks the filesystem itself &#8211; in other words, the structures that let you store files on there and then find/recognize them afterwards &#8211; not the actual data in the files. There&#8217;s a crucial difference there, though I suppose it might not be obvious to a layman.</p>
<p>What it means is that, most likely, the data sectors that make up the filesystem structures are OK, but there&#8217;s one(or more) sector(s) that contains file data that isn&#8217;t &#8211; in other words, the filesystem (which is what fsck checks) is OK, but some of the data that the installer requires to function, is not.</p>
<p>While I can only guess, I figure that the write probably didn&#8217;t return an error, but that the data didn&#8217;t actually get written properly &#8211; either that, or the read fails.</p>
<p>The only real way to check for the former kind of error, that I know about, is to write the data you need, and then read it back to compare with the original (probably via a checksum like e.g. MD5).<br />
This takes time though, so most copy operations don&#8217;t do it, you usually have to ask for it explicitly or do it manually afterwards. Also, to be really sure, you&#8217;ll have to flush any caches first (at minimum unmount then mount, in this case it&#8217;s probably a good idea to eject the card and then reinsert it).</p>
<p>A further issue, which compounds the problem, is that such write errors can be data dependent. In other words, the sector might work perfectly for one set of bytes, but not for a different set.<br />
This makes testing difficult, as it&#8217;s practically impossible to test all sets of bytes (block sizes being generally 512 bytes minimum, often more) in any kind of reasonable time. Because of this, even comprehensive tests only tests certain patterns.<br />
Note that this is something I know from RAM tests &#8211; while I believe it to be true for flash as well, I technically don&#8217;t really know that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: isilanes</title>
		<link>http://handyfloss.net/2009.03/free-software-woes/comment-page-1/#comment-31966</link>
		<dc:creator>isilanes</dc:creator>
		<pubDate>Thu, 12 Mar 2009 09:08:32 +0000</pubDate>
		<guid isPermaLink="false">http://handyfloss.net/2009.03/free-software-woes/#comment-31966</guid>
		<description>Thanks for your comment, Super Jamie. I understand that testing hardware with software could be unreliable, but... if the hw error is noticeable by sw, by definition it is also checkable by sw, and vice versa: if it is not possible to check it with sw, then it should as well be unnoticeable by sw. It doesn&#039;t make much sense that a hw error that makes a file transfer fail goes unnoticed by a dedicated tool such as fsck. It that&#039;s the case, then substitute the fsck check by regular file transfers, which are apparently more subtle tests!!

OK, OK, I know I&#039;m being naive. Any test of a given system is a multi-variable problem, with many different things to check, values to measure and inferences to make from the collected data. I just wanted to protest a bit.</description>
		<content:encoded><![CDATA[<p>Thanks for your comment, Super Jamie. I understand that testing hardware with software could be unreliable, but&#8230; if the hw error is noticeable by sw, by definition it is also checkable by sw, and vice versa: if it is not possible to check it with sw, then it should as well be unnoticeable by sw. It doesn&#8217;t make much sense that a hw error that makes a file transfer fail goes unnoticed by a dedicated tool such as fsck. It that&#8217;s the case, then substitute the fsck check by regular file transfers, which are apparently more subtle tests!!</p>
<p>OK, OK, I know I&#8217;m being naive. Any test of a given system is a multi-variable problem, with many different things to check, values to measure and inferences to make from the collected data. I just wanted to protest a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Super Jamie</title>
		<link>http://handyfloss.net/2009.03/free-software-woes/comment-page-1/#comment-31946</link>
		<dc:creator>Super Jamie</dc:creator>
		<pubDate>Wed, 11 Mar 2009 21:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://handyfloss.net/2009.03/free-software-woes/#comment-31946</guid>
		<description>Your SD problem is not just restricted to Free Software. Even when performing exhaustive hardware tests with proprietary (and expensive!) diagnostic software, a component can &quot;test&quot; as okay, however in reality it doesn&#039;t work, and swapping it out for a new one fixes the issue.

This stems from the fact that software is an inferior way to test hardware. What you really need is something that can test the SD card at a low-level electrical level. However such a device would probably cost more than we&#039;ll both earn together this year, so we make do with what we have.

I agree that fsck-on-battery shouldn&#039;t be automatically skipped, however I think an interactive option (perhaps with a short timer to skip by default) would be ideal.</description>
		<content:encoded><![CDATA[<p>Your SD problem is not just restricted to Free Software. Even when performing exhaustive hardware tests with proprietary (and expensive!) diagnostic software, a component can &#8220;test&#8221; as okay, however in reality it doesn&#8217;t work, and swapping it out for a new one fixes the issue.</p>
<p>This stems from the fact that software is an inferior way to test hardware. What you really need is something that can test the SD card at a low-level electrical level. However such a device would probably cost more than we&#8217;ll both earn together this year, so we make do with what we have.</p>
<p>I agree that fsck-on-battery shouldn&#8217;t be automatically skipped, however I think an interactive option (perhaps with a short timer to skip by default) would be ideal.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

