Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:etisalat:s3 [2023/01/11 19:19] – [Hardware Highlights] csharper2005toh:etisalat:s3 [2023/10/16 20:12] – [Installation] csharper2005
Line 5: Line 5:
 /* USE https://openwrt.org/meta/create_new_device_page */ /* USE https://openwrt.org/meta/create_new_device_page */
  
-{{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} 
  
 OEM: Sercomm S3 OEM: Sercomm S3
Line 11: Line 10:
 Etisalat S3 is a wireless router based on the MT7621 platform with USB 3.0 port. Etisalat S3 is a wireless router based on the MT7621 platform with USB 3.0 port.
  
-{{media:sercomm_s3_front.jpg?400|Etisalat S3}}+{{media:sercomm:sercomm_s3_front.jpg?400|Etisalat S3}}
  
  
Line 40: Line 39:
 ===== Installation ===== ===== Installation =====
 /* stable release */ /* stable release */
-/* uncomment once stable release is available+
 ---- datatable ---- ---- datatable ----
 cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url
Line 47: Line 46:
 filter  : Brand=Etisalat filter  : Brand=Etisalat
 filter  : Model=S3 filter  : Model=S3
-filter  : Versions~ 
 ---- ----
-*/ 
  
 +==== OpenWrt installation ====
  
-/* snapshot */ +1.  Login to the router web interface under admin account
-/* delete once stable release is available */ +
----- datatable ---- +
-cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url +
-headers : Model, Version, Current Release, Firmware OpenWrt snapshot Install, Firmware OpenWrt snapshot Upgrade, Firmware OEM Stock +
-align   : c,c,c +
-filter  : Brand=Etisalat +
-filter  : Model=S3 +
-filter  : Versions~ +
-----+
  
 +2.  Navigate to Settings -> Configuration -> Save to Computer
  
--> [[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]]+3.  Decode the configuration. For example, using cfgtool.py tool (A tool for decoding and encoding Sercomm configs https://github.com/r3d5ky/sercomm_cfg_unpacker)
 +<code bash> 
 +cfgtool.py -u configurationBackup.cfg 
 +</code>
  
-FIXME Please add the installation procedure here.+<hidden cfgtool.py> 
 +<code bash> 
 +""" 
 +Copyright (c) 2022 r3d5ky
  
-==== Flash Layout ==== +Permission is hereby granted, free of charge, to any person obtaining a copy 
-<WRAP BOX> +of this software and associated documentation files (the "Software"), to deal 
-FIXME //[[:docs:techref:flash.layout#discovery_how_to_find_out|Find out flash layout]]then add the flash layout table here (copypaste, modify the [[docs:techref:flash.layout#partitioning_of_the_flash|example]]).//+in the Software without restrictionincluding without limitation the rights 
 +to usecopy, modify, merge, publish, distribute, sublicense, and/or sell 
 +copies of the Software, and to permit persons to whom the Software is 
 +furnished to do so, subject to the following conditions:
  
-Please check out the article [[docs:techref:flash.layout|Flash layout]]. It contains examples and explanations that describe how to document the flash layout. +The above copyright notice and this permission notice shall be included in all 
-</WRAP>+copies or substantial portions of the Software.
  
-==== OEM easy installation ====+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
 +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
 +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 
 +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 
 +OR OTHER DEALINGS IN THE SOFTWARE. 
 +"""
  
-<WRAP BOX> +import zlib 
-FIXME //The instructions below are for Broadcom devices and only serve as an example.//\\ +import sys 
-**//Remove / modify them if they do not apply to this particular device!//**+import argparse
  
-This section deals with +def unpack(cfg_file, raw): 
-  * How you install OpenWrt from a device freshly opened +    with open(cfg_file, 'rb'as f: 
-  * The steps required such as reset to factory defaults if the device has already been configured+        infile = f.read()
  
-**Note:** Reset router to factory defaults if it has been previously configured. +    unpacked = zlib.decompress(infile[4:]) 
-  * Browse to ''<nowiki>http://192.168.1.1/Upgrade.asp</nowiki>'' +    config = unpacked[unpacked.find(b'\x3c\x44\x41\x54\x41'):-6] 
-  * Upload .bin file to router +    userdata = unpacked[:unpacked.find(b'\x3c\x44\x41\x54\x41')] 
-  * Wait for it to reboot +     
-  * Telnet to 192.168.1.1 and set a root passwordor browse to ''<nowiki>http://192.168.1.1</nowiki>'' if LuCI is installed. +    if raw: 
-</WRAP>+        with open(cfg_file[:-4] + '_raw.txt', 'wb') as f: 
 +            f.write(unpacked)
  
-==== OEM installation using the TFTP method ====+    with open(cfg_file[:-4] + '.xml', 'wb') as f: 
 +        f.write(config) 
 +    with open(cfg_file[:-4] + '_userdata.bin', 'wb') as f: 
 +        f.write(userdata)
  
-->  [[docs:guide-user:installation:generic.flashing.tftp]] 
  
-=== Specific values needed for tftp ===+def pack(xml_file, endianness): 
 +    with open(xml_file, 'rb') as f: 
 +        rawconfig f.read() + b'\x0a\x00' 
 +    with open(xml_file[:-4] + '_userdata.bin', 'rb') as f: 
 +        userdata f.read() 
 +    endian "little" 
 +    if endianness: 
 +        endian "big" 
 +    crc zlib.crc32(rawconfig).to_bytes(4, endian) 
 +    config userdata + rawconfig + crc 
 +     
 +    with open(sys.argv[2][:-4] + '_changed.cfg', 'wb') as f:  
 +        f.write(len(config).to_bytes(4, endian) + zlib.compress(config))
  
-<WRAP BOX> 
  
-FIXME Enter values for "FILL-INbelow+def main(): 
 +    parser = argparse.ArgumentParser(description="Sercomm backup config packer/unpacker"
 +    group = parser.add_mutually_exclusive_group(required=True) 
 +    group.add_argument("-u","--unpack", action='store_true', help="unpack .cfg file to .xml + header"
 +    group.add_argument("-p","--pack", action='store_true', help="pack .xml + header back to .cfg"
 +    parser.add_argument("-r","--raw", action='store_true', help="create additional file with raw unpacked data (optional)"
 +    parser.add_argument("-b","--big", action='store_true', help="pack for Big Endian arch (default is Little Endian)"
 +    parser.add_argument('file', type=str, help="path to .cfg/.xml file for unpacking/packing"
 +    args = parser.parse_args() 
 +     
 +    if args.unpack: 
 +        unpack(args.file, args.raw) 
 +    elif args.pack: 
 +        pack(args.file, args.big)
  
-^ Bootloader tftp server IPv4 address  | FILL-IN   | +    print("Done!")
-^ Bootloader MAC address (special)     | FILL-IN   | +
-^ Firmware tftp image                  | [[:downloads|Latest OpenWrt release]] (**''NOTE:''** Name must contain //"tftp"//+
-^ TFTP transfer window                 | FILL-IN seconds                                | +
-^ TFTP window start                    | approximately FILL-IN seconds after power on   | +
-^ TFTP client required IP address      | FILL-IN                                        |+
  
-</WRAP> 
  
-===== Upgrading OpenWrt ===== +if __name__ == '__main__': 
-- [[docs:guide-user:installation:generic.sysupgrade]]+    main() 
 +</code> 
 +</hidden>
  
 +
 +4.  Open configurationBackup.xml and find the following line:
 +<code bash>
 +<PARAMETER name="Password" type="string" value="<your router serial is here>" writable="1" encryption="1" password="1"/>
 +</code>
 +       
 +5.  Insert the following line after and save:
 +<code bash>
 +<PARAMETER name="Enable" type="boolean" value="1" writable="1" encryption="0"/>
 +</code>
 +
 +6.  Encode the configuration. For example, using cfgtool.py tool:
 +<code bash>
 +cfgtool.py -p configurationBackup.xml
 +</code>
 +
 +7.  Upload the changed configuration (configurationBackup_changed.cfg) to the router
 +
 +8.  Login to the router web interface (SuperUser:ETxxxxxxxxxx, where ETxxxxxxxxxx is the serial number from the backplate label)
 +
 +9.  Navigate to Settings -> Access Control -> Allow SSH (& Press apply)
 +
 +10. Connect to the router using SSH shell under SuperUser account
 +
 +11. Run in SSH shell:
 +<code bash>
 +sh
 +</code>
 +
 +12. Make a mtd backup (optional, see related section)
 +
 +13. Change bootflag to Sercomm1 and reboot:
 +<code bash>
 +printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
 +reboot
 +</code>
 +
 +14. Login to the router web interface under admin account
 +
 +15. Remove dots from the OpenWrt factory image filename
 +
 +16. Update firmware via web using OpenWrt factory image
 +
 +==== Backup ====
 +
 +It's recommended to make a mtd backup before you start:
 +
 +1. Set up a tftp server (e.g. tftpd64 for windows)
 +
 +2. Connect to a router using SSH shell and run the following commands:
 +<code bash>
 +cd /tmp
 +for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \
 +tftp -l mtd$i -p 10.0.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
 +tftp -l mtd.md5 -p 10.0.0.2
 +</code>
 +
 +==== Return to Stock ====
 +1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot:
 +<code bash>
 +printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
 +</code>
 +2. Optional: Update with any stock (Etisalat S3) firmware if you want to overwrite OpenWrt in Slot 0 completely.
 +==== Flash Layout ====
 <WRAP BOX> <WRAP BOX>
 +FIXME //[[:docs:techref:flash.layout#discovery_how_to_find_out|Find out flash layout]], then add the flash layout table here (copy, paste, modify the [[docs:techref:flash.layout#partitioning_of_the_flash|example]]).//
  
-FIXME These are generic instructionsUpdate with your router's specifics.+Please check out the article [[docs:techref:flash.layout|Flash layout]]. It contains examples and explanations that describe how to document the flash layout. 
 +</WRAP> 
 + 
 +==== OEM easy installation ==== 
 + 
 +See Installation section 
 + 
 +==== OEM installation using the TFTP method ==== 
 + 
 +Not applicable 
 + 
 +->  [[docs:guide-user:installation:generic.flashing.tftp]] 
 + 
 +===== Upgrading OpenWrt ===== 
 +->  [[docs:guide-user:installation:generic.sysupgrade]]
  
 ==== LuCI Web Upgrade Process ==== ==== LuCI Web Upgrade Process ====
Line 127: Line 235:
  
 If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line.
-There are two command line methods for upgrading:+There is a command line method for upgrading:
  
   * ''sysupgrade''   * ''sysupgrade''
-  * ''mtd''+
  
 Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing. Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.
Line 136: Line 244:
 === sysupgrade === === sysupgrade ===
  
-  * Login as root via SSH on 192.168.1.1, then enter the following commands:+  * Login as root via SSH on 192.168.1.1, copy images to /tmp using SCP and then enter the following commands:
  
-<code>+<code bash>
 cd /tmp cd /tmp
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc +sysupgrade /tmp/sysupgrade.bin
-sysupgrade /tmp/xxx.abc+
 </code> </code>
  
-=== mtd ===+===== Debricking ===== 
 +-> [[docs:guide-user:troubleshooting:generic.debrick]]
  
-If ''sysupgrade'' does not support this router, use ''mtd''.+==== sercomm-recovery utility ==== 
 +1Compile [[https://github.com/danitool/sercomm-recovery|sercomm-recovery]] under the Linux: 
 +<code bash> 
 +git clone https://github.com/danitool/sercomm-recovery.git 
 +make 
 +</code>
  
-  * Login as root via SSH on 192.168.1.1, then enter the following commands: +2Connect the router with a cable and run sercomm-recovery
- +<code bash
-<code> +sudo ./sercomm-recovery enp0s3 recovery_etisalat_s3_stock_slot1.bin
-cd /tmp +
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc +
-mtd write /tmp/xxx.abc linux && reboot+
 </code> </code>
 +where //enp0s3// - network interface connected the router, //ifconfig// - list on available network interfaces
  
-</WRAP> +3. Wait until the router is flashed and rebooted.
- +
-===== Debricking ===== +
--> [[docs:guide-user:troubleshooting:generic.debrick]]+
  
 +[[https://mega.nz/folder/tlIm1JLK#bBRJXq-DVkzJBOR2dC1K5w|Download ready recovery images]] for Sercomm devices.
 ===== Failsafe mode ===== ===== Failsafe mode =====
 -> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]] -> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]]
Line 170: Line 279:
 ===== Specific Configuration ===== ===== Specific Configuration =====
  
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
- 
-==== Network interfaces ==== 
 The default network configuration is: The default network configuration is:
-^ Interface Name   ^ Description                  ^ Default configuration    +^ Interface Name   ^ Description         ^ Default configuration   
-| br-lan           EXAMPLE LAN & WiFi           EXAMPLE 192.168.1.1/24   +| br-lan           | LAN & WiFi          | 192.168.1.1/24          
-vlan0 (eth0.0)   EXAMPLE LAN ports (1 to 4)   EXAMPLE None             +lan1-4           | LAN ports (1-4)     br-lan                  
-vlan1 (eth0.1)   EXAMPLE WAN port             EXAMPLE DHCP             | +wan              | WAN port            | DHCP                    |
-| wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         | +
- +
-</WRAP>+
  
 ==== Switch Ports (for VLANs) ==== ==== Switch Ports (for VLANs) ====
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
  
-Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on. 
 ^ Port             ^ Switch port   ^ ^ Port             ^ Switch port   ^
-| Internet (WAN)   EXAMPLE 4     +| Internet (WAN)   wan           
-| LAN 1            | EXAMPLE 3     +| LAN 1            | lan1          
-| LAN 2            | EXAMPLE 2     +| LAN 2            | lan2          
-| LAN 3            | EXAMPLE 1     +| LAN 3            | lan3          
-| LAN 4            | EXAMPLE 0     | +| LAN 4            | lan4          |
- +
-</WRAP>+
  
 ==== Buttons ==== ==== Buttons ====
 -> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s). -> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s).
 Here, we merely name the buttons, so we can use them in the above Howto. Here, we merely name the buttons, so we can use them in the above Howto.
- 
-<WRAP BOX> 
-FIXME Please fill in real values for this device, then remove the EXAMPLEs 
  
 The Etisalat S3 has the following buttons: The Etisalat S3 has the following buttons:
  
-^ BUTTON                       ^ Event   ^ +^ BUTTON        ^ Event   ^ 
-EXAMPLE Reset                |  reset  | +| Reset    |  reset  | 
-EXAMPLE Secure Easy Setup      ses   | +WPS       wps    |
-| EXAMPLE No buttons at all.      -    |+
  
-</WRAP> 
  
 ===== Hardware ===== ===== Hardware =====
 ==== Info ==== ==== Info ====
-<WRAP BOX> 
-FIXME 
-  - This table is automatically generated, **once the correct filters for Brand and Model are set.** 
-  - If you see "Nothing." instead of a table, please **edit this section and adjust the filters with the proper Brand and Model.** Just try, it's easy. 
-  - If you still don't see a table here, or a table filled with '¿': [[toh:start|Is there already a Techdata page available]] for Etisalat S3 ? If not: [[meta:create_new_dataentry_page|Create one]]. 
-  - If you see a table with the desired device data, everything is OK and you can delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. 
-  - If it still doesn't work: Don't panic, calm down, take a deep breath and [[:contact|contact a wiki admin]] (tmomas) for help. 
-</WRAP> 
  
 ---- datatemplatelist dttpllist ---- ---- datatemplatelist dttpllist ----
Line 229: Line 313:
 filter  : Brand=Etisalat filter  : Brand=Etisalat
 filter  : Model=S3 filter  : Model=S3
-filter  : Versions= 
 ---- ----
  
Line 251: Line 334:
 **Note:** This will void your warranty! **Note:** This will void your warranty!
  
-<WRAP BOX> +There are 2 crews behind the rubber feet. There are also clips around the edge of the case you will need to prize open, using, for example, plastic card. 
-FIXME //Describe what needs to be done to open the device, e.g. remove rubber feet, adhesive labels, screws, ...// + 
-  * To remove the cover and open the devicedo a/b/c +{{media:rostelecom:rt-sf-1_case_opening.jpg?400|Rostelecom RT-SF-1 case opening}}
-</WRAP>+
  
 //Main PCB://\\ //Main PCB://\\
Line 262: Line 344:
 -> [[docs:techref:hardware:port.serial]] general information about the serial port, serial port cable, etc. -> [[docs:techref:hardware:port.serial]] general information about the serial port, serial port cable, etc.
  
-How to connect to the Serial Port of this specific device:\\ +How to connect to the Serial Port of the Etisalat S3:\\ 
-**Insert photo of PCB with markings for serial port**+{{media:beeline:smartbox-turbo_pcb_serial.jpg?400|Beeline SmartBox TURBO UART connection}}
  
-<WRAP BOX> +You need to connect R53 and R54 pins (marked red on the photo). For example using the solder
-FIXME //Replace EXAMPLE by real values.// + 
-</WRAP>+^ Serial connection parameters\\ for Etisalat S3 | 57600, 8N1, 3.3V |
  
-^ Serial connection parameters\\ for Etisalat S3 @@Version@@ | EXAMPLE 115200, 8N1, 3.3V | 
  
 ==== JTAG ==== ==== JTAG ====
Line 297: Line 378:
  
 ===== Notes ===== ===== Notes =====
-//Space for additional notes, links to forum threads or other resources.// 
- 
-  * ... 
  
 +=== OpenWrt community builds (unofficial) ===
 +  * [[https://forum.openwrt.org/t/add-support-for-beeline-smartbox-giga/99390/4|Community builds]]
 ===== Tags ===== ===== Tags =====
-<WRAP BOX> 
-FIXME //Add tags below, then remove this fixme.// 
-</WRAP> 
  
-[[meta:tags|How to add tags]] +{{tag>U-boot 2core ramips mediatek MT7621 GigabitEthernet 1NIC 5Port 2WNIC wlan 802.11abgn 802.11a 802.11bgn 802.11ac mt7603 mt7615 InternalAntenna 4Ant 128NAND 256RAM USB3.0 USB 1USB Serial GPIO 2button 12v_powered etisalat sercomm S3 Dual_firmware}}
-{{tag>EXAMPLETAG}}+
  • Last modified: 2024/09/05 19:04
  • by csharper2005