<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=AFE-E630_Linux_update_CAN_FW</id>
		<title>AFE-E630 Linux update CAN FW - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=AFE-E630_Linux_update_CAN_FW"/>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=AFE-E630_Linux_update_CAN_FW&amp;action=history"/>
		<updated>2026-04-20T01:28:20Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=AFE-E630_Linux_update_CAN_FW&amp;diff=38825&amp;oldid=prev</id>
		<title>Xingxing.li: Created page with &quot; = '''Prepare''' =  For Upgrade firmware, A tool named &lt;code&gt;usb-flash&lt;/code&gt; and a new firmware are needed.  == New Firmware ==  Ask PM for help to get the latest firmware li...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=AFE-E630_Linux_update_CAN_FW&amp;diff=38825&amp;oldid=prev"/>
				<updated>2025-04-23T01:53:46Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; = &amp;#039;&amp;#039;&amp;#039;Prepare&amp;#039;&amp;#039;&amp;#039; =  For Upgrade firmware, A tool named &amp;lt;code&amp;gt;usb-flash&amp;lt;/code&amp;gt; and a new firmware are needed.  == New Firmware ==  Ask PM for help to get the latest firmware li...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= '''Prepare''' =&lt;br /&gt;
&lt;br /&gt;
For Upgrade firmware, A tool named &amp;lt;code&amp;gt;usb-flash&amp;lt;/code&amp;gt; and a new firmware are needed.&lt;br /&gt;
&lt;br /&gt;
== New Firmware ==&lt;br /&gt;
&lt;br /&gt;
Ask PM for help to get the latest firmware like &amp;lt;code&amp;gt;SLCAN-FD0V0102.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tool ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;usb-flash&amp;lt;/code&amp;gt; is integrated by default in version 20250408 or later.&lt;br /&gt;
&lt;br /&gt;
Check &amp;lt;code&amp;gt;usb-flash&amp;lt;/code&amp;gt;&amp;amp;nbsp;:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# usb-flash -v&lt;br /&gt;
Advantech HID IAP Console v0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For early versions, download the tool from here&amp;amp;nbsp;: [[Media:Usb-flash.tar.gz|usb-flash]]&lt;br /&gt;
&lt;br /&gt;
And unzip &amp;lt;code&amp;gt;usb-flash&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr/local/bin/&amp;lt;/code&amp;gt; on DUT.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# tar -zxvf usb-flash.tar.gz -C /usr/local/bin/&lt;br /&gt;
# chmod +x /usr/local/bin/usb-flash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware in DUT ==&lt;br /&gt;
&lt;br /&gt;
Check firmware version in DUT, taking &amp;lt;code&amp;gt;can0&amp;lt;/code&amp;gt; for example:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# /tools/test/adv/can/can_get_firmware_version.sh can0&lt;br /&gt;
[   OK   ]: can0 Firmware Version&amp;amp;nbsp;: 0102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFF8E6;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:x-large;&amp;quot;&amp;gt;'''CAUTION'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Firmware upgrades are only supported in V0102 or later versions&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
= '''Enter Upgrade Mode''' =&lt;br /&gt;
&lt;br /&gt;
== Stop slcan driver ==&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# pkill slcanfd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get Can port ==&lt;br /&gt;
&lt;br /&gt;
Get can port &amp;lt;code&amp;gt;ttyACMx&amp;lt;/code&amp;gt; (x=0、1、2...)&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# dmesg | grep slcan&lt;br /&gt;
[    6.880193] can0: slcan on ttyACM0.&lt;br /&gt;
[    6.890344] can1: slcan on ttyACM1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swith MCU to IAP mode ==&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# usb-flash -s /dev/ttyACM0&lt;br /&gt;
# usb-flash -s /dev/ttyACM1&lt;br /&gt;
# usb-flash -s /dev/ttyACM2&lt;br /&gt;
... ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reboot DUT ==&lt;br /&gt;
&lt;br /&gt;
Reboot DUT for MCU to enter IAP mode.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''Upgrade Firmware''' =&lt;br /&gt;
&lt;br /&gt;
== Check IAP Mode ==&lt;br /&gt;
&lt;br /&gt;
Check whether MCU is in IAP mode.If there are nodes &amp;lt;code&amp;gt;hirawx (x=0、1、2...)&amp;lt;/code&amp;gt;, MCU is in IAP mode.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# ls /dev/hidraw* -al&lt;br /&gt;
crw------- 1 root root 235, 0 Apr  8 05:56 /dev/hidraw0&lt;br /&gt;
crw------- 1 root root 235, 1 Apr  8 05:56 /dev/hidraw1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgrade Firmware ==&lt;br /&gt;
&lt;br /&gt;
Taking &amp;lt;code&amp;gt;SLCAN-FD0V0102.bin&amp;lt;/code&amp;gt; as an example of the file name of the latest firmware.&lt;br /&gt;
&lt;br /&gt;
Suppose &amp;lt;code&amp;gt;SLCAN-FD0V0102.bin&amp;lt;/code&amp;gt; is located in the root folder of the USB flash disk.&lt;br /&gt;
&lt;br /&gt;
Adjust &amp;lt;code&amp;gt;SLCAN-FD0V0102.bin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/run/media/sda1/SLCAN-FD0V0102.bin&amp;lt;/code&amp;gt; according to your actual situation.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# cp /run/media/sda1/SLCAN-FD0V0102.bin ./&lt;br /&gt;
# usb-flash -f SLCAN-FD0V0102.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt; for each can to start upgrade process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;Do you want to update firmware on this device? (Y/N)Y&lt;br /&gt;
[==================================================] 100&amp;amp;nbsp;%&lt;br /&gt;
&lt;br /&gt;
/dev/hidraw1 update successful&lt;br /&gt;
Do you want to update firmware on this device? (Y/N)Y&lt;br /&gt;
[==================================================] 100&amp;amp;nbsp;%&lt;br /&gt;
&lt;br /&gt;
/dev/hidraw0 update successful&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEBEC;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:x-large;&amp;quot;&amp;gt;'''Caution'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DO NOT cancel the process of upgrade while upgrade is going.&lt;br /&gt;
&lt;br /&gt;
DO NOT power off DUT while upgrade is going.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
== Reboot DUT ==&lt;br /&gt;
&lt;br /&gt;
Reboot DUT for MCU to enter normal mode.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= '''Check Firmware''' =&lt;br /&gt;
&lt;br /&gt;
Check if the firmware has been updated successfully, taking &amp;lt;code&amp;gt;can0&amp;lt;/code&amp;gt; for example:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background:#eeeeee;border:2px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;# /tools/test/adv/can/can_get_firmware_version.sh can0&lt;br /&gt;
[   OK   ]: can0 Firmware Version&amp;amp;nbsp;: 0102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xingxing.li</name></author>	</entry>

	</feed>