aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ath79: further fixes for ZyXEL NBG6716Adrian Schmutzler2020-04-141-7/+10
| | | | | | | | | | | | | | | | | | This applies further fixes to the DTS of ZyXEL NBG6716 based on what is found in ar71xx (mach-nbg6716.c): - use WiFi label names as in ar71xx - fix WPS gpio number - fix GPIO_ACTIVE_HIGH and mode for WiFi switch - add codes for USB eject buttons - fix node name for "internet" LED This device has separate LEDs for WAN and "Internet". As the WAN-LED (and the four LAN-LEDs) are driven independent of the setup in DT/01_leds, the "internet" LED is left unassigned (in contrast to ar71xx, where it was set up effectively as a second WAN LED) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: define image recipe for uncompressed uimage with loaderChuanhong Guo2020-04-141-0/+5
| | | | | | | | | Some devices have bootloaders with broken lzma code resulting in failed decompression or corrupted kernel code. This image recipe allows to sacrifice 5KB for OpenWrt LZMA loader and take over the task of decompress kernel. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: define lzma loader platform in targetChuanhong Guo2020-04-142-2/+5
| | | | | | | | Loader platform is a per-soc variable instead of a per-device one. Determine corresponding loader platform at the beginning of image Makefile. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add missing DEVICE_VARS for lzma-loaderChuanhong Guo2020-04-141-0/+1
| | | | | | | LOADER_TYPE is a per-device variable which should be included in DEVICE_VARS. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: enable m25p,fast-read for tplink,tl-wr1043-v1Luiz Angelo Daros de Luca2020-04-141-0/+1
| | | | | | Enables spi-mem interface for 3x faster flash read. Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* ath79: enable m25p,fast-read for tplink,tl-wr2543-v1Luiz Angelo Daros de Luca2020-04-141-0/+1
| | | | | | | | | | Enables spi-mem interface usage. It speeds up flash read in about 3x while it also workaround a possible hardware bug when normal spi read is used. Fixes: FS#2742 Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* ath79: add read support using spi-memLuiz Angelo Daros de Luca2020-04-142-0/+140
| | | | | | | | | | | | | | | | Reimplements read optimization on top of spi-mem. Similar to what 461-spi-ath79-add-fast-flash-read.patch used to do with the dropped flash read interface. It accelerate only fast-read op reading flash directly from memory mapped region. 'm25p,fast-read' must be set in order to use the new spi-mem. It improved read speed up to 3x on old devices (tplink,tl-wr2543-v1) while no speed improvement was noticed on newer devices like (tplink,archer-c7-v2). Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* x86: add nforce eth to default packagesAlberto Bursi2020-04-133-3/+4
| | | | | | | | | | | | | forcedeth is necessary to use the integrated ethernet controller of Nvidia nForce chipset. There are PC motherboards with this chipset from 2001 that run 32bit Athlon XP CPUs and more modern ones up to 2009 that can run Intel and AMD 64bit processors, so add this to all non-geode x86 targets. Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* mvebu: drop armada-37xx PCI aardvark patchesTomasz Maciej Nowak2020-04-135-353/+0
| | | | | | | | | These patches were necessarry for Atheros and some Intel WiFi cards. After short testing, the current upstream driver state is enough for these WiFi cards to work. If there are still some issues with other devices, the patches could be easily restored. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: refresh configDENG Qingfang2020-04-133-39/+88
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: refresh patchesDENG Qingfang2020-04-1334-1671/+39
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: set kernel testing version to 5.4DENG Qingfang2020-04-131-0/+1
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: copy files and patches to 5.4DENG Qingfang2020-04-1353-0/+5140
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: add support for Buffalo LinkStation LS421DEDaniel González Cabanelas2020-04-135-0/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo LinkStation LS421DE is a dual bay NAS, based on Marvell Armada 370 Hardware: SoC: Marvell Armada 88F6707-A1 CPU: Cortex-A9 1200 MHz, 1 core Flash: SPI-NOR 1 MiB, NAND 512 MiB RAM: DDR3 512 MiB Ethernet: 1x 10/100/1000 Mbps USB: 1x 2.0, 1x 3.0 SATA: 2x 3.0 Gbps LEDs/Input : 5x / 2x (1x button, 1x slide-switch) RTC: Ricoh RS5C372A, I2C, no battery Flash instruction (UART+TFTP): 1. Downgrade the OEM firmware to 1.34 version (BUFFALO_BOOTVER=0.13) 2. Remove any hard drive from inside the bays. 3. Boot the Openwrt initramfs image using the U-Boot serial console: tftpboot 0x1200000 buffalo_ls421de-initramfs-kernel.bin bootm 0x1200000 4. Flash the sysupgrade image using the Openwrt console: sysupgrade -n buffalo_ls421de-squashfs-sysupgrade.bin 5. Wait until it finish, the device will reboot with Openwrt installed on the NAND flash. Note: - Device shuting down doesn't work, even if the power slide switch is used. We must first, via MDIO, set the unused LED2 at the ethernet phy0 to off state. Reboot works ok. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* kernel: remove non-existant symbolsAleksander Jan Bajkowski2020-04-138-79/+0
| | | | | | These symbols exist only in older kernels and can be removed. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* ath79: fix USB port LED assignment for ZyXEL NBG6716Adrian Schmutzler2020-04-131-2/+2
| | | | | | | | | | | The USB LED assignment to internal ports was swapped. Fix it. We also explicitly checked that the LED label numbers match those on the device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix wmac initialization for Zyxel NBG6716Guillaume Lefebvre2020-04-133-4/+20
| | | | | | | | | | | | | | | | | | 2.4 GHz Wifi on ath79 is set up in 10-ath9k-eeprom, but in ar71xx it was done with ath79_register_wmac. Thus, the following errors are observed on the device: ath: phy1: Unable to initialize hardware; initialization status: -5 ath9k 18100000.wmac: failed to initialize device ath9k: probe of 18100000.wmac failed with error -5 This patch changes the ath79 support to properly use wmac as well. This will also require fixing the MAC address in a different way. Signed-off-by: Guillaume Lefebvre <guillaume@zelig.ch> [several adjustments to 10-fix-wifi-mac, use correct MAC address, rewrite commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix whitespace in 990_NET-no-auto-carrier-support.patchChuanhong Guo2020-04-131-4/+4
| | | | | Fixes: 6fcba5eec3 ("ramips: port 0034-NET-multi-phy-support.patch to 5.4") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: ralink-eth: fix leftover dma dev argumentChuanhong Guo2020-04-131-1/+1
| | | | | Fixes: 05dee5833a ("ramips: ralink-eth: fix device struct passed to dma functions") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* bcm63xx: disable all devices with <= 4MiB flash and <= 32 MiB RAMJonas Gorski2020-04-121-0/+11
| | | | | | | | | | | Device with 4 MiB flash and 32 MiB RAM won't be able to run OpenWrt in a sufficient manner without tweaks, so don't build images for them by default. This includes all BCM6338, BCM6345 and BCM6348 "generic" devices, as there are no supported devices of these with more than that. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* ramips: replace pinctrl property namesChuanhong Guo2020-04-12261-730/+730
| | | | | | | | | | | | | | Upstream pinctrl driver in drivers/staging uses groups/function/ralink,num-gpios instead of ralink,group/ralink,function/ralink,nr-gpio Replace these properties in dts as well as the pinctrl driver in patches-4.14. This commit is created using: sed -i 's/ralink,group/groups/g' sed -i 's/ralink,function/function/g' sed -i 's/ralink,nr-gpio/ralink,num-gpios/g' Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: explicitly disable built-in switch when neededChuanhong Guo2020-04-123-29/+29
| | | | | | | | | | previously we rely on the failsafe setup in preinit scripts to disable built-in switch implicitly for single-port devices. This doesn't work anymore due to preinit script removal. this patch explicitly disable built-in switch for needed devices. Fixes: a8d62a4eb1 ("ramips: remove set_preinit_iface script") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add 5.4 as testing kernelChuanhong Guo2020-04-121-0/+1
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt76x8: switch to kernel 5.4Chuanhong Guo2020-04-121-0/+1
| | | | | | | 4.14 doesn't work anymore due to gpio dt binding changes. Switch mt76x8 to 5.4 directly. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: disable images for 4M devicesChuanhong Guo2020-04-124-0/+59
| | | | | | | | | 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>
* ramips: ralink-eth: add support for 5.4 kernelChuanhong Guo2020-04-122-0/+34
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7628: update dts for upstream gpio-mt7621 driverChuanhong Guo2020-04-1256-320/+278
| | | | | | | | | | upstream driver merged 3 separated gpio banks into one gpio node. and gpioX Y in our local driver should be replaced with gpio X*32+Y. This patch is created using the following sed command: sed -i -r 's/(.*)gpio([0-9]) ([0-9]+)(.*)/echo "\1gpio $((\2*32+\3))\4"/ge' Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: refresh kernel config for 5.4Chuanhong Guo2020-04-125-175/+240
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: copy kernel config for 5.4Chuanhong Guo2020-04-125-0/+1109
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: port 0034-NET-multi-phy-support.patch to 5.4Chuanhong Guo2020-04-121-0/+47
| | | | | | | | | | | | This hack is needed for old ethernet driver: On mt7620, we have two exposed RGMII ports that connects to builtin switch. However, swconfig has no way to interact with phy subsystem. As a result, we have to register both PHYs to ethernet mac instead and this patch prevents main ethernet interface from going down due to phy link changes. Also rename the patch for its actual purpose. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: ralink-eth: fix device struct passed to dma functionsChuanhong Guo2020-04-121-14/+12
| | | | | | | dma functions needs the struct from platform_device instead of the one for ethernet interface. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: move and rename out-of-tree mtk eth driverChuanhong Guo2020-04-1236-130/+171
| | | | | | | move the driver into shared 'files' directory and rename all symbols from mediatek/mtk to ralink. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: increase spi frequency for newifi d1/d2Chuanhong Guo2020-04-122-3/+2
| | | | | | | | increase spi frequency for both devices to 45MHz. while at it, also remove m25p,fast-read for newifi d1 as it's only needed when spi clock is higher than 50MHz. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: enable broken-flash-reset for some 32M flash boardsChuanhong Guo2020-04-127-0/+7
| | | | | | | These are boards known to start on 3-byte address mode, which requires broken-flash-reset if 4B_OPCODES isn't supported by the flash. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: spi-nor: rework broken-flash-resetChuanhong Guo2020-04-122-1/+168
| | | | | | | | | | | | Instead of resetting flash to 3B address on remove hook, this implementation only enters 4B mode when needed, which prevents more unexpected reboot stuck. This implementation makes it only break when a kernel panic happens during flash operation on 16M+ areas. Also silent broken-flash-reset warning. We are not dealing with vendors and it's unpleasant for users to see that unnecessary and long WARN_ON print. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* cns3xx: remove support for kernel 4.14Adrian Schmutzler2020-04-1225-1572/+0
| | | | | | | | | | | This target has been on kernel 4.19 for nine months now [1], and has had testing support for even longer [2]. This should be long enough to drop support for kernel 4.14. [1] 545bfbc3a922 ("cns3xxx: switch to kernel 4.19") [2] c6bebe1a9496 ("cns3xxx: add support for kernel 4.19") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: tidy up names for Ubiquiti devicesAdrian Schmutzler2020-04-1210-43/+46
| | | | | | | | | | | | | | | The "proper" vendor prefix for Ubiquiti is "ubnt", this is used in all targets except ramips and also recommended by the kernel. This patch adjusts the various board/image/device name variables accordingly. Since we touch it anyway, this also adds the space in "EdgeRouter X" as a hyphen to those variables to really make them consistent with the model name. While at it, create a real shared definition for the devices in image/mt7621.mk instead of deriving one device from another. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: remove support for kernel 4.19Adrian Schmutzler2020-04-12177-21979/+0
| | | | | | | | | | Since stable kernel for this target is still 4.14, kernel 4.19 has never been used much (and actually was broken for some devices). So, since we bump testing kernel to 5.4, there is no real need to keep 4.19 and have an additional version to care about. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: use kernel 5.4 as testing kernelAdrian Schmutzler2020-04-121-1/+1
| | | | | | | | | This uses 5.4 as testing kernel. Since 4.19 has not seen broad testing yet, just keep 4.14 as stable kernel until 5.4 is ready. Tested on Comtrend AR-5387un (Thanks to @Noltari). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: 5.4: fix compilation for changed driver_find_deviceAdrian Schmutzler2020-04-121-1/+5
| | | | | | | | | In kernel patch 92ce7e83b4e5 ("driver_find_device: Unify the match function with class_find_device()") the arguments of functions used with driver_find_device are adjusted. Do the same for our local user. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: 5.4: add removed helper syscon_regmap_lookup_by_pdevnameAdrian Schmutzler2020-04-121-0/+64
| | | | | | | | | | | The helper syscon_regmap_lookup_by_pdevname has been removed in kernel patch 29d14b668d2f ("mfd: Remove unused helper syscon_regmap_lookup_by_pdevname") due to lack of users. However, we use this function in our local pinctrl drivers for BCM6358 and BCM6368. Thus, we have to add it locally. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: prevent fall-through in kernel patches for 5.4Adrian Schmutzler2020-04-124-8/+11
| | | | | | | | | | | | | | | | | | | | | In kernel 5.4 -Werror=implicit-fallthrough is treated as error: arch/mips/bcm63xx/cpu.c: In function 'detect_cpu_clock': arch/mips/bcm63xx/cpu.c:158:2: error: this statement may fall through [-Werror=implicit-fallthrough=] { ^ arch/mips/bcm63xx/cpu.c:179:2: note: here case BCM6328_CPU_ID: ^~~~ cc1: all warnings being treated as errors This can be fixed by adding "Fall through" as a comment where intended, and has to be fixed by returning a proper default otherwise. In case of the default clock frequency for BCM6318 we fixed this by returning the default value taken from BCM6328 and BCM6362. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: fix missing watchdog core dependencyAdrian Schmutzler2020-04-121-0/+1
| | | | | | | | | | | | | | | | | This patch follows the other patches that added the watchdog core to various (armvirt, malta, ath79, ...) targets that have been hit by the following build error: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko In theory, we could have just added the CONFIG_WATCHDOG_CORE=y to the Kconfig variable of kmod-hwmon-sch5627's package definition. This would have forced the watchdog core to be builtin and less architectures would need to be updated. But we might as well follow through here. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: update config for kernel 5.4Adrian Schmutzler2020-04-121-14/+24
| | | | | | Update config with make kernel_oldconfig. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: refresh patches for kernel 5.4Adrian Schmutzler2020-04-1239-718/+143
| | | | | | | | Refresh patches to make them apply to kernel 5.4. The removed patches have been merged upstream. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm63xx: copy files to kernel 5.4Adrian Schmutzler2020-04-12177-0/+21974
| | | | | | | Copy config and patches to kernel 5.4. make kernel_oldconfig has been run on 4.19 beforehand. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for I-O DATA WN-AX2033GRYanase Yuki2020-04-123-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-AX2033GR is roughly the same as I-O DATA WN-AX1167GR2. The difference is Wi-Fi feature. Specification ============= - SoC: MediaTek MT7621A - RAM: DDR3 128 MiB - Flash Memory: NAND 128 MiB (Spansion S34ML01G200TF100) - Wi-Fi: MediaTek MT7603E - Wi-Fi: MediaTek MT7615 - Ethernet: 5x 10 Mbps / 100 Mbps / 1000 Mbps (1x WAN, 4x LAN) - LED: 2x green LED - Input: 2x tactile switch, 1x slide switch - Serial console: 57600bps, PCB through hole J5 (Vcc, TX, RX, NC, GND) - Power: DC 12V This device only supports channel 1-13 and 36-140. Thus, narrower frequency limits compared to other devices are required for limiting wi-fi frequency correctly. Without this, non-supported frequencies are activated. Flash instructions ================== 1. Open the router management page (192.168.0.1). 2. Update router firmware using "initramfs-kernel.bin". 3. After updating, run sysupgrade with "sysupgrade.bin". Recovery instructions ===================== WN-AX2033GR contains Zyxel Z-LOADER 1. Setup TFTP server (IP address: 10.10.10.3). 2. Put official firmware into TFTP server directory (distribution site: https://www.iodata.jp/lib/software/w/2068.htm) 3. Connect WX-AX2033GR Ethernet port and computer that runs TFTP server. 4. Connect to serial console. 5. Interrupt booting by Esc key. 6. Flash firmware using "ATNR 1,[firmware filename]" command. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [adjust for kernel 5.4, add recovery instructions/frequency comment] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* generic: drop 616-net_optimize_xfrm_calls.patchJo-Philipp Wich2020-04-123-60/+0
| | | | | | | | | | | | | | | | The conditional check introduced by this patch may trigger a NULL pointer dereference in case the result of dev_net() is NULL. Since the purpose of this patch is neither sufficiently explained and since this patch apparently has never been submitted upstream despite it being in the pending-* patch directory, I propose to drop it without replacement. If the performance implications of dropping this patch are found to be significiant, it should be reintroduced with proper description and benchmark results. Ref: https://bugs.openwrt.org/index.php?do=details&task_id=2943 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ipq40xx: add support for Cell C RTL30VWPawel Dembicki2020-04-109-2/+841
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cell C RTL30VW is a LTE router with tho gigabit ethernets and integrated QMI mPCIE modem. This is stripped version of ASKEY RTL0030VW. Hardware: Specification: -CPU: IPQ4019 -RAM: 256MB -Flash: NAND 128MB + NOR 16MB -WiFi: Integrated bgn/ac -LTE: mPCIe card (Modem chipset MDM9230) -LAN: 2 Gigabit Ports -USB: 2x USB2.0 -Serial console: RJ-45 115200 8n1 -Unsupported VoIP Known issues: None so far. Instruction install: There are two methods: Factory web-gui and serial + tftp. Web-gui: 1. Apply factory image via stock web-gui. Serial + initramfs: 1. Rename OpenWrt initramfs image to "image" 2. Connect serial console (115200,8n1) 3. Set IP to different than 192.168.1.11, but 24 bit mask, eg. 192.168.1.4. 4. U-Boot commands: sf probe && sf read 0x80000000 0x180000 0x10000 setenv serverip 192.168.1.4 set fdt_high 0x85000000 tftpboot 0x84000000 image bootm 0x84000000 5. Install sysupgrade image via "sysupgrade -n" Back to stock: All is needed is swap 0x4c byte in mtd8 from 0 to 1 or 1 to 0, do firstboot and factory reset with OFW: 1. read mtd8: dd if=/dev/mtd8 of=/tmp/mtd8 2. go to tmp: cd /tmp/ 3. write first part of partition: dd if=mtd8 of=mtd8.new bs=1 count=76 4. check which layout uses bootloader: cat /proc/mtd 5a. If first are kernel_1 and rootfs_1 write 0: echo -n -e '\x00' >> mtd8.new 5b. If first are kernel and rootfs write 1: echo -n -e '\x01' >> mtd8.new 6. fill with rest of data: dd if=mtd8 bs=1 skip=77 >> mtd8.new 7. CHECK IF mtd8.new HAVE CHANGED ONLY ONE BYTE! e.g with: hexdump mtd8.new 8. write new mtd8 to flash: mtd write mtd8.new /dev/mtd8 9. do firstboot 10.reboot 11. Do back to factory defaults in OFW GUI. Based on work: Cezary Jackiewicz <cezary@eko.one.pl> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ipq40xx: add support for MobiPromo CM520-79FDENG Qingfang2020-04-109-2/+737
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MobiPromo CM520-79F is an AC1300 dual band router based on IPQ4019 Specification: SoC/Wireless: QCA IPQ4019 RAM: 512MiB Flash: 128MiB SLC NAND Ethernet PHY: QCA8075 Ethernet ports: 1x WAN, 2x LAN LEDs: 7 LEDs 2 (USB, CAN) are GPIO other 5 (2.4G, 5G, LAN1, LAN2, WAN) are connected to a shift register Button: Reset Flash instruction: Disassemble the router, connect UART pins like this: GND TX RX [x x . . x .] [. . . . . .] (QCA8075 and IPQ4019 below) Baud-rate: 115200 Set up TFTP server: IP 192.168.1.188/24 Power on the router and interrupt the booting with UART console env backup (in case you want to go back to stock and need it there): printenv (Copy the output to somewhere save) Set bootenv: setenv set_ubi 'set mtdids nand0=nand0; set mtdparts mtdparts=nand0:0x7480000@0xb80000(fs); ubi part fs' setenv bootkernel 'ubi read 0x84000000 kernel; bootm 0x84000000#config@1' setenv cm520_boot 'run set_ubi; run bootkernel' setenv bootcmd 'run cm520_boot' setenv bootargs saveenv Boot initramfs from TFTP: tftpboot openwrt-ipq40xx-generic-mobipromo_cm520-79f-initramfs-fit-zImage.itb bootm After initramfs image is booted, backup rootfs partition in case of reverting to stock image cat /dev/mtd12 > /tmp/mtd12.bin Then fetch it via SCP Upload nand-factory.ubi to /tmp via SCP, then run mtd erase rootfs mtd write /tmp/*nand-factory.ubi rootfs reboot To revert to stock image, restore default bootenv in uboot UART console setenv bootcmd 'bootipq' printenv use the saved dump you did back when you installed OpenWrt to verify that there are no other differences from back in the day. saveenv upload the backed up mtd12.bin and run tftpboot mtd12.bin nand erase 0xb80000 0x7480000 nand write 0x84000000 0xb80000 0x7480000 The BOOTCONFIG may have been configured to boot from alternate partition (rootfs_1) instead In case of this, set it back to rootfs: cd /tmp cat /dev/mtd7 > mtd7.bin echo -ne '\x0b' | dd of=mtd7.bin conv=notrunc bs=1 count=1 seek=4 for i in 28 48 68 108; do dd if=/dev/zero of=mtd7.bin conv=notrunc bs=1 count=1 seek=$i done mtd write mtd7.bin BOOTCONFIG mtd write mtd7.bin BOOTCONFIG1 Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> [renamed volume to ubi to support autoboot, as per David Lam's test in PR#2432] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>