{"id":25912,"date":"2018-08-08T14:33:45","date_gmt":"2018-08-08T19:33:45","guid":{"rendered":"http:\/\/www.multitech.net\/developer\/?page_id=25912"},"modified":"2020-11-23T11:03:15","modified_gmt":"2020-11-23T17:03:15","slug":"using-lxfp-to-upgrade-telit-firmware","status":"publish","type":"page","link":"https:\/\/www.multitech.net\/developer\/software\/mlinux\/using-mlinux\/using-lxfp-to-upgrade-telit-firmware\/","title":{"rendered":"Using LXFP to Upgrade Telit Firmware"},"content":{"rendered":"<p><strong>NOTE:<\/strong> This feature is NOT available on mLinux 5.3.x or higher.<\/p>\n<p>You can use the LXFP utility to upgrade your device&#8217;s Telit cellular radio firmware. The device has LXFP already installed. The process is virtually the same for each\u00a0mLinux<sup>\u2122<\/sup> device with the exception of using a different upgrade file (.bin) depending on the type of cellular radio.<\/p>\n<p><b>For MTCAP-LNA3 users:<\/b> When using lxfp utility in mLinux to flash Telit LE910-NA1 Dual Firmware module (used in MTCAP-LNA3) with Verizon firmware, verify that you are flashing a .bin file which is LE910-NA1 Dual Firmware SKU aware. If you flash the wrong file (not dual firmware), the module will permanently become a single firmware image LE910-NA1 module. Single firmware files are typically half the file size of the dual firmware (20 MB vs. 40 MB). Telit labels their dual firmware modules as \u201csingle SKU\u201d on its hardware.<\/p>\n<ol style=\"list-style: decimal;\">\n<li>Connect Ethernet cable between device and PC.<\/li>\n<li>Supply 5V Power to device.<\/li>\n<li>Create a terminal session (via SSH) to the device using WINSCP or similar application. To create a connection to the device on port 22 at its last configured IP address (default 192.168.2.1) Use the last configured username and password (default username: root, default password: root).<\/li>\n<li>Enter the following command to verify the correct version of mLinux :<br \/>\n<b>\u00a0 \u00a0cat \/etc\/mlinux-version<\/b><\/li>\n<li>Enter the following command to access cellular module:<br \/>\n<b>\u00a0 \u00a0microcom \/dev\/modem_at0<\/b><\/li>\n<li>Enter following command to the existing version of cellular radio firmware:<br \/>\n<b>\u00a0 \u00a0AT+GMR<br \/>\n<\/b>\u00a0 \u00a0 Hit <b>Ctrl+X<\/b> to exit.<\/li>\n<li>Obtain the firmware binary file. (Read warning shown above.)<\/li>\n<li>Use your SCP application to transfer the binary file into the MTCAP <strong>\/tmp<\/strong> folder.<\/li>\n<li>In this first SSH session,\n<ol>\n<li>\n<ol>\n<li style=\"list-style-type: lower-alpha;\">Enter the following commands to verify the current directory contains the transferred binary file:<br \/>\n<b>cd \/tmp<br \/>\nls \u2013l<\/b><\/li>\n<li style=\"list-style-type: lower-alpha;\">Type the following command in the indicated format but<b>\u00a0<\/b><b>DO NOT\u00a0<\/b>hit enter (only change the file name below to match the firmware file you are flashing). Leave this session open to submit this command later:<br \/>\n<b>\u00a0sudo lxfp &lt;filename&gt; \/dev\/ttyUSB0 -d9 -u -t 90<\/b><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>As an example, for\u00a0Conduit<sup>\u00ae<\/sup>\u00a0<strong>MTCDT-LVW2\u00a0<\/strong>\u00a0or\u00a0<strong>MTCAP-LNA3<\/strong>\u00a0(dual radio version):<\/p>\n<p><b>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sudo lxfp stream_LE910_SV1_1G_SKU-20.00.012-B045.bin \/dev\/ttyUSB0 -d9 -u -t 90<\/b><\/p>\n<p><b><\/b>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 For Conduit\u00a0<strong>MTCDT-LEU1\/LAT1<\/strong>:<br \/>\n<b>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sudo lxfp stream_LE910_SV1_1G_SKU-20.00.012-B045.bin \/dev\/ttyUSB0 -d7 -u -t 90<\/b><\/li>\n<li>Create a second SSH session to the device using the same login information provided in step 3.<\/li>\n<li>In this second session, enter the following command to access the modem:<br \/>\n<b>\u00a0 \u00a0sudo microcom \/dev\/modem_at0<\/b><\/li>\n<li>In the first session, hit enter to submit the command you modified earlier in step 10.<\/li>\n<li>In the second SSH session, immediately enter the following command to restart the modem:<br \/>\n<b>\u00a0 \u00a0AT#REBOOT<\/b><\/li>\n<li>If the timing between steps 13 and 14 is successful, the following output displays in the first SSH Session:root@mtcap:~# lxfp stream_LE910_SV1_1G_SKU-20.00.012-B045.bin \/dev\/ttyUSB0 -d9 -u -t 90<br \/>\nINFO: lxfp version: lxfp UC.00.05<br \/>\nINFO: xfp Device chosen: LE V2 family<br \/>\nINFO: xfp Connection chosen: USB<br \/>\nINFO: xfp stream header size: 194 bytes<br \/>\nINFO: xfp stream sw version: 20.00.012-B045<br \/>\nINFO: xfp stream product name: LE910_SV1_1G_SKU<br \/>\nINFO: xfp stream memory type: 6<br \/>\nINFO: xfp stream version: 5<br \/>\nINFO: xfp stream speed offset: 331200<br \/>\nINFO: xfp stream ack boot offset: 71514<br \/>\nINFO: Forced boot delay 90 ms<br \/>\nINFO: xfp enterBootMode Power on the device to start flashing&#8230;<br \/>\nINFO:<br \/>\nINFO: xfp enterBootMode Boot mode OK<br \/>\nINFO: Flashing started. It may take several minutes, do not switch the modem off.<br \/>\nINFO: Sending chunk 0, not waiting for ack<br \/>\nINFO: Sending chunk 1, not waiting for ack<br \/>\nINFO: Sending chunk 2, not waiting for ack<br \/>\nINFO: Sending chunk 3, not waiting for ack<br \/>\nINFO: Elapsed time: 21 seconds<br \/>\nINFO: xfp Stream uploaded successfully, installed version 20.00.012-B045<\/li>\n<li>If steps 10-14 <b>did not<\/b> result in an upload success message, repeat steps 10-14 varying the timing of steps 13 and 14 as needed.<\/li>\n<li>If steps 10-14 <b>did<\/b> result in an upload success message, wait five minutes to ensure the module has enough time to apply the firmware.<\/li>\n<li>After five minutes, enter the following command to reboot the device:<br \/>\n<b>\u00a0 \u00a0sudo shutdown now -r<\/b><\/li>\n<li>Create a new SSH session to the device using the same login information provided in step 3.<\/li>\n<li>Enter the following command to access cellular module:<br \/>\n<b>\u00a0 \u00a0sudo microcom \/dev\/modem_at0<\/b><\/li>\n<li>Issue following command to confirm correct version is now present:<br \/>\n<b><b>\u00a0 \u00a0AT+GMR<\/b><\/b><\/li>\n<\/ol>\n<p>Additional notes<\/p>\n<ul>\n<li>LNA3 module contains two firmware images which can be loaded for use via AT#FWSWITCH command.\n<ul>\n<li>To determine the version currently in use Issue following command:<br \/>\n<b>AT#FWSWITCH?<\/b><br \/>\nIf response is:<br \/>\n<b>#FWSWITCH:\u00a0 0<\/b>\u00a0\u00a0 (AT&amp;T Firmware is currently Loaded)<br \/>\n#<b>FWSWITCH:\u00a0 1<\/b>\u00a0\u00a0 (VZW Firmware is currently Loaded)<\/li>\n<li>To change firmware version issue following command and wait for module to reboot:<br \/>\n<b>AT#FWSWITCH=0<\/b>\u00a0\u00a0 (AT&amp;T Firmware is currently Loaded)<br \/>\nAT#FWSWITCH=1\u00a0\u00a0 (VZW Firmware is currently Loaded)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>NOTE: This feature is NOT available on mLinux 5.3.x or higher. You can use the LXFP utility to upgrade your device&#8217;s Telit cellular radio firmware. The device has LXFP already installed. The process is virtually the same for each\u00a0mLinux\u2122 device with the exception of using a different upgrade file (.bin) depending on the type of [&hellip;]<\/p>\n","protected":false},"author":1478,"featured_media":0,"parent":9184,"menu_order":18,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-25912","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/25912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/users\/1478"}],"replies":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/comments?post=25912"}],"version-history":[{"count":48,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/25912\/revisions"}],"predecessor-version":[{"id":25978,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/25912\/revisions\/25978"}],"up":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/9184"}],"wp:attachment":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/media?parent=25912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}