├── FIRMWARE.md ├── README.md ├── dl ├── 15.05-testing │ ├── luci │ │ ├── config.txt │ │ ├── openwrt-ramips-mt7620-ex2700-squashfs-factory.bin │ │ └── openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin │ └── minimal │ │ ├── config.txt │ │ ├── openwrt-ramips-mt7620-ex2700-squashfs-factory.bin │ │ └── openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin └── 15.05 │ ├── kmod-mtd-rw_3.18.23+git-20160214-1_ramips_24kec.ipk │ ├── luci │ ├── config.txt │ ├── openwrt-ramips-mt7620-ex2700-squashfs-factory.bin │ └── openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin │ └── minimal │ ├── config.txt │ ├── openwrt-ramips-mt7620-ex2700-squashfs-factory.bin │ └── openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin ├── ex2700.tar.gz ├── fw_printenv ├── fw_setenv ├── mtd-rw.ko ├── mtd-unlocker.c ├── mtd-unlocker.ko ├── netgear-ex2700-openwrt-15.05.patch ├── netgear-ex2700-openwrt-trunk.patch ├── revert-to-stock.sh └── u-boot-env.bin /FIRMWARE.md: -------------------------------------------------------------------------------- 1 | Random notes on the stock firmware 2 | ================================== 3 | 4 | The stock mtd layout is as follows: 5 | ```` 6 | dev: size erasesize name 7 | mtd0: 00030000 00010000 "u-boot" 8 | mtd1: 00010000 00010000 "u-boot-env" 9 | mtd2: 000f0000 00010000 "kernel" 10 | mtd3: 00280000 00010000 "rootfs" 11 | mtd4: 00030000 00010000 "rootfs_data" 12 | mtd5: 00020000 00010000 "language" 13 | mtd6: 00010000 00010000 "pot" 14 | mtd7: 00010000 00010000 "config" 15 | mtd8: 00010000 00010000 "art" 16 | mtd9: 00370000 00010000 "firmware" 17 | ```` 18 | 19 | The most recent firmware (v1.0.1.8) can be downloaded here: 20 | 21 | * ftp://updates1.netgear.com/ex2700/ww/EX2700-V1.0.1.8.img 22 | * ftp://updates1.netgear.com/ex2700/ww/EX2700-V1.0.0.43Eng-Language-table 23 | 24 | ### /dev/mtd5 (language) 25 | 26 | The first four bytes contain a 3-character language identifier (`Eng` for 27 | English), followed by a newline (`0x0a`). Starting at offset 0x04, this 28 | partition essentially contains a `.tar` file which in turn contains a 29 | `.tar.gz` (yes, really) called `language_table.tar.gz`. This tarball contains 30 | a javascript file with translations for the web interface. 31 | 32 | ### /dev/mtd6 (config) 33 | 34 | This partition stores the configuration of the stock firmware. The partition 35 | uses the following header: 36 | 37 | ```` 38 | struct hdr_config { 39 | uint8_t magic[4]; // { 0x24, 0x02, 0x14, 0x20 } 40 | uint16_t len; // length of configuration data (file length - 7) 41 | uint16_t zero; // always zero 42 | uint32_t unknown; // checksum maybe? 43 | } 44 | ```` 45 | 46 | ### /dev/mtd7 (art) 47 | 48 | Stores data such as mac addresses, hardware id, etc. Some of these entries can 49 | be set via `artmtd`. Starting at offset `0x1000` is the EEPROM data for the WiFi 50 | adapter. Some intersting offsets: 51 | 52 | * `0x00`: LAN MAC address 53 | * `0x06`: WAN MAC address (same as LAN MAC address) 54 | * `0x0c`: WLA MAC adddres (ff:ff:ff:ff:ff) 55 | * `0x12`: WPS pin (9 characters) 56 | * `0x1a`: serial number (14 characters) 57 | * `0x28`: region number (`word`, `0x0002` is world-wide) 58 | * `0x3e`: board model id (NUL byte delimited string) 59 | * `0x48`: default SSID (NUL byte delimited string) 60 | 61 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Netgear EX2700 OpenWrt flash procedure 2 | ====================================== 3 | 4 | **For up-to-date images, use official [OpenWRT](https://downloads.openwrt.org/snapshots/trunk/ramips/mt7620/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin) / [LEDE](https://downloads.lede-project.org/snapshots/targets/ramips/mt7620/lede-ramips-mt7620-ex2700-squashfs-factory.bin) images** 5 | 6 | **For up-to-date information, refer to the [OpenWRT wiki entry](https://wiki.openwrt.org/toh/netgear/netgear_ex2700).** 7 | 8 | **The information posted below is not relevant anymore and should be ignored**, as the new images can be 9 | flashed from the router's stock interface. 10 | 11 | ---------------------------------------------------------------------------------- 12 | ---------------------------------------------------------------------------------- 13 | ---------------------------------------------------------------------------------- 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | First, using the web interface, update your EX2700 to the latest firmware 44 | (version 1.0.1.8 as of 2016-01-17) - older versions *may* work though. 45 | 46 | For the rest of this howto, we'll assume that your computer uses `192.168.1.2`, 47 | while your EX2700 uses `192.168.1.1`. 48 | 49 | The device runs a modified version of OpenWrt (KAMIKAZE, bleeding edge, 50 | r18571) by the way, but we want vanilla, obviously! 51 | 52 | ## Enabling telnet 53 | 54 | By default, telnet is disabled on this device, but there are numerous 55 | `telnetenable` utilities, many of which don't work with this device. I've 56 | used [NetgearTelnetEnable](https://github.com/insanid/NetgearTelnetEnable) 57 | (binaries for Linux and Windows available 58 | [here](https://github.com/insanid/NetgearTelnetEnable/tree/master/binaries)). 59 | 60 | Make sure to reset the router configuration before using `telnetenable`. 61 | Replace `001122AABBCC` with the MAC address of your router. 62 | 63 | ``` 64 | $ ./telnetenable 192.168.1.1 001122AABBCC admin password 65 | $ telnet 192.168.1.1 66 | Trying 192.168.1.1... 67 | Connected to 192.168.1.1. 68 | Escape character is '^]'. 69 | === IMPORTANT ============================ 70 | Use 'passwd' to set your login password 71 | this will disable telnet and enable SSH 72 | ------------------------------------------ 73 | 74 | 75 | BusyBox v1.4.2 (2015-06-05 10:24:33 CST) Built-in shell (ash) 76 | Enter 'help' for a list of built-in commands. 77 | 78 | _______ ________ __ 79 | | |.-----.-----.-----.| | | |.----.| |_ 80 | | - || _ | -__| || | | || _|| _| 81 | |_______|| __|_____|__|__||________||__| |____| 82 | |__| W I R E L E S S F R E E D O M 83 | KAMIKAZE (bleeding edge, r18571) ------------------ 84 | * 10 oz Vodka Shake well with ice and strain 85 | * 10 oz Triple sec mixture into 10 shot glasses. 86 | * 10 oz lime juice Salute! 87 | --------------------------------------------------- 88 | root@EX2700:/# 89 | ``` 90 | 91 | ###### Permanently enable telnet in the stock firmware 92 | 93 | ``` 94 | root@EX2700:/# config set enable_telnet=1 95 | root@EX2700:/# config set GUI_Region=English 96 | root@EX2700:/# config commit 97 | ``` 98 | 99 | ###### Skip stupid registration page 100 | 101 | ``` 102 | root@EX2700:/# config set have_registered=1 103 | root@EX2700:/# config set http_username= 104 | root@EX2700:/# config set http_passwd= 105 | root@EX2700:/# config commit 106 | ``` 107 | 108 | ## Downloading neccessary files 109 | 110 | The `wget` command does not support HTTPS, so you'll need to host the 111 | [ex2700.tar.gz](https://github.com/jclehner/ex2700/raw/master/ex2700.tar.gz) 112 | file somewhere else. You could either setup a simple file server on your 113 | computer, or use online services such as [dropcanvas](http://dropcanvas.com). 114 | 115 | Be warned that `wget` crashes if not called with `-T `. 116 | ``` 117 | root@EX2700:/# cd /tmp 118 | root@EX2700:/# alias wget="wget -T 1" 119 | root@EX2700:/tmp# wget -O firmware.bin http://downloads.openwrt.org/snapshots/trunk/ramips/mt7620/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin 120 | root@EX2700:/tmp# wget -O ex2700.tar.gz http://dropcanvas.com/ 121 | root@EX2700:/tmp# tar -xzf ex2700.tar.gz 122 | root@EX2700:/tmp# cd ex2700 123 | ``` 124 | 125 | ## Unlocking the bootloader 126 | 127 | **!! WARNING !! Modifying the bootloader environment is dangerous, and has 128 | the potential of bricking[1](#fn1) your device! Proceed with extreme caution!** 129 | 130 | First, we'll make a backup of the bootloader environment partition (be 131 | careful not to overwrite `/tmp/ex2700/u-boot-env.bin` when using a different name for 132 | the backup file). 133 | 134 | ``` 135 | root@EX2700:/tmp/ex2700# dd if=/dev/mtd1 of=/tmp/u-boot-env.bak 136 | 128+0 records in 137 | 128+0 records out 138 | ``` 139 | 140 | Then, update the bootloader environment: 141 | 142 | ``` 143 | root@EX2700:/tmp/ex2700# insmod mtd-rw.ko i_want_a_brick=1 144 | root@EX2700:/tmp/ex2700# mtd write u-boot-env.bin u-boot-env 145 | Unlocking u-boot-env ... 146 | Writing from u-boot-env.bin to u-boot-env ... [w] 147 | ``` 148 | 149 | Optional: you can use `./fw_printenv` and `./fw_setenv` to adjust 150 | the bootloader environment. 151 | 152 | ## Flashing OpenWrt 153 | 154 | Flashing OpenWrt is the easy part: 155 | 156 | ``` 157 | root@EX2700:/tmp/ex2700# cd /tmp 158 | root@EX2700:/tmp/# mtd write firmware.bin firmware 159 | Unlocking firmware ... 160 | Writing from firmware.bin to firmware ... [w] 161 | ``` 162 | 163 | If everything is ok, we can reboot. Keep your fingers crossed! 164 | 165 | ``` 166 | root@EX2700:/tmp/# reboot 167 | ``` 168 | ------------------------------------------------------------ 169 | 1: In most cases, you'll be able to unbrick your device using 170 | a serial console. 171 | 172 | 2: It is entirely possible to create an image that can be flashed 173 | via the router's stock web interface, and which passes the bootloader's integrity 174 | checks, but the kernel in that case is constrained to 982976 bytes (960 kilobytes, 175 | minus 64 bytes), because the bootloader (u-boot) expects a uImage header in the last 176 | 64 bytes of the stock "kernel" mtd partition. 177 | -------------------------------------------------------------------------------- /dl/15.05-testing/luci/config.txt: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_ramips=y 2 | CONFIG_TARGET_ramips_mt7620=y 3 | CONFIG_TARGET_ramips_mt7620_EX2700=y 4 | CONFIG_PACKAGE_igmpproxy=y 5 | CONFIG_PACKAGE_libiwinfo-lua=y 6 | CONFIG_PACKAGE_liblua=y 7 | CONFIG_PACKAGE_libubus-lua=y 8 | CONFIG_PACKAGE_libuci-lua=y 9 | CONFIG_PACKAGE_lua=y 10 | CONFIG_PACKAGE_luci=y 11 | CONFIG_PACKAGE_luci-app-firewall=y 12 | CONFIG_PACKAGE_luci-base=y 13 | CONFIG_PACKAGE_luci-lib-ip=y 14 | CONFIG_PACKAGE_luci-lib-nixio=y 15 | CONFIG_PACKAGE_luci-mod-admin-full=y 16 | CONFIG_PACKAGE_luci-proto-ipv6=y 17 | CONFIG_PACKAGE_luci-proto-ppp=y 18 | CONFIG_PACKAGE_luci-proto-relay=y 19 | CONFIG_PACKAGE_luci-theme-bootstrap=y 20 | CONFIG_PACKAGE_relayd=y 21 | CONFIG_PACKAGE_rpcd=y 22 | CONFIG_PACKAGE_uhttpd=y 23 | CONFIG_PACKAGE_uhttpd-mod-ubus=y 24 | # CONFIG_WPA_SUPPLICANT_INTERNAL is not set 25 | # CONFIG_WPA_SUPPLICANT_OPENSSL is not set 26 | -------------------------------------------------------------------------------- /dl/15.05-testing/luci/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05-testing/luci/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin -------------------------------------------------------------------------------- /dl/15.05-testing/luci/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05-testing/luci/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin -------------------------------------------------------------------------------- /dl/15.05-testing/minimal/config.txt: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_ramips=y 2 | CONFIG_TARGET_ramips_mt7620=y 3 | CONFIG_TARGET_ramips_mt7620_EX2700=y 4 | # CONFIG_TARGET_ar71xx_generic is not set 5 | # CONFIG_TARGET_ar71xx_generic_A02RBW300N is not set 6 | # CONFIG_TARGET_ar71xx_generic_ALFAAP96 is not set 7 | # CONFIG_TARGET_ar71xx_generic_ALFANX is not set 8 | # CONFIG_TARGET_ar71xx_generic_ALL0258N is not set 9 | # CONFIG_TARGET_ar71xx_generic_ALL0305 is not set 10 | # CONFIG_TARGET_ar71xx_generic_ALL0315N is not set 11 | # CONFIG_TARGET_ar71xx_generic_ANTMINERS1 is not set 12 | # CONFIG_TARGET_ar71xx_generic_ANTMINERS3 is not set 13 | # CONFIG_TARGET_ar71xx_generic_AP113 is not set 14 | # CONFIG_TARGET_ar71xx_generic_AP121 is not set 15 | # CONFIG_TARGET_ar71xx_generic_AP121MINI is not set 16 | # CONFIG_TARGET_ar71xx_generic_AP132 is not set 17 | # CONFIG_TARGET_ar71xx_generic_AP135 is not set 18 | # CONFIG_TARGET_ar71xx_generic_AP136 is not set 19 | # CONFIG_TARGET_ar71xx_generic_AP81 is not set 20 | # CONFIG_TARGET_ar71xx_generic_AP83 is not set 21 | # CONFIG_TARGET_ar71xx_generic_AP96 is not set 22 | # CONFIG_TARGET_ar71xx_generic_ARCHERC7 is not set 23 | # CONFIG_TARGET_ar71xx_generic_BSB is not set 24 | # CONFIG_TARGET_ar71xx_generic_BXU2000N2 is not set 25 | # CONFIG_TARGET_ar71xx_generic_CAP4200AG is not set 26 | # CONFIG_TARGET_ar71xx_generic_CARAMBOLA2 is not set 27 | # CONFIG_TARGET_ar71xx_generic_CPE510 is not set 28 | # CONFIG_TARGET_ar71xx_generic_DB120 is not set 29 | # CONFIG_TARGET_ar71xx_generic_DGL5500A1 is not set 30 | # CONFIG_TARGET_ar71xx_generic_DHP1565A1 is not set 31 | # CONFIG_TARGET_ar71xx_generic_DIR505A1 is not set 32 | # CONFIG_TARGET_ar71xx_generic_DIR600A1 is not set 33 | # CONFIG_TARGET_ar71xx_generic_DIR601A1 is not set 34 | # CONFIG_TARGET_ar71xx_generic_DIR601B1 is not set 35 | # CONFIG_TARGET_ar71xx_generic_DIR615C1 is not set 36 | # CONFIG_TARGET_ar71xx_generic_DIR615E1 is not set 37 | # CONFIG_TARGET_ar71xx_generic_DIR615E4 is not set 38 | # CONFIG_TARGET_ar71xx_generic_DIR615IX is not set 39 | # CONFIG_TARGET_ar71xx_generic_DIR825B1 is not set 40 | # CONFIG_TARGET_ar71xx_generic_DIR825C1 is not set 41 | # CONFIG_TARGET_ar71xx_generic_DIR835A1 is not set 42 | # CONFIG_TARGET_ar71xx_generic_DLRTDEV01 is not set 43 | # CONFIG_TARGET_ar71xx_generic_DRAGINO2 is not set 44 | # CONFIG_TARGET_ar71xx_generic_Default is not set 45 | # CONFIG_TARGET_ar71xx_generic_EAP300V2 is not set 46 | # CONFIG_TARGET_ar71xx_generic_ELM150 is not set 47 | # CONFIG_TARGET_ar71xx_generic_ELMINI is not set 48 | # CONFIG_TARGET_ar71xx_generic_EPG5000 is not set 49 | # CONFIG_TARGET_ar71xx_generic_ESR1750 is not set 50 | # CONFIG_TARGET_ar71xx_generic_ESR900 is not set 51 | # CONFIG_TARGET_ar71xx_generic_EWDORIN is not set 52 | # CONFIG_TARGET_ar71xx_generic_F9K1115V2 is not set 53 | # CONFIG_TARGET_ar71xx_generic_GLINET is not set 54 | # CONFIG_TARGET_ar71xx_generic_HIWIFI_HC6361 is not set 55 | # CONFIG_TARGET_ar71xx_generic_HORNETUB is not set 56 | # CONFIG_TARGET_ar71xx_generic_HORNETUBx2 is not set 57 | # CONFIG_TARGET_ar71xx_generic_JA76PF is not set 58 | # CONFIG_TARGET_ar71xx_generic_JA76PF2 is not set 59 | # CONFIG_TARGET_ar71xx_generic_JWAP003 is not set 60 | # CONFIG_TARGET_ar71xx_generic_MAC1200R is not set 61 | # CONFIG_TARGET_ar71xx_generic_MINIBOXV1 is not set 62 | # CONFIG_TARGET_ar71xx_generic_MR12 is not set 63 | # CONFIG_TARGET_ar71xx_generic_MR16 is not set 64 | # CONFIG_TARGET_ar71xx_generic_MR600 is not set 65 | # CONFIG_TARGET_ar71xx_generic_MR900 is not set 66 | # CONFIG_TARGET_ar71xx_generic_MYNETN600 is not set 67 | # CONFIG_TARGET_ar71xx_generic_MYNETN750 is not set 68 | # CONFIG_TARGET_ar71xx_generic_MYNETREXT is not set 69 | # CONFIG_TARGET_ar71xx_generic_MZKW04NU is not set 70 | # CONFIG_TARGET_ar71xx_generic_MZKW300NH is not set 71 | # CONFIG_TARGET_ar71xx_generic_Minimal is not set 72 | # CONFIG_TARGET_ar71xx_generic_NBG_460N_550N_550NH is not set 73 | # CONFIG_TARGET_ar71xx_generic_OM2P is not set 74 | # CONFIG_TARGET_ar71xx_generic_OM5P is not set 75 | # CONFIG_TARGET_ar71xx_generic_OMEGA is not set 76 | # CONFIG_TARGET_ar71xx_generic_OOLITE is not set 77 | # CONFIG_TARGET_ar71xx_generic_OPENMESH is not set 78 | # CONFIG_TARGET_ar71xx_generic_PB42 is not set 79 | # CONFIG_TARGET_ar71xx_generic_PB44 is not set 80 | # CONFIG_TARGET_ar71xx_generic_PB92 is not set 81 | # CONFIG_TARGET_ar71xx_generic_QIHOO360 is not set 82 | # CONFIG_TARGET_ar71xx_generic_RNXN360RT is not set 83 | # CONFIG_TARGET_ar71xx_generic_RW2458N is not set 84 | # CONFIG_TARGET_ar71xx_generic_SMART-300 is not set 85 | # CONFIG_TARGET_ar71xx_generic_TEW632BRP is not set 86 | # CONFIG_TARGET_ar71xx_generic_TEW652BRP is not set 87 | # CONFIG_TARGET_ar71xx_generic_TEW673GRU is not set 88 | # CONFIG_TARGET_ar71xx_generic_TEW712BR is not set 89 | # CONFIG_TARGET_ar71xx_generic_TEW732BR is not set 90 | # CONFIG_TARGET_ar71xx_generic_TLMR10U is not set 91 | # CONFIG_TARGET_ar71xx_generic_TLMR11U is not set 92 | # CONFIG_TARGET_ar71xx_generic_TLMR12U is not set 93 | # CONFIG_TARGET_ar71xx_generic_TLMR13U is not set 94 | # CONFIG_TARGET_ar71xx_generic_TLMR3020 is not set 95 | # CONFIG_TARGET_ar71xx_generic_TLMR3040 is not set 96 | # CONFIG_TARGET_ar71xx_generic_TLMR3220 is not set 97 | # CONFIG_TARGET_ar71xx_generic_TLMR3420 is not set 98 | # CONFIG_TARGET_ar71xx_generic_TLWA701 is not set 99 | # CONFIG_TARGET_ar71xx_generic_TLWA7210 is not set 100 | # CONFIG_TARGET_ar71xx_generic_TLWA730RE is not set 101 | # CONFIG_TARGET_ar71xx_generic_TLWA750 is not set 102 | # CONFIG_TARGET_ar71xx_generic_TLWA7510 is not set 103 | # CONFIG_TARGET_ar71xx_generic_TLWA801 is not set 104 | # CONFIG_TARGET_ar71xx_generic_TLWA830 is not set 105 | # CONFIG_TARGET_ar71xx_generic_TLWA850 is not set 106 | # CONFIG_TARGET_ar71xx_generic_TLWA860 is not set 107 | # CONFIG_TARGET_ar71xx_generic_TLWA901 is not set 108 | # CONFIG_TARGET_ar71xx_generic_TLWDR4300 is not set 109 | # CONFIG_TARGET_ar71xx_generic_TLWDR4900V2 is not set 110 | # CONFIG_TARGET_ar71xx_generic_TLWR1041 is not set 111 | # CONFIG_TARGET_ar71xx_generic_TLWR1043 is not set 112 | # CONFIG_TARGET_ar71xx_generic_TLWR2543 is not set 113 | # CONFIG_TARGET_ar71xx_generic_TLWR703 is not set 114 | # CONFIG_TARGET_ar71xx_generic_TLWR710 is not set 115 | # CONFIG_TARGET_ar71xx_generic_TLWR720 is not set 116 | # CONFIG_TARGET_ar71xx_generic_TLWR740 is not set 117 | # CONFIG_TARGET_ar71xx_generic_TLWR741 is not set 118 | # CONFIG_TARGET_ar71xx_generic_TLWR743 is not set 119 | # CONFIG_TARGET_ar71xx_generic_TLWR841 is not set 120 | # CONFIG_TARGET_ar71xx_generic_TLWR842 is not set 121 | # CONFIG_TARGET_ar71xx_generic_TLWR843 is not set 122 | # CONFIG_TARGET_ar71xx_generic_TLWR941 is not set 123 | # CONFIG_TARGET_ar71xx_generic_TUBE2H is not set 124 | # CONFIG_TARGET_ar71xx_generic_UAPPRO is not set 125 | # CONFIG_TARGET_ar71xx_generic_UBDEV01 is not set 126 | # CONFIG_TARGET_ar71xx_generic_UBNT is not set 127 | # CONFIG_TARGET_ar71xx_generic_UBNTRS is not set 128 | # CONFIG_TARGET_ar71xx_generic_UBNTRSPRO is not set 129 | # CONFIG_TARGET_ar71xx_generic_UBNTUNIFI is not set 130 | # CONFIG_TARGET_ar71xx_generic_UBNTUNIFIOUTDOOR is not set 131 | # CONFIG_TARGET_ar71xx_generic_WEIO is not set 132 | # CONFIG_TARGET_ar71xx_generic_WHRG301N is not set 133 | # CONFIG_TARGET_ar71xx_generic_WHRHPG300N is not set 134 | # CONFIG_TARGET_ar71xx_generic_WHRHPGN is not set 135 | # CONFIG_TARGET_ar71xx_generic_WLAEAG300N is not set 136 | # CONFIG_TARGET_ar71xx_generic_WLR8100 is not set 137 | # CONFIG_TARGET_ar71xx_generic_WNDAP360 is not set 138 | # CONFIG_TARGET_ar71xx_generic_WNDR3700 is not set 139 | # CONFIG_TARGET_ar71xx_generic_WNR1000V2 is not set 140 | # CONFIG_TARGET_ar71xx_generic_WNR2000V3 is not set 141 | # CONFIG_TARGET_ar71xx_generic_WNR2000V4 is not set 142 | # CONFIG_TARGET_ar71xx_generic_WNR2200 is not set 143 | # CONFIG_TARGET_ar71xx_generic_WNR612V2 is not set 144 | # CONFIG_TARGET_ar71xx_generic_WP543 is not set 145 | # CONFIG_TARGET_ar71xx_generic_WPE72 is not set 146 | # CONFIG_TARGET_ar71xx_generic_WPJ344 is not set 147 | # CONFIG_TARGET_ar71xx_generic_WPJ531 is not set 148 | # CONFIG_TARGET_ar71xx_generic_WPJ558 is not set 149 | # CONFIG_TARGET_ar71xx_generic_WRT160NL is not set 150 | # CONFIG_TARGET_ar71xx_generic_WRT400N is not set 151 | # CONFIG_TARGET_ar71xx_generic_WZR450HP2 is not set 152 | # CONFIG_TARGET_ar71xx_generic_WZR600DHP is not set 153 | # CONFIG_TARGET_ar71xx_generic_WZRHPAG300H is not set 154 | # CONFIG_TARGET_ar71xx_generic_WZRHPG300NH is not set 155 | # CONFIG_TARGET_ar71xx_generic_WZRHPG300NH2 is not set 156 | # CONFIG_TARGET_ar71xx_generic_WZRHPG450H is not set 157 | # CONFIG_TARGET_ar71xx_generic_ZCN1523H28 is not set 158 | # CONFIG_TARGET_ar71xx_generic_ZCN1523H516 is not set 159 | # CONFIG_TARGET_ar71xx_generic_ath5k is not set 160 | # CONFIG_TARGET_ar71xx_generic_dLAN_pro_1200_ac is not set 161 | # CONFIG_TARGET_ar71xx_generic_dLAN_pro_500_wp is not set 162 | # CONFIG_TARGET_ar71xx_mikrotik is not set 163 | # CONFIG_TARGET_ar71xx_nand is not set 164 | # CONFIG_TARGET_ramips_rt305x_3G150B is not set 165 | # CONFIG_TARGET_ramips_rt305x_3G300M is not set 166 | # CONFIG_TARGET_ramips_rt305x_A5-V11 is not set 167 | # CONFIG_TARGET_ramips_rt305x_ALL02393G is not set 168 | # CONFIG_TARGET_ramips_rt305x_ALL0256N is not set 169 | # CONFIG_TARGET_ramips_rt305x_ALL5002 is not set 170 | # CONFIG_TARGET_ramips_rt305x_ALL5003 is not set 171 | # CONFIG_TARGET_ramips_rt305x_ASL26555 is not set 172 | # CONFIG_TARGET_ramips_rt305x_AWAPN2403 is not set 173 | # CONFIG_TARGET_ramips_rt305x_AWM002EVB is not set 174 | # CONFIG_TARGET_ramips_rt305x_AWM003EVB is not set 175 | # CONFIG_TARGET_ramips_rt305x_BROADWAY is not set 176 | # CONFIG_TARGET_ramips_rt305x_DCS930 is not set 177 | # CONFIG_TARGET_ramips_rt305x_DCS930LB1 is not set 178 | # CONFIG_TARGET_ramips_rt305x_DIR-615-D is not set 179 | # CONFIG_TARGET_ramips_rt305x_DIR610A1 is not set 180 | # CONFIG_TARGET_ramips_rt305x_DIR615H1 is not set 181 | # CONFIG_TARGET_ramips_rt305x_Default is not set 182 | # CONFIG_TARGET_ramips_rt305x_ESR9753 is not set 183 | # CONFIG_TARGET_ramips_rt305x_F5D8235V2 is not set 184 | # CONFIG_TARGET_ramips_rt305x_F7C027 is not set 185 | # CONFIG_TARGET_ramips_rt305x_FONERA20N is not set 186 | # CONFIG_TARGET_ramips_rt305x_FREESTATION5 is not set 187 | # CONFIG_TARGET_ramips_rt305x_HG255D is not set 188 | # CONFIG_TARGET_ramips_rt305x_HLKRM04 is not set 189 | # CONFIG_TARGET_ramips_rt305x_HT-TM02 is not set 190 | # CONFIG_TARGET_ramips_rt305x_HW550-3G is not set 191 | # CONFIG_TARGET_ramips_rt305x_IP2202 is not set 192 | # CONFIG_TARGET_ramips_rt305x_M2M is not set 193 | # CONFIG_TARGET_ramips_rt305x_M3 is not set 194 | # CONFIG_TARGET_ramips_rt305x_M4 is not set 195 | # CONFIG_TARGET_ramips_rt305x_MPRA1 is not set 196 | # CONFIG_TARGET_ramips_rt305x_MPRA2 is not set 197 | # CONFIG_TARGET_ramips_rt305x_MR102N is not set 198 | # CONFIG_TARGET_ramips_rt305x_NCS601W is not set 199 | # CONFIG_TARGET_ramips_rt305x_OLINUXINO-RT5350F is not set 200 | # CONFIG_TARGET_ramips_rt305x_OLINUXINO-RT5350F-EVB is not set 201 | # CONFIG_TARGET_ramips_rt305x_PX4885 is not set 202 | # CONFIG_TARGET_ramips_rt305x_RT-N10-PLUS is not set 203 | # CONFIG_TARGET_ramips_rt305x_RT-N13U is not set 204 | # CONFIG_TARGET_ramips_rt305x_UR-326N4G is not set 205 | # CONFIG_TARGET_ramips_rt305x_UR-336UN is not set 206 | # CONFIG_TARGET_ramips_rt305x_VOCORE is not set 207 | # CONFIG_TARGET_ramips_rt305x_W306R_V20 is not set 208 | # CONFIG_TARGET_ramips_rt305x_WIZARD8800 is not set 209 | # CONFIG_TARGET_ramips_rt305x_WIZFI630A is not set 210 | # CONFIG_TARGET_ramips_rt305x_WT1520 is not set 211 | # CONFIG_TARGET_ramips_rt305x_X5 is not set 212 | # CONFIG_TARGET_ramips_rt305x_X8 is not set 213 | -------------------------------------------------------------------------------- /dl/15.05-testing/minimal/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05-testing/minimal/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin -------------------------------------------------------------------------------- /dl/15.05-testing/minimal/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05-testing/minimal/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin -------------------------------------------------------------------------------- /dl/15.05/kmod-mtd-rw_3.18.23+git-20160214-1_ramips_24kec.ipk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05/kmod-mtd-rw_3.18.23+git-20160214-1_ramips_24kec.ipk -------------------------------------------------------------------------------- /dl/15.05/luci/config.txt: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_ramips=y 2 | CONFIG_TARGET_ramips_mt7620=y 3 | CONFIG_TARGET_ramips_mt7620_EX2700=y 4 | CONFIG_PACKAGE_igmpproxy=y 5 | CONFIG_PACKAGE_kmod-mtd-rw=m 6 | CONFIG_PACKAGE_libiwinfo-lua=y 7 | CONFIG_PACKAGE_liblua=y 8 | CONFIG_PACKAGE_libubus-lua=y 9 | CONFIG_PACKAGE_libuci-lua=y 10 | CONFIG_PACKAGE_lua=y 11 | CONFIG_PACKAGE_luci=y 12 | CONFIG_PACKAGE_luci-app-firewall=y 13 | CONFIG_PACKAGE_luci-base=y 14 | CONFIG_PACKAGE_luci-lib-ip=y 15 | CONFIG_PACKAGE_luci-lib-nixio=y 16 | CONFIG_PACKAGE_luci-mod-admin-full=y 17 | CONFIG_PACKAGE_luci-proto-ipv6=y 18 | CONFIG_PACKAGE_luci-proto-ppp=y 19 | CONFIG_PACKAGE_luci-proto-relay=y 20 | CONFIG_PACKAGE_luci-theme-bootstrap=y 21 | CONFIG_PACKAGE_relayd=y 22 | CONFIG_PACKAGE_rpcd=y 23 | CONFIG_PACKAGE_uhttpd=y 24 | CONFIG_PACKAGE_uhttpd-mod-ubus=y 25 | -------------------------------------------------------------------------------- /dl/15.05/luci/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05/luci/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin -------------------------------------------------------------------------------- /dl/15.05/luci/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05/luci/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin -------------------------------------------------------------------------------- /dl/15.05/minimal/config.txt: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_ramips=y 2 | CONFIG_TARGET_ramips_mt7620=y 3 | CONFIG_TARGET_ramips_mt7620_EX2700=y 4 | # CONFIG_TARGET_ar71xx_generic is not set 5 | # CONFIG_TARGET_ar71xx_generic_A02RBW300N is not set 6 | # CONFIG_TARGET_ar71xx_generic_ALFAAP96 is not set 7 | # CONFIG_TARGET_ar71xx_generic_ALFANX is not set 8 | # CONFIG_TARGET_ar71xx_generic_ALL0258N is not set 9 | # CONFIG_TARGET_ar71xx_generic_ALL0305 is not set 10 | # CONFIG_TARGET_ar71xx_generic_ALL0315N is not set 11 | # CONFIG_TARGET_ar71xx_generic_ANTMINERS1 is not set 12 | # CONFIG_TARGET_ar71xx_generic_ANTMINERS3 is not set 13 | # CONFIG_TARGET_ar71xx_generic_AP113 is not set 14 | # CONFIG_TARGET_ar71xx_generic_AP121 is not set 15 | # CONFIG_TARGET_ar71xx_generic_AP121MINI is not set 16 | # CONFIG_TARGET_ar71xx_generic_AP132 is not set 17 | # CONFIG_TARGET_ar71xx_generic_AP135 is not set 18 | # CONFIG_TARGET_ar71xx_generic_AP136 is not set 19 | # CONFIG_TARGET_ar71xx_generic_AP81 is not set 20 | # CONFIG_TARGET_ar71xx_generic_AP83 is not set 21 | # CONFIG_TARGET_ar71xx_generic_AP96 is not set 22 | # CONFIG_TARGET_ar71xx_generic_ARCHERC7 is not set 23 | # CONFIG_TARGET_ar71xx_generic_BSB is not set 24 | # CONFIG_TARGET_ar71xx_generic_BXU2000N2 is not set 25 | # CONFIG_TARGET_ar71xx_generic_CAP4200AG is not set 26 | # CONFIG_TARGET_ar71xx_generic_CARAMBOLA2 is not set 27 | # CONFIG_TARGET_ar71xx_generic_CPE510 is not set 28 | # CONFIG_TARGET_ar71xx_generic_DB120 is not set 29 | # CONFIG_TARGET_ar71xx_generic_DGL5500A1 is not set 30 | # CONFIG_TARGET_ar71xx_generic_DHP1565A1 is not set 31 | # CONFIG_TARGET_ar71xx_generic_DIR505A1 is not set 32 | # CONFIG_TARGET_ar71xx_generic_DIR600A1 is not set 33 | # CONFIG_TARGET_ar71xx_generic_DIR601A1 is not set 34 | # CONFIG_TARGET_ar71xx_generic_DIR601B1 is not set 35 | # CONFIG_TARGET_ar71xx_generic_DIR615C1 is not set 36 | # CONFIG_TARGET_ar71xx_generic_DIR615E1 is not set 37 | # CONFIG_TARGET_ar71xx_generic_DIR615E4 is not set 38 | # CONFIG_TARGET_ar71xx_generic_DIR615IX is not set 39 | # CONFIG_TARGET_ar71xx_generic_DIR825B1 is not set 40 | # CONFIG_TARGET_ar71xx_generic_DIR825C1 is not set 41 | # CONFIG_TARGET_ar71xx_generic_DIR835A1 is not set 42 | # CONFIG_TARGET_ar71xx_generic_DLRTDEV01 is not set 43 | # CONFIG_TARGET_ar71xx_generic_DRAGINO2 is not set 44 | # CONFIG_TARGET_ar71xx_generic_Default is not set 45 | # CONFIG_TARGET_ar71xx_generic_EAP300V2 is not set 46 | # CONFIG_TARGET_ar71xx_generic_ELM150 is not set 47 | # CONFIG_TARGET_ar71xx_generic_ELMINI is not set 48 | # CONFIG_TARGET_ar71xx_generic_EPG5000 is not set 49 | # CONFIG_TARGET_ar71xx_generic_ESR1750 is not set 50 | # CONFIG_TARGET_ar71xx_generic_ESR900 is not set 51 | # CONFIG_TARGET_ar71xx_generic_EWDORIN is not set 52 | # CONFIG_TARGET_ar71xx_generic_F9K1115V2 is not set 53 | # CONFIG_TARGET_ar71xx_generic_GLINET is not set 54 | # CONFIG_TARGET_ar71xx_generic_HIWIFI_HC6361 is not set 55 | # CONFIG_TARGET_ar71xx_generic_HORNETUB is not set 56 | # CONFIG_TARGET_ar71xx_generic_HORNETUBx2 is not set 57 | # CONFIG_TARGET_ar71xx_generic_JA76PF is not set 58 | # CONFIG_TARGET_ar71xx_generic_JA76PF2 is not set 59 | # CONFIG_TARGET_ar71xx_generic_JWAP003 is not set 60 | # CONFIG_TARGET_ar71xx_generic_MAC1200R is not set 61 | # CONFIG_TARGET_ar71xx_generic_MINIBOXV1 is not set 62 | # CONFIG_TARGET_ar71xx_generic_MR12 is not set 63 | # CONFIG_TARGET_ar71xx_generic_MR16 is not set 64 | # CONFIG_TARGET_ar71xx_generic_MR600 is not set 65 | # CONFIG_TARGET_ar71xx_generic_MR900 is not set 66 | # CONFIG_TARGET_ar71xx_generic_MYNETN600 is not set 67 | # CONFIG_TARGET_ar71xx_generic_MYNETN750 is not set 68 | # CONFIG_TARGET_ar71xx_generic_MYNETREXT is not set 69 | # CONFIG_TARGET_ar71xx_generic_MZKW04NU is not set 70 | # CONFIG_TARGET_ar71xx_generic_MZKW300NH is not set 71 | # CONFIG_TARGET_ar71xx_generic_Minimal is not set 72 | # CONFIG_TARGET_ar71xx_generic_NBG_460N_550N_550NH is not set 73 | # CONFIG_TARGET_ar71xx_generic_OM2P is not set 74 | # CONFIG_TARGET_ar71xx_generic_OM5P is not set 75 | # CONFIG_TARGET_ar71xx_generic_OMEGA is not set 76 | # CONFIG_TARGET_ar71xx_generic_OOLITE is not set 77 | # CONFIG_TARGET_ar71xx_generic_OPENMESH is not set 78 | # CONFIG_TARGET_ar71xx_generic_PB42 is not set 79 | # CONFIG_TARGET_ar71xx_generic_PB44 is not set 80 | # CONFIG_TARGET_ar71xx_generic_PB92 is not set 81 | # CONFIG_TARGET_ar71xx_generic_QIHOO360 is not set 82 | # CONFIG_TARGET_ar71xx_generic_RNXN360RT is not set 83 | # CONFIG_TARGET_ar71xx_generic_RW2458N is not set 84 | # CONFIG_TARGET_ar71xx_generic_SMART-300 is not set 85 | # CONFIG_TARGET_ar71xx_generic_TEW632BRP is not set 86 | # CONFIG_TARGET_ar71xx_generic_TEW652BRP is not set 87 | # CONFIG_TARGET_ar71xx_generic_TEW673GRU is not set 88 | # CONFIG_TARGET_ar71xx_generic_TEW712BR is not set 89 | # CONFIG_TARGET_ar71xx_generic_TEW732BR is not set 90 | # CONFIG_TARGET_ar71xx_generic_TLMR10U is not set 91 | # CONFIG_TARGET_ar71xx_generic_TLMR11U is not set 92 | # CONFIG_TARGET_ar71xx_generic_TLMR12U is not set 93 | # CONFIG_TARGET_ar71xx_generic_TLMR13U is not set 94 | # CONFIG_TARGET_ar71xx_generic_TLMR3020 is not set 95 | # CONFIG_TARGET_ar71xx_generic_TLMR3040 is not set 96 | # CONFIG_TARGET_ar71xx_generic_TLMR3220 is not set 97 | # CONFIG_TARGET_ar71xx_generic_TLMR3420 is not set 98 | # CONFIG_TARGET_ar71xx_generic_TLWA701 is not set 99 | # CONFIG_TARGET_ar71xx_generic_TLWA7210 is not set 100 | # CONFIG_TARGET_ar71xx_generic_TLWA730RE is not set 101 | # CONFIG_TARGET_ar71xx_generic_TLWA750 is not set 102 | # CONFIG_TARGET_ar71xx_generic_TLWA7510 is not set 103 | # CONFIG_TARGET_ar71xx_generic_TLWA801 is not set 104 | # CONFIG_TARGET_ar71xx_generic_TLWA830 is not set 105 | # CONFIG_TARGET_ar71xx_generic_TLWA850 is not set 106 | # CONFIG_TARGET_ar71xx_generic_TLWA860 is not set 107 | # CONFIG_TARGET_ar71xx_generic_TLWA901 is not set 108 | # CONFIG_TARGET_ar71xx_generic_TLWDR4300 is not set 109 | # CONFIG_TARGET_ar71xx_generic_TLWDR4900V2 is not set 110 | # CONFIG_TARGET_ar71xx_generic_TLWR1041 is not set 111 | # CONFIG_TARGET_ar71xx_generic_TLWR1043 is not set 112 | # CONFIG_TARGET_ar71xx_generic_TLWR2543 is not set 113 | # CONFIG_TARGET_ar71xx_generic_TLWR703 is not set 114 | # CONFIG_TARGET_ar71xx_generic_TLWR710 is not set 115 | # CONFIG_TARGET_ar71xx_generic_TLWR720 is not set 116 | # CONFIG_TARGET_ar71xx_generic_TLWR740 is not set 117 | # CONFIG_TARGET_ar71xx_generic_TLWR741 is not set 118 | # CONFIG_TARGET_ar71xx_generic_TLWR743 is not set 119 | # CONFIG_TARGET_ar71xx_generic_TLWR841 is not set 120 | # CONFIG_TARGET_ar71xx_generic_TLWR842 is not set 121 | # CONFIG_TARGET_ar71xx_generic_TLWR843 is not set 122 | # CONFIG_TARGET_ar71xx_generic_TLWR941 is not set 123 | # CONFIG_TARGET_ar71xx_generic_TUBE2H is not set 124 | # CONFIG_TARGET_ar71xx_generic_UAPPRO is not set 125 | # CONFIG_TARGET_ar71xx_generic_UBDEV01 is not set 126 | # CONFIG_TARGET_ar71xx_generic_UBNT is not set 127 | # CONFIG_TARGET_ar71xx_generic_UBNTRS is not set 128 | # CONFIG_TARGET_ar71xx_generic_UBNTRSPRO is not set 129 | # CONFIG_TARGET_ar71xx_generic_UBNTUNIFI is not set 130 | # CONFIG_TARGET_ar71xx_generic_UBNTUNIFIOUTDOOR is not set 131 | # CONFIG_TARGET_ar71xx_generic_WEIO is not set 132 | # CONFIG_TARGET_ar71xx_generic_WHRG301N is not set 133 | # CONFIG_TARGET_ar71xx_generic_WHRHPG300N is not set 134 | # CONFIG_TARGET_ar71xx_generic_WHRHPGN is not set 135 | # CONFIG_TARGET_ar71xx_generic_WLAEAG300N is not set 136 | # CONFIG_TARGET_ar71xx_generic_WLR8100 is not set 137 | # CONFIG_TARGET_ar71xx_generic_WNDAP360 is not set 138 | # CONFIG_TARGET_ar71xx_generic_WNDR3700 is not set 139 | # CONFIG_TARGET_ar71xx_generic_WNR1000V2 is not set 140 | # CONFIG_TARGET_ar71xx_generic_WNR2000V3 is not set 141 | # CONFIG_TARGET_ar71xx_generic_WNR2000V4 is not set 142 | # CONFIG_TARGET_ar71xx_generic_WNR2200 is not set 143 | # CONFIG_TARGET_ar71xx_generic_WNR612V2 is not set 144 | # CONFIG_TARGET_ar71xx_generic_WP543 is not set 145 | # CONFIG_TARGET_ar71xx_generic_WPE72 is not set 146 | # CONFIG_TARGET_ar71xx_generic_WPJ344 is not set 147 | # CONFIG_TARGET_ar71xx_generic_WPJ531 is not set 148 | # CONFIG_TARGET_ar71xx_generic_WPJ558 is not set 149 | # CONFIG_TARGET_ar71xx_generic_WRT160NL is not set 150 | # CONFIG_TARGET_ar71xx_generic_WRT400N is not set 151 | # CONFIG_TARGET_ar71xx_generic_WZR450HP2 is not set 152 | # CONFIG_TARGET_ar71xx_generic_WZR600DHP is not set 153 | # CONFIG_TARGET_ar71xx_generic_WZRHPAG300H is not set 154 | # CONFIG_TARGET_ar71xx_generic_WZRHPG300NH is not set 155 | # CONFIG_TARGET_ar71xx_generic_WZRHPG300NH2 is not set 156 | # CONFIG_TARGET_ar71xx_generic_WZRHPG450H is not set 157 | # CONFIG_TARGET_ar71xx_generic_ZCN1523H28 is not set 158 | # CONFIG_TARGET_ar71xx_generic_ZCN1523H516 is not set 159 | # CONFIG_TARGET_ar71xx_generic_ath5k is not set 160 | # CONFIG_TARGET_ar71xx_generic_dLAN_pro_1200_ac is not set 161 | # CONFIG_TARGET_ar71xx_generic_dLAN_pro_500_wp is not set 162 | # CONFIG_TARGET_ar71xx_mikrotik is not set 163 | # CONFIG_TARGET_ar71xx_nand is not set 164 | # CONFIG_TARGET_ramips_rt305x_3G150B is not set 165 | # CONFIG_TARGET_ramips_rt305x_3G300M is not set 166 | # CONFIG_TARGET_ramips_rt305x_A5-V11 is not set 167 | # CONFIG_TARGET_ramips_rt305x_ALL02393G is not set 168 | # CONFIG_TARGET_ramips_rt305x_ALL0256N is not set 169 | # CONFIG_TARGET_ramips_rt305x_ALL5002 is not set 170 | # CONFIG_TARGET_ramips_rt305x_ALL5003 is not set 171 | # CONFIG_TARGET_ramips_rt305x_ASL26555 is not set 172 | # CONFIG_TARGET_ramips_rt305x_AWAPN2403 is not set 173 | # CONFIG_TARGET_ramips_rt305x_AWM002EVB is not set 174 | # CONFIG_TARGET_ramips_rt305x_AWM003EVB is not set 175 | # CONFIG_TARGET_ramips_rt305x_BROADWAY is not set 176 | # CONFIG_TARGET_ramips_rt305x_DCS930 is not set 177 | # CONFIG_TARGET_ramips_rt305x_DCS930LB1 is not set 178 | # CONFIG_TARGET_ramips_rt305x_DIR-615-D is not set 179 | # CONFIG_TARGET_ramips_rt305x_DIR610A1 is not set 180 | # CONFIG_TARGET_ramips_rt305x_DIR615H1 is not set 181 | # CONFIG_TARGET_ramips_rt305x_Default is not set 182 | # CONFIG_TARGET_ramips_rt305x_ESR9753 is not set 183 | # CONFIG_TARGET_ramips_rt305x_F5D8235V2 is not set 184 | # CONFIG_TARGET_ramips_rt305x_F7C027 is not set 185 | # CONFIG_TARGET_ramips_rt305x_FONERA20N is not set 186 | # CONFIG_TARGET_ramips_rt305x_FREESTATION5 is not set 187 | # CONFIG_TARGET_ramips_rt305x_HG255D is not set 188 | # CONFIG_TARGET_ramips_rt305x_HLKRM04 is not set 189 | # CONFIG_TARGET_ramips_rt305x_HT-TM02 is not set 190 | # CONFIG_TARGET_ramips_rt305x_HW550-3G is not set 191 | # CONFIG_TARGET_ramips_rt305x_IP2202 is not set 192 | # CONFIG_TARGET_ramips_rt305x_M2M is not set 193 | # CONFIG_TARGET_ramips_rt305x_M3 is not set 194 | # CONFIG_TARGET_ramips_rt305x_M4 is not set 195 | # CONFIG_TARGET_ramips_rt305x_MPRA1 is not set 196 | # CONFIG_TARGET_ramips_rt305x_MPRA2 is not set 197 | # CONFIG_TARGET_ramips_rt305x_MR102N is not set 198 | # CONFIG_TARGET_ramips_rt305x_NCS601W is not set 199 | # CONFIG_TARGET_ramips_rt305x_OLINUXINO-RT5350F is not set 200 | # CONFIG_TARGET_ramips_rt305x_OLINUXINO-RT5350F-EVB is not set 201 | # CONFIG_TARGET_ramips_rt305x_PX4885 is not set 202 | # CONFIG_TARGET_ramips_rt305x_RT-N10-PLUS is not set 203 | # CONFIG_TARGET_ramips_rt305x_RT-N13U is not set 204 | # CONFIG_TARGET_ramips_rt305x_UR-326N4G is not set 205 | # CONFIG_TARGET_ramips_rt305x_UR-336UN is not set 206 | # CONFIG_TARGET_ramips_rt305x_VOCORE is not set 207 | # CONFIG_TARGET_ramips_rt305x_W306R_V20 is not set 208 | # CONFIG_TARGET_ramips_rt305x_WIZARD8800 is not set 209 | # CONFIG_TARGET_ramips_rt305x_WIZFI630A is not set 210 | # CONFIG_TARGET_ramips_rt305x_WT1520 is not set 211 | # CONFIG_TARGET_ramips_rt305x_X5 is not set 212 | # CONFIG_TARGET_ramips_rt305x_X8 is not set 213 | -------------------------------------------------------------------------------- /dl/15.05/minimal/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05/minimal/openwrt-ramips-mt7620-ex2700-squashfs-factory.bin -------------------------------------------------------------------------------- /dl/15.05/minimal/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/dl/15.05/minimal/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin -------------------------------------------------------------------------------- /ex2700.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/ex2700.tar.gz -------------------------------------------------------------------------------- /fw_printenv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/fw_printenv -------------------------------------------------------------------------------- /fw_setenv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/fw_setenv -------------------------------------------------------------------------------- /mtd-rw.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/mtd-rw.ko -------------------------------------------------------------------------------- /mtd-unlocker.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #ifndef MODULE 7 | #error "Must be compiled as a module" 8 | #endif 9 | 10 | /* 11 | * All credit goes to dougg3@electronics.stackexchange.com: 12 | * https://electronics.stackexchange.com/a/116133/97342 13 | */ 14 | 15 | static int __init mtd_unlocker_init(void) 16 | { 17 | struct mtd_info *mtd; 18 | int i; 19 | 20 | for (i = 0; true; ++i) { 21 | mtd = get_mtd_device(NULL, i); 22 | if (!IS_ERR(mtd) && !(mtd->flags & MTD_WRITEABLE)) { 23 | printk(KERN_INFO "mtd-unlocker: unlocking mtd%d\n", i); 24 | mtd->flags |= MTD_WRITEABLE; 25 | put_mtd_device(mtd); 26 | } else { 27 | break; 28 | } 29 | } 30 | 31 | printk(KERN_INFO "mtd-unlocker: %d device(s) unlocked\n", i); 32 | 33 | return 0; 34 | } 35 | 36 | module_init(mtd_unlocker_init); 37 | 38 | MODULE_LICENSE("GPL"); 39 | MODULE_AUTHOR("Joseph C. Lehner "); 40 | MODULE_DESCRIPTION("MTD unlocker"); 41 | MODULE_VERSION("1"); 42 | -------------------------------------------------------------------------------- /mtd-unlocker.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/mtd-unlocker.ko -------------------------------------------------------------------------------- /netgear-ex2700-openwrt-15.05.patch: -------------------------------------------------------------------------------- 1 | diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds 2 | index 5946f98..5327d00 100755 3 | --- a/target/linux/ramips/base-files/etc/board.d/01_leds 4 | +++ b/target/linux/ramips/base-files/etc/board.d/01_leds 5 | @@ -114,6 +114,10 @@ case $board in 6 | esr-9753) 7 | set_wifi_led "rt2800pci-phy0::radio" 8 | ;; 9 | + ex2700) 10 | + ucidef_set_led_default "power_r" "POWER (red)" "ex2700:red:power" "0" 11 | + set_wifi_led "ex2700:green:router" 12 | + ;; 13 | f5d8235-v1) 14 | set_usb_led "f5d8235-v1:blue:storage" 15 | ;; 16 | diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network 17 | index d7d016b..a78912d 100755 18 | --- a/target/linux/ramips/base-files/etc/board.d/02_network 19 | +++ b/target/linux/ramips/base-files/etc/board.d/02_network 20 | @@ -113,7 +113,8 @@ ramips_setup_interfaces() 21 | ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t" 22 | ;; 23 | 24 | - cf-wr800n) 25 | + cf-wr800n|\ 26 | + ex2700) 27 | ucidef_set_interface_lan "eth0.1" 28 | ucidef_add_switch "switch0" "1" "1" 29 | ucidef_add_switch_vlan "switch0" "1" "4 6t" 30 | diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh 31 | index a7e2501..6474ebd 100644 32 | --- a/target/linux/ramips/base-files/etc/diag.sh 33 | +++ b/target/linux/ramips/base-files/etc/diag.sh 34 | @@ -63,6 +63,9 @@ get_status_led() { 35 | esr-9753) 36 | status_led="esr-9753:orange:power" 37 | ;; 38 | + ex2700) 39 | + status_led="ex2700:red:power" 40 | + ;; 41 | f5d8235-v2) 42 | status_led="f5d8235v2:blue:router" 43 | ;; 44 | diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh 45 | index 4141ddd..8dc05b0 100755 46 | --- a/target/linux/ramips/base-files/lib/ramips.sh 47 | +++ b/target/linux/ramips/base-files/lib/ramips.sh 48 | @@ -223,6 +223,9 @@ ramips_board_detect() { 49 | *"Netgear WNCE2001") 50 | name="wnce2001" 51 | ;; 52 | + *"Netgear EX2700") 53 | + name="ex2700" 54 | + ;; 55 | *"NexAira BC2") 56 | name="bc2" 57 | ;; 58 | diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh 59 | index 2f64d8c..a3d0175 100755 60 | --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh 61 | +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh 62 | @@ -49,6 +49,7 @@ platform_check_image() { 63 | dir-620-d1 | \ 64 | dir-810l | \ 65 | e1700 | \ 66 | + ex2700 |\ 67 | esr-9753 | \ 68 | f7c027 | \ 69 | fonera20n | \ 70 | diff --git a/target/linux/ramips/dts/EX2700.dts b/target/linux/ramips/dts/EX2700.dts 71 | new file mode 100644 72 | index 0000000..da98bd8 73 | --- /dev/null 74 | +++ b/target/linux/ramips/dts/EX2700.dts 75 | @@ -0,0 +1,148 @@ 76 | +/* 77 | + * Device Tree file for the Netgear EX2700 78 | + * 79 | + * Copyright (C) 2016 Joseph C. Lehner 80 | + * 81 | + * This file is licensed under the terms of the GNU General Public 82 | + * License version 2. This program is licensed "as is" without any 83 | + * warranty of any kind, whether express or implied. 84 | + */ 85 | + 86 | +/dts-v1/; 87 | + 88 | +/include/ "mt7620a.dtsi" 89 | + 90 | +/ { 91 | + compatible = "ralink,mt7620a-soc"; 92 | + model = "Netgear EX2700"; 93 | + 94 | + chosen { 95 | + bootargs = "console=ttyS0,57600"; 96 | + }; 97 | + 98 | + palmbus@10000000 { 99 | + 100 | + gpio0: gpio@600 { 101 | + status = "okay"; 102 | + }; 103 | + 104 | + gpio1: gpio@638 { 105 | + status = "okay"; 106 | + }; 107 | + 108 | + spi@b00 { 109 | + status = "okay"; 110 | + 111 | + m25p80@0 { 112 | + #address-cells = <1>; 113 | + #size-cells = <1>; 114 | + compatible = "mx25l3205d"; 115 | + reg = <0 0>; 116 | + linux,modalias = "m25p80", "mx25l3205d"; 117 | + spi-max-frequency = <10000000>; 118 | + 119 | + partition@0 { 120 | + label = "u-boot"; 121 | + reg = <0x0 0x30000>; 122 | + read-only; 123 | + }; 124 | + 125 | + partition@30000 { 126 | + label = "u-boot-env"; 127 | + reg = <0x30000 0x10000>; 128 | + read-only; 129 | + }; 130 | + 131 | + partition@40000 { 132 | + label = "firmware"; 133 | + reg = <0x40000 0x3b0000>; 134 | + }; 135 | + 136 | + art: partition@3f0000 { 137 | + label = "art"; 138 | + reg = <0x3f0000 0x10000>; 139 | + read-only; 140 | + }; 141 | + }; 142 | + }; 143 | + }; 144 | + 145 | + ethernet@10100000 { 146 | + mtd-mac-address = <&art 0x0>; 147 | + }; 148 | + 149 | + wmac@10180000 { 150 | + ralink,mtd-eeprom = <&art 0x1000>; 151 | + }; 152 | + 153 | + pinctrl { 154 | + state_default: pinctrl0 { 155 | + default { 156 | + // spi refclk: pins 37, 38, 39 157 | + // uartf: pins 8, 9, 10, 11, 12, 13, 14 158 | + // i2c: pins 1, 2 159 | + ralink,group = "i2c", "uartf", "spi refclk"; 160 | + ralink,function = "gpio"; 161 | + }; 162 | + }; 163 | + }; 164 | + 165 | + gpio-leds { 166 | + compatible = "gpio-leds"; 167 | + 168 | + power_g { 169 | + label = "ex2700:green:power"; 170 | + gpios = <&gpio0 9 1>; 171 | + default-state = "on"; 172 | + }; 173 | + 174 | + power_r { 175 | + label = "ex2700:red:power"; 176 | + gpios = <&gpio0 11 1>; 177 | + }; 178 | + 179 | + device_g { 180 | + label = "ex2700:green:device"; 181 | + gpios = <&gpio0 13 1>; 182 | + }; 183 | + 184 | + device_r { 185 | + label = "ex2700:red:device"; 186 | + gpios = <&gpio0 10 1>; 187 | + }; 188 | + 189 | + router_g { 190 | + label = "ex2700:green:router"; 191 | + gpios = <&gpio0 12 1>; 192 | + }; 193 | + 194 | + router_r { 195 | + label = "ex2700:red:router"; 196 | + gpios = <&gpio0 14 1>; 197 | + }; 198 | + 199 | + wps { 200 | + label = "ex2700:green:wps"; 201 | + gpios = <&gpio1 15 1>; 202 | + }; 203 | + }; 204 | + 205 | + gpio-keys-polled { 206 | + compatible = "gpio-keys-polled"; 207 | + #address-cells = <1>; 208 | + #size-cells = <0>; 209 | + poll-interval = <20>; 210 | + 211 | + reset { 212 | + label = "reset"; 213 | + gpios = <&gpio0 1 1>; 214 | + linux,code = <0x198>; 215 | + }; 216 | + 217 | + wps { 218 | + label = "wps"; 219 | + gpios = <&gpio0 2 1>; 220 | + linux,code = <0x211>; 221 | + }; 222 | + }; 223 | +}; 224 | diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile 225 | index 0d762ba..c4f4028 100644 226 | --- a/target/linux/ramips/image/Makefile 227 | +++ b/target/linux/ramips/image/Makefile 228 | @@ -854,7 +854,34 @@ endif 229 | # MT7620A Profiles 230 | # 231 | 232 | +# $(1): (ignored) 233 | +# $(2): lowercase board name 234 | +# $(3): uppercase board name (must match DTS filename w/o extension) 235 | +# $(4): erase block size 236 | +# $(5): hardware id for mkdniimg 237 | +# $(6): maximum image size 238 | +define BuildFirmware/Netgear/squashfs 239 | + $(call PatchKernelLzmaDtb,$(2),$(3)) 240 | + # Pad kernel to eraseblock boundary, minus 2 uImage headers (=128 bytes): 241 | + # bs = (eraseblock * (1 + (128 + kernelsize)/eraseblock)) - 128 242 | + dd if=$(KDIR)/vmlinux-$(2).bin.lzma \ 243 | + of=$(KDIR)/vmlinux-$(2).bin.lzma.tmp \ 244 | + bs=`expr \( $(4) \* \( 1 + \( 128 + \`wc -c < $(KDIR)/vmlinux-$(2).bin.lzma\` \) / $(4) \) \) - 128` \ 245 | + count=1 conv=sync 246 | + 247 | + $(call MkImage,lzma,$(KDIR)/vmlinux-$(2).bin.lzma.tmp,$(KDIR)/vmlinux-$(2).uImage) 248 | + cat ex2700-fakeroot.uImage >> $(KDIR)/vmlinux-$(2).uImage 249 | + $(call MkImageSysupgrade/squashfs,squashfs,$(2),$(6)) 250 | + 251 | + $(STAGING_DIR_HOST)/bin/mkdniimg \ 252 | + -B $(3) -H $(5) -v OpenWrt \ 253 | + -i $(call imgname,squashfs,$(2))-sysupgrade.bin \ 254 | + -o $(call imgname,squashfs,$(2))-factory.bin 255 | +endef 256 | + 257 | Image/Build/Profile/E1700=$(call BuildFirmware/UMedia/$(1),$(1),e1700,E1700,0x013326) 258 | +ex2700_mtd_size=3866624 259 | +Image/Build/Profile/EX2700=$(call BuildFirmware/Netgear/$(1),$(1),ex2700,EX2700,65536,29764623+4+0+32+2x2+0,$(ex2700_mtd_size)) 260 | Image/Build/Profile/MT7620a=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a,MT7620a) 261 | Image/Build/Profile/MT7620a_MT7610e=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7610e,MT7620a_MT7610e) 262 | Image/Build/Profile/MT7620a_MT7530=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7530,MT7620a_MT7530) 263 | @@ -893,6 +920,7 @@ Image/Build/Profile/MicroWRT=$(call BuildFirmware/CustomFlash/$(1),$(1),microwrt 264 | ifeq ($(SUBTARGET),mt7620) 265 | define Image/Build/Profile/Default 266 | $(call Image/Build/Profile/E1700,$(1)) 267 | + $(call Image/Build/Profile/EX2700,$(1)) 268 | $(call Image/Build/Profile/MT7620a,$(1)) 269 | $(call Image/Build/Profile/MT7620a_MT7610e,$(1)) 270 | $(call Image/Build/Profile/MT7620a_MT7530,$(1)) 271 | diff --git a/target/linux/ramips/image/ex2700-fakeroot.uImage b/target/linux/ramips/image/ex2700-fakeroot.uImage 272 | new file mode 100644 273 | index 0000000000000000000000000000000000000000..340f736141e84e425fe66b372eef80b217146df5 274 | GIT binary patch 275 | literal 64 276 | ocmY#ql?+qLV?W4%1+cQRGx!&z=7krPD5NE3rxxYsm!K;H01lrBPXGV_ 277 | 278 | literal 0 279 | HcmV?d00001 280 | 281 | diff --git a/target/linux/ramips/mt7620/profiles/netgear.mk b/target/linux/ramips/mt7620/profiles/netgear.mk 282 | new file mode 100644 283 | index 0000000..d1b073a 284 | --- /dev/null 285 | +++ b/target/linux/ramips/mt7620/profiles/netgear.mk 286 | @@ -0,0 +1,16 @@ 287 | +# 288 | +# Copyright (C) 2016 OpenWrt.org 289 | +# 290 | +# This is free software, licensed under the GNU General Public License v2. 291 | +# See /LICENSE for more information. 292 | +# 293 | + 294 | +define Profile/EX2700 295 | + NAME:=Netgear EX2700 296 | + PACKAGES:=-kmod-usb-core -kmod-usb2 -kmod-usb-ohci -kmod-ledtrig-usbdev 297 | +endef 298 | + 299 | +define Profile/EX2700/Description 300 | + Support for Netgear EX2700 301 | +endef 302 | +$(eval $(call Profile,EX2700)) 303 | -------------------------------------------------------------------------------- /netgear-ex2700-openwrt-trunk.patch: -------------------------------------------------------------------------------- 1 | diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds 2 | index c3a81a4..62478f0 100755 3 | --- a/target/linux/ramips/base-files/etc/board.d/01_leds 4 | +++ b/target/linux/ramips/base-files/etc/board.d/01_leds 5 | @@ -121,6 +121,10 @@ dir-615-h1) 6 | dir-620-d1) 7 | set_wifi_led "$board:green:wifi" 8 | ;; 9 | +ex2700) 10 | + ucidef_set_led_default "power_r" "POWER (red)" "$board:red:power" "0" 11 | + set_wifi_led "$board:router:green" 12 | + ;; 13 | dir-810l|\ 14 | mzk-dp150n) 15 | ucidef_set_led_default "power" "power" "$board:green:power" "1" 16 | diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network 17 | index dafa3e9..9853729 100755 18 | --- a/target/linux/ramips/base-files/etc/board.d/02_network 19 | +++ b/target/linux/ramips/base-files/etc/board.d/02_network 20 | @@ -141,7 +141,8 @@ ramips_setup_interfaces() 21 | ucidef_add_switch "switch0" \ 22 | "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0" 23 | ;; 24 | - cf-wr800n) 25 | + cf-wr800n|\ 26 | + ex2700) 27 | ucidef_add_switch "switch0" \ 28 | "4:lan" "6t@eth0" 29 | ;; 30 | diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh 31 | index acc500b..59c5965 100644 32 | --- a/target/linux/ramips/base-files/etc/diag.sh 33 | +++ b/target/linux/ramips/base-files/etc/diag.sh 34 | @@ -34,6 +34,7 @@ get_status_led() { 35 | a5-v11|\ 36 | d105|\ 37 | dcs-930l-b1|\ 38 | + ex2700|\ 39 | hlk-rm04|\ 40 | mpr-a1|\ 41 | mpr-a2) 42 | diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh 43 | index 8025a40..aed8350 100755 44 | --- a/target/linux/ramips/base-files/lib/ramips.sh 45 | +++ b/target/linux/ramips/base-files/lib/ramips.sh 46 | @@ -154,6 +154,9 @@ ramips_board_detect() { 47 | *"ESR-9753") 48 | name="esr-9753" 49 | ;; 50 | + *"EX2700") 51 | + name="ex2700"; 52 | + ;; 53 | *"F5D8235 v1") 54 | name="f5d8235-v1" 55 | ;; 56 | diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh 57 | index 39b5f94..78edd22 100755 58 | --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh 59 | +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh 60 | @@ -51,6 +51,7 @@ platform_check_image() { 61 | dir-810l|\ 62 | e1700|\ 63 | esr-9753|\ 64 | + ex2700|\ 65 | f7c027|\ 66 | firewrt|\ 67 | fonera20n|\ 68 | diff --git a/target/linux/ramips/dts/EX2700.dts b/target/linux/ramips/dts/EX2700.dts 69 | new file mode 100644 70 | index 0000000..b63949a 71 | --- /dev/null 72 | +++ b/target/linux/ramips/dts/EX2700.dts 73 | @@ -0,0 +1,153 @@ 74 | +/* 75 | + * Device Tree file for the Netgear EX2700 76 | + * 77 | + * Copyright (C) 2016 Joseph C. Lehner 78 | + * 79 | + * This file is licensed under the terms of the GNU General Public 80 | + * License version 2. This program is licensed "as is" without any 81 | + * warranty of any kind, whether express or implied. 82 | + */ 83 | + 84 | +/dts-v1/; 85 | + 86 | +/include/ "mt7620a.dtsi" 87 | + 88 | +/ { 89 | + compatible = "ralink,mt7620a-soc"; 90 | + model = "Netgear EX2700"; 91 | + 92 | + chosen { 93 | + bootargs = "console=ttyS0,57600"; 94 | + }; 95 | + 96 | + palmbus@10000000 { 97 | + 98 | + gpio0: gpio@600 { 99 | + status = "okay"; 100 | + }; 101 | + 102 | + gpio1: gpio@638 { 103 | + status = "okay"; 104 | + }; 105 | + 106 | + spi@b00 { 107 | + status = "okay"; 108 | + 109 | + m25p80@0 { 110 | + #address-cells = <1>; 111 | + #size-cells = <1>; 112 | + compatible = "jedec,spi-nor"; 113 | + reg = <0 0>; 114 | + linux,modalias = "m25p80", "mx25l3205d"; 115 | + spi-max-frequency = <10000000>; 116 | + 117 | + partition@0 { 118 | + label = "u-boot"; 119 | + reg = <0x0 0x30000>; 120 | + read-only; 121 | + }; 122 | + 123 | + partition@30000 { 124 | + label = "u-boot-env"; 125 | + reg = <0x30000 0x10000>; 126 | + read-only; 127 | + }; 128 | + 129 | + partition@40000 { 130 | + label = "firmware"; 131 | + reg = <0x40000 0x3b0000>; 132 | + }; 133 | + 134 | + art: partition@3f0000 { 135 | + label = "art"; 136 | + reg = <0x3f0000 0x10000>; 137 | + read-only; 138 | + }; 139 | + }; 140 | + }; 141 | + }; 142 | + 143 | + ethernet@10100000 { 144 | + mtd-mac-address = <&art 0x0>; 145 | + }; 146 | + 147 | + esw@10110000 { 148 | + mediatek,portmap = <0x10>; 149 | + mediatek,portdisable = <0x2f>; 150 | + }; 151 | + 152 | + wmac@10180000 { 153 | + ralink,mtd-eeprom = <&art 0x1000>; 154 | + }; 155 | + 156 | + pinctrl { 157 | + state_default: pinctrl0 { 158 | + default { 159 | + // spi refclk: pins 37, 38, 39 160 | + // uartf: pins 8, 9, 10, 11, 12, 13, 14 161 | + // i2c: pins 1, 2 162 | + ralink,group = "i2c", "uartf", "spi refclk"; 163 | + ralink,function = "gpio"; 164 | + }; 165 | + }; 166 | + }; 167 | + 168 | + gpio-leds { 169 | + compatible = "gpio-leds"; 170 | + 171 | + power_g { 172 | + label = "ex2700:green:power"; 173 | + gpios = <&gpio0 9 1>; 174 | + default-state = "on"; 175 | + }; 176 | + 177 | + power_r { 178 | + label = "ex2700:red:power"; 179 | + gpios = <&gpio0 11 1>; 180 | + }; 181 | + 182 | + device_g { 183 | + label = "ex2700:green:device"; 184 | + gpios = <&gpio0 13 1>; 185 | + }; 186 | + 187 | + device_r { 188 | + label = "ex2700:red:device"; 189 | + gpios = <&gpio0 10 1>; 190 | + }; 191 | + 192 | + router_g { 193 | + label = "ex2700:green:router"; 194 | + gpios = <&gpio0 12 1>; 195 | + }; 196 | + 197 | + router_r { 198 | + label = "ex2700:red:router"; 199 | + gpios = <&gpio0 14 1>; 200 | + }; 201 | + 202 | + wps { 203 | + label = "ex2700:green:wps"; 204 | + gpios = <&gpio1 15 1>; 205 | + }; 206 | + }; 207 | + 208 | + gpio-keys-polled { 209 | + compatible = "gpio-keys-polled"; 210 | + #address-cells = <1>; 211 | + #size-cells = <0>; 212 | + poll-interval = <20>; 213 | + 214 | + reset { 215 | + label = "reset"; 216 | + gpios = <&gpio0 1 1>; 217 | + linux,code = <0x198>; 218 | + }; 219 | + 220 | + wps { 221 | + label = "wps"; 222 | + gpios = <&gpio0 2 1>; 223 | + linux,code = <0x211>; 224 | + }; 225 | + }; 226 | +}; 227 | diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile 228 | index 55b9cf4..543ff67 100644 229 | --- a/target/linux/ramips/image/Makefile 230 | +++ b/target/linux/ramips/image/Makefile 231 | @@ -953,6 +953,7 @@ Image/Build/Profile/ArcherC20i=$(call BuildFirmware/Tplink/$(1),$(1),ArcherC20i, 232 | microwrt_mtd_size=16515072 233 | Image/Build/Profile/MicroWRT=$(call BuildFirmware/CustomFlash/$(1),$(1),microwrt,MicroWRT,$(microwrt_mtd_size)) 234 | Image/Build/Profile/TINY-AC=$(call BuildFirmware/Default8M/$(1),$(1),tiny-ac,TINY-AC) 235 | +Image/Build/Profile/EX2700=$(call BuildFirmware/Default4M/$(1),$(1),ex2700,EX2700) 236 | 237 | 238 | ifeq ($(SUBTARGET),mt7620) 239 | @@ -992,6 +993,7 @@ define Image/Build/Profile/Default 240 | $(call Image/Build/Profile/ArcherC20i,$(1)) 241 | $(call Image/Build/Profile/MicroWRT,$(1)) 242 | $(call Image/Build/Profile/TINY-AC,$(1)) 243 | + $(call Image/Build/Profile/EX2700,$(1)) 244 | endef 245 | endif 246 | 247 | diff --git a/target/linux/ramips/mt7620/profiles/netgear.mk b/target/linux/ramips/mt7620/profiles/netgear.mk 248 | new file mode 100644 249 | index 0000000..590756a 250 | --- /dev/null 251 | +++ b/target/linux/ramips/mt7620/profiles/netgear.mk 252 | @@ -0,0 +1,16 @@ 253 | +# 254 | +# Copyright (C) 2016 OpenWrt.org 255 | +# 256 | +# This is free software, licensed under the GNU General Public License v2. 257 | +# See /LICENSE for more information. 258 | +# 259 | + 260 | +define Profile/EX2700 261 | + NAME:=Netgear EX2700 262 | + PACKAGES:=-kmod-usb-core -kmod-usb2 -kmod-usb-ohci -kmod-ledtrig-usbdev 263 | +endef 264 | + 265 | +define Profile/EX2700/Description 266 | + Support for Netgear EX2700 267 | +endef 268 | +$(eval $(call Profile,EX2700)) 269 | -------------------------------------------------------------------------------- /revert-to-stock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | pad_kb() { 4 | local file="$1" 5 | local kb="$2" 6 | local max=$(($kb*1024)) 7 | local len=$(wc -c "$file" | awk '{ print $1 }') 8 | 9 | if [ $len -gt $max ]; then 10 | echo >&2 "Error: \"$file\" exceeds $kb kb" 11 | exit 1 12 | fi 13 | 14 | dd if=/dev/zero bs=$(($max-$len)) count=1 >> "$file" 15 | } 16 | 17 | if ! grep -q "EX2700" /proc/cpuinfo && test -z "$I_AM_NOT_A_FREAK"; then 18 | echo >&2 "Error: wrong device, you freak!" 19 | exit 1 20 | fi 21 | 22 | cd /tmp 23 | rm -f firmware.bin language.bin 24 | wget -O - ftp://downloads.netgear.com/ex2700/ww/EX2700-V1.0.1.10.img | tail -c+129 > firmware.bin || exit 1 25 | wget -O language.bin ftp://downloads.netgear.com/ex2700/ww/EX2700-V1.0.0.43Eng-Language-table || exit 1 26 | 27 | pad_kb firmware.bin 3520 28 | pad_kb language.bin 128 29 | 30 | cat language.bin >> firmware.bin 31 | rm language.bin 32 | 33 | # add padding for "pot" and "config" partitions too 34 | pad_kb firmware.bin $((3520+128+64+64)) 35 | 36 | echo 37 | echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 38 | echo "!! This will revert your device to stock firmware !!" 39 | echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 40 | echo 41 | echo -n "Press enter to continue, or Ctrl-C to abort. " 42 | read answer 43 | 44 | sysupgrade -n firmware.bin 45 | -------------------------------------------------------------------------------- /u-boot-env.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jclehner/ex2700/28e36426e06348f517c972c20eeb9333d138a316/u-boot-env.bin --------------------------------------------------------------------------------