<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-X300%3A_U-Boot%3A_Disabled_Module_Recovery</id>
	<title>CM-X300: U-Boot: Disabled Module Recovery - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-X300%3A_U-Boot%3A_Disabled_Module_Recovery"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Disabled_Module_Recovery&amp;action=history"/>
	<updated>2026-05-03T11:14:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Disabled_Module_Recovery&amp;diff=1504&amp;oldid=prev</id>
		<title>Grinberg: /* Sending disabled CM-X300 module to CompuLab */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Disabled_Module_Recovery&amp;diff=1504&amp;oldid=prev"/>
		<updated>2013-04-04T10:14:18Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sending disabled CM-X300 module to CompuLab&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:14, 4 April 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Overview ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Overview ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CM-X300 firmware is required for hardware initialization, setup and operating system loading. The firmware resides in the beginning of the NAND flash (0x0 - 0x80000), therefore any write to this location, except for the update procedure will corrupt the CM-X300 firmware.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CM-X300 firmware is required for hardware initialization, setup and operating system loading. The firmware resides in the beginning of the NAND flash (0x0 - 0x80000), therefore any write to this location, except for the update procedure&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;will corrupt the CM-X300 firmware.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While updating the CM-X300 firmware, there is a possibility that the update will not perform as expected and CM-X300 firmware can become invalid. This will result in a disabled CM-X300.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While updating the CM-X300 firmware, there is a possibility that the update will not perform as expected and CM-X300 firmware can become invalid. This will result in a disabled CM-X300.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In such cases, CompuLab offers two solutions:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In such cases, CompuLab offers two solutions:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot; &gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This option is recommended for one-time CM-X300 recovery.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This option is recommended for one-time CM-X300 recovery.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This option is not recommended for U-Boot developers, as sending boards to CompuLab takes time and impacts the development process.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This option is not recommended for U-Boot developers, as sending boards to CompuLab takes time and impacts the development process.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To continue with the RMA procedure, please consult &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;CompuLab &lt;/del&gt;[http://www.compulab.co.il/sales-and-support/rma.htm website].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To continue with the RMA procedure, please consult [http://www.compulab.co.il/sales-and-support/rma.htm &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;CompuLab &lt;/ins&gt;website].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== CM-X300 Recovery baseboard ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== CM-X300 Recovery baseboard ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot; &gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Make the necessary preparations for the recovery procedure:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Make the necessary preparations for the recovery procedure:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Download the latest CM-X300 firmware from [http://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;www.&lt;/del&gt;compulab.co.il/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;x300&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;html&lt;/del&gt;/x300&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-developer.py &lt;/del&gt;CompuLab website], unzip and place the file {{filename|cm-x300-firmware}} &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/del&gt;USB flash drive or TFTP server root directory.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Download the latest CM-X300 firmware from [http://compulab.co.il/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;products&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;computer-on-modules&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;cm-&lt;/ins&gt;x300&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/#devres &lt;/ins&gt;CompuLab website], unzip and place the file {{filename|cm-x300-firmware}} &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;into a &lt;/ins&gt;USB flash drive or TFTP server root directory.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Make sure the CM-X300 Recovery baseboard is powered off&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Make sure the CM-X300 Recovery baseboard is powered off&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Plug the disabled CM-X300 into the CAMI connectors&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Plug the disabled CM-X300 into the CAMI connectors&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot; &gt;Line 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Recovering via TFTP ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Recovering via TFTP ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Note|This recovery method is available for CM-X300 with &amp;quot;E&amp;quot; option only.}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To recover the disabled CM-X300 using TFTP, follow the instructions:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To recover the disabled CM-X300 using TFTP, follow the instructions:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l79&quot; &gt;Line 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See Also ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See Also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300 U-Boot Update]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: &lt;/ins&gt;U-Boot&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: Firmware &lt;/ins&gt;Update]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot quick reference]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot quick reference]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot images]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot images]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Disabled_Module_Recovery&amp;diff=899&amp;oldid=prev</id>
		<title>Grinberg: /* Getting started with the recovery process */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Disabled_Module_Recovery&amp;diff=899&amp;oldid=prev"/>
		<updated>2010-03-28T10:32:07Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Getting started with the recovery process&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The CM-X300 firmware is required for hardware initialization, setup and operating system loading. The firmware resides in the beginning of the NAND flash (0x0 - 0x80000), therefore any write to this location, except for the update procedure will corrupt the CM-X300 firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
While updating the CM-X300 firmware, there is a possibility that the update will not perform as expected and CM-X300 firmware can become invalid. This will result in a disabled CM-X300.&amp;lt;br&amp;gt;&lt;br /&gt;
In such cases, CompuLab offers two solutions:&lt;br /&gt;
# [[CM-X300: U-Boot: Disabled Module Recovery#Sending disabled CM-X300 module to CompuLab|Send the disabled board to CompuLab for reprogramming]]&lt;br /&gt;
# [[CM-X300: U-Boot: Disabled Module Recovery#CM-X300 Recovery baseboard|Recover the CM-X300 disabled module with Recovery baseboard]]&lt;br /&gt;
&lt;br /&gt;
== Sending disabled CM-X300 module to CompuLab ==&lt;br /&gt;
&lt;br /&gt;
This option is recommended for one-time CM-X300 recovery.&amp;lt;br&amp;gt;&lt;br /&gt;
This option is not recommended for U-Boot developers, as sending boards to CompuLab takes time and impacts the development process.&amp;lt;br&amp;gt;&lt;br /&gt;
To continue with the RMA procedure, please consult CompuLab [http://www.compulab.co.il/sales-and-support/rma.htm website].&lt;br /&gt;
&lt;br /&gt;
== CM-X300 Recovery baseboard ==&lt;br /&gt;
&lt;br /&gt;
The CM-X300 Recovery baseboard is not fully functional baseboard for CM-X300. It is used '''only''' to recover the disabled CM-X300.&amp;lt;br&amp;gt;&lt;br /&gt;
It has the following items assembled:&lt;br /&gt;
* 9-pin serial port for U-Boot console&lt;br /&gt;
* Ethernet port&lt;br /&gt;
* 2 USB ports (lower port can be used only on modules with no W option)&lt;br /&gt;
* 3-pin power connector&lt;br /&gt;
* CAMI connectors (for CM-X300 placement)&lt;br /&gt;
* Write-protected NAND flash (storing the working copy of CM-X300 firmware and automatic update script)&lt;br /&gt;
* Reset button (SW1)&lt;br /&gt;
* Update button (SW3)&lt;br /&gt;
&lt;br /&gt;
=== Getting started with the recovery process ===&lt;br /&gt;
&lt;br /&gt;
Make sure you have the following items at hand:&lt;br /&gt;
* CM-X300 Recovery baseboard&lt;br /&gt;
* Serial cable&lt;br /&gt;
* PSU for the Recovery baseboard&lt;br /&gt;
* Ethernet cable - required for recovering via TFTP&lt;br /&gt;
* USB flash drive formatted with FAT filesystem - required for recovering from USB&lt;br /&gt;
&lt;br /&gt;
Make the necessary preparations for the recovery procedure:&lt;br /&gt;
# Download the latest CM-X300 firmware from [http://www.compulab.co.il/x300/html/x300-developer.py CompuLab website], unzip and place the file {{filename|cm-x300-firmware}} to USB flash drive or TFTP server root directory.&lt;br /&gt;
# Make sure the CM-X300 Recovery baseboard is powered off&lt;br /&gt;
# Plug the disabled CM-X300 into the CAMI connectors&lt;br /&gt;
# Connect the serial cable to the CM-X300 Recovery baseboard&lt;br /&gt;
# Connect the second end of the serial cable to your host workstation&lt;br /&gt;
# On your host workstation:&lt;br /&gt;
## Start a terminal application on the appropriate COM port&lt;br /&gt;
## Configure the terminal application for: baud rate 38400, 1 stop bit, no parity, no flow control&lt;br /&gt;
# Proceed to [[CM-X300: U-Boot: Disabled Module Recovery#Recovering from USB flash drive|Recovering from USB flash drive]] or [[CM-X300: U-Boot: Disabled Module Recovery#Recovering via TFTP|Recovering via TFTP]]&lt;br /&gt;
&lt;br /&gt;
=== Recovering from USB flash drive ===&lt;br /&gt;
&lt;br /&gt;
Recovery procedure using USB is handled by an automatic script.&amp;lt;br&amp;gt;&lt;br /&gt;
To recover using USB, follow the instructions:&lt;br /&gt;
# Insert USB flash drive with {{filename|cm-x300-firmware}} into the '''upper''' USB port&lt;br /&gt;
# Press and hold the '''UPDATE''' button (SW3).&lt;br /&gt;
# While holding the '''UPDATE''' button, power on the Recovery baseboard.&lt;br /&gt;
# In your terminal application you should see the U-Boot start up messages, if you don't see any messages, turn off the Recovery baseboard and check your serial connection.&lt;br /&gt;
# When you see the &amp;quot;'''PLEASE, RELEASE THE UPDATE BUTTON!!!'''&amp;quot; message, release the '''UPDATE''' button. '''Note:''' if the '''UPDATE''' button is not released during 5 seconds the update will fail!&lt;br /&gt;
# Let the automatic script handle the update process.&lt;br /&gt;
# After the update process completed, you will see the message: &amp;quot;'''NAND update finished successfully! Your CM-X300 module should be usable now.'''&amp;quot;&lt;br /&gt;
# Make sure that the '''UPDATE''' button is released and reset the Recovery baseboard.&lt;br /&gt;
# U-Boot will start, and the Recovery process is now completed.&lt;br /&gt;
&lt;br /&gt;
=== Recovering via TFTP ===&lt;br /&gt;
&lt;br /&gt;
To recover the disabled CM-X300 using TFTP, follow the instructions:&lt;br /&gt;
# Plug Ethernet cable into the Ethernet port&lt;br /&gt;
# Press and hold the '''UPDATE''' button (SW3).&lt;br /&gt;
# While holding the '''UPDATE''' button, power on the Recovery baseboard.&lt;br /&gt;
# In terminal application you should see the U-Boot start up messages, if you don't see any messages, turn off the Recovery baseboard and check all connectors.&lt;br /&gt;
# When you see the &amp;quot;'''Hit any key to stop autoboot:'''&amp;quot; message, press any key and stop the automatic USB update script. '''Note:''' if a key is not pressed during 3 seconds the update will fail!&lt;br /&gt;
# Release the '''UPDATE''' button.&lt;br /&gt;
# Set the MAC address:&amp;lt;pre&amp;gt;&amp;gt; setenv ethaddr &amp;quot;00:01:c0:05:f0:29&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To use a DHCP server for the automatic IP address assignment, type:&amp;lt;pre&amp;gt;&amp;gt; dhcp&amp;lt;/pre&amp;gt;&lt;br /&gt;
# To assign the IP address manually, type:&amp;lt;pre&amp;gt;&amp;gt; setenv ipaddr &amp;lt;CM-X300 IP address&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Set the IP address of your TFTP server:&amp;lt;pre&amp;gt;&amp;gt; setenv serverip &amp;lt;TFTP server IP address&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Download the CM-X300 firmware from TFTP server and update the NAND flash:&amp;lt;pre&amp;gt;&amp;gt; run tftp_read &amp;amp;&amp;amp; run nand_update&amp;lt;/pre&amp;gt;&lt;br /&gt;
# After the update process completed, make sure the '''UPDATE''' button is released and reset the Recovery board.&lt;br /&gt;
# U-Boot will start, and the Recovery process is now completed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[CM-X300 U-Boot Update]]&lt;br /&gt;
* [[U-Boot quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;br /&gt;
* [[CM-X300: U-Boot: Firmware Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:U-Boot]]&lt;br /&gt;
[[Category:CM-X300]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>