Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:etisalat:s3 [2023/01/11 19:34] – [Upgrading OpenWrt] csharper2005 | toh:etisalat:s3 [2023/10/16 20:12] – [Installation] csharper2005 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| /* USE https:// | /* USE https:// | ||
| - | {{page> | ||
| 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: | + | {{media:sercomm: |
| 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 | ||
| headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock | headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock | ||
| - | align : c,c,c | ||
| - | filter | ||
| - | filter | ||
| - | ---- | ||
| - | */ | ||
| - | |||
| - | |||
| - | /* snapshot */ | ||
| - | /* 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 | align : c,c,c | ||
| filter | filter | ||
| Line 71: | Line 58: | ||
| cfgtool.py -u configurationBackup.cfg | cfgtool.py -u configurationBackup.cfg | ||
| </ | </ | ||
| + | |||
| + | <hidden cfgtool.py> | ||
| + | <code bash> | ||
| + | """ | ||
| + | Copyright (c) 2022 r3d5ky | ||
| + | |||
| + | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| + | of this software and associated documentation files (the " | ||
| + | in the Software without restriction, | ||
| + | to use, copy, 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: | ||
| + | |||
| + | The above copyright notice and this permission notice shall be included in all | ||
| + | copies or substantial portions of the Software. | ||
| + | |||
| + | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| + | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| + | MERCHANTABILITY, | ||
| + | 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. | ||
| + | """ | ||
| + | |||
| + | import zlib | ||
| + | import sys | ||
| + | import argparse | ||
| + | |||
| + | def unpack(cfg_file, | ||
| + | with open(cfg_file, | ||
| + | infile = f.read() | ||
| + | |||
| + | unpacked = zlib.decompress(infile[4: | ||
| + | config = unpacked[unpacked.find(b' | ||
| + | userdata = unpacked[: | ||
| + | | ||
| + | if raw: | ||
| + | with open(cfg_file[: | ||
| + | f.write(unpacked) | ||
| + | |||
| + | with open(cfg_file[: | ||
| + | f.write(config) | ||
| + | with open(cfg_file[: | ||
| + | f.write(userdata) | ||
| + | |||
| + | |||
| + | def pack(xml_file, | ||
| + | with open(xml_file, | ||
| + | rawconfig = f.read() + b' | ||
| + | with open(xml_file[: | ||
| + | userdata = f.read() | ||
| + | endian = " | ||
| + | if endianness: | ||
| + | endian = " | ||
| + | crc = zlib.crc32(rawconfig).to_bytes(4, | ||
| + | config = userdata + rawconfig + crc | ||
| + | | ||
| + | with open(sys.argv[2][: | ||
| + | f.write(len(config).to_bytes(4, | ||
| + | |||
| + | |||
| + | def main(): | ||
| + | parser = argparse.ArgumentParser(description=" | ||
| + | group = parser.add_mutually_exclusive_group(required=True) | ||
| + | group.add_argument(" | ||
| + | group.add_argument(" | ||
| + | parser.add_argument(" | ||
| + | parser.add_argument(" | ||
| + | parser.add_argument(' | ||
| + | args = parser.parse_args() | ||
| + | | ||
| + | if args.unpack: | ||
| + | unpack(args.file, | ||
| + | elif args.pack: | ||
| + | pack(args.file, | ||
| + | |||
| + | print(" | ||
| + | |||
| + | |||
| + | if __name__ == ' | ||
| + | main() | ||
| + | </ | ||
| + | </ | ||
| + | |||
| 4. Open configurationBackup.xml and find the following line: | 4. Open configurationBackup.xml and find the following line: | ||
| Line 91: | Line 163: | ||
| 8. Login to the router web interface (SuperUser: | 8. Login to the router web interface (SuperUser: | ||
| - | 9. Navigate to Settings -> WAN -> Add static IP interface | + | 9. Navigate to Settings -> Access Control |
| - | 10. Navigate | + | 10. Connect |
| - | 11. Change IP of your client to 10.0.0.2/ | + | 11. Run in SSH shell: |
| - | + | ||
| - | 12. Connect to the router using SSH shell under SuperUser account | + | |
| - | + | ||
| - | 13. Run in SSH shell: | + | |
| <code bash> | <code bash> | ||
| sh | sh | ||
| </ | </ | ||
| - | 14. Make a mtd backup (optional, see related section) | + | 12. Make a mtd backup (optional, see related section) |
| - | 15. Change bootflag to Sercomm1 and reboot: | + | 13. Change bootflag to Sercomm1 and reboot: |
| <code bash> | <code bash> | ||
| printf 1 | dd bs=1 seek=7 count=1 of=/ | printf 1 | dd bs=1 seek=7 count=1 of=/ | ||
| Line 112: | Line 180: | ||
| </ | </ | ||
| - | 16. Login to the router web interface under admin account | + | 14. Login to the router web interface under admin account |
| - | 17. Remove dots from the OpenWrt factory image filename | + | 15. Remove dots from the OpenWrt factory image filename |
| - | 18. Update firmware via web using OpenWrt factory image | + | 16. Update firmware via web using OpenWrt factory image |
| - | ===== Backup | + | ==== Backup ==== |
| It's recommended to make a mtd backup before you start: | It's recommended to make a mtd backup before you start: | ||
| Line 132: | Line 200: | ||
| </ | </ | ||
| + | ==== 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=/ | ||
| + | </ | ||
| + | 2. Optional: Update with any stock (Etisalat S3) firmware if you want to overwrite OpenWrt in Slot 0 completely. | ||
| ==== Flash Layout ==== | ==== Flash Layout ==== | ||
| <WRAP BOX> | <WRAP BOX> | ||
| Line 180: | Line 254: | ||
| -> [[docs: | -> [[docs: | ||
| + | ==== sercomm-recovery utility ==== | ||
| + | 1. Compile [[https:// | ||
| + | <code bash> | ||
| + | git clone https:// | ||
| + | make | ||
| + | </ | ||
| + | |||
| + | 2. Connect the router with a cable and run sercomm-recovery: | ||
| + | <code bash> | ||
| + | sudo ./ | ||
| + | </ | ||
| + | where //enp0s3// - network interface connected the router, // | ||
| + | |||
| + | 3. Wait until the router is flashed and rebooted. | ||
| + | |||
| + | [[https:// | ||
| ===== Failsafe mode ===== | ===== Failsafe mode ===== | ||
| -> [[docs: | -> [[docs: | ||
| Line 189: | 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 | + | ^ Interface Name ^ Description |
| - | | br-lan | + | | br-lan |
| - | | vlan0 (eth0.0) | + | | lan1-4 |
| - | | vlan1 (eth0.1) | + | | wan |
| - | | wl0 | EXAMPLE WiFi | EXAMPLE Disabled | + | |
| - | + | ||
| - | </ | + | |
| ==== 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) | + | | Internet (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 |
| - | + | ||
| - | </ | + | |
| ==== Buttons ==== | ==== Buttons ==== | ||
| -> [[docs: | -> [[docs: | ||
| 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 | + | ^ BUTTON |
| - | | EXAMPLE | + | | Reset | reset | |
| - | | EXAMPLE Secure Easy Setup | + | | WPS |
| - | | EXAMPLE No buttons at all. | + | |
| - | </ | ||
| ===== 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 " | ||
| - | - If you still don't see a table here, or a table filled with ' | ||
| - | - If you see a table with the desired device data, everything is OK and you can delete this text and the ''< | ||
| - | - If it still doesn' | ||
| - | </ | ||
| ---- datatemplatelist dttpllist ---- | ---- datatemplatelist dttpllist ---- | ||
| Line 248: | Line 313: | ||
| filter | filter | ||
| filter | filter | ||
| - | filter | ||
| ---- | ---- | ||
| Line 270: | Line 334: | ||
| **Note:** This will void your warranty! | **Note:** This will void your warranty! | ||
| - | <WRAP BOX> | + | There are 2 crews behind |
| - | FIXME //Describe what needs to be done to open the device, e.g. remove | + | |
| - | * To remove | + | {{media: |
| - | </ | + | |
| //Main PCB://\\ | //Main PCB://\\ | ||
| Line 281: | Line 344: | ||
| -> [[docs: | -> [[docs: | ||
| - | 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: |
| - | <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.// | + | |
| - | </ | + | ^ 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 316: | Line 378: | ||
| ===== Notes ===== | ===== Notes ===== | ||
| - | //Space for additional notes, links to forum threads or other resources.// | ||
| - | |||
| - | * ... | ||
| + | === OpenWrt community builds (unofficial) === | ||
| + | * [[https:// | ||
| ===== Tags ===== | ===== Tags ===== | ||
| - | <WRAP BOX> | ||
| - | FIXME //Add tags below, then remove this fixme.// | ||
| - | </ | ||
| - | [[meta: | + | {{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}} | + | |