aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add support for gl-e750Luochongjun2020-07-294-1/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gl-e750 is a portable travel router that gives you safe access to the internet while traveling. Specifications: - SoC: Qualcomm Atheros AR9531 (650MHz) - RAM: 128 MB DDR2 - Flash: 16 MB SPI NOR (W25Q128FVSG) + 128 MB SPI NAND (GD5F1GQ4UFYIG) - Ethernet: 10/100: 1xLAN - Wireless: QCA9531 2.4GHz (bgn) + QCA9887 5GHz (ac) - USB: 1x USB 2.0 port - Switch: 1x switch - Button: 1x reset button - OLED Screen: 128*64 px MAC addresses based on vendor firmware: LAN *:a0 art 0x0 2.4GHz *:a1 art 0x1002 5GHz *:a2 art calculated from art 0x0 + 2 Flash firmware: Since openwrt's kernel already exceeds 2MB, upgrading from the official version of GL-inet (v3.100) using the sysupgrade command will break the kernel image. Users who are using version 3.100 can only upgrade via uboot. The official guidance for GL-inet is as follows: https://docs.gl-inet.com/en/3/troubleshooting/debrick/ In the future, GL-inet will modify the firmware to support the sysupgrade command, so users will be able to upgrade directly with the sysupgrade command in future releases. OLED screen control: OLED controller is connected to QCA9531 through serial port, and can send instructions to OLED controller directly through serial port. Refer to the links below for a list of supported instructions: https://github.com/gl-inet/GL-E750-MCU-instruction Signed-off-by: Luochongjun <luochongjun@gl-inet.com> [fix alphabetic sorting in 10-fix-wifi-mac, drop check-kernel-size] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: disable default build for devices with 4M flashAdrian Schmutzler2020-07-294-1/+13
| | | | | | | | | | | It has been decided that the 19.07 release will be last one to include 4/32 devices. This disables default build for all devices with 4M flash on lantiq. Note that this will affect _all_ devices for amazonse ("ase") and xway_legacy subtarget. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: disable default build for devices with 4M flashAdrian Schmutzler2020-07-291-0/+4
| | | | | | | | | | | | | | | It has been decided that the 19.07 release will be last one to include 4/32 devices. This disables default build for the remaining devices with 4M flash on ath79. Note that this will leave exactly one enabled device for ath79/tiny subtarget, PQI Air-Pen, which was moved there due to kernel size restrictions. All 4M TP-Link devices have already been disabled in 8819faff47ff ("ath79: do not build TP-Link tiny images by default") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: reorganize common image definitions for NetgearAdrian Schmutzler2020-07-293-26/+21
| | | | | | | | | | | | | Netgear currently has a special definition for tiny devices, which is only used by two devices. Despite, it sets ups the IMAGE/default definition individually for all devices, although there is actually only one exception. This merges the common parts into a single netgear_generic definition (in contrast to netgear_ath79_nand), and adjusts the individual definitions accordingly. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* rockchip: enable rockchip-thermalDavid Bauer2020-07-291-1/+1
| | | | | | | | | Enable the rockchip-thermal driver to allow reading the temperature of the SoC. Tested on NanoPi R2S Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: distribute net interruptsDavid Bauer2020-07-281-0/+30
| | | | | | | | | | | | This adds a hotplug script for distributing interrupts of eth0 and eth1 across different cores. Otherwise the forwarding performance between eth0 and eth1 is severely affected. The existing SMP distribution mechanic in OpenWrt can't be used here, as the actual device IRQ has to be moved to dedicated cores. In case of eth1, this is in fact the USB3 controller. Signed-off-by: David Bauer <mail@david-bauer.net>
* arm64: dts: rockchip: Add txpbl node for RK3399/RK3328David Bauer2020-07-281-0/+54
| | | | | | | | | | | | | | | | | | | | Some rockchip SoCs like the RK3399 and RK3328 exhibit an issue where tx checksumming does not work with packets larger than 1498. The default Programmable Buffer Length for TX in these GMAC's is not suitable for MTUs higher than 1498. The workaround is to disable TX offloading with 'ethtool -K eth0 tx off rx off' causing performance impacts as it disables hardware checksumming. This patch sets snps,txpbl to 0x4 which is a safe number tested ok for the most popular MTU value of 1500. For reference, see https://lkml.org/lkml/2019/4/1/1382. Signed-off-by: Carlos de Paula <me@carlosedp.com> Link: https://lore.kernel.org/r/20200218221040.10955-1-me@carlosedp.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: enable LAN LED configurationDavid Bauer2020-07-283-0/+156
| | | | | | This enables the LEDs on the LAN interfaces. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: add NanoPi R2S supportDavid Bauer2020-07-289-6/+609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- RockChip RK3328 ARM64 (4 cores) 1GB DDR4 RAM 2x 1000 Base-T 3 LEDs (LAN / WAN / SYS) 1 Button (Reset) Micro-SD slot USB 2.0 Port Installation ------------ Uncompress the OpenWrt sysupgrade and write it to a micro SD card using dd. MAC-address ----------- The vendor code supports reading a MAC address from an EEPROM connected via i2c0 of the SoC. The EEPROM (address 0x51) should contain the MAC address in binary at offset 0xfa. However, my two units didn't come with such an EEPROM soldered on. The EEPROM should be placed between the SoC and the GPIO pins on the board. (U10) Generating rendom MAC addresses works around this issue. Otherwise, all boards running the same image have identical MAC addresses. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: allow for multiple boot-scriptsDavid Bauer2020-07-281-1/+1
| | | | | | | | Add support for select a bootscript depending on the device built. This is necessary, as the FriendlyARM NanoPi R2S needs a different bootcmd in order to produce output on the debug UART. Signed-off-by: David Bauer <mail@david-bauer.net>
* arc770: update kernel version to 5.4Adrian Schmutzler2020-07-273-1/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update config with make kernel_oldconfig and copy/refresh patch. Add CONFIG_WATCHDOG_CORE=y to fix the following error as done for several targets already: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko Directly switch to kernel 5.4. This patch is compile-tested only. However, the target is essentially pure upstream with a single patch, and it has been reported that kernel 5.4 has been run on this target successfully already. Note that in my local tests building with all packages/kmods failed since openvswitch selects libunwind, which doesn't build for arc with the following error: checking if we should build libunwind-ptrace... yes checking if we should build libunwind-setjmp... yes checking for build architecture... x86_64 checking for host architecture... arc checking for target architecture... arc checking for target operating system... linux-gnu checking for ELF helper width... configure: error: Unknown ELF target: arc make[3]: *** [Makefile:65: /data/openwrt/build_dir/target-arc_arc700_uClibc/ libunwind-1.3.1/.configured_68b329da9893e34099c7d8ad5cb9c940] Error 1 Deselecting all kmod-openvswitch* packages will have the build run through. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: fix cosmetic issues with partition offsets and sizesAdrian Schmutzler2020-07-276-8/+8
| | | | | | | This fixes a few cosmetic issues with partition offset and size that are inconsistent probably due to copy/pasting. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for D-Link DIR-1960 A1Josh Bendavid2020-07-275-0/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for D-Link DIR-1960 A1. Given the similarity with the DIR-1760/2660 A1, this patch also introduces a common DTSI which can be shared with these devices, with support to be added in future commits. Specifications: * Board: AP-MTKH7-0002 * SoC: MediaTek MT7621AT * RAM: 256 MB (DDR3) * Flash: 128 MB (NAND) * WiFi: MediaTek MT7615N (x2) * Switch: 1 WAN, 4 LAN (Gigabit) * Ports: 1 USB 3.0 * Buttons: Reset, WPS * LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white), WiFi 5G (white), USB 3.0 (white) Notes: * WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips Installation: * D-Link Recovery GUI: power down the router, press and hold the reset button, then re-plug it. Keep the reset button pressed until the power LED starts flashing orange, manually assign a static IP address under the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1 * Some modern browsers may have problems flashing via the Recovery GUI, if that occurs consider uploading the firmware through cURL: curl -v -i -F "firmware=@file.bin" 192.168.0.1 MAC addresses: lan factory 0xe000 *:EB (label) wan factory 0xe006 *:EE 2.4 factory 0xe000 +1 *:EC 5.0 factory 0xe000 +2 *:ED Seems like vendor didn't replace the dummy entrys in the calibration data. Signed-off-by: Josh Bendavid <joshbendavid@gmail.com> [fix whitespace issues, create patch to merge DIR-1960 first, move special WiFi MAC settings to DTS, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* imx6: use device-tree compatible for board nameAdrian Schmutzler2020-07-275-134/+96
| | | | | | | | | | | | | | In imx6, we currently use the model from DTS to derive a board name manually in /lib/imx6.sh. However, if we have individual DTS files anyway, we can exploit generic 02_sysinfo and use the compatible as board name directly. While at it, remove the wildcards from /lib/upgrade/platform.sh as these might make code shorter, but are quite unpleasant when grepping for a specific device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* layerscape: harmonize device stringsAdrian Schmutzler2020-07-272-60/+48
| | | | | | | | | | | | | | | | | | | | OpenWrt lately has harmonized device (definition) names to the pattern vendor_model to improve overall consistency, also with other values like the DTS compatible. This patch applies that scheme to the layerscape target. Since this (intentionally) creates a bigger overlap between DTS names, compatible, and device definition name, it also moves DEVICE_DTS and SUPPORTED_DEVICES definitions to the Device/Default blocks. Apart from that, it also modifies several packages to use consistent naming in order to keep the $(1) file references working. While at it, remove one layer of complexity for the setup in tfa-layerscape package. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: only disable WRT1900AC v1 and WRT32X for buildbotsAdrian Schmutzler2020-07-271-2/+4
| | | | | | | Use "DEFAULT := n" to only disable devices for buildbots, but keep them available for manual build. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: disable WRT1900AC v1 and WRT32X images for nowJo-Philipp Wich2020-07-261-2/+2
| | | | | | | | | The kernel appears to have grown too large, breaking the build for the entire target. Disable the affected images for now until the situation is dealt with. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* mediatek: mt7623: add full system image for UniElec U7623David Woodhouse2020-07-263-4/+48
| | | | | | | | | | | | | This adds a full eMMC image including U-Boot, which means that the kernel can inherit the true RAM size detected by the preloader. As implemented in previous commits, sysupgrade to this image from the legacy layout (and via that, from the vendor-installed image) is supported. Rename the legacy image for the 512MiB board, for clarity. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: rename gen_banana_pi_img.sh → gen_mtk_mmc_img.shDavid Woodhouse2020-07-263-11/+11
| | | | | | | As I buy more hardware and continue to work on consolidation, This will apply to a lot of MediaTek platforms; rename it accordingly. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: make gen_banana_pi_img.sh more genericDavid Woodhouse2020-07-262-15/+24
| | | | | | | | | | | This actually covers fairly much all the MediaTek platforms; they only have different images because they don't include the preloader and U-Boot, and rely on preinstalled stuff from the vendor. So this script can slowly take over the world as we complete the support for various other platforms, starting with UniElec U7623… Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: add scatter file for unbricking with SP Flash ToolDavid Woodhouse2020-07-262-0/+88
| | | | | | | | | | | | | | | | | | | | Many MediaTek SoCs can be unbricked by using the SP Flash Tool from http://spflashtool.com/ along with a "scatter list" file, which is just a text file listing which image gets loaded where. We use a trivial partition layout for the tool, with the whole eMMC image as a single "partition", which means users just need to unzip the sysupgrade image. Doing the real partition layout would be overly complex and would require the individual partitions to be shipped as artifacts — or users to extract them out of the sysupgrade image just for the tool to put them adjacent to each other on the eMMC anyway. The tool does require a copy of the preloader in order to operate, even when it isn't flashing the preloader to the eMMC boot region. So drop that into the bin directory as an artifact too. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: build lzma fit for bpi-r2Chuanhong Guo2020-07-261-3/+0
| | | | | | | | | bpi-r2 images are shipped with mainline u-boot which can extract lzma with no problem. remove custom kernel recipe to build lzma fit image instead of uncompressed fit with zboot. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* mediatek: mt7623: prepare for full sysupgrade support on UniElec U7623David Woodhouse2020-07-262-88/+117
| | | | | | | | | | | | | | | | | An upcoming commit will add a full system image for U7623 which will contain the MBR partition table and U-Boot too. That contrasts with the current image which only owns the eMMC from sector 0xa00 onwards, and must start with a legacy uImage. Prepare for sysupgrade to the new images, and cope with the fact that the recovery partition will be /dev/mmcblk0p2 instead of /dev/mmcblk0p1 after the upgrade. This commit could potentially be backported to 19.07 to allow for direct sysupgrade to the new image layout. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: increase flexibility of finding recovery partitionDavid Woodhouse2020-07-261-8/+14
| | | | | | | I'm about to change the layout of the images for UniElec U7623 so make it find the recovery partition based on which the root partition is too. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: fix Ethernet setup for TRGMII modeDavid Woodhouse2020-07-261-0/+62
| | | | | | This fixes the TX performance issues seen on MT7623 boards. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: fix Ethernet support on UniElec U7623David Woodhouse2020-07-261-10/+4
| | | | | | | The definition of the switch in the device-tree was not correct. Make it look more like the Banana Pi R2, which works. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: fix sysupgrade from vendor OpenWrt on UniElec U7623David Woodhouse2020-07-263-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This board ships with an ancient 14.07-based OpenWrt using block2mtd, and the MBR partition table contains nonsense. It is possible to sysupgrade to an upstream OpenWrt image, but the legacy layout of the OpenWrt images start at 0xA00 in the eMMC, with a raw uImage. The legacy OpenWrt image doesn't "own" the beginning of the device, including the MBR and U-Boot. This means that when a user upgrades to upstream OpenWrt, it doesn't boot because it can't find the right partitions. So hard-code them on the kernel's command line using CONFIG_CMDLINE_PARTITION (for block). Additionally, the vendor firmware doesn't cope with images larger than about 36MiB, because it only overwrites the contents of its "firmware" MTD partition. The current layout of the legacy image wastes a lot of space, allowing over 32MiB for the kernel and another 10MiB for the FAT recovery file system which is only created as 3MiB. So pull those in to allow 4¾ MiB for the kernel, 3MiB for recovery, and then we have over 20MiB for the root file system. This doesn't affect the new images which ship with a full eMMC image including a different MBR layout and a partition for U-Boot, because our modern U-Boot can actually pass the command line to the kernel, and the built-in one doesn't get used anyway. Tested by upgrading from vendor OpenWrt to the current legacy image, from legacy to itself, to the previous legacy layout, and then to finally the full-system image. This commit probably wants backporting to 19.07, which also doesn't install over the vendor OpenWrt and doesn't even have a full-system installation option. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: mt7623: add explicit console= to U7623 kernelDavid Woodhouse2020-07-261-1/+1
| | | | | | | The bootloader for legacy builds can't set it, so we end up unable to log in on the serial port. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* ath79: add support for Compex WPJ563Leon M. George2020-07-263-2/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR 2 Gigabit ethernet ports 3×3 2.4GHz on-board radio miniPCIe slot that supports 5GHz radio PoE 24V passive or 36V-56V passive with optional IEEE 802.3af/at USB 3.0 header Installation: To install, either start tftp in bin/targets/ath79/generic/ and use the u-boot prompt over UART: tftpboot 0x80500000 openwrt-ath79-generic-compex_wpj563-squashfs-sysupgrade.bin erase 0x9f680000 +1 erase 0x9f030000 +$filesize cp.b $fileaddr 0x9f030000 $filesize boot The cpximg file can be used with sysupgrade in the stock firmware (add SSH key in luci for root access) or with the built-in cpximg loader. The cpximg loader can be started either by holding the reset button during power up or by entering the u-boot prompt and entering 'cpximg'. Once it's running, a TFTP-server under 192.168.1.1 will accept the image appropriate for the board revision that is etched on the board. For example, if the board is labelled '7A02': tftp -v -m binary 192.168.1.1 -c put openwrt-ath79-generic-compex_wpj563-squashfs-cpximg-7a02.bin MAC addresses: <&uboot 0x2e010> *:71 (label) <&uboot 0x2e018> *:72 <&uboot 0x2e020> *:73 <&uboot 0x2e028> *:74 Only the first two are used (for ethernet), the WiFi modules have separate (valid) addresses. The latter two addresses are not used. Signed-off-by: Leon M. George <leon@georgemail.eu>
* lantiq: xrx200: disable unused switch and phyAleksander Jan Bajkowski2020-07-265-7/+6
| | | | | | | | | | | | | | | | | | | | xrx200 has a 6 port built-in switch with 2 integrated PHY. None of the xrx200 router uses external switch. Most boards use integrated or Lantiq (Intel) PEF7071 PHY. Only some FritzBox routers use AT803X PHY and VGV7510KW22 use ICPLUS PHY. Other unused PHY drivers may be removed. This patch enables these symbols only on xway and xway_legacy subtargets: - CONFIG_PSB6970_PHY (Driver for PHY in PSB6970 - 7 port FE Switch) - CONFIG_RTL8366RB_PHY (Driver for PHY in RTL8366 - 6 port GE Switch) - CONFIG_RTL8366_SMI (Driver for RTL8366 - 6 port GE Switch) Reduces image size by 7.3kB. Continuation of 58a6f06978f8 (PR: #2983) Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> [fix sorting in config files, small fix in commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mediatek: remove condition in Device/DefaultAdrian Schmutzler2020-07-252-16/+16
| | | | | | | | | | | | | | | | The current condition with part of the variables set dependent on the subtarget in Device/Default isn't really nice to read and also defeats the purpose of having a default node. This removes the special settings for mt7623 and moves them to the individual devices, which is not much of a problem as there are actually just two of them and they partly use different settings anyway. While at it, slightly adjust the order of variables and wrap some long lines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: mikrotik: use base mac on lan for RBwAPG-5HacT2HnDBjoern Dobe2020-07-251-0/+4
| | | | | | | | | The Mikrotik RBwAPG-5HacT2HnD has only a single ethernet interface (lan), and the vendor uses the base (label) MAC address for it. Signed-off-by: Bjoern Dobe <bjoern@dobecom.de> [commit title/message improvement] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: rename POWER_ON_STRIP registerSungbo Eo2020-07-2516-25/+25
| | | | | | | | | | AR8327 datasheet[1] calls the register at address 0x0010 "Power-on Strapping Register". As it has nothing to do with "strip", let's rename it to "POWER_ON_STRAP" to make it easier to grasp. [1] https://lafibre.info/images/doc/201106_spec_AR8327.pdf Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: remove non-existant poe_passthrough for RouterBOARD 750Gr3John Thomson2020-07-251-3/+0
| | | | | | | | | | | | | | | | This 750gr3 GPIO17 switch was added based on vendor source, but only the 760iGS (which shares the rbsysfs board identifier) device has the physical wiring. The 750Gr3 actually does not support PoE out. Apart from that, note that the gpio base (480) would have required this GPIO to be referenced as 497 if it was kept. Fixes: 6ba58b7b020c ("ramips: cleanup the RB750Gr3 support") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Winstars WS-WN583A6Davide Fioravanti2020-07-253-1/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Winstars WS-WN583A6 is a wireless repeater with 2 gigabit ethernet ports. Even if mine is branded as "Gemeita AC2100", the sticker on the back says WS-WN583A6. So I will refer to it as Winstars WS-WN583A6. Probably the real product name is the Wavlink WL-WN583A6 because of the many references to Wavlink in the OEM firmware and bootlog. Hardware -------- SoC: Mediatek MT7621AT (880 MHz, 2 cores 4 threads) RAM: 128MB FLASH: 8MB NOR (GigaDevice GD25Q64B) ETH: 2x 10/100/1000 Mbps Ethernet (MT7530) WIFI: - 2.4GHz: 1x MT7603E (2x2:2) - 5GHz: 1x MT7615E (4x4:4) - 6 internal antennas BTN: - 1x Reset button - 1x WPS button - 1x ON/OFF switch (working but unmodifiable) - 1x Auto/Schedule switch (working but unmodifiable. Read Note #3) LEDS: - 1x White led - 1x Red led - 1x Amber led - 1x Blue led - 2x Blue leds (lan and wan port status: working but unmodifiable) UART: - 57600-8-N-1 Everything works correctly. Currently there is no firmware update available. Because of this, in order to restore the OEM firmware, you must firstly dump the OEM firmware from your router before you flash the OpenWrt image. Backup the OEM Firmware ----------------------- The following steps are to be intended for users having little to none experience in linux. Obviously there are many ways to backup the OEM firmware, but probably this is the easiest way for this router. Procedure tested on M83A6.V5030.191210 firmware version. 1) Go to http://192.168.10.1/webcmd.shtml 2) Type the following line in the "Command" input box: mkdir /etc_ro/lighttpd/www/dev; for i in /dev/mtd*ro; do dd if=${i} of=/etc_ro/lighttpd/www${i}; done 3) Click "Apply" 4) After few seconds, in the textarea should appear this output: 16384+0 records in 16384+0 records out 8388608 bytes (8.0MB) copied, 4.038820 seconds, 2.0MB/s 384+0 records in 384+0 records out 196608 bytes (192.0KB) copied, 0.095180 seconds, 2.0MB/s 128+0 records in 128+0 records out 65536 bytes (64.0KB) copied, 0.032020 seconds, 2.0MB/s 128+0 records in 128+0 records out 65536 bytes (64.0KB) copied, 0.031760 seconds, 2.0MB/s 15744+0 records in 15744+0 records out 8060928 bytes (7.7MB) copied, 3.885280 seconds, 2.0MB/s dd: can't open '/dev/mtd5ro': No such device dd: can't open '/dev/mtd6ro': No such device dd: can't open '/dev/mtd7ro': No such device Excluding the "X.XXXXXX seconds" part, you should get the same exact output. If your output doesn't match mine, stop reading and ask for help in the forum. 5) Open the following links to download the partitions of the OEM FW: http://192.168.10.1/dev/mtd0ro http://192.168.10.1/dev/mtd1ro http://192.168.10.1/dev/mtd2ro http://192.168.10.1/dev/mtd3ro http://192.168.10.1/dev/mtd4ro If one (or more) of these files weight 0 byte, stop reading and ask for help in the forum. 6) Store these downloaded files in a safe place. 7) Reboot your router to remove any temporary file from your router. Installation ------------ Flash the initramfs image in the OEM firmware interface. When openwrt boots, flash the sysupgrade image otherwise you won't be able to keep configuration between reboots. Restore OEM Firmware -------------------- Flash the "mtd4ro" file you previously backed-up directly from LUCI. Warning: Remember to not keep settings! Warning2: Remember to force the flash. Notes ----- 1) The "System Command" page allows to run every command as root. For example you can use "dd" and "nc" to backup the OEM firmware. PC (SERVER): nc -l 5555 > ./mtdXro ROUTER (CLIENT): dd if=/dev/mtdXro | nc PC_IP_ADDRESS 5555 2) The OEM web interface accepts only images containing the string "WN583A6" in the filename. Currently the OEM interface accepts only the initramfs image probably because it checks if the ih_size in the image header is equal to the whole image size (instead of the kernel size) Read more here: https://forum.openwrt.org/t/support-for-strong-1200/22768/19 3) The white led (namely "Smart Night Light") can be controller by the user only if the side switch is set to "Schedule" otherwise it will be activated by the light condition (there is a photodiode on the top side of the router) 4) Router mac addresses: LAN XX:XX:XX:XX:XX:8F WAN XX:XX:XX:XX:XX:90 WIFI 2G XX:XX:XX:XX:XX:91 WIFI 5G XX:XX:XX:XX:XX:92 LABEL XX:XX:XX:XX:XX:91 Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> [remove chosen node, fix whitespace] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* oxnas: use vendor_model scheme for ox810seAdrian Schmutzler2020-07-251-3/+4
| | | | | | | | | | | | Most newer targets have been converted to consistently use vendor_model scheme for device definitions/image names, ox820 is using it as well, so let's just convert ox810se for consistency. While at it, use generic setup for DEVICE_DTS and add SUPPORTED_DEVICES. The latter have been introduced for ox820 already in cf7896117b3e ("oxnas: enable image metadata by setting SUPPORTED_DEVICES") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: Fix warning in SPI driverHauke Mehrtens2020-07-231-0/+35
| | | | | | | This fixes a warning in the SPI driver at bootup. This warning is seen in kernel 5.4 on lantiq deives. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: support reset button for WPJ419Phi Nguyen2020-07-231-0/+10
| | | | | | Compex WPJ419 has a reset button on a GPIO pin. Signed-off-by: Phi Nguyen <phind.uet@gmail.com>
* Revert "ramips: fix flash layout for TP-Link TL-WR841N v14"Adrian Schmutzler2020-07-222-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* arc770: use generic 02_sysinfoAdrian Schmutzler2020-07-223-47/+1
| | | | | | | | | | | | | | | | | Currently arc770 sets a board name from compatible for no apparent reason. Just use the compatible directly instead. This theoretically removes a board name "generic" when no compatible was present, however, there is no case where this "generic" board name was actually used. This also fixes an issue where snps,axs101 would not have been properly detected anyway, as its case was not set up syntactically correct. Fixes: 576621f1e353 ("linux: add support of Synopsys ARC770-based boards") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* archs38: use generic 02_sysinfoAdrian Schmutzler2020-07-223-51/+2
| | | | | | | | | | | | | | | | | Currently archs38 sets a board name from compatible for no apparent reason. Just use the compatible directly instead. This theoretically removes a board name "generic" when no compatible was present, however, there is no case where this "generic" board name was actually used. This also fixes an issue where snps,axs103 would not have been properly detected anyway, as its case was not set up syntactically correct. Fixes: 73015c4cb378 ("linux: add support of Synopsys ARCHS38-based boards") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: switch MT7620 subtarget to 5.4David Bauer2020-07-221-0/+2
| | | | | | | | | MT7620 seems to work fine with kernel 5.4. Set the default kernel version to 5.4 to bring this to a broader audience. Tested on Archer C2 v1 / Archer C20i Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: increase SPI frequency for MT7620 ArcherDavid Bauer2020-07-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase the SPI frequency for the MT7620 based TP-Link Archer series to 30MHz. TP-Link uses different SPI flash chips for the same board revision, so be conservative to not break boards with a different chip. 30MHz should be well supported by all chips. Tested on Archer C2 v1 (GD25Q64B) and Archer C20i (W25Q64FV). Archer C20i (before) ==================== root@OpenWrt:~# time dd if=/dev/mtd1 of=/tmp/test.bin bs=64k 122+0 records in 122+0 records out real 0m 15.30s user 0m 0.00s sys 0m 15.29s Archer C20i (after) =================== root@OpenWrt:~# time dd if=/dev/mtd1 of=/tmp/test.bin bs=64k 122+0 records in 122+0 records out real 0m 5.99s user 0m 0.00s sys 0m 5.98s Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: re-enable image generation for GL-AR750SDavid Bauer2020-07-224-33/+23
| | | | | | | | | | | | | | | | The bootloader only writes the first 2MB of the image to the NOR flash when installing the NAND factory image. The bootloader is capable of booting larger kernels as it boots from the memory mapped SPI flash. Disable the NAND factory image. The NAND can be bootstrapped by writing the NAND initramfs image using the NOR upgrade method in the bootloader web-recovery and sysupgrading from there. The NOR variant is not affected. Also refactor the partition definitions in the DTS to make them less annoying to read. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: correctly define WiFi switch for TL-WR841ND v8Adrian Schmutzler2020-07-214-34/+51
| | | | | | | | | | | | | | | | | | | | | | | | The TL-WR841ND v8 feature a WiFi switch instead of a button. This adds the corresponding input-type to prevent booting into failsafe regularly. This has been defined correctly in ar71xx, but was overlooked when migrating to ath79. In contrast, the TL-WR842ND v2, which has the key set up as switch in ar71xx, actually has a button. The TL-MR3420 v2 has a button as well and is set up correctly for both targets. (Information based on TP-Link user guide) Note: While looking into this, I found that support PR for TL-MR3420 v2 switched reset button to ACTIVE_HIGH. However, the other two device still use ACTIVE_LOW. This seems strange, but I cannot verify it lacking the affected devices. Fixes: FS#2733 Fixes: 9601d94138de ("add support for TP-Link TL-WR841N/ND v8") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: improve LED support for D-Link DIR-615 D seriesAdrian Schmutzler2020-07-212-5/+8
| | | | | | | | | | | | | This patch adds a trigger for the WAN LED and enhances support for the WiFi LED by enabling activity indication. This is based on bug report feedback (see reference below). While at it, update the LED node names in DTS file. Fixes: FS#732 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* omap: derive DEVICE_DTS from device nameAdrian Schmutzler2020-07-211-3/+1
| | | | | | | | In most cases the DEVICE_DTS name can be derived easily from the node name, so let's do this to enforce harmonized names where possible. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* apm821xx: derive DEVICE_DTS from device nameAdrian Schmutzler2020-07-213-6/+1
| | | | | | | | | | | The DEVICE_DTS variable always matches the device definition name, just with "_" replaced by "-". Thus, create a DEVICE_DTS definition in Device/Default and drop all the individual statements. If necessary in the future, local DEVICE_DTS will still overwrite that default. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm47xx: fix switch setup for Linksys WRT610N v2Adrian Schmutzler2020-07-211-0/+1
| | | | | | | | | | | | WRT610N V2 is not detected by the initial network configuration script. The switch remains unconfigured and wlan/lan vlans are not created. This adds the correct setup for the device. Fixes: FS#1869 Suggested-by: Alessandro Radicati Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* layerscape: fix indentAdrian Schmutzler2020-07-211-2/+2
| | | | | | Fix indent to be consistent with the rest of the file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>