<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opalesystems.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Administrator</id>
	<title>Opale Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opalesystems.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Administrator"/>
	<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php/Special:Contributions/Administrator"/>
	<updated>2026-07-19T07:31:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4951</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4951"/>
		<updated>2026-06-08T12:01:44Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command updates the Firmware of the GSM module serving a specified GSM port. &lt;br /&gt;
&lt;br /&gt;
Once re-initialized, the modem configuration should be checked as explained hereafter in th example. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Assuming that file RM520NGLAAR03A04M4G_A0.302.A0.302.zip is located on /mnt/sdcard (do this using SFTP) enter the following commands:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; mkdir /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; cd /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; unzip ../*.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; FirmwareUpdate 1 /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
Once done, a message is displayed given the status of the update.&lt;br /&gt;
&lt;br /&gt;
The modem configuration of the updated one should be checked as explained below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MODEM CONFIGURATION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following AT commands should be checked to provide Voice support &amp;amp; Remote SIM Support on RM520N on each port:&lt;br /&gt;
&lt;br /&gt;
(COM3 is port 0 and COM4 is port 1)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voice support&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; atcmdb /dev/COMx &#039;at+qcallcfg=&amp;quot;voice_disable&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
Should return 2. If not enter the following command to set it properly:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; atcmdb /dev/COMx &#039;at+qcallcfg=&amp;quot;voice_disable&amp;quot;,2&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote SIM Support&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; atcmdb /dev/COMx &#039;AT+QNVFR=&amp;quot;/nv/item_files/modem/uim/remote/uim_remote_service_enable&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
Should return 01, if not enter the following command to set it properly:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~#&#039;&#039;&#039; atcmdb /dev/COM3 &#039;AT+QNVFR=&amp;quot;/nv/item_files/modem/uim/remote/uim_remote_service_enable&amp;quot;,01&#039;&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4950</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4950"/>
		<updated>2026-06-08T11:54:46Z</updated>

		<summary type="html">&lt;p&gt;Administrator: added Category:R2D2 using HotCat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command updates the Firmware of the GSM module serving a specified GSM port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Assuming that file RM520NGLAAR03A04M4G_A0.302.A0.302.zip is located on /mnt/sdcard (do this using SFTP) enter the following commands:&lt;br /&gt;
&lt;br /&gt;
~# mkdir /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# cd /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# unzip ../*.zip&lt;br /&gt;
&lt;br /&gt;
~# FirmwareUpdate 1 /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
Once done, a message is displayed given the status of the update.&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4949</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4949"/>
		<updated>2026-06-08T11:50:48Z</updated>

		<summary type="html">&lt;p&gt;Administrator: added Category:GENERAL using HotCat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command updates the Firmware of the GSM module serving a specified GSM port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Assuming that file RM520NGLAAR03A04M4G_A0.302.A0.302.zip is located on /mnt/sdcard (do this using SFTP) enter the following commands:&lt;br /&gt;
&lt;br /&gt;
~# mkdir /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# cd /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# unzip ../*.zip&lt;br /&gt;
&lt;br /&gt;
~# FirmwareUpdate 1 /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
Once done, a message is displayed given the status of the update.&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4948</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4948"/>
		<updated>2026-06-08T11:06:38Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command updates the Firmware of the GSM module serving a specified GSM port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Assuming that file RM520NGLAAR03A04M4G_A0.302.A0.302.zip is located on /mnt/sdcard (do this using SFTP) enter the following commands:&lt;br /&gt;
&lt;br /&gt;
~# mkdir /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# cd /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# unzip ../*.zip&lt;br /&gt;
&lt;br /&gt;
~# FirmwareUpdate 1 /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
Once done, a message is displayed given the status of the update.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4947</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4947"/>
		<updated>2026-06-08T11:04:54Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command writes to the standard output the modem information (manufacturer, model type, firmware version) of the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
GSM port call information in the following format:&lt;br /&gt;
&lt;br /&gt;
“Manufacturer: %s\nModem type: %s\nFirmware version: %s\n”,manufacturer, model, version&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Assuming that file RM520NGLAAR03A04M4G_A0.302.A0.302.zip is located on /mnt/sdcard (do this using SFTP) enter the following commands:&lt;br /&gt;
&lt;br /&gt;
~# mkdir /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# cd /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
~# unzip ../*.zip&lt;br /&gt;
&lt;br /&gt;
~# FirmwareUpdate 1 /mnt/sdcard/fw&lt;br /&gt;
&lt;br /&gt;
Once done, a message is displayed given the status of the update.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4946</id>
		<title>FirmwareUpdate</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=FirmwareUpdate&amp;diff=4946"/>
		<updated>2026-06-08T10:58:01Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created page with &amp;quot;This command writes to the standard output the modem information (manufacturer, model type, firmware version) of the specified GSM port.  &amp;#039;&amp;#039;&amp;#039;COMMAND:&amp;#039;&amp;#039;&amp;#039; {| class=&amp;quot;wikitable&amp;quot; !Command !Input Arguments !Returns |- |FirmwareUpdate |PortIndex |Update status |} &amp;#039;&amp;#039;&amp;#039;OUTPUT:&amp;#039;&amp;#039;&amp;#039;  GSM port call information in the following format:  “Manufacturer: %s\nModem type: %s\nFirmware version: %s\n”,manufacturer, model, version  &amp;#039;&amp;#039;&amp;#039;EXAMPLE:&amp;#039;&amp;#039;&amp;#039;  ~# FirmwareUpdate 1 /mnt/sdcard/fw&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command writes to the standard output the modem information (manufacturer, model type, firmware version) of the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|FirmwareUpdate&lt;br /&gt;
|PortIndex&lt;br /&gt;
|Update status&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
GSM port call information in the following format:&lt;br /&gt;
&lt;br /&gt;
“Manufacturer: %s\nModem type: %s\nFirmware version: %s\n”,manufacturer, model, version&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
~# FirmwareUpdate 1 /mnt/sdcard/fw&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4945</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4945"/>
		<updated>2026-06-04T14:17:50Z</updated>

		<summary type="html">&lt;p&gt;Administrator: /* Version 1.1 - 2026-04-01 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base firmware History (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== opale-1.0-605003-2026-05-25.bin ====&lt;br /&gt;
&lt;br /&gt;
* Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
* Default password is now : root/admin&lt;br /&gt;
* Add /etc/opale-build file which contains build file name&lt;br /&gt;
* MAC address and Serial number are preserved during firmware update&lt;br /&gt;
* Provide additional utilies : setmac, getserialno, atcmdb, qpower, modscan, modinf, netinfo&lt;br /&gt;
* update SSH banner with Opale&#039;s name and unit serial number&lt;br /&gt;
* breed is no longer required as U-boot, as setmac utility can be used to set mac address.&lt;br /&gt;
&lt;br /&gt;
==== xxxxxx-WS1688AX-GO2026-05-07-upgrade.bin ====&lt;br /&gt;
&lt;br /&gt;
* Fix reboot problem on WS1688 latest motherboard.&lt;br /&gt;
* Update Plug &amp;amp; Play files for proper detection of EG25-G M.2 modules&lt;br /&gt;
&lt;br /&gt;
==== xxxxxx-WS1688AX-GO2025-05-28-upgrade.bin ====&lt;br /&gt;
&lt;br /&gt;
* First documented firmware release.&lt;br /&gt;
&lt;br /&gt;
== Opale R2D2 Software history (Most recent first): ==&lt;br /&gt;
Latest versions (June 6th 2026):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gsmuxsvc 9.25&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* fix ICCID length problem in gsmuxsvc&lt;br /&gt;
&lt;br /&gt;
==== gsmrobotd 9.42 ====&lt;br /&gt;
==== gsmuxsvc 9.24 ====&lt;br /&gt;
&lt;br /&gt;
* support for GSM_UPDATE_SIMSERVER_LIST v2 (9.23)&lt;br /&gt;
* Fix StartQxdmTrace&lt;br /&gt;
* Fix FirmwareUpdate&lt;br /&gt;
&lt;br /&gt;
==== r2d2 9.11 ====&lt;br /&gt;
==== r2d2config 9.12 ====&lt;br /&gt;
&lt;br /&gt;
* Simplified /setup and /simmanager&lt;br /&gt;
* option /probe to reconfigure properly RM520N modems&lt;br /&gt;
* changed r2d2config behaviour when ran without options, displays help now.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4944</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4944"/>
		<updated>2026-05-28T14:55:00Z</updated>

		<summary type="html">&lt;p&gt;Administrator: /* Base firmware History (Most recent first): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base firmware History (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== opale-1.0-605003-2026-05-25.bin ====&lt;br /&gt;
&lt;br /&gt;
* Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
* Default password is now : root/admin&lt;br /&gt;
* Add /etc/opale-build file which contains build file name&lt;br /&gt;
* MAC address and Serial number are preserved during firmware update&lt;br /&gt;
* Provide additional utilies : setmac, getserialno, atcmdb, qpower, modscan, modinf, netinfo&lt;br /&gt;
* update SSH banner with Opale&#039;s name and unit serial number&lt;br /&gt;
* breed is no longer required as U-boot, as setmac utility can be used to set mac address.&lt;br /&gt;
&lt;br /&gt;
==== xxxxxx-WS1688AX-GO2026-05-07-upgrade.bin ====&lt;br /&gt;
&lt;br /&gt;
* Fix reboot problem on WS1688 latest motherboard.&lt;br /&gt;
* Update Plug &amp;amp; Play files for proper detection of EG25-G M.2 modules&lt;br /&gt;
&lt;br /&gt;
==== xxxxxx-WS1688AX-GO2025-05-28-upgrade.bin ====&lt;br /&gt;
&lt;br /&gt;
* First documented firmware release.&lt;br /&gt;
&lt;br /&gt;
== Opale R2D2 Software history (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== Version 1.1 - 2026-04-01 ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
==== Version 1.0 - 2025-05-28 ====&lt;br /&gt;
First initial GA release. Includes:&lt;br /&gt;
&lt;br /&gt;
* gsmrobotd_0.9.29_mipsel_24kc.ipk&lt;br /&gt;
* gsmuxsvc_0.9.8_mipsel_24kc.ipk&lt;br /&gt;
* r2d2_0.9.9_mipsel_24kc.ipk&lt;br /&gt;
* r2d2config_0.9.9_mipsel_24kc.ipk&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4943</id>
		<title>Quectel RM520N Firmware Update (New)</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4943"/>
		<updated>2026-04-27T15:33:14Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to update the firmware of any of the Quectel RM520N modems within the Opale 5G Robot.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;In the following, it is assumed the Opale 5G Robot is properly configured and accessible through IP.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that the procedure described in this page will be obsoleted when Modem updates will be integrated in the Opale Robot firmware.&lt;br /&gt;
&lt;br /&gt;
[[File:Robots_Slots.jpg|394x394px]]&lt;br /&gt;
&lt;br /&gt;
The Opale 5G Robot can include one or two RM520N (Among other possible configurations) modem(s) as illustrated in the above picture.&lt;br /&gt;
&lt;br /&gt;
In order to &#039;&#039;&#039;SAFELY&#039;&#039;&#039; upgrade any modem from the Opale 5G Robot, this procedure needs to be carefully followed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;This procedure describes updating one RM520N at a time.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, the new RM520N modem firmware has to be downloaded on the Robot using a SFTP client.&lt;br /&gt;
[[File:Firmware Uploaded.png|thumb|606x606px|none]]The picture above shows where the Quectel RM520N Update file has to be downloaded.&lt;br /&gt;
&lt;br /&gt;
Once this is done, the RM520N Update file need to be unzipped with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
  _______                     ________        __&lt;br /&gt;
 |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
 |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
          |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
 OpenWrt 22.03-SNAPSHOT, r0-031ace73&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
root@ROBOT2p:~# cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# unzip RM520N*&lt;br /&gt;
Archive:  RM520NGLAAR03A04M4G_01.204.01.204.zip&lt;br /&gt;
  inflating: md5.txt&lt;br /&gt;
  &amp;lt;...&amp;gt;&lt;br /&gt;
  inflating: update/firehose/partition_complete_p4K_b256K.mbn&lt;br /&gt;
  inflating: Quectel_RM520N-GL-AA_Firmware_Release_Notes_V0304_01.204.01.204.pdf&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The system should then be prepared with the following commands:&lt;br /&gt;
&lt;br /&gt;
* The first one stops the robot software,&lt;br /&gt;
* and the second one power up the modem, so that we can set it up later.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc stop all&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/mdm_pwr/value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then run the microcom terminal utility to enter AT commands to the RM520N modem (you may have to wait a few seconds so that the modem is ready):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/COM3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then enter the following AT command to reconfigure the USB interface of the modem&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x2c7c,0x0801,1,1,1,1,1,0,0&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You may have to enter &amp;lt;control-x&amp;gt; in order to exit the microcom terminal utility.&lt;br /&gt;
&lt;br /&gt;
Then the module can be updated with the following commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p: cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# QFirehose -f .&lt;br /&gt;
[000.000]: Version: QFirehose_Linux_Android_V1.4.21&lt;br /&gt;
[000.000]: Builded: Apr  5 2025 18:08:59&lt;br /&gt;
[000.000]: Find md5 check file &amp;lt;./md5.txt&amp;gt;&lt;br /&gt;
[000.005]: md5 checking: ./contents.xml pass&lt;br /&gt;
[000.025]: md5 checking: ./update/abl.elf pass&lt;br /&gt;
[000.041]: md5 checking: ./update/aop.mbn pass&lt;br /&gt;
[000.045]: md5 checking: ./update/apdp.mbn pass&lt;br /&gt;
[000.050]: md5 checking: ./update/devcfg_low_ddr.mbn pass&lt;br /&gt;
[000.054]: md5 checking: ./update/devcfg.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/partition_complete_p4K_b256K.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/patch_p4K_b256K.xml pass&lt;br /&gt;
[000.085]: md5 checking: ./update/firehose/prog_firehose_lite.elf pass&lt;br /&gt;
[000.086]: md5 checking: ./update/firehose/rawprogram_nand_p4K_b256K_update.xml pass&lt;br /&gt;
[000.097]: md5 checking: ./update/hyp.mbn pass&lt;br /&gt;
[000.103]: md5 checking: ./update/ipa_fws.elf pass&lt;br /&gt;
[000.106]: md5 checking: ./update/logfs_ufs_8mb.bin pass&lt;br /&gt;
[000.108]: md5 checking: ./update/multi_image.mbn pass&lt;br /&gt;
[000.110]: md5 checking: ./update/multi_image_qti.mbn pass&lt;br /&gt;
&amp;lt;...&amp;gt;&lt;br /&gt;
[059.741]: Upgrade module successfully.&lt;br /&gt;
[059.741]: inf[0] ep_in -1/1024, errno = 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.741]: qusb_noblock_read read=-1, errno: 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.742]: qusb_noblock_read cur=0, min_size=1&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The update is successfull if one of the last lines displayed shows that the module has been successfully updated.&lt;br /&gt;
&lt;br /&gt;
It is now needed to reconfigure properly the modem for Robot usage.&lt;br /&gt;
&lt;br /&gt;
You need to run the microcom program as shown below (with different device as the modem has now a default configuration):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/ttyUSB2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once connected, you&#039;ll have to enter the following AT commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x1075,0x407C,0,0,1,1,1,0,1&lt;br /&gt;
at+qcallcfg=&amp;quot;voice_disable&amp;quot;,2&lt;br /&gt;
AT+qnvfw=&amp;quot;/nv/item_files/modem/uim/remote/uim_remote_service_enable&amp;quot;,01&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, the Robot software can be restarted with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc restart all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If there is another modem to update, then please proceed as explained at the beginning of this page.&lt;br /&gt;
&lt;br /&gt;
If there is no more update to be done, you can remove the directory /mnt/sdcard/update and the other files which are parts of the Quectel update delivery.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4942</id>
		<title>Quectel RM520N Firmware Update (New)</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4942"/>
		<updated>2026-04-27T13:31:44Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to update the firmware of any of the Quectel RM520N modems within the Opale 5G Robot.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;In the following, it is assumed the Opale 5G Robot is properly configured and accessible through IP.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that the procedure described in this page will be obsoleted when Modem updates will be integrated in the Opale Robot firmware.&lt;br /&gt;
&lt;br /&gt;
[[File:Robots_Slots.jpg|394x394px]]&lt;br /&gt;
&lt;br /&gt;
The Opale 5G Robot can include one or two RM520N (Among other possible configurations) modem as illustrated in the above picture.&lt;br /&gt;
&lt;br /&gt;
In order to &#039;&#039;&#039;SAFELY&#039;&#039;&#039; upgrade any modems from the Opale 5G Robot, this procedure needs to be carefully followed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;This procedure describes updating one RM520N at a time.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, the new RM520N modem firmware has to be downloaded on the Robot using a SFTP client.&lt;br /&gt;
[[File:Firmware Uploaded.png|thumb|606x606px|none]]The picture above shows where the Quectel RM520N Update file has to be downloaded.&lt;br /&gt;
&lt;br /&gt;
Once this is done, the RM520N Update file need to be unzipped with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
  _______                     ________        __&lt;br /&gt;
 |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
 |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
          |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
 OpenWrt 22.03-SNAPSHOT, r0-031ace73&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
root@ROBOT2p:~# cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# unzip RM520N*&lt;br /&gt;
Archive:  RM520NGLAAR03A04M4G_01.204.01.204.zip&lt;br /&gt;
  inflating: md5.txt&lt;br /&gt;
  &amp;lt;...&amp;gt;&lt;br /&gt;
  inflating: update/firehose/partition_complete_p4K_b256K.mbn&lt;br /&gt;
  inflating: Quectel_RM520N-GL-AA_Firmware_Release_Notes_V0304_01.204.01.204.pdf&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The system should then be prepared with the following commands:&lt;br /&gt;
&lt;br /&gt;
* The first one stops the robot software,&lt;br /&gt;
* and the second one power up the modem, so that we can set it up later.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc stop all&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/mdm_pwr/value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then run the microcom terminal utility to enter AT commands to the RM520N modem (you may have to wait a few seconds so that the modem is ready):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/COM3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then enter the following AT command to reconfigure the USB interface of the modem&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x2c7c,0x0801,1,1,1,1,1,0,0&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You may have to enter &amp;lt;control-x&amp;gt; in order to exit the microcom terminal utility.&lt;br /&gt;
&lt;br /&gt;
Then the module can be updated with the following commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p: cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# QFirehose -f .&lt;br /&gt;
[000.000]: Version: QFirehose_Linux_Android_V1.4.21&lt;br /&gt;
[000.000]: Builded: Apr  5 2025 18:08:59&lt;br /&gt;
[000.000]: Find md5 check file &amp;lt;./md5.txt&amp;gt;&lt;br /&gt;
[000.005]: md5 checking: ./contents.xml pass&lt;br /&gt;
[000.025]: md5 checking: ./update/abl.elf pass&lt;br /&gt;
[000.041]: md5 checking: ./update/aop.mbn pass&lt;br /&gt;
[000.045]: md5 checking: ./update/apdp.mbn pass&lt;br /&gt;
[000.050]: md5 checking: ./update/devcfg_low_ddr.mbn pass&lt;br /&gt;
[000.054]: md5 checking: ./update/devcfg.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/partition_complete_p4K_b256K.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/patch_p4K_b256K.xml pass&lt;br /&gt;
[000.085]: md5 checking: ./update/firehose/prog_firehose_lite.elf pass&lt;br /&gt;
[000.086]: md5 checking: ./update/firehose/rawprogram_nand_p4K_b256K_update.xml pass&lt;br /&gt;
[000.097]: md5 checking: ./update/hyp.mbn pass&lt;br /&gt;
[000.103]: md5 checking: ./update/ipa_fws.elf pass&lt;br /&gt;
[000.106]: md5 checking: ./update/logfs_ufs_8mb.bin pass&lt;br /&gt;
[000.108]: md5 checking: ./update/multi_image.mbn pass&lt;br /&gt;
[000.110]: md5 checking: ./update/multi_image_qti.mbn pass&lt;br /&gt;
&amp;lt;...&amp;gt;&lt;br /&gt;
[059.741]: Upgrade module successfully.&lt;br /&gt;
[059.741]: inf[0] ep_in -1/1024, errno = 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.741]: qusb_noblock_read read=-1, errno: 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.742]: qusb_noblock_read cur=0, min_size=1&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The update is successfull if one of the last lines displayed shows that the module has been successfully updated.&lt;br /&gt;
&lt;br /&gt;
It is now needed to reconfigure properly the modem for Robot usage.&lt;br /&gt;
&lt;br /&gt;
You need to run the microcom program as shown below (with different device as the modem has now a default configuration):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/ttyUSB2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once connected, you&#039;ll have to enter the following AT commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x1075,0x407C,0,0,1,1,1,0,1&lt;br /&gt;
at+qcallcfg=&amp;quot;voice_disable&amp;quot;,2&lt;br /&gt;
AT+qnvfw=&amp;quot;/nv/item_files/modem/uim/remote/uim_remote_service_enable&amp;quot;,01&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, the Robot software can be restarted with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc restart all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If there is another modem to update, then please proceed as explained at the beginning of this page.&lt;br /&gt;
&lt;br /&gt;
If there is no more update to be done, you can remove the directory /mnt/sdcard/update and the other files which are parts of the Quectel update delivery.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4941</id>
		<title>Quectel RM520N Firmware Update (New)</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Quectel_RM520N_Firmware_Update_(New)&amp;diff=4941"/>
		<updated>2026-04-27T13:10:53Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created page with &amp;quot;This page describes how to update the firmware of any of the Quectel RM520N modems within the Opale 5G Robot.  &amp;#039;&amp;#039;&amp;#039;&amp;lt;u&amp;gt;In the following, it is assumed the Opale 5G Robot is properly configured and accessible through IP.&amp;lt;/u&amp;gt;&amp;#039;&amp;#039;&amp;#039;  Note that the procedure described in this page will be obsoleted when Modem updates will be integrated in the Opale Robot firmware.  394x394px  The Opale 5G Robot can include one or two RM520N (Among other possible configur...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to update the firmware of any of the Quectel RM520N modems within the Opale 5G Robot.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;In the following, it is assumed the Opale 5G Robot is properly configured and accessible through IP.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that the procedure described in this page will be obsoleted when Modem updates will be integrated in the Opale Robot firmware.&lt;br /&gt;
&lt;br /&gt;
[[File:Robots_Slots.jpg|394x394px]]&lt;br /&gt;
&lt;br /&gt;
The Opale 5G Robot can include one or two RM520N (Among other possible configurations) modem as illustrated in the above picture.&lt;br /&gt;
&lt;br /&gt;
In order to &#039;&#039;&#039;SAFELY&#039;&#039;&#039; upgrade any modems from the Opale 5G Robot, this procedure needs to be carefully followed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;This procedure describes updating one RM520N at a time and the RM520N must be inserted into SLOT 0.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will have to open the robot in order to access the RM520N modems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Power off the robot and remove the four screws on the sides in order to open the robot.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Once the screws are removed process with caution while removing the cover as antennas cables are connected to the RM520N modems.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Once the robot is opened (and still powered off):&lt;br /&gt;
* If your robot has just one RM520N modem, it should be located at SLOT 0. In that case, there is nothing more to do inside the robot and you can carefully close the robot and screw the cover back on.&lt;br /&gt;
* If you have two RM520Ns, as only the one in SLOT 0 will be safely upgraded, disconnect the modem in SLOT 1 by removing the screw which attach the modem to the SLOT, and, &amp;lt;u&amp;gt;without disconnecting the antennas from the modem&amp;lt;/u&amp;gt;, remove the modem from the slot and leave it unplugged (while taking care that it does not touch any electric part)&lt;br /&gt;
* To upgrade the modem which is in SLOT 1, you have to insert this modem into SLOT 0 and leave unplugged the modem which was in SLOT 0. &lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;In any case, to properly execute the update procedure, only one RM520N should be inserted in the robot and in SLOT 0&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
Once the robot is ready with the RM520N modem to be updated inserted in SLOT 0, it can be powered on.&lt;br /&gt;
&lt;br /&gt;
First, the new RM520N modem firmware has to be downloaded on the Robot using a SFTP client.&lt;br /&gt;
[[File:Firmware Uploaded.png|thumb|606x606px|none]]The picture above shows where the Quectel RM520N Update file has to be downloaded.&lt;br /&gt;
&lt;br /&gt;
Once this is done, the RM520N Update file need to be unzipped with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
  _______                     ________        __&lt;br /&gt;
 |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
 |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
          |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
 OpenWrt 22.03-SNAPSHOT, r0-031ace73&lt;br /&gt;
 -----------------------------------------------------&lt;br /&gt;
root@ROBOT2p:~# cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# unzip RM520N*&lt;br /&gt;
Archive:  RM520NGLAAR03A04M4G_01.204.01.204.zip&lt;br /&gt;
  inflating: md5.txt&lt;br /&gt;
  &amp;lt;...&amp;gt;&lt;br /&gt;
  inflating: update/firehose/partition_complete_p4K_b256K.mbn&lt;br /&gt;
  inflating: Quectel_RM520N-GL-AA_Firmware_Release_Notes_V0304_01.204.01.204.pdf&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The system should then be prepared with the following commands:&lt;br /&gt;
&lt;br /&gt;
* The first one stops the robot software,&lt;br /&gt;
* and the second one power up the modem, so that we can set it up later.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc stop all&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# echo &amp;quot;1&amp;quot; &amp;gt; /sys/class/gpio/mdm_pwr/value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then run the microcom terminal utility to enter AT commands to the RM520N modem (you may have to wait a few seconds so that the modem is ready):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/COM3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then enter the following AT command to reconfigure the USB interface of the modem&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x2c7c,0x0801,1,1,1,1,1,0,0&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You may have to enter &amp;lt;control-x&amp;gt; in order to exit the microcom terminal utility.&lt;br /&gt;
&lt;br /&gt;
Then the module can be updated with the following commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p: cd /mnt/sdcard&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# QFirehose -f .&lt;br /&gt;
[000.000]: Version: QFirehose_Linux_Android_V1.4.21&lt;br /&gt;
[000.000]: Builded: Apr  5 2025 18:08:59&lt;br /&gt;
[000.000]: Find md5 check file &amp;lt;./md5.txt&amp;gt;&lt;br /&gt;
[000.005]: md5 checking: ./contents.xml pass&lt;br /&gt;
[000.025]: md5 checking: ./update/abl.elf pass&lt;br /&gt;
[000.041]: md5 checking: ./update/aop.mbn pass&lt;br /&gt;
[000.045]: md5 checking: ./update/apdp.mbn pass&lt;br /&gt;
[000.050]: md5 checking: ./update/devcfg_low_ddr.mbn pass&lt;br /&gt;
[000.054]: md5 checking: ./update/devcfg.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/partition_complete_p4K_b256K.mbn pass&lt;br /&gt;
[000.056]: md5 checking: ./update/firehose/patch_p4K_b256K.xml pass&lt;br /&gt;
[000.085]: md5 checking: ./update/firehose/prog_firehose_lite.elf pass&lt;br /&gt;
[000.086]: md5 checking: ./update/firehose/rawprogram_nand_p4K_b256K_update.xml pass&lt;br /&gt;
[000.097]: md5 checking: ./update/hyp.mbn pass&lt;br /&gt;
[000.103]: md5 checking: ./update/ipa_fws.elf pass&lt;br /&gt;
[000.106]: md5 checking: ./update/logfs_ufs_8mb.bin pass&lt;br /&gt;
[000.108]: md5 checking: ./update/multi_image.mbn pass&lt;br /&gt;
[000.110]: md5 checking: ./update/multi_image_qti.mbn pass&lt;br /&gt;
&amp;lt;...&amp;gt;&lt;br /&gt;
[059.741]: Upgrade module successfully.&lt;br /&gt;
[059.741]: inf[0] ep_in -1/1024, errno = 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.741]: qusb_noblock_read read=-1, errno: 143 (Cannot send after socket shutdown)&lt;br /&gt;
[059.742]: qusb_noblock_read cur=0, min_size=1&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard#&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The update is successfull if one of the last lines displayed shows that the module has been successfully updated.&lt;br /&gt;
&lt;br /&gt;
It is now needed to reconfigure properly the modem for Robot usage.&lt;br /&gt;
&lt;br /&gt;
You need to run the microcom program as shown below (with different device as the modem has now a default configuration):&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# microcom /dev/ttyUSB2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once connected, you&#039;ll have to enter the following AT commands:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
at+qcfg=&amp;quot;usbcfg&amp;quot;,0x1075,0x407C,0,0,1,1,1,0,1&lt;br /&gt;
at+qcallcfg=&amp;quot;voice_disable&amp;quot;,2&lt;br /&gt;
AT+qnvfw=&amp;quot;/nv/item_files/modem/uim/remote/uim_remote_service_enable&amp;quot;,01&lt;br /&gt;
at+cfun=1,1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, the Robot software can be restarted with the following command:&amp;lt;syntaxhighlight lang=&amp;quot;termcap&amp;quot;&amp;gt;&lt;br /&gt;
root@ROBOT2p:/mnt/sdcard# sc restart all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If there is another modem to update, then please proceed as explained at the beginning of this page.&lt;br /&gt;
&lt;br /&gt;
If there is no more update to be done, you can remove the directory /mnt/sdcard/update and the other files which are parts of the Quectel update delivery.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetGsmNetworkList&amp;diff=4940</id>
		<title>GetGsmNetworkList</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetGsmNetworkList&amp;diff=4940"/>
		<updated>2026-04-10T08:46:23Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This command gets the PLMN (MCC and MNC), the name, the status and the access technology for all GSM operators detectable by the modem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetGsmNetworkList&#039;&#039;&#039;&lt;br /&gt;
|PortIndex &lt;br /&gt;
|List of Operators’ PLMN, status, technology and name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&amp;lt;br&amp;gt;GSM port operator selection mode and GSM operator PLMN:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s %s %s\n&amp;quot;, mode, plmn, status&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039; technology (access technology) are :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; = GSM&lt;br /&gt;
* &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; = UTRAN (3G)&lt;br /&gt;
* &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; = LTE&lt;br /&gt;
* &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt; = NR5G (5G SA)&lt;br /&gt;
* &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt; = NR5G (5G NSA)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039; &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetGsmNetworkList 0&lt;br /&gt;
20801 CURRENT 7 Orange F&lt;br /&gt;
20801 AVAILABLE 2 Orange F&lt;br /&gt;
20801 AVAILABLE 0 Orange F&lt;br /&gt;
20810 AVAILABLE 7 F SFR&lt;br /&gt;
20815 FORBIDDEN 7 Free&lt;br /&gt;
20820 FORBIDDEN 2 F-Bouygues Telecom&lt;br /&gt;
20820 FORBIDDEN 7 F-Bouygues Telecom&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NETWORK]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4939</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4939"/>
		<updated>2026-03-23T11:06:09Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base firmware History (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2026-03-20-upgrade.bin ====&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard.&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address.&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2025-05-28-upgrade.bin ====&lt;br /&gt;
First documented firmware release.&lt;br /&gt;
&lt;br /&gt;
== Opale R2D2 Software history (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== Version 1.1 - 2026-04-01 ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
==== Version 1.0 - 2025-05-28 ====&lt;br /&gt;
First initial GA release. Includes:&lt;br /&gt;
&lt;br /&gt;
* gsmrobotd_0.9.29_mipsel_24kc.ipk&lt;br /&gt;
* gsmuxsvc_0.9.8_mipsel_24kc.ipk&lt;br /&gt;
* r2d2_0.9.9_mipsel_24kc.ipk&lt;br /&gt;
* r2d2config_0.9.9_mipsel_24kc.ipk&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4938</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4938"/>
		<updated>2026-03-23T11:04:50Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base firmware History (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2026-03-20-upgrade.bin ====&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard.&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address.&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2025-05-28-upgrade.bin ====&lt;br /&gt;
First documented firmware release.&lt;br /&gt;
&lt;br /&gt;
== Opale R2D2 Software history (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Version 1.1 - 2026-04-01&#039;&#039;&#039; ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Version 1.0 - 2025-05-28&#039;&#039;&#039; ====&lt;br /&gt;
First initial GA release. Includes:&lt;br /&gt;
&lt;br /&gt;
* gsmrobotd_0.9.29_mipsel_24kc.ipk&lt;br /&gt;
* gsmuxsvc_0.9.8_mipsel_24kc.ipk&lt;br /&gt;
* r2d2_0.9.9_mipsel_24kc.ipk&lt;br /&gt;
* r2d2config_0.9.9_mipsel_24kc.ipk&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4937</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4937"/>
		<updated>2026-03-23T11:03:42Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base firmware History (Most recent first): ==&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2026-03-20-upgrade.bin ====&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard.&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address.&lt;br /&gt;
&lt;br /&gt;
==== Opale-OPR1688X32-GO2025-05-28-upgrade.bin ====&lt;br /&gt;
First documented firmware release.&lt;br /&gt;
&lt;br /&gt;
== Opale R2D2 Software history (Most recent first): ==&lt;br /&gt;
&#039;&#039;&#039;Version 1.1 - 2026-04-01&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version 1.0 - 2025-05-28&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First initial GA release. Includes:&lt;br /&gt;
&lt;br /&gt;
* gsmrobotd_0.9.29_mipsel_24kc.ipk&lt;br /&gt;
* gsmuxsvc_0.9.8_mipsel_24kc.ipk&lt;br /&gt;
* r2d2_0.9.9_mipsel_24kc.ipk&lt;br /&gt;
* r2d2config_0.9.9_mipsel_24kc.ipk&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4936</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4936"/>
		<updated>2026-03-23T10:45:03Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Base firmware History:&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
- on March 20th, 2026&lt;br /&gt;
&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address&lt;br /&gt;
&lt;br /&gt;
Opale R2D2 Software history:&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4935</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4935"/>
		<updated>2026-03-23T10:39:46Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Base firmware History:&lt;br /&gt;
&lt;br /&gt;
Opale-OPR1688-32-GO2025-05-28-upgrade&lt;br /&gt;
&lt;br /&gt;
Opale-OPR1688-32-GO2026-03-20-upgrade&lt;br /&gt;
&lt;br /&gt;
- on March 20th, 2026&lt;br /&gt;
&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address&lt;br /&gt;
&lt;br /&gt;
Opale R2D2 Software history:&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4934</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4934"/>
		<updated>2026-03-23T10:37:03Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Base firmware History:&lt;br /&gt;
&lt;br /&gt;
Huasifei-WS1688AX-32-GO2025-05-28-upgrade&lt;br /&gt;
&lt;br /&gt;
Huasifei-WS1688AX-32-GO2026-03-20-upgrade&lt;br /&gt;
&lt;br /&gt;
- on March 20th, 2026&lt;br /&gt;
&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address&lt;br /&gt;
&lt;br /&gt;
Opale R2D2 Software history:&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4933</id>
		<title>Release notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=Release_notes&amp;diff=4933"/>
		<updated>2026-03-23T10:34:53Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created page with &amp;quot;firmware History:  Huasifei-WS1688AX-32-GO2025-05-28-upgrade  Huasifei-WS1688AX-32-GO2026-03-20-upgrade  - on March 20th, 2026  Fix reboot problem on WS1688 latest motherboard  Fix firmware signature with &amp;#039;Linux version 5.10.168 (opale@opale-builder)&amp;#039; in the system log.  breed is no longer required as U-boot, as setmac utility can be used to set mac address&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;firmware History:&lt;br /&gt;
&lt;br /&gt;
Huasifei-WS1688AX-32-GO2025-05-28-upgrade&lt;br /&gt;
&lt;br /&gt;
Huasifei-WS1688AX-32-GO2026-03-20-upgrade&lt;br /&gt;
&lt;br /&gt;
- on March 20th, 2026&lt;br /&gt;
&lt;br /&gt;
Fix reboot problem on WS1688 latest motherboard&lt;br /&gt;
&lt;br /&gt;
Fix firmware signature with &#039;Linux version 5.10.168 (opale@opale-builder)&#039; in the system log.&lt;br /&gt;
&lt;br /&gt;
breed is no longer required as U-boot, as setmac utility can be used to set mac address&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4932</id>
		<title>SetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4932"/>
		<updated>2026-03-10T15:39:59Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command sets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SetIMEI&lt;br /&gt;
|Port_index IMEI&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the IMEI number of the specified port. To restore the original number, this number should be read using GetIMEI first.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SetIMEI 1 895825000699682&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4931</id>
		<title>GetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4931"/>
		<updated>2026-03-10T15:36:14Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command gets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetIMEI&#039;&#039;&#039;&lt;br /&gt;
|Port_index [ORIGINAL]&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.&lt;br /&gt;
&lt;br /&gt;
Note that the original IMEI numbers are store in the following files : /etc/slidn with n beeing the port index number. The file can be empty or not present as long as the IMEI has not been modified on the module.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetIMEI 1&lt;br /&gt;
895825000699682&lt;br /&gt;
&lt;br /&gt;
#  GetIMEI 0 ORIGINAL&lt;br /&gt;
895825000699682&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4930</id>
		<title>SetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4930"/>
		<updated>2026-03-10T15:30:58Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command sets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SetIMEI&lt;br /&gt;
|Port_index IMEI&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the IMEI number of the specified port. To restore the original number, this number should be read using GetIMEI first.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SetIMEI 1 895825000699682&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4929</id>
		<title>SetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4929"/>
		<updated>2026-03-10T15:29:27Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command sets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SetIMEI&lt;br /&gt;
|Port_index IMEI&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the IMEI number of the specified port. To restore the original number, this number should be read using GetIMEI firstr.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SetIMEI 1 895825000699682&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4928</id>
		<title>GetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4928"/>
		<updated>2026-03-10T15:28:27Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command gets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetIMEI&#039;&#039;&#039;&lt;br /&gt;
|Port_index [ORIGINAL]&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetIMEI 1&lt;br /&gt;
895825000699682&lt;br /&gt;
&lt;br /&gt;
#  GetIMEI 0 ORIGINAL&lt;br /&gt;
895825000699682&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4927</id>
		<title>SetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4927"/>
		<updated>2026-03-10T15:27:10Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command sets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SetIMEI&lt;br /&gt;
|Port_index IMEI&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the IMEI number of the specified port. To restore the original number, this number should be read using GetIMEI firstr.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SetIMEI 1 895825000699682&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4926</id>
		<title>SetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SetIMEI&amp;diff=4926"/>
		<updated>2026-03-10T15:24:31Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created page with &amp;quot;This command sets module IMEI number for the specified GSM port.  &amp;#039;&amp;#039;&amp;#039;COMMAND&amp;#039;&amp;#039;&amp;#039; {| class=&amp;quot;wikitable&amp;quot; !Command !Line Arguments !Returns |- |&amp;#039;&amp;#039;&amp;#039;GetIMEI&amp;#039;&amp;#039;&amp;#039; |Port index [ORIGINAL] |GSM port IMEI |} &amp;#039;&amp;#039;&amp;#039;OUTPUT&amp;#039;&amp;#039;&amp;#039;  If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.  Command output in the following format:  &amp;quot;%s\n&amp;quot;, imei  &amp;#039;&amp;#039;&amp;#039;EXAMPLES&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt; ~# GetIMEI 1 895825000699682  #  Get IMEI 0...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command sets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetIMEI&#039;&#039;&#039;&lt;br /&gt;
|Port index [ORIGINAL]&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetIMEI 1&lt;br /&gt;
895825000699682&lt;br /&gt;
&lt;br /&gt;
#  Get IMEI 0 ORIGINAL&lt;br /&gt;
895825000699682&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4925</id>
		<title>GetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4925"/>
		<updated>2026-03-10T15:23:41Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command gets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetIMEI&#039;&#039;&#039;&lt;br /&gt;
|Port index [ORIGINAL]&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLES&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetIMEI 1&lt;br /&gt;
895825000699682&lt;br /&gt;
&lt;br /&gt;
#  Get IMEI 0 ORIGINAL&lt;br /&gt;
895825000699682&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4924</id>
		<title>GetIMEI</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetIMEI&amp;diff=4924"/>
		<updated>2026-03-10T15:23:16Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command gets module IMEI number for the specified GSM port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetIMEI&#039;&#039;&#039;&lt;br /&gt;
|Port index [ORIGINAL]&lt;br /&gt;
|GSM port IMEI&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If ORIGINAL is specified then the original IMEI of the modem is returned. Otherwise, the last programmed IMEI is returned.&lt;br /&gt;
&lt;br /&gt;
Command output in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%s\n&amp;quot;, imei&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetIMEI 1&lt;br /&gt;
895825000699682&lt;br /&gt;
&lt;br /&gt;
#  Get IMEI 0 ORIGINAL&lt;br /&gt;
895825000699682&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:SIM]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetMbnList&amp;diff=4923</id>
		<title>GetMbnList</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetMbnList&amp;diff=4923"/>
		<updated>2026-02-18T16:01:21Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command gets a list of the LTE configuration MBN profiles for the specified LTE port. It is available only for the LTE ports equipped with Quectel modems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GetMbnList&#039;&#039;&#039;&lt;br /&gt;
|PortIndex&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error.&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
List of the LTE configuration MBN profiles&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetMbnList 0&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,0,1,1,&amp;quot;ROW_Generic_3GPP&amp;quot;,0x05010812,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,1,0,0,&amp;quot;Commercial-DT&amp;quot;,0x05011F11,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,2,0,0,&amp;quot;Commercial-EE&amp;quot;,0x05012214,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,3,0,0,&amp;quot;Orange_Grp_Non_IMS-Commercial&amp;quot;,0x05010B0C,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,4,0,0,&amp;quot;TF_Germany_VoLTE&amp;quot;,0x05010C14,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,5,0,0,&amp;quot;TF_Non_VoLTE&amp;quot;,0x05010C24,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,6,0,0,&amp;quot;TF_UK_VoLTE&amp;quot;,0x05010C05,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,7,0,0,&amp;quot;VF_Germany_VoLTE&amp;quot;,0x05010415,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,8,0,0,&amp;quot;VF_Italy_VoLTE&amp;quot;,0x05010434,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,9,0,0,&amp;quot;VF_Non_VoLTE&amp;quot;,0x05010422,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,10,0,0,&amp;quot;VF_Portugal_VoLTE&amp;quot;,0x05010454,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,11,0,0,&amp;quot;VF_Spain_VoLTE&amp;quot;,0x05010445,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,12,0,0,&amp;quot;VF_Turkey_VoLTE&amp;quot;,0x05010461,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,13,0,0,&amp;quot;VF_UK_VoLTE&amp;quot;,0x05010405,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,14,0,0,&amp;quot;Commercial-Cherry&amp;quot;,0x05012300,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,15,0,0,&amp;quot;Commercial-iMobile&amp;quot;,0x05012400,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,16,0,0,&amp;quot;Commercial-Smartfren&amp;quot;,0x05012503,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,17,0,0,&amp;quot;YTL_Generic_3GPP&amp;quot;,0x05012A00,000000000&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,18,0,0,&amp;quot;Bouygues_France_VoLTE&amp;quot;,0x05800101,000000000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:VOLTE]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4922</id>
		<title>SendAtCommand</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4922"/>
		<updated>2026-02-02T10:49:36Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This places an AT Command to the specified modem port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SendAtCommand&lt;br /&gt;
|Port index ATCommand (*)&lt;br /&gt;
|Issue an AT Command to the specified module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*) Note that the ATCommand must be entered with quotes if the AT Command itself includes double quotes or spaces. See below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Response from the modem to the AT command.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0 &amp;quot;ATI4&amp;quot;&lt;br /&gt;
ATI4&lt;br /&gt;
Quectel&lt;br /&gt;
RM520N-GL&lt;br /&gt;
Revision: RM520NGLAAR03A05M4G&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&#039;OR&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0 &#039;AT+QCALLCFG=&amp;quot;voice_disable&amp;quot;&#039;&lt;br /&gt;
+QCALLCFG: &amp;quot;voice_disable&amp;quot;,1&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4921</id>
		<title>SendAtCommand</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4921"/>
		<updated>2026-02-02T10:35:31Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This places an AT Command to the specified modem port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SendAtCommand&lt;br /&gt;
|Port index ATCommand (*)&lt;br /&gt;
|Issue an AT Command to the specified module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*) Note that the ATCommand must be entered with quotes if the AT Command itself includes double quotes or spaces. See below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Response from the modem to the AT command.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0 &amp;quot;ATI4&amp;quot;&lt;br /&gt;
ATI4&lt;br /&gt;
Quectel&lt;br /&gt;
RM500Q-AE&lt;br /&gt;
Revision: RM500QAEAAR13A03M4G&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&#039;OR&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0 &#039;AT+QCALLCFG=&amp;quot;voice_disable&amp;quot;&#039;&lt;br /&gt;
+QCALLCFG: &amp;quot;voice_disable&amp;quot;,1&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4920</id>
		<title>SendAtCommand</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=SendAtCommand&amp;diff=4920"/>
		<updated>2026-02-02T10:32:25Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This places an AT Command to the specified modem port. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|SendAtCommand&lt;br /&gt;
|Port index ATCommand (*)&lt;br /&gt;
|Issue an AT Command to the specified module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*) Note that the ATCommand must be entered with quotes if the AT Command itself includes double quotes or spaces. See below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Response from the modem to the AT command.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0 &amp;quot;ATI4&amp;quot;&lt;br /&gt;
ATI4&lt;br /&gt;
Quectel&lt;br /&gt;
RM500Q-AE&lt;br /&gt;
Revision: RM500QAEAAR13A03M4G&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&#039;OR&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# SendAtCommand 0,&#039;AT+QCALLCFG=&amp;quot;voice_enable&amp;quot;&#039;&lt;br /&gt;
+QCALLCFG: &amp;quot;voice_disable&amp;quot;,1&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4919</id>
		<title>R2D2 HTTP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4919"/>
		<updated>2026-01-28T15:24:13Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any command from the R2D2 API can be accessed through a HTTP Interface.&lt;br /&gt;
&lt;br /&gt;
It has the following syntax:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Syntax&#039;&#039;&#039;:&lt;br /&gt;
|http://[&#039;&#039;&#039;user:password&#039;&#039;&#039;@]&#039;&#039;&#039;IP_Address&#039;&#039;&#039;[:&#039;&#039;&#039;Port_Number]&#039;&#039;&#039;/cgi-bin?command=&#039;&#039;&#039;R2D2Command&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;arg1&#039;&#039;&#039;=val1&amp;amp;&#039;&#039;&#039;arg2&#039;&#039;&#039;=val2...&amp;amp;&#039;&#039;&#039;argN&#039;&#039;&#039;=v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| - &#039;&#039;&#039;User:password&#039;&#039;&#039; are user &amp;amp; password to connect to the Robot&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;IP_Address&#039;&#039;&#039; is the TCP/IP address of the Robot, &#039;&#039;&#039;Port&#039;&#039;&#039; is the port used to access the R2D2 API&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;R2D2Commmand&#039;&#039;&#039; is the R2D2 API command to be executed&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;arg1&#039;&#039;&#039; to &#039;&#039;&#039;argN&#039;&#039;&#039; depend on the arguments needed for the R2D2 API command entered.&lt;br /&gt;
&lt;br /&gt;
Argument between brackets are optionals.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
|If Robot&#039;s credentials are user=root and password=admin, at IP Address 192.168.1.1 with port 8000:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=StartGsmPort&amp;amp;arg1=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=SendAtCommand&amp;amp;arg1=0&amp;amp;arg2=ATI4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
In order to allow the HTTP interface to work, it has to be enabled by the following command (through a SSH session):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPListeningPort /t REG_DWORD /d 8000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTP ListingPort to 8000, or any desired and available value (note that 80 will conflict with the robot web interface).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPSListeningPort /t REG_DWORD /d 8443&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTPS ListingPort to 8443, or any desired and available value. And the following line saves the modification on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg regsave&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to take into account the changes the following commands must be entered:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc restart all&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command can then be used to check if the configuration is correct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPSListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will either return the HTTP or the HTTPS Listening port depending on the command above entered.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4918</id>
		<title>R2D2 HTTP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4918"/>
		<updated>2026-01-28T10:19:29Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any command from the R2D2 API can be accessed through a HTTP Interface.&lt;br /&gt;
&lt;br /&gt;
It has the following syntax:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Syntax&#039;&#039;&#039;:&lt;br /&gt;
|http://[&#039;&#039;&#039;user:password&#039;&#039;&#039;@]&#039;&#039;&#039;IP_Address&#039;&#039;&#039;[:&#039;&#039;&#039;Port_Number]&#039;&#039;&#039;/cgi-bin?command=&#039;&#039;&#039;R2D2Command&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;arg1&#039;&#039;&#039;=val1&amp;amp;&#039;&#039;&#039;arg2&#039;&#039;&#039;=val2...&amp;amp;&#039;&#039;&#039;argN&#039;&#039;&#039;=v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| - &#039;&#039;&#039;User:password&#039;&#039;&#039; are user &amp;amp; password to connect to the Robot&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;IP_Address&#039;&#039;&#039; is the TCP/IP address of the Robot, &#039;&#039;&#039;Port&#039;&#039;&#039; is the port used to access the R2D2 API&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;R2D2Commmand&#039;&#039;&#039; is the R2D2 API command to be executed&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;arg1&#039;&#039;&#039; to &#039;&#039;&#039;argN&#039;&#039;&#039; depend on the arguments needed for the R2D2 API command entered.&lt;br /&gt;
&lt;br /&gt;
Argument between brackets are optionals.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
|If Robot&#039;s credentials are user=root and password=admin, at IP Address 192.168.1.1 with port 8000:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=StartGsmPort&amp;amp;arg1=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=SendAtCommand&amp;amp;arg1=0&amp;amp;arg2=ATI4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
In order to allow the HTTP interface to work, it has to be enabled by the following command (through SSH):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPListeningPort /t REG_DWORD /d 8000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTP ListingPort to 8000, or any desired and available value (note that 80 will conflict with the robot web interface).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPSListeningPort /t REG_DWORD /d 8443&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTPS ListingPort to 8443, or any desired and available value. And the following line saves the modification on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg regsave&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to take into account the changes the following commands must be entered:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc restart all&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command can then be used to check if the configuration is correct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPSListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will either return the HTTP or the HTTPS Listening port depending on the command above entered.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4917</id>
		<title>R2D2 HTTP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4917"/>
		<updated>2026-01-28T10:16:56Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any command from the R2D2 API can be accessed through a HTTP Interface.&lt;br /&gt;
&lt;br /&gt;
It has the following syntax:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Syntax&#039;&#039;&#039;:&lt;br /&gt;
|http://[&#039;&#039;&#039;user:password&#039;&#039;&#039;@]&#039;&#039;&#039;IP_Address&#039;&#039;&#039;[:&#039;&#039;&#039;Port_Number]&#039;&#039;&#039;/cgi-bin?command=&#039;&#039;&#039;R2D2Command&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;arg1&#039;&#039;&#039;=val1&amp;amp;&#039;&#039;&#039;arg2&#039;&#039;&#039;=val2...&amp;amp;&#039;&#039;&#039;argN&#039;&#039;&#039;=v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| - &#039;&#039;&#039;User:password&#039;&#039;&#039; are user &amp;amp; password to connect to the Robot&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;IP_Address&#039;&#039;&#039; is the TCP/IP address of the Robot, &#039;&#039;&#039;Port&#039;&#039;&#039; is the port used to access the R2D2 API&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;R2D2Commmand&#039;&#039;&#039; is the R2D2 API command to be executed&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;arg1&#039;&#039;&#039; to &#039;&#039;&#039;argN&#039;&#039;&#039; depend on the arguments needed for the R2D2 API command entered.&lt;br /&gt;
&lt;br /&gt;
Argument between brackets are optionals.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
|If Robot&#039;s credentials are user=root and password=admin, at IP Address 192.168.1.1 with port 8000:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=StartGsmPort&amp;amp;arg1=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=SendAtCommand&amp;amp;arg1=0&amp;amp;arg2=ATI4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
In order to allow the HTTP interface to work, it has to be enabled by the following command (through SSH):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPListeningPort /t REG_DWORD /d 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTP ListingPort to 80, or any desired and available value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPSListeningPort /t REG_DWORD /d 443&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTPS ListingPort to 443, or any desired and available value. And the following line saves the modification on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg regsave&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to take into account the changes the following commands must be entered:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command can then be used to check if the configuration is correct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPSListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will either return the HTTP or the HTTPS Listening port depending on the command above entered.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4916</id>
		<title>R2D2 HTTP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4916"/>
		<updated>2026-01-28T10:16:01Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any command from the R2D2 API can be accessed through a HTTP Interface.&lt;br /&gt;
&lt;br /&gt;
It has the following syntax:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Syntax&#039;&#039;&#039;:&lt;br /&gt;
|http://[&#039;&#039;&#039;user:password&#039;&#039;&#039;@]&#039;&#039;&#039;IP_Address&#039;&#039;&#039;[:&#039;&#039;&#039;Port_Number]&#039;&#039;&#039;/cgi-bin?command=&#039;&#039;&#039;R2D2Command&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;arg1&#039;&#039;&#039;=val1&amp;amp;&#039;&#039;&#039;arg2&#039;&#039;&#039;=val2...&amp;amp;&#039;&#039;&#039;argN&#039;&#039;&#039;=v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| - &#039;&#039;&#039;User:password&#039;&#039;&#039; are user &amp;amp; password to connect to the Robot&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;IP_Address&#039;&#039;&#039; is the TCP/IP address of the Robot, &#039;&#039;&#039;Port&#039;&#039;&#039; is the port used to access the R2D2 API&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;R2D2Commmand&#039;&#039;&#039; is the R2D2 API command to be executed&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;arg1&#039;&#039;&#039; to &#039;&#039;&#039;argN&#039;&#039;&#039; depend on the arguments needed for the R2D2 API command entered.&lt;br /&gt;
&lt;br /&gt;
Argument between brackets are optionals.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
|If Robot&#039;s credentials are user=root and password=admin, at IP Address 192.168.1.1 with port 8000:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=StartGsmPort&amp;amp;arg1=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* http://root:admin@192.168.1&amp;lt;nowiki/&amp;gt;.1:8000/cgi-bin?command=SendAtCommand&amp;amp;arg1=0&amp;amp;arg2=ATI4&lt;br /&gt;
|}&lt;br /&gt;
In order to allow the HTTP interface to work, it has to be enabled by the following command (through SSH):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPListeningPort /t REG_DWORD /d 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTP ListingPort to 80, or any desired and available value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPSListeningPort /t REG_DWORD /d 443&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTPS ListingPort to 443, or any desired and available value. And the following line saves the modification on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg regsave&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to take into account the changes the following commands must be entered:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command can then be used to check if the configuration is correct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPSListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will either return the HTTP or the HTTPS Listening port depending on the command above entered.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4915</id>
		<title>R2D2 HTTP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=R2D2_HTTP_API&amp;diff=4915"/>
		<updated>2026-01-28T10:11:27Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any command from the R2D2 API can be accessed through a HTTP Interface.&lt;br /&gt;
&lt;br /&gt;
It has the following syntax:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Syntax&#039;&#039;&#039;:&lt;br /&gt;
|http://[&#039;&#039;&#039;user:password&#039;&#039;&#039;@]&#039;&#039;&#039;IP_Address&#039;&#039;&#039;[:&#039;&#039;&#039;Port_Number]&#039;&#039;&#039;/cgi-bin?command=&#039;&#039;&#039;R2D2Command&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;arg1&#039;&#039;&#039;=val1&amp;amp;&#039;&#039;&#039;arg2&#039;&#039;&#039;=val2...&amp;amp;&#039;&#039;&#039;argN&#039;&#039;&#039;=v&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| - &#039;&#039;&#039;User:password&#039;&#039;&#039; are user &amp;amp; password to connect to the Robot&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;IP_Address&#039;&#039;&#039; is the TCP/IP address of the Robot, &#039;&#039;&#039;Port&#039;&#039;&#039; is the port used to access the R2D2 API&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;R2D2Commmand&#039;&#039;&#039; is the R2D2 API command to be executed&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;arg1&#039;&#039;&#039; to &#039;&#039;&#039;argN&#039;&#039;&#039; depend on the arguments needed for the R2D2 API command entered.&lt;br /&gt;
&lt;br /&gt;
Argument between brackets are optionals.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
|If Robot&#039;s credentials are user=root and password=admin, at IP Address 192.168.1.1 with port 8000:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://root:admin@192.168.1.1:8000/cgi-bin?command=StartGsmPort&amp;amp;arg1=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* http://root:admin@192.168.1&amp;lt;nowiki/&amp;gt;.1:8000/cgi-bin?command=SendAtCommand&amp;amp;arg1=0arg2=ATI4&lt;br /&gt;
|}&lt;br /&gt;
In order to allow the HTTP interface to work, it has to be enabled by the following command (through SSH):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPListeningPort /t REG_DWORD /d 80&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTP ListingPort to 80, or any desired and available value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg add services/gsmrobotd/parameters /v HTTPSListeningPort /t REG_DWORD /d 443&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It sets the HTTPS ListingPort to 443, or any desired and available value. And the following line saves the modification on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg regsave&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to take into account the changes the following commands must be entered:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc stop gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmuxsvc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sc start gsmrobotd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command can then be used to check if the configuration is correct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reg query services/gsmrobotd/parameters /v HTTPSListeningPort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will either return the HTTP or the HTTPS Listening port depending on the command above entered.&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4914</id>
		<title>StartQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4914"/>
		<updated>2025-11-04T09:10:17Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts QXDM traces on DIAG port of the specifed port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartQxdmTrace&lt;br /&gt;
|PortIndex Filename&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;BR&amp;gt;~#StartQxdmTrace 0 /var/log.trc&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StreamVideo&amp;diff=4913</id>
		<title>StreamVideo</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StreamVideo&amp;diff=4913"/>
		<updated>2025-11-03T23:37:51Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This command performs a video streaming action through the specified GSM port to download videos at given URL.  &lt;br /&gt;
&lt;br /&gt;
Data session should be active on the specified port.  &lt;br /&gt;
&lt;br /&gt;
Any youtube website is supported.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;StreamVideo&#039;&#039;&#039;&lt;br /&gt;
|PortIndex, URL &lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Success or Error Message (See [[Data Messages|Data Commands Messages]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039; &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# StreamVideo 0 &amp;quot;https://www.youtube.com/watch?v=JmPgWUd896g&amp;quot;&lt;br /&gt;
Streaming done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:DATA]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetListOfApiFunctions&amp;diff=4912</id>
		<title>GetListOfApiFunctions</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetListOfApiFunctions&amp;diff=4912"/>
		<updated>2025-11-03T23:10:42Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command writes to the standard output the list of supported R2D2 API functions. Optional flag A can be used to get list in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|GetListOfApiFunctions&lt;br /&gt;
|None or A&lt;br /&gt;
|List of supported R2D2 API commands&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
R2D2 API software version&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetListOfApiFunctions&lt;br /&gt;
R2D2 API functions:&lt;br /&gt;
GetGsmRobotApiVersion&lt;br /&gt;
GetListOfApiFunctions&lt;br /&gt;
...&lt;br /&gt;
RouteGsmPortToSip&lt;br /&gt;
GsmRoutePrint&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:GENERAL]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=GetListOfApiFunctions&amp;diff=4911</id>
		<title>GetListOfApiFunctions</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=GetListOfApiFunctions&amp;diff=4911"/>
		<updated>2025-11-03T23:10:00Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command writes to the standard output the list of supported R2D2 API functions. Optional flag A can be used to get list in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|GetListOfApiFunctions&lt;br /&gt;
|None&lt;br /&gt;
|List of supported R2D2 API commands&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
R2D2 API software version&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# GetListOfApiFunctions&lt;br /&gt;
R2D2 API functions:&lt;br /&gt;
GetGsmRobotApiVersion&lt;br /&gt;
GetListOfApiFunctions&lt;br /&gt;
...&lt;br /&gt;
RouteGsmPortToSip&lt;br /&gt;
GsmRoutePrint&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:R2D2]]&lt;br /&gt;
[[Category:GENERAL]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4910</id>
		<title>StopQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4910"/>
		<updated>2025-11-03T23:08:43Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command stops QXDM trace on specifed port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StopQxdmTrace&lt;br /&gt;
|PortIndex&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
~#StopQxdmTrace 0&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4909</id>
		<title>StartQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4909"/>
		<updated>2025-11-03T23:06:23Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts QXDM traces on DIAG port of the specifed port.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartQxdmTrace&lt;br /&gt;
|PortIndex Filename&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;BR&amp;gt;~#StopQxdmTrace 0 /var/log.trc&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4908</id>
		<title>StartQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4908"/>
		<updated>2025-11-03T23:05:41Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts/opens the specified GSM port when a local sim card is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartQxdmTrace&lt;br /&gt;
|PortIndex Filename&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;BR&amp;gt;~#StopQxdmTrace 0 /var/log.trc&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4907</id>
		<title>StopQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4907"/>
		<updated>2025-11-03T23:03:03Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts/opens the specified GSM port when a local sim card is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartGsmPort&lt;br /&gt;
|PortIndex&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
~#StartGsmPort 0&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4906</id>
		<title>StopQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4906"/>
		<updated>2025-11-03T23:01:45Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts/opens the specified GSM port when a local sim card is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartGsmPort&lt;br /&gt;
|PortIndex&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
~#StartGsmPort 0&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4905</id>
		<title>StopQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StopQxdmTrace&amp;diff=4905"/>
		<updated>2025-11-03T22:59:38Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4904</id>
		<title>StartQxdmTrace</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=StartQxdmTrace&amp;diff=4904"/>
		<updated>2025-11-03T22:58:31Z</updated>

		<summary type="html">&lt;p&gt;Administrator: Created page with &amp;quot;This command starts/opens the specified GSM port when a local sim card is used.  &amp;#039;&amp;#039;&amp;#039;COMMAND:&amp;#039;&amp;#039;&amp;#039; {| class=&amp;quot;wikitable&amp;quot; !Command !Input Arguments !Returns |- |StartGsmPort |PortIndex |Error Code in case of error |} &amp;#039;&amp;#039;&amp;#039;OUTPUT:&amp;#039;&amp;#039;&amp;#039;  None.  &amp;#039;&amp;#039;&amp;#039;EXAMPLE:&amp;#039;&amp;#039;&amp;#039;&amp;lt;BR&amp;gt;~#StartGsmPort 0  Category:GENERAL Category:R2D2&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command starts/opens the specified GSM port when a local sim card is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Input Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|StartGsmPort&lt;br /&gt;
|PortIndex&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE:&#039;&#039;&#039;&amp;lt;BR&amp;gt;~#StartGsmPort 0&lt;br /&gt;
&lt;br /&gt;
[[Category:GENERAL]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=WaitVolteRegistration&amp;diff=4903</id>
		<title>WaitVolteRegistration</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=WaitVolteRegistration&amp;diff=4903"/>
		<updated>2025-11-03T21:41:35Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command allows to wait until VoLTE registration is done.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;WaitVolteRegistration&#039;&#039;&#039;&lt;br /&gt;
|PortIndex [Timeout]&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error.&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Command status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# WaitVolteRegistration 0 180&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:VOLTE]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://wiki.opalesystems.com/index.php?title=WaitRegistration&amp;diff=4902</id>
		<title>WaitRegistration</title>
		<link rel="alternate" type="text/html" href="https://wiki.opalesystems.com/index.php?title=WaitRegistration&amp;diff=4902"/>
		<updated>2025-11-03T21:40:52Z</updated>

		<summary type="html">&lt;p&gt;Administrator: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This command allows to wait until Network registration is done.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMMAND&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
!Line Arguments&lt;br /&gt;
!Returns&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;WaitRegistration&#039;&#039;&#039;&lt;br /&gt;
|PortIndex [Timeout]&lt;br /&gt;
|[[R2D2 Error Codes|Error Code]] in case of error.&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;OUTPUT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Command status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXAMPLE&#039;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
~# WaitRegistration 0 180&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NETWORK]]&lt;br /&gt;
[[Category:R2D2]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
</feed>