aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/image/mt76x8.mk
Commit message (Collapse)AuthorAgeFilesLines
* ramips: add support for JS76x8 series DEV boardsRobinson Wu2020-07-311-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Jotale JS76x8 series development boards. These devices have the following specifications: - SOC: MT7628AN/NN, MT7688AN, MT7628DAN - RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2) - RAM of MT7628DAN: 64 MB (DDR2) - FLASH:8/16/32 MB (SPI NOR) - Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch) - WIFI:1x 2T2R 2.4 GHz Wi-Fi - LEDs:1x system status green LED, 1x wifi green LED, 3x ethernet green LED - Buttons:1x reset button - 1x microSD slot - 4x USB 2.0 port - 1x mini-usb debug UART - 1x DC jack for main power (DC 5V) - 1x TTL/RS232 UART - 1x TTL/RS485 UART - 13x GPIO header - 1x audio codec(wm8960) Installation via OpenWrt: The original firmware is OpenWrt, so both LuCI and sysupgrade can be used. Installation via U-boot web: 1. Power on board with reset button pressed, release it after wifi led start blinking. 2. Setup static IP 192.168.1.123/4 on your PC. 3. Go to 192.168.1.8 in browser and upload "sysupgrade" image. Installation via U-boot tftp: 1. Connect to serial console at the mini usb, which has been connected to UART0 on board (115200 8N1) 2. Setup static IP 192.168.1.123/4 on your PC. 3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123). 3. Connect one of LAN ports on board to your PC. 4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC. 5. Apply power to board. 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 (192.168.1.8) ==:192.168.1.8 Input server IP (192.168.1.123) ==:192.168.1.123 Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin 8. board will download file from tftp server, write it to flash and reboot. Signed-off-by: Robinson Wu <wurobinson@qq.com> [add license to DTS files, fix state_default and reduce to the mimimum, move phy0tpt trigger to DTS, drop ucidef_set_led_timer, fix network ports] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert "ramips: fix flash layout for TP-Link TL-WR841N v14"Adrian Schmutzler2020-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1623defbdbb852a4018329d07673b4b8f66225a8. As already stated in the reverted patch, the OEM firmware will properly recreate the config partition if it is overwritten by OpenWrt. The main reason for adding the partition was the image size restriction imposed by the 0x3d0000 limitation of the TFTP flashing process. Addressing this by shrinking the firmware partition is not a good solution to that problem, though: 1. For a working image, the size of the content has to be smaller than the available space, so empty erase blocks will remain. 2. Conceptually, the restriction is on the image, so it makes sense to implement it in the same way, and not via the partitioning. Users could e.g. do initial flash with TFTP restriction with an older image, and then sysupgrade into a newer one, so TFTP restriction does not apply. 3. The (content) size of the recovery image is enforced to 0x3d0000 by the tplink-v2-image command in combination with TPLINK_FLASHLAYOUT (flash layout in mktplinkfw2.c) anyway. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix flash layout for TP-Link TL-WR841N v14Alexander Müller2020-07-191-1/+1
| | | | | | | | | | | | | | | | The config partition was missing from the flash layout of the device. Although the stock firmware resets a corrupted config partition to the default values, the TFTP flash with an image bigger than 0x3d0000 will truncate the image as the bootloader only copies 0x3d0000 bytes to flash during TFTP flashing. Fixed by adding the config partition and shrinking the firmware partition. Fixes: 3fd97c522bb7 ("ramips: add support for TP-Link TL-WR841n v14") Signed-off-by: Alexander Müller <donothingloop@gmail.com>
* ramips: consolidate Netgear devices for mt7628Adrian Schmutzler2020-07-131-27/+18
| | | | | | | | | | | | | | | This creates a common DTSI and shared image definition for the relatively similar Netgear devices for mt7628 platform. As a side effect, this raises SPI flash frequency for the R6120, as it's expected to work there as well if it works for R6080 and R6020. Based on the data from the other devices, it also seems probable the 5g MAC address for R6120 could be extracted from the caldata, and the mtd-mac-address there could be dropped. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Netgear R6020Tim Thorpe2020-07-101-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Netgear R6020, aka Netgear AC750. The R6020 appears to be the same hardware as the Netgear R6080, aka Netgear AC1000, but it has a slightly different flash layout, and no USB ports. Specification: SoC: MediaTek MT7628 (580 MHz) Flash: 8 MiB RAM: 64 MiB Wireless: 2.4Ghz (builtin) and 5Ghz (MT7612E) LAN speed: 10/100 LAN ports: 4 WAN speed: 10/100 WAN ports: 1 UART (57600 8N1) on PCB MAC addresses based on vendor firmware: LAN *:88 0x4 WAN *:89 WLAN2 *:88 0x4 WLAN5 *:8a 0x8004 The factory partition might have been corrupted beforehand. However, the comparison of vendor firmware and OpenWrt still allowed to retrieve a meaningful assignment that also matches the other similar devices. Installation: Flashing OpenWRT from stock firmware requires nmrpflash. Use an ethernet cable to connect to LAN port 1 of the R6020, and power the R6020 off. From the connected workstation, run `nmrpflash -i eth0 -f openwrt-ramips-mt76x8-netgear_r6020-squashfs-factory.img`, replacing eth0 with the appropriate interface (can be identified by running `nmrpflash -L`). Then power on the R6020. After flashing has finished, power cycle the R6020, and it will boot into OpenWRT. Once OpenWRT has been installed, subsequent flashes can use the web interface and sysupgrade files. Signed-off-by: Tim Thorpe <timfthorpe@gmail.com> [slightly extend commit message, fix whitespaces in DTS, align From: with Signed-off-by] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for TP-Link RE220 v2Rowan Border2020-06-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE220 v2 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN. This port of OpenWRT leverages work done by Andreas Böhler <dev@aboehler.at> for the TP-Link RE200 v2 as both devices share the same SoC, flash layout and GPIO pinout. 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. Web Interface Installation 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. Signed-off-by: Rowan Border <rowanjborder@gmail.com>
* package: add ravpower-mcu packageDavid Bauer2020-06-291-1/+2
| | | | | | | This package allows to read battery status information and control the power state of the RAVPower RP-WD009 power management IC. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for RAVPower RP-WD009David Bauer2020-06-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RAVPower RP-WD009 is a batter-powered pocket sized router with SD card lot and USB port. Hardware -------- CPU: MediaTek MT7628AN RAM: 64M DDR2 FLASH: 16M GigaDevices SPI-NOR WLAN: MediaTek MT7628AN 2T2R b/g/n MediaTek MT7610E 1T1R n/ac ETH: 1x FastEthernet SD: SD Card slot USB: USB 2.0 Custom PMIC on the I2C bus (address 0x0a). Installation ------------ 1. Press and hold down the reset button. 2. Power up the Device. Keep pressing the reset button for 10 more seconds until the Globe LED lights up. 3. Attach your Computer to the Ethernet port. Assign yourself the address 10.10.10.1/24. 4. Access the recovery page at 10.10.10.128 and upload the OpenWrt factory image. 5. The flashing will take around 1 minute. The device will reboot automatically into OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for WAVLINK WL-WN577A2Lars Wessels2020-06-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Wavlink WL-WN577A2 (black case) dual-band wall-plug wireless router. In Germany this device is sold under the brand name Maginon WL-755 (white case): Device specifications: - CPU: MediaTek MT7628AN (580MHz) - Flash: 8MB - RAM: 64MB - Bootloader: U-Boot - Ethernet: 2x 10/100 Mbps (Ralink RT3050) - 2.4 GHz: 802.11b/g/n SoC - 5 GHz: 802.11a/n/ac MT7610E - Antennas: internal - 4 green LEDs: 1 programmable (WPS) + LAN, WAN, POWER - Buttons: Reset, WPS - Small sliding power switch Flashing instructions (U-boot): - Configure a TFTP server on your PC/Laptop and set its IP to 192.168.10.100 - Rename the OpenWrt image to firmware.bin and place it in the root folder of the TFTP server - Power off (using the small sliding power switch on the left side) the device and connect an ethernet cable from its LAN or WAN port to your PC/Laptop - Press the WPS button (and keep it pressed) - Power on the device (using the small power switch) - After a few seconds, when the WAN/LAN LED stops blinking very fast, release the WPS button - Flashing OpenWrt takes less than a minute, system will reboot automatically - After reboot the WPS LED will indicate the current OpenWrt running status Signed-off-by: Lars Wessels <software@bytebox.org> [removed unused labels - fix whitespace errors - wrap commit message] Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for Netgear R6080Alex Lewontin2020-06-271-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Netgear R6080, aka Netgear AC1000. The R6080 has almost the same hardware as the Netgear R6120, aka Netgear AC1200, but it lacks the USB port, has only 8 MiB flash and uses a different SERCOMM_HWID. Specification: SoC: MediaTek MT7628 (580 MHz) Flash: 8 MiB RAM: 64 MiB Wireless: 2.4Ghz (builtin) and 5Ghz (MT7612E) LAN speed: 10/100 LAN ports: 4 WAN speed: 10/100 WAN ports: 1 UART (57600 8N1) on PCB Installation: Flashing OpenWRT from stock firmware requires nmrpflash. Use an ethernet cable to connect to LAN port 1 of the R6080, and power the R6080 off. From the connected workstation, run `nmrpflash -i eth0 -f openwrt-ramips-mt76x8-netgear_r6080-squashfs-factory.img`, replacing eth0 with the appropriate interface (can be identified by running `nmrpflash -L`). Then power on the R6080. After flashing has finished, power cycle the R6080, and it will boot into OpenWRT. Once OpenWRT has been installed, subsequent flashes can use the web interface and sysupgrade files. Signed-off-by: Alex Lewontin <alex.c.lewontin@gmail.com> [rebase and adjust for 5.4] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: clean up Netgear R6120 code formattingAlex Lewontin2020-06-231-1/+1
| | | | | | | This commit performs minor janitorial work to clean up some code formatting for the Netgear R6120. Signed-off-by: Alex Lewontin <alex.c.lewontin@gmail.com>
* ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1Ernst Spielmann2020-05-241-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Specifications: - MT7628NN @ 580 MHz - 32 MB RAM - 8 MB Flash - 5x 10/100 Mbps Ethernet (built-in switch) - 2.4 GHz WLAN - 2x external, non-detachable antennas (1x for RT-N10P V3) Flash instructions: 1. Set PC network interface to 192.168.1.75/24. 2. Connect PC to the router via LAN. 3. Turn router off, press and hold reset button, then turn it on. 4. Keep the button pressed till power led starts to blink. 5. Upload the firmware file via TFTP. (Any filename is accepted.) 6. Wait until the router reboots. Signed-off-by: Ernst Spielmann <endspiel@disroot.org> [fix node/property name for state_default] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: tidy up image subtarget MakefilesSungbo Eo2020-05-081-4/+2
| | | | | | | | | - use tab indent in image build recipes for consistency - harmonize line wrapping Signed-off-by: Sungbo Eo <mans0n@gorani.run> [use different line wrapping for one recipe] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix SUPPORTED_DEVICES for Mercury MAC1200R v2Sungbo Eo2020-04-261-1/+0
| | | | | | | | Currently SUPPORTED_DEVICES only contains the old device string. Fix it by removing the first assignment. Fixes: c2334ad60dc8 ("ramips/mt76x8: Synchronize Makefiles with DTS compatible") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: disable images for 4M devicesChuanhong Guo2020-04-121-0/+2
| | | | | | | | | default initramfs for 5.4 kernel is larger than 4M, causing build error for oversized initramfs image. disable these images because we have no mechanism for ignoring initramfs errors and the squashfs image will be larger than initramfs anyway. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* treewide: omit IMAGE_SIZE argument from check-sizeSungbo Eo2020-03-211-3/+3
| | | | | | | | | Now that check-size uses IMAGE_SIZE by default, we can skip the argument from image recipes to reduce redundancy. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for TOTOLINK A3Sungbo Eo2020-03-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | TOTOLINK A3 is a clone of ipTIME A3. The only difference is the model name. Specifications: - SoC: MT7628AN - RAM: DDR2 64MB - Flash: SPI NOR 8MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7612EN - Ethernet: 3x 10/100Mbps - Switch: SoC internal 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. Tested on device by JasonHCH <hsuan670629@gmail.com> Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* 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]