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:10] – [Etisalat S3] 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: |
| ===== Supported Versions ===== | ===== Supported Versions ===== | ||
| - | |||
| - | <WRAP BOX> | ||
| - | FIXME | ||
| - | - The tables below are automatically generated, **once the correct filters for Brand and Model are set.** | ||
| - | - If the tables below show information for ''< | ||
| - | - If the tables below contain " | ||
| - | - the dataentry page for Etisalat S3 is missing. Please [[meta: | ||
| - | - filters are not set correctly. Most common reason for " | ||
| - | - If the tables still contain " | ||
| - | </ | ||
| ---- datatable ---- | ---- datatable ---- | ||
| Line 32: | Line 21: | ||
| filter | filter | ||
| filter | filter | ||
| - | filter | ||
| - | ---- | ||
| - | |||
| - | /* If no unsupported functions known, comment out the following datatable or delete it. */ | ||
| - | ---- datatable ---- | ||
| - | cols : Unsupported Functions_unsupporteds | ||
| - | filter | ||
| - | filter | ||
| - | filter | ||
| ---- | ---- | ||
| ===== Experimental Versions ===== | ===== Experimental Versions ===== | ||
| - | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | + | * [[https://forum.openwrt.org/t/add-support-for-beeline-smartbox-giga/99390/4|Community builds]] |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | + | |
| - | + | ||
| - | //None at this time.// | + | |
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== | ||
| Line 61: | Line 34: | ||
| filter | filter | ||
| filter | filter | ||
| - | filter | ||
| ---- | ---- | ||
| Line 67: | 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 74: | Line 46: | ||
| filter | filter | ||
| filter | filter | ||
| - | filter | ||
| ---- | ---- | ||
| - | */ | ||
| + | ==== 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 | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| + | 2. Navigate to Settings -> Configuration -> Save to Computer | ||
| - | -> [[docs:guide-user: | + | 3. Decode the configuration. For example, using cfgtool.py tool (A tool for decoding and encoding Sercomm configs |
| + | <code bash> | ||
| + | cfgtool.py -u configurationBackup.cfg | ||
| + | </ | ||
| - | FIXME Please add the installation procedure here. | + | <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: | ||
| + | <code bash> | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | 5. Insert the following line after and save: | ||
| + | <code bash> | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | 6. Encode the configuration. For example, using cfgtool.py tool: | ||
| + | <code bash> | ||
| + | cfgtool.py -p configurationBackup.xml | ||
| + | </ | ||
| + | |||
| + | 7. Upload the changed configuration (configurationBackup_changed.cfg) to the router | ||
| + | |||
| + | 8. Login to the router web interface (SuperUser: | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | 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=/ | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | ==== 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 104: | Line 215: | ||
| ==== OEM easy installation ==== | ==== OEM easy installation ==== | ||
| - | <WRAP BOX> | + | See Installation section |
| - | FIXME //The instructions below are for Broadcom devices and only serve as an example.// | + | |
| - | **//Remove / modify them if they do not apply to this particular device!//** | + | |
| - | This section deals with | + | ==== OEM installation using the TFTP method ==== |
| - | * How you install OpenWrt from a device freshly opened | + | |
| - | * The steps required such as reset to factory defaults if the device has already been configured | + | |
| - | **Note:** Reset router to factory defaults if it has been previously configured. | + | Not applicable |
| - | * Browse to ''< | + | |
| - | * Upload .bin file to router | + | |
| - | * Wait for it to reboot | + | |
| - | * Telnet to 192.168.1.1 and set a root password, or browse to ''< | + | |
| - | </ | + | |
| - | + | ||
| - | ==== OEM installation using the TFTP method ==== | + | |
| -> [[docs: | -> [[docs: | ||
| - | |||
| - | === Specific values needed for tftp === | ||
| - | |||
| - | <WRAP BOX> | ||
| - | |||
| - | FIXME Enter values for " | ||
| - | |||
| - | ^ Bootloader tftp server IPv4 address | ||
| - | ^ Bootloader MAC address (special) | ||
| - | ^ Firmware tftp image | [[: | ||
| - | ^ TFTP transfer window | ||
| - | ^ TFTP window start | approximately FILL-IN seconds after power on | | ||
| - | ^ TFTP client required IP address | ||
| - | |||
| - | </ | ||
| ===== Upgrading OpenWrt ===== | ===== Upgrading OpenWrt ===== | ||
| -> [[docs: | -> [[docs: | ||
| - | |||
| - | <WRAP BOX> | ||
| - | |||
| - | FIXME These are generic instructions. Update with your router' | ||
| ==== LuCI Web Upgrade Process ==== | ==== LuCI Web Upgrade Process ==== | ||
| Line 154: | 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 | + | There is a command line method |
| * '' | * '' | ||
| - | * '' | + | |
| 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 163: | Line 244: | ||
| === sysupgrade === | === sysupgrade === | ||
| - | * Login as root via SSH on 192.168.1.1, | + | * Login as root via SSH on 192.168.1.1, |
| - | < | + | < |
| cd /tmp | cd /tmp | ||
| - | wget http:// | + | sysupgrade /tmp/sysupgrade.bin |
| - | sysupgrade /tmp/xxx.abc | + | |
| </ | </ | ||
| - | === mtd === | + | ===== Debricking |
| + | -> [[docs: | ||
| - | If '' | + | ==== sercomm-recovery utility ==== |
| + | 1. Compile [[https:// | ||
| + | <code bash> | ||
| + | git clone https:// | ||
| + | make | ||
| + | </ | ||
| - | * Login as root via SSH on 192.168.1.1, then enter the following commands: | + | 2. Connect |
| - | + | < | |
| - | < | + | sudo ./sercomm-recovery enp0s3 recovery_etisalat_s3_stock_slot1.bin |
| - | cd /tmp | + | |
| - | wget http:// | + | |
| - | mtd write /tmp/xxx.abc linux && reboot | + | |
| </ | </ | ||
| + | where //enp0s3// - network interface connected the router, // | ||
| - | </ | + | 3. Wait until the router is flashed and rebooted. |
| - | + | ||
| - | ===== Debricking ===== | + | |
| - | -> [[docs: | + | |
| + | [[https:// | ||
| ===== Failsafe mode ===== | ===== Failsafe mode ===== | ||
| -> [[docs: | -> [[docs: | ||
| Line 197: | 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 256: | Line 313: | ||
| filter | filter | ||
| filter | filter | ||
| - | filter | ||
| ---- | ---- | ||
| Line 278: | 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 289: | 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 324: | 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}} | + | |