aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/image/mt76x8.mk
Commit message (Collapse)AuthorAgeFilesLines
* ramips: add support for TP-Link RE200 v2Andreas Böhler2020-02-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN. Specifications -------------- - MediaTek MT7628AN (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 1x 10/100 Mbps Ethernet - UART header on PCB (57600 8n1) - 8x LED (GPIO-controlled), 2x button There are 2.4G and 5G LEDs in red and green which are controlled separately. MAC addresses ------------- The MAC address assignment matches stock firmware, i.e.: LAN : *:0D 2.4G: *:0E 5G : *:0F Installation ------------ Web Interface ------------- It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Serial console -------------- Opening the case is quite hard, since it is welded together. Rename the OpenWrt factory image to "test.bin", then plug in the device and quickly press "2" to enter flash mode (no line feed). Follow the prompts until OpenWrt is installed. Unfortunately, this devices does not offer a recovery mode or a tftp installation method. If the web interface upgrade fails, you have to open your device and attach serial console. Additonal notes --------------- It is possible to flash back to stock by using tplink-safeloader to create a sysupgrade image based on a stock update. After the first boot, it is necessary upgrade to another stock image, otherwise subsequent boots fail with LZMA ERROR 1 and you have to attach serial to recover the device. Signed-off-by: Andreas Böhler <dev@aboehler.at> [remove DEVICE_VARS change] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: collect and harmonize TP-Link image variants in common fileAdrian Schmutzler2020-02-011-70/+38
| | | | | | | | | | | | This moves the various variants of common device definitions for TP-Link devices to a common Makefile common-tp-link.mk. This provides the opportunity to reorganize and move parameters between individual device definitions and the common ones. While at it, also use the common definitions for previously independent definitions where appropriate. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for GL.iNet microuter-N300David Bauer2020-01-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL.iNet microuter-N300 (internally referred as MT300N-v4) is a pocket-size travel router. It is essentially identical to the VIXMINI (internally referred as MT300N-v3) but with double the RAM and SPI-flash. Additionally, set the label-mac for both the VIXMINI as well as the microuter-N300. Hardware -------- SoC: MediaTek MT7628NN RAM: 128M DDR2 FLASH: 16M LED: Power - WLAN BTN: Reset UART: 115200 8N1 TX and RX are labled on the board as pads next to the SoC Installation via web-interface ------------------------------ 1. Visit the web-interface at 192.168.8.1 Note: The ethernet port is by default WAN. So you need to connect to the router via WiFi 2. Navigate to the Update tab on the left side. 3. Select "Local Update" 4. Upload the OpenWrt sysupgrade image. Note: Make sure you select not to preserve the configuration. Installation via U-Boot ----------------------- 1. Hold down the reset button while powering on the device. Wait for the LED to flash 5 times. 2. Assign yourself a static IPv4 in 192.168.1.0/24 3. Upload the OpenWrt sysupgrade image at 192.168.1.1. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: define SOC only once for uniform targetsAdrian Schmutzler2020-01-241-40/+2
| | | | | | | | | | | In ramips, all devices in mt7621, mt76x8 and rt288x subtarget have the same value set to the SOC variable for each device individually. This patch introduces a non-device-dependent variable DEFAULT_SOC, which is used if no specific SOC is set for a device, and thus reduces the number of redundant definitions drastically. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for TP-Link RE305 v1Steffen Förster2020-01-181-0/+24
| | | | | | | | | | | | | | | | | | | | | | Specification: SoC: MediaTek MT7628AN RAM: 64MiB Flash: 8MiB Wifi: - 2.4GHz: MT7628AN - 5GHz: MT7612EN LAN: 1x 10/100 Mbps Flash instructions: Flash factory image through stock firmware WEB UI. Back to stock is possible by using TFTP and stripping down the Firmware provided by TP-Link to a initramfs. The flash space between 0x650000 and 0x7f0000 is blank in the stock firmware so I left it out as well. Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
* ramips: add support for TP-Link Archer C20 v5Maxim Anisimov2020-01-091-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C20 v5 is a router with 5-port FE switch and non-detachable antennas. It's based on MediaTek MT7628N+MT7610EN. Specification: - MediaTek MT7628N/N (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 5x 10/100 Mbps Ethernet - 3x external, non-detachable antennas - UART (J1) header on PCB (115200 8n1) - 7x LED (GPIO-controlled*), 2x button, power input switch * WAN LED in this devices is a dual-color, dual-leads type which isn't (fully) supported by gpio-leds driver. This type of LED requires both GPIOs state change at the same time to select color or turn it off. For now, we support/use only the green part of the LED. Create Factory image -------------------- As all installation methods require a U-Boot to be integrated into the Image (and we do not ship one with the image) we are not able to create an image in the OpenWRT build-process. Download a TP-Link image from their Website and a OpenWRT sysupgrade image for the device and build yourself a factory image like following: TP-Link image: tpl.bin OpenWRT sysupgrade image: owrt.bin > dd if=tpl.bin of=boot.bin bs=131584 count=1 > cat owrt.bin >> boot.bin Installing via Web-UI --------------------- Upload the boot.bin via TP-Links firmware upgrade tool in the web-interface. Installing via Recovery ----------------------- Activate Web-Recovery by beginning the upgrade Process with a Firmware-Image from TP-Link. After starting the Firmware Upgrade, wait ~3 seconds (When update status is switching to 0%), then disconnect the power supply from the device. Upgrade flag (which activates Web-Recovery) is written before the OS-image is touched and removed after write is succesfull, so this procedure should be safe. Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1. When active, all LEDs but the WPS LED are off. Remeber to assign yourself a static IP-address as DHCP is not active in this mode. The boot.bin can now be uploaded and flashed using the web-recovery. Installing via TFTP ------------------- Prepare an image like following (Filenames from factory image steps apply here) > dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 > dd if=tpl.bin of=tmp.bin bs=131584 count=1 > dd if=tmp.bin of=boot.bin bs=512 skip=1 > cat boot.bin >> tp_recovery.bin > cat owrt.bin >> tp_recovery.bin Place tp_recovery.bin in root directory of TFTP server and listen on 192.168.0.66/24. Connect router LAN ports with your computer and power up the router while pressing the reset button. The router will download the image via tftp and after ~1 Minute reboot into OpenWRT. U-Boot CLI ---------- U-Boot CLI can be activated by holding down '4' on bootup. Dual U-Boot ----------- This is TP-Link MediaTek device with a split-uboot feature design like a TP-Link Archer C50 v4. The first (factory-uboot) provides recovery via TFTP and HTTP, jumping straight into the second (firmware-uboot) if no recovery needs to be performed. The firmware-uboot unpacks and executed the kernel. Web-Recovery ------------ TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 / TL-WR1043v5 / Archer C50v4. Stock-firmware sets a flag in the "romfile" partition before beginning to write and removes it afterwards. If the router boots with this flag set, bootloader will automatically start Web-recovery and listens on 192.168.0.1. This way, the vendor-firmware or an OpenWRT factory image can be written. By doing the same while performing sysupgrade, we can take advantage of the Web-recovery in OpenWRT. It is important to note that Web-Recovery is only based on this flag. It can't detect e.g. a crashing kernel or other means. Once activated it won't boot the OS before a recovery action (either via TFTP or HTTP) is performed. This recovery-mode is indicated by an illuminated WPS-LED on boot. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com> [adjust some node names for LEDs in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: rename MTK_SOC to SOCAdrian Schmutzler2019-12-201-39/+39
| | | | | | | This replaces MTK_SOC by the newly introduced common SOC device variable. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: harmonize line breaks in image MakefilesAdrian Schmutzler2019-12-191-15/+19
| | | | | | | | | | | | | | | | This harmonizes the line wrapping in image Makefile device definitions, as those are frequently copy-pasted and are a common subject of review comments. Having the treatment unifying should reduce the cases where adjustment is necessary afterwards. Harmonization is achieved by consistently (read "strictly") applying certain rules: - Never put more than 80 characters into one line - Fill lines up (do not break after 40 chars because of ...) - Use one tab for indent after wrapping by "\" - Only break after pipe "|" for IMAGE variables Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: allow JCG_MAXSIZE in kiB in Build/jcg-headerAdrian Schmutzler2019-12-131-1/+1
| | | | | | | | | | This allows JCG_MAXSIZE to be specified in kilobytes. This makes this value more consistent and easier comparable with other size variables. This also changes the only occurence of the variable, for Cudy WR1000. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix TARGET_DEVICES after UniElec renameAdrian Schmutzler2019-10-211-1/+1
| | | | | | | | | | Device node names were updated, but updating TARGET_DEVICES was overlooked. Fixes: 4408723d42e0 ("ramips: remove RAM size from device name for UniElec devices") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove RAM size from device name for UniElec devicesAdrian Schmutzler2019-10-211-3/+3
| | | | | | | | | | | UniElec devices are the last ones in ramips target still having the RAM size in device name although RAM size is auto-detected. Remove this from device name, compatible, etc., as it's not required and might be misleading to users and developers adding device support copying those devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: harmonize device vendor ZbtlinkAdrian Schmutzler2019-09-291-1/+1
| | | | | | | | | | | | Spelling of Zbtlink varies across image definitions and DTS files. This patch uses Zbtlink consistently and also updates the model in DTS files to contain the vendor in all cases. This patch is cosmetical, as there should be no dependencies on device model name in ramips anymore. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ipTIME A3Sungbo Eo2019-09-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | ipTIME A3 is a 2.4/5GHz band AC1200 router, based on MediaTek MT7628AN. Specifications: - SoC: MT7628AN - RAM: DDR2 64MB - Flash: SPI NOR 8MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7612EN - Ethernet: 3x 10/100Mbps - Switch: SoC internal - UART: - J1: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1 Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: add SD-Card support for Linkit Smart 7688Ivan Hörler2019-09-151-1/+1
| | | | | | The Linkit Smart 7688 has a SD-Card reader that does not work with the official build of openwrt. Adding kmod-sdhci-mt7620 makes it working. Signed-off-by: Ivan Hörler <i.hoerler@me.com>
* ramips: improve support for Xiaomi Miwifi NanoChuanhong Guo2019-09-041-1/+1
| | | | | | | | | | | | | | | This patch does the following things: 1. mark u-boot-env writable 2. add bootcount support Currently, u-boot has a flag_boot_success env variable to reset. Also reset it in our firmware to follow the behavior in vendor's firmware. 3. disable usb support This router doesn't have usb port at all. 4. increase spi clock to 40MHz 5. fix pinmux groups Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips/mt76x8: add DEVICE_VENDOR for tl-wr840n-v5Paul Spooren2019-08-221-0/+1
| | | | | | DEVICE_VENDOR is missing for this device. Signed-off-by: Paul Spooren <mail@aparcar.org>
* ramips: add support for ipTIME A604MSungbo Eo2019-08-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | ipTIME A604M is a 2.4/5GHz band AC1200 router, based on MediaTek MT7628AN. Specifications: - SoC: MT7628AN - RAM: DDR2 64MB - Flash: SPI NOR 8MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7612EN - Ethernet: 5x 10/100Mbps - Switch: SoC internal - UART: - J1: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1 Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: add support for HiWiFi HC5761ADENG Qingfang2019-08-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | HiWiFi HC5761A is an "MT7628AN variant" of HC5761 Specifications: - MediaTek MT7628AN 580MHz - 128 MB DDR2 RAM - 16 MB SPI Flash - 2.4G MT7628AN 802.11bgn 2T2R 300Mbps - 5G MT7610EN 802.11ac 433Mbps - 3x 10/100 Mbps Ethernet Flash instruction: 1. Get SSH access to the router 2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one 3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP 4. Run `mtd write /tmp/<filename> firmware` 5. reboot Known bug: - SD slot does not work (See PR 1500) Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: remove ralink_default_fw_size_xxx variablesAdrian Schmutzler2019-07-251-20/+20
| | | | | | | | | | | There are frequent examples of the ralink_default_fw_size_xxx variables being used to "roughly" set flash size without caring about the actual size of the firmware partition. To discourage this behavior, this patch removes the variables and just sets IMAGE_SIZE by its numeric value for each target. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove default IMAGE_SIZE for ramips targetAdrian Schmutzler2019-07-251-0/+2
| | | | | | | | | | | | | | | | | | | Currently, ramips target defines 0x7b0000 as default IMAGE_SIZE for all devices in ramips target, i.e. this will be set if a device does not specify IMAGE_SIZE itself. From 92 devices using that default due to a "missing" IMAGE_SIZE, 14 were incorrect by a small amount (i.e. still "8M" flash) and 12 were completely off ("16M", "4M", ...). This patch thus removes the _default_ IMAGE_SIZE and defines IMAGE_SIZE for each device individually. This should indicate to people supporting new devices that this parameter has to be cared about. For the present code, this patch is cosmetical. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt76x8: fix IMAGE_SIZE for all devicesAdrian Schmutzler2019-07-251-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes IMAGE_SIZE for all devices based on the partition size given in DTS: DEVICE *.MK *.DTS VERDICT alfa-network_awusfree1 (8M) 0x7b0000 buffalo_wcr-1166ds - 0x7c0000 wrong cudy_wr1000 (8M) 0x7b0000 d-team_pbr-d1 (16M) 0x0fb0000 duzun_dm06 - 0x7b0000 default glinet_gl-mt300n-v2 16064k 0xfb0000 glinet_vixmini 7872k 0x7b0000 hilink_hlk-7628n (32M) 0x1fb0000 hiwifi_hc5661a (16M) 0xf70000 wrong hiwifi_hc5861b 15808k 0xf70000 mediatek_linkit-smart-7688 (32M) 0x1fb0000 mediatek_mt7628an-eval-board (4M) 0x7b0000 wrong mercury_mac1200r-v2 - 0x7c0000 wrong netgear_r6120 15744k 0xf60000 onion_omega2 (16M) 0xfb0000 onion_omega2p (32M) 0x1fb0000 rakwireless_rak633 - 0x7b0000 default skylab_skw92a 16064k 0xfb0000 tama_w06 15040k 0xeb0000 totolink_lr1200 7872k 0x7b0000 tplink_archer-c20-v4 7808k 0x7a0000 tplink_archer-c50-v3 7808k 0x7a0000 tplink_archer-c50-v4 7616k 0x770000 tplink_tl-mr3020-v3 7808k 0x7a0000 tplink_tl-mr3420-v5 7808k 0x7a0000 tplink_tl-wa801nd-v5 7808k 0x7a0000 tplink_tl-wr802n-v4 7808k 0x7a0000 tplink_tl-wr840n-v4 7808k 0x7a0000 tplink_tl-wr840n-v5 3904k 0x3d0000 tplink_tl-wr841n-v13 7808k 0x7a0000 tplink_tl-wr841n-v14 3968k 0x3e0000 tplink_tl-wr842n-v5 7808k 0x7a0000 tplink_tl-wr902ac-v3 7808k 0x7a0000 unielec_u7628-01-128m-16m 16064k 0xfb0000 vocore_vocore2 (16M) 0xfb0000 vocore_vocore2-lite (16M) 0x7b0000 wrong wavlink_wl-wn570ha1 (8M) 0x7b0000 wavlink_wl-wn575a3 (8M) 0x7b0000 widora_neo-16m (16M) 0x0fb0000 widora_neo-32m (32M) 0x1fb0000 wiznet_wizfi630s (32M) 0x1fb0000 wrtnode_wrtnode2p (16M) 0x1fb0000 wrong wrtnode_wrtnode2r (16M) 0x1fb0000 wrong xiaomi_mir4a-100m 14976k 0xea0000 xiaomi_miwifi-nano (16M) 0xfb0000 zbtlink_zbt-we1226 (8M) 0x7b0000 zyxel_keenetic-extra-ii 14912k 0xe90000 No verdict means that the device is correctly set. Legend: ( ): Value is set via ralink_default_fw_size_xxM [ ]: Value is derived from parent definition - : Value is not set and derived from default definition Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix ralink_default_fw_size_16MAdrian Schmutzler2019-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | In ramips, there are the following predefined values for IMAGE_SIZE ralink_default_fw_size_4M 3866624 3776k 0x3B0000 ralink_default_fw_size_8M 8060928 7872k 0x7B0000 ralink_default_fw_size_16M 16121856 15744k 0xF60000 ralink_default_fw_size_32M 33226752 32448k 0x1FB0000 Out of those, the "16M" value is obviously odd, as it provides more room for the remaining partitions than the tree others. Of the devices in all subtargets, there are actually > 50 that have a firmware partition with 0xFB0000 size, while only 5 (!) have 0xF60000. From the former, many are set to ralink_default_fw_size_16M anyway, although it is wrong at the present point. Consequently, it makes sense to change ralink_default_fw_size_16M to 0xFB0000, and to update IMAGE_SIZE for the 5 devices with 0xF60000. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: Sort all subtarget MakefilesAdrian Schmutzler2019-07-101-156/+155
| | | | | | | | | This patch applies sorting to the definitions as whole blocks. Sorting has been performed fully automatic, line count differences originate from double empty lines removed. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt76x8: Name DTS files based on schemeAdrian Schmutzler2019-07-101-47/+36
| | | | Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips/mt76x8: Synchronize Makefiles with DTS compatibleAdrian Schmutzler2019-07-101-40/+58
| | | | Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: Improve compatible for TP-Link Archer devicesAdrian Schmutzler2019-07-101-6/+9
| | | | | | | | Include "Archer" in compatible as it is part of the device name. Update Makefile device names where necessary to match compatible. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: convert DEVICE_TITLE to new variablesDaniel Golle2019-07-061-47/+101
| | | | | | Also unify naming and add details where they were missing. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for TP-Link TL-WR841n v14Alexander Müller2019-07-021-0/+14
| | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WR841n v14 is a router based on MediaTek MT7628N. - MediaTek MT7628NN - 32 MB of RAM - 4 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet Installation: - copy the 'openwrt-ramips-mt76x8-tl-wr841n-v14-squashfs-tftp-recovery.bin' file to your tftp server root and rename it to 'tp_recovery.bin'. - configure your PC running the TFTP server with the static IP address 192.168.0.66/24 - push the reset button and plug in the power connector. Wait until the orange led starts blinking (~6sec) Signed-off-by: Alexander Müller <donothingloop@gmail.com> Signed-off-by: Alexander Couzens <lynxis@fe80.eu> [small modifications gpio-hog]
* ramips: add support for TOTOLINK LR1200Chuanhong Guo2019-06-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MT7628DAN (MT7628AN with 64MB built-in RAM) - Flash: 8M SPI NOR - Ethernet: 5x 10/100Mbps - WiFi: 2.4G: MT7628 built-in 5G: MT7612E - 1x miniPCIe slot for LTE modem (only USB pins connected) - 1x SIM slot Flash instruction: U-boot has a builtin web recovery page: 1. Hold the reset button while powering it up 2. Connect to the ethernet and set an IP in 192.168.1.0/24 range 3. Open your browser and upload firmware through http://192.168.1.1 Note about the LTE modem: If your router comes with an EC25 module and it doesn't show up as a QMI device, you should do the following to switch it to QMI mode: 1. Install kmod-usb-serial-option and a terminal software (e.g. minicom or screen). All 4 serial ports of the modem should be available now. 2. Open /dev/ttyUSB3 with the terminal software and type this AT command: AT+QCFG="usbnet",0 3. Power-cycle the router. You should now get a QMI device recognized. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add support for Xiaomi Mi Router 4A (100M Edition)Markus Scheck2019-05-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - SoC: MediaTek MT7628AN - Flash: 16MB (Winbond W25Q128JV) - RAM: 64MB - Serial: As marked on PCB, 3V3 logic, baudrate is 115200 - Ethernet: 3x 10/100 Mbps (switched, 2x LAN + WAN) - WIFI0: MT7628AN 2.4GHz 802.11b/g/n - WIFI1: MT7612EN 5GHz 802.11ac - Antennas: 4x external (2 per radio), non-detachable - LEDs: Programmable power-LED (two-colored, yellow/blue) Non-programmable internet-LED (shows WAN-activity) - Buttons: Reset INSTALLATION: 1. Connect to the serial port of the router and power it up. If you get a prompt asking for boot-mode, go to step 3. 2. Unplug the router after > Erasing SPI Flash... > raspi_erase: offs:20000 len:10000 occurs on the serial port. Plug the router back in. 3. At the prompt select option 2 (Load system code then write to Flash via TFTP.) 4. Enter 192.168.1.1 as the device IP and 192.168.1.2 as the Server-IP. 5. Connect your computer to LAN1 and assign it as 192.168.1.2/24. 6. Rename the sysupgrade image to test.bin and serve it via TFTP. 7. Enter test.bin on the serial console and press enter. Signed-off-by: Markus Scheck <markus@mscheck.de> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added mt76 compatible]
* ramips: add CUDY WR1000 supportDavide Fioravanti2019-05-311-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cudy WR1200 is an AC1200 AP with 3-port FE and 2 non-detachable antennas Specifications: MT7628 (580 MHz) 64 MB of RAM (DDR2) 8 MB of FLASH 2T2R 2.4 GHz (MT7628) 2T2R 5 GHz (MT7612E) 3x 10/100 Mbps Ethernet (2 LAN + 1 WAN) 2x external, non-detachable antennas (5dbi) UART header on PCB (57600 8n1) 7x LED, 2x button Known issues: The Power LED is always ON, probably because it is connected directly to power. Flash instructions ------------------ Load the ...-factory.bin image via the stock web interface. Openwrt upgrade instructions ---------------------------- Use the ...-sysupgrade.bin image for future upgrades. Revert to stock FW ------------------ Warning! This tutorial will work only with the following OEM FW: WR1000_EU_92.122.2.4987.201806261618.bin WR1000_US_92.122.2.4987.201806261609.bin If in the future these firmwares will not be available anymore, you have to find the new XOR key. 1) Download the original FW from the Cudy website. (For example WR1000_EU_92.122.2.4987.201806261618.bin) 2) Remove the header. dd if="WR1000_EU_92.122.2.4987.201806261618.bin" of="WR1000_EU_92.122.2.4987.201806261618.bin.mod" skip=8 bs=64 3) XOR the new file with the region key. FOR EU: 7B76741E67594351555042461D625F4545514B1B03050208000603020803000D FOR US: 7B76741E675943555D5442461D625F454555431F03050208000603060007010C You can use OpenWrt's tools/firmware-utils/src/xorimage.c tool for this: xorimage -i WR1000..bin.mod -o stock-firmware.bin -x -p 7B767.. Or, you can use this tool (CHANGE THE XOR KEY ACCORDINGLY!): https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':''%7D,'',false) 4) Check the resulting decrypted image. Check if bytes from 0x20 to 0x3f are: 4C 69 6E 75 78 20 4B 65 72 6E 65 6C 20 49 6D 61 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Alternatively, you can use u-boot's tool dumpimage tool to check if the decryption was successful. It should look like: # dumpimage -l stock-firmware.bin Image Name: Linux Kernel Image Created: Tue Jun 26 10:24:54 2018 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 4406635 Bytes = 4303.35 KiB = 4.20 MiB Load Address: 80000000 Entry Point: 8000c150 5) Flash it via forced firmware upgrade and don't "Keep Settings" CLI: sysupgrade -F -n stock-firmware.bin LuCI: make sure to click on the "Keep settings" checkbox to disable it. You'll need to do this !TWICE! because on the first try, LuCI will refuse the image and reset the "Keep settings" to enable. However a new "Force upgrade" checkbox will appear as well. Make sure to do this very carefully! Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added wifi compatible, spiffed-up the returned to stock instructions]
* ramips: add factory image for WNDR3700v5Jan Hoffmann2019-05-181-16/+0
| | | | | | | | | This uses the existing rules for Sercomm factory images and moves them to the ramips image Makefile, so they can be used in all subtargets. The new factory image for WNDR3700v5 can be flashed using nmrpflash. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* ramips: add support for HILINK HLK-7628NLiu Yu2019-05-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Specification: CPU: MT7628 580 MHz. MIPS 24K RAM: 128 MB Flash: 32 MB WIFI: 802.11n/g/b 20/40 MHz Ethernet: 5 Port ethernet switch UART: 2x Flash instruction: The U-boot is based on Ralink SDK so we can flash the firmware using UART: 1. Configure PC with a static IP address and setup an TFTP server. 2. Put the firmware into the tftp directory. 3. Connect the UART0 line as described on the PCB. 4. Power up the device and press 2, follow the instruction to set device and tftp server IP address and input the firmware file name. U-boot will then load the firmware and write it into the flash. 5. After firmware is started connect via ethernet at 192.168.1.1 Signed-off-by: Liu Yu <f78fk@live.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [removed dupped subject]
* ramips: fix R6120 factory imageDavid Bauer2019-05-111-1/+1
| | | | | | | | | | | The factory firmware omits the JFFS2 end-marker while flashing via web-interface. Add a 64k padding after the marker fixes this problem. When the end-marker is not present, OpenWRT won't save the overlayfs after initial flash. Reported-by: Andreas Ziegler <dev@andreas-ziegler.de> Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for Rakwireless RAK633Eike Feldmann2019-04-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's OEM module with 2*26 pin header, similar to LinkIt Smart 7688 or Vocore2. Specification: CPU: MT7628 580 MHz. MIPS 24K RAM: 64 MB Flash: 8 MB WIFI: 802.11n/g/b 20/40 MHz USB: 1x Port USB 2.0 Ethernet: 5 Port ethernet switch UART: 2x Installation: Use the installed uboot Bootloader. Connect a serial cable to serialport 0. Turn power on. Choose the option: "Load system code then write to Flash via TFTP". Choose the local device IP and the TFTP server IP and the file name of the system image. After if the Bootloader will copy the image to the local flash. Notes: The I2C Kernel module work not correctly. You can send and receive data. But the command i2cdetect doesn’t work. FS#845 Signed-off-by: Eike Feldmann <eike.feldmann@outlook.com> [commit subject and message touches, DTS whitespace fixes, wifi LED rename, pinctrl fixes, network settings fixes, lan/wmac mac addresses, removed i2c kernel modules] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: add support for GL.iNet VIXMINIDavid Bauer2019-04-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: MediaTek MT7628NN RAM: 64M DDR2 (Etron EM68B16CWQD-25H) FLASH: 8M (Winbond W25Q64JVSIQ) LED: Power - WLAN BTN: Reset UART: 115200 8N1 TX and RX are labled on the board as pads next to the SoC Installation via web-interface ------------------------------ 1. Visit the web-interface at 192.168.8.1 Note: The ethernet port is by default WAN. So you need to connect to the router via WiFi 2. Navigate to the Update tab on the left side. 3. Select "Local Update" 4. Upload the OpenWrt sysupgrade image. Note: Make sure you select not to preserve the configuration. Installation via U-Boot ----------------------- 1. Hold down the reset button while powering on the device. Wait for the LED to flash 5 times. 2. Assign yourself a static IPv4 in 192.168.1.0/24 3. Upload the OpenWrt sysupgrade image at 192.168.1.1. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for WIZnet WizFi630S boardTobias Welz2019-03-291-0/+7
| | | | | | | | | | | | | | | | | | | | The WIZnet WizFi630S board is in the miniPCIe form factor. SoC: Mediatek MT7688AN RAM: 128MB Flash: 32Mb WiFi: 2.4GHz Ethernet: 3x 100Mbit USB: 1 (USB 2.0) serial ports: 2 (1x full, 1xlite) Flash and recovery instructions: Use the factory installed u-boot boot loader. It is available on UART2 (115200,8,n,1). Then get the sysupgrade image from a tftp server. Signed-off-by: Tobias Welz <tw@wiznet.eu> [whitespace and device name in makefile fixes] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: add TP-Link TL-WR802N-v4 supportMarcel Jost2019-02-281-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the TP-Link TL-WR802N-v4. https://openwrt.org/toh/tp-link/tl-wr802n Specification: - MT7628N (580 MHz) - 64 MB RAM - 8 MB FLASH - 2T2R 2.4 GHz - 1x 10/100 Mbps Ethernet - 1x LED Flash instruction: The only way to flash the image in TL-WR802N v4 is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.0.225/24 and tftp server. 2. Rename "openwrt-ramips-mt76x8-tplink_tl-wr802n-v4-squashfs-tftp-recovery.bin" to "tp_recovery.bin" and place it in tftp server directory. 3. Connect PC with the LAN port, press the reset button, power up the router and keep button pressed for around 10 seconds, until device starts downloading the file. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Marcel Jost <majo@icutech.ch>
* ramips: use generic board detection for Wavlink WL-WN575A3Thomas Vincent-Cross2019-02-281-8/+9
| | | | | | Bring Wavlink WL-WN575A3 in line with other Wavlink ramips devices. Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
* ramips: add support for Archer C50 v4David Bauer2019-01-261-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link Archer C50 v4. It uses the same hardware as the v3 variant, sharing the same FCC-ID. CPU: MediaTek MT7628 (580MHz) RAM: 64M DDR2 FLASH: 8M SPI WiFi: 2.4GHz 2x2 MT7628 b/g/n integrated WiFI: 5GHz 2x2 MT7612 a/n/ac ETH: 1x WAN 4x LAN LED: Power, WiFi2, WiFi5, LAN, WAN, WPS BTN: WPS/WiFi, RESET UART: Near ETH ports, 115200 8n1, TP-Link pinout Create Factory image -------------------- As all installation methods require a U-Boot to be integrated into the Image (and we do not ship one with the image) we are not able to create an image in the OpenWRT build-process. Download a TP-Link image from their Wesite and a OpenWRT sysupgrade image for the device and build yourself a factory image like following: TP-Link image: tpl.bin OpenWRT sysupgrade image: owrt.bin > dd if=tpl.bin of=boot.bin bs=131584 count=1 > cat owrt.bin >> boot.bin Installing via Web-UI --------------------- Upload the boot.bin via TP-Links firmware upgrade tool in the web-interface. Installing via Recovery ----------------------- Activate Web-Recovery by beginning the upgrade Process with a Firmware-Image from TP-Link. After starting the Firmware Upgrade, wait ~3 seconds (When update status is switching to 0%), then disconnect the power supply from the device. Upgrade flag (which activates Web-Recovery) is written before the OS-image is touched and removed after write is succesfull, so this procedure should be safe. Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1. When active, all LEDs but the WPS LED are off. Remeber to assign yourself a static IP-address as DHCP is not active in this mode. The boot.bin can now be uploaded and flashed using the web-recovery. Installing via TFTP ------------------- Prepare an image like following (Filenames from factory image steps apply here) > dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 > dd if=tpl.bin of=tmp.bin bs=131584 count=1 > dd if=tmp.bin of=boot.bin bs=512 skip=1 > cat boot.bin >> tp_recovery.bin > cat owrt.bin >> tp_recovery.bin Place tp_recovery.bin in root directory of TFTP server and listen on 192.168.0.66/24. Connect router LAN ports with your computer and power up the router while pressing the reset button. The router will download the image via tftp and after ~1 Minute reboot into OpenWRT. U-Boot CLI ---------- U-Boot CLI can be activated by holding down '4' on bootup. Dual U-Boot ----------- This is the first TP-Link MediaTek device to feature a split-uboot design. The first (factory-uboot) provides recovery via TFTP and HTTP, jumping straight into the second (firmware-uboot) if no recovery needs to be performed. The firmware-uboot unpacks and executed the kernel. Web-Recovery ------------ TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 / TL-WR1043v5. Stock-firmware sets a flag in the "romfile" partition before beginning to write and removes it afterwards. If the router boots with this flag set, bootloader will automatically start Web-recovery and listens on 192.168.0.1. This way, the vendor-firmware or an OpenWRT factory image can be written. By doing the same while performing sysupgrade, we can take advantage of the Web-recovery in OpenWRT. It is important to note that Web-Recovery is only based on this flag. It can't detect e.g. a crashing kernel or other means. Once activated it won't boot the OS before a recovery action (either via TFTP or HTTP) is performed. This recovery-mode is indicated by an illuminated WPS-LED on boot. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: adjust Netgear R6120 model nameDavid Bauer2019-01-261-1/+1
| | | | | | | Adjust the model string and device title to match other Netgear routers in the ramips target. Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: mksercommfw: overhaul image creationMathias Kresin2019-01-151-9/+14
| | | | | | | | | | | | | | | | | | | | Move the zip compression into a build recipe. Pad the image using the existing build recipes as well to remove duplicate functionality Change the code to append header and footer in two steps. Allow to use a fixed filename as the netgear update image does. Use a fixed timestamp within the zip archive to make the images reproducible. Due to the changes we are now compatible to the gnu89 c standard used by default on the buildbots and we don't need to force a more recent standard anymore. Beside all changes, the footer still looks wrong in compare to the netgear update image. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: mt76x8: select only the matching mt76 driverChen Minqiang2018-12-061-2/+8
| | | | | | | | | | | | | | | | | | | | | Select the matching mt76 driver for the PCI wireless of the following devices: - HiWiFi HC5861B - Mercury MAC1200R v2.0 - Netgear AC1200 R6120 - Buffalo WCR-1166DS - ZyXEL Keenetic Extra II - Wavlink WL-WN575A3 Because every device has selected the corresponding mt76 driver, we can include kmod-mt7603 instead of the mt76 metapackage, which used for the wireless of the mt7628 and mt7688 WiSoC. Signed-off-by: Chen Minqiang <ptpt52@gmail.com> [select kmod-mt7603 as target default package, add wireless driver for WL-WN575A3] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: disable sdhc for HC5661AChuanhong Guo2018-12-061-1/+0
| | | | | | | | | | | | | Currently OpenWrt doesn't support switching MT7628 into AP mode (which is done by writing some undocumented registers in MTK SDK) Without doing so, enabling SD breaks 4 FE ports and the SD controller doesn't work since SD pins aren't configured correctly. Disable SDHC on HC5661A to recover the 4 FE ports. Signed-off-by: Chuanhong Guo <gch981213@gmail.com> [drop the sdhci node completely] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: unifiy sysupgrade file extensionsMathias Kresin2018-11-291-1/+1
| | | | | | | Use .bin as file extension where possible. The user doesn't need to that sysupgrade images for NAND boards are tarballs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for Wavlink WL-WN570HA1Thomas Vincent-Cross2018-11-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Wavlink WL-WN570HA1, a dual-band PoE wireless router with the following specifications: - CPU: MediaTek MT7688AN 580MHz - Flash: 8MB - RAM: 64MB - Ethernet: 1x 10/100Mbps - 2.4 GHz: 802.11b/g/n SoC, 1T1R, 27 dBm - 5 GHz: 802.11a/n/ac MT7610E, 1T1R, 25 dBm - Antennas: 2x external (1 per radio), detachable - LEDs: 3 programmable + Wi-Fi, WAN/LAN, Power - Buttons: Reset Flashing instructions: Factory U-boot launches a TFTP client if reset button is pressed during power-on. Rename the sysupgrade file and configure TFTP as follows: - Client (WL-WN570HA1) IP: 192.168.10.101 - Server IP: 192.168.10.100 - Filename: firmware.bin Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au> [use generic board detection, add firmware partition compatible] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: improve Skylab SKW92A supportMathias Kresin2018-11-261-2/+2
| | | | | | | | | | | | | | | | Use the generic board detection instead of the target specific one as all recent additions are doing. Add the wireless led according the gpio number from the datasheet. Rename the board part of the leds to match the name used for the compatible string. Finally, do not hijack the wps led for boot status indication longer than necessary. Merge userspace config into existing cases. Include the manufacture Name in the dts model string. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for Skylab SKW92A in EVBRussell Senior2018-11-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, SKW92A_E16, described here: http://www.skylabmodule.com/wp-content/uploads/SkyLab_SKW92A_V1.04_datasheet.pdf Specification: - MediaTek MT7628N/N (580 Mhz) - 64 MB of RAM - 16 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet - 2x u.FL - Power by micro-USB connector at USB1 on EVB - UART via micro-USB connector at USB3 on EVB (57600 8n1) - 5x Ethernet LEDs - 1x WLAN LEDs - 1x WPS LED connected by jumper wire from I2S_CK on J20 to WPS_LED pin hole next to daughter board on EVB - WPS/Reset button (S2 on EVB) - RESET button (S1 on EVB) is *not* connected to RST hole next to daughter board Flash instruction: >From Skylab firmware: 1. Associate with SKYLAP_AP 2. In a browser, load: http://10.10.10.254/ 3. Username/password: admin/admin 4. In web admin interface: Administration / Upload Firmware, browse to sysupgrade image, apply, flash will fail with a message: Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data! 5. Telnet to 10.10.10.254, drops you into a root shell with no credentials 6. # cd /var 7. # mtd_write -r write tmpFW mtd4 Unlocking mtd4 ... Writing from tmpFW to mtd4 ... [e] 8. When flash has completed, you will have booted into your firmware. >From U-boot via TFTP and initramfs: 1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server 2. Connect to serial console at USB3 on EVB 3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "1" 7. At u-boot prompts: Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin 8. Move ethernet to port 0 (WAN) on EVB 9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash with sysupgrade. >From U-boot via TFTP direct flash: 1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server 2. Connect to serial console at USB3 on EVB (57600 8N1) 3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g. 192.168.11.20) 4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC 5. Apply power to EVB 6. Interrupt u-boot with keypress of "2" 7. At u-boot prompts: Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y Input device IP (10.10.10.123) ==:192.168.11.21 Input server IP (10.10.10.3) ==:192.168.11.20 Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin 8. When transfer is complete or as OpenWrt begins booting, move ethernet to port 0 (WAN). Signed-off-by: Russell Senior <russell@personaltelco.net>
* ramips: select kmod-mt76x0e for TP-Link ArcherC20i and wr902ac-v3Daniel Golle2018-11-251-1/+1
| | | | | | | | | Both devices come with a MediaTek MT7610E 5GHz 802.11ac 1T1R radio which wasn't supported at the time the devices were added to OpenWrt. Now that we got it, include kmod-mt76x0e in images for those devices. Reported-by: Arian Sanusi <openwrt@semioptimal.net> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: fix netgear r6120 factory image generationKoen Vandeputte2018-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | as indicated in commit c5bf408ed6bd "(ramips: fix image generation for mt76x8") more rework was needed to fix the other issues. Building on another machine, but using the same arch, showed the application failing again for different reasons. Fix this by completely rewriting the application, fixing following found issues: - buffer overflows, resulting in stack corruption - flaws in memory requirement calculations (too small, too large) - memory leaks - missing bounds checking on string handling - non-reproducable images, by using unitilized memory in checksum calculation - missing error handling, resulting in succes on specific image errors - endianness errors when building on BE machines - various minor build warnings - documentation did not match the code actions (header item locations) - allowing input to be decimal, hex or octal now Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>