aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* ramips: rt305x: use lzma-loader for ZyXEL Keenetic Lite rev.BSzabolcs Hubai2021-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes boot loader LZMA decompression issue, reported by GitHub user KOLANICH at [0]. The reported LZMA ERROR has date of 2020-07-20, soon after the device support landed: Ralink UBoot Version: 3.5.2.4_ZyXEL .... 3: System Boot system code via Flash. Image Name: MIPS OpenWrt Linux-4.14.187 Created: 2020-07-20 3:39:11 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1472250 Bytes = 1.4 MB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover [0] https://github.com/openwrt/openwrt/commit/fea232ae8feb6af780fd4fa78ebe9231778bf75a#commitcomment-45016560 Fixes: 4dc9ad4af8c921494d20b303b6772fc6b5af3a69 ("ramips: add support for ZyXEL Keenetic Lite Rev.B") Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
* kernel: bump 5.10 to 5.10.27Kevin Darbyshire-Bryant2021-04-032-3/+3
| | | | | | | | | | | | | | | | Use update_kernel to refresh all patches, required manual updates to: 610-netfilter_match_bypass_default_checks.patch 611-netfilter_match_bypass_default_table.patch 762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch 764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch Run-tested: x86_64 Nothing screamed out but any funny business with linux bridging should suspect this update first. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: fix IMAGE_SIZE of HC5x6: fix image size of HC5x61Shiji Yang2021-04-031-3/+3
| | | | | | | | "firmware" partition size defined in the device tree file is 0xf70000, so the right IMAGE_SIZE is 15808k Fixes: df1e5d646345 ("ramips: fix partition layout of hiwifi hc5x61") Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: Fix booting on MQmaker WiTi boardDaniel Engberg2021-04-031-0/+1
| | | | | | | | This fixes the dreaded "lzma error 1" also reported on similar devices Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3057 Fixes: FS#3057 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* ramips: Fix booting on MTC WR1201René van Dorst2021-04-031-0/+1
| | | | | | | | This fixes the dreaded "lzma error 1" also reported on similar devices Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3057 Fixes: FS#3057 Signed-off-by: René van Dorst <opensource@vdorst.com>
* ramips: mt7620: ralink-i2s: fix modpost errorIlya Lipnitskiy2021-03-311-1/+2
| | | | | | | | Fixes the following error when building without CONFIG_MODULE_STRIPPED: FATAL: modpost: sound/soc/ralink/snd-soc-ralink-i2s: struct of_device_id is not terminated with a NULL entry! Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips/mt7621: enable support for cpuidleRui Salvaterra2021-03-311-1/+9
| | | | | | | | | | | MIPS Coherent Processor Systems (CPS), which include the MT7621 SoC, support deep sleep idle states and have a specific cpuidle driver for them. Enable support for it, while also switching from constant timer ticks to the idle dynticks model, with the TEO governor. Run-tested on a Redmi AC2100. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips/mt7621: drop the timer recalibration patchRui Salvaterra2021-03-313-97/+10
| | | | | | | | | | | | | | | | | We've been carrying this patch for many years [1], in order to fix a timer calibration issue on MT7621. Turns out, after retesting with a recent kernel (Linux 5.10), the system works perfectly fine without it (no rcu_sched stalls or inconsistent BogoMIPS values across CPUs). Manually refreshed: 322-mt7621-fix-cpu-clk-add-clkdev.patch 323-mt7621-memory-detect.patch [1] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=6f4a903533361a2906a4d94ac6f597cd9c6c47bc Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Tested-by: Donald Hoskins <grommish@gmail.com> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips/mt7621: drop the weak reordering patchRui Salvaterra2021-03-312-12/+2
| | | | | | | | | | | | | | | | | | In order to fix random hangs on MT7621, we've been selecting WEAK_REORDERING_BEYOND_LLSC for years [1]. However, these random hangs have been most likely caused by an oversight in the MIPS implementation of the kernel memory consistency model, which has already been fixed for some time (and backported to stable) [2]. Manually refreshed: 321-mt7621-timer.patch [1] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=5c971cd6fdd7298a2017bdb6bea870088eddb8b9 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/mips?h=linux-5.4.y&id=42344113ba7a1ed7b5654cd5270af0d5698d8521 Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Tested-by: Donald Hoskins <grommish@gmail.com> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: correct switch config of Youku yk1Shiji Yang2021-03-271-1/+4
| | | | | | | | | | There are only two lan ports and one wan port on Youku yk1 Fixes: e9baf8265bb8 ("ramips: add support for Youku YK1") Signed-off-by: Shiji Yang <yangshiji66@qq.com> [add Fixes:] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.10 to 5.10.24Kevin Darbyshire-Bryant2021-03-243-9/+9
| | | | | | | | Straightforward refresh of patches using update_kernel. Run tested: x86_64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: speed up spi frequency for Youku YK-L1Shiji Yang2021-03-221-1/+1
| | | | | | | | | | | Youku YK-L1 has a huge storage space up to 32 MB. It is better to use a higher spi clock to read or write serial nor flash chips. Youku YK-L1 has Winbond w25q256fvfg on board that can support 104 MHz spi clock so 48 MHz is safe enough. The real frequency can only be sysclk(580MHz ) /3 /(2^n) so 80 MHz defined in dts file will set only 48 MHz in spi bus. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: bump 5.4 to 5.4.106John Audia2021-03-211-2/+2
| | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: bcm27xx/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch layerscape/701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [remove accidental whitespace edit] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for ELECOM WRC-1750GST2INAGAKI Hiroshi2021-03-212-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-1750GST2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 256 MiB (NT5CC128M16JR-EK) - Flash : SPI-NOR 32 MiB (MX25L25645GMI-08G) - WLAN : 2.4/5 GHz 3T3R (2x MediaTek MT7615) - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LEDs/Keys : 4x/6x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J4: 3.3V, GND, TX, RX, from ethernet port side - 57600n8 - Power : 12 VDC, 1.5 A Flash instruction using factory image: 1. Boot WRC-1750GST2 normally with "Router" mode 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~120 seconds to complete flashing MAC addresses: LAN : 04:AB:18:xx:xx:23 (Factory, 0xE000 (hex)) WAN : 04:AB:18:xx:xx:24 (Factory, 0xE006 (hex)) 2.4GHz : 04:AB:18:xx:xx:25 (Factory, 0x4 (hex)) 5GHz : 04:AB:18:xx:xx:26 (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: create shared DTSI for MT7620 Phicomm K2x series devicesShiji Yang2021-03-214-115/+31
| | | | | | | | | Improve compatibility of the device tree include file. Now a new .dtsi file will support both PSG1218A, PSG1218B and K2G. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title, rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: increase SPI frequency for Phicomm series devicesShiji Yang2021-03-214-4/+8
| | | | | | | | | | | From many teardown image in the internet, I find Phicomm K1/k2 series use Winbond W25Q64/W25Q128 or GigaDevice GD25Q64/GD25Q128 Flash chips. both of them support 100+ MHz clock spi operate and fast-read instruction. PSG1218 with W25x or GD25x has been tested and it can run well in OpenWrt v19.07. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: increase SPI frequency for HIWIFI HC5x61 devicesShiji Yang2021-03-211-1/+2
| | | | | | | | | | | HIWIFI HC5x61 devices support high speed spi clock up to 100+ MHz. So set spi frequency to 80 MHz here (Due to frequency division the real clock is 48 MHz). I have tested HC5661 and it can run well in OpenWrt v19.07. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [adjust commit title and wrap message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: move spi-nor-add-gd25q512 patch to genericIlya Lipnitskiy2021-03-191-12/+0
| | | | | | | A SPI NOR flash should not be target-specific, so move it to generic in case another platform needs to use it. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* rampis: use lzma-loader for ZTE MF283+Lech Perczak2021-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Without that, after merging support to master, the device fails to boot due to LZMA decompression error: 3: System Boot system code via Flash. ## Booting image at bc080000 ... raspi_read: from:80000 len:40 . Image Name: MIPS OpenWrt Linux-5.4.99 Created: 2021-02-25 23:35:00 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1786664 Bytes = 1.7 MB Load Address: 80000000 Entry Point: 80000000 raspi_read: from:80040 len:1b4328 ............................ Verifying Checksum ... OK Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover Use lzma-loader to fix it. Fixes: 59d065c9f81c ("ramips: add support for ZTE MF283+") Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: improve GPIO pin control for HC5x61Shiji Yang2021-03-193-22/+16
| | | | | | | | HC5661 does not have USB port, remove usb power control pin. HC5x61 do not have LAN LEDs, remove ethernet LED control pin. Only HC5861 has PA in 2.4G channel. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: fix broken UniFi 6 Lite imageDavid Bauer2021-03-181-0/+1
| | | | | | | | Ubiquiti's own bootloader expects the configuration mode to be present with a "@" instead of a "-" for the sperator character. Otherwise booting of the image fails. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.10 to 5.10.23Kabuli Chana2021-03-131-1/+1
| | | | | | | | | | | | update kernel to 5.10.23, rebase patches, deleted upstreamed patch: target/linux/generic/backport-5.10/830-v5.12-0001-net-usb-qmi_wwan-support-ZTE-P685M-modem.patch compile / test - mvebu / mamba, rango Signed-off-by: Kabuli Chana <newtownBuild@gmail.com> [refresh again] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.105John Audia2021-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Removed upstreamed generic-backports: 830-v5.12-0001-net-usb-qmi_wwan-support-ZTE-P685M-modem.patch 831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch 755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86/64] [squash patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: make AddDepends/usb-serial selectiveAdrian Schmutzler2021-03-063-6/+6
| | | | | | | Make packages depending on usb-serial selective, so we do not have to add kmod-usb-serial manually for every device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-0615-15/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: 5.10: refresh configsIlya Lipnitskiy2021-03-066-28/+28
| | | | | | | | Run-tested on Ubiquiti EdgeRouter X. Compile tested on all other subtargets. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: 5.10: port and refresh patches, ralink drvIlya Lipnitskiy2021-03-0634-201/+333
| | | | | | | | | | | | | | | | | | | Enable testing kernel. Fix compile errors by using new kernel APIs. Fix fuzz by manually editing patches to ensure the code goes in the right place. For 721-NET-no-auto-carrier-off-support.patch, revert upstream commit a307593a6 to keep the OpenWrt ralink driver operational. Add mt7621-pci-phy patch to select REGMAP_MMIO as discussed in PR #3693 and #3952. Run automatic quilt refresh on the rest. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: 5.10: rename patches to follow guideIlya Lipnitskiy2021-03-0636-0/+0
| | | | | | | | | Rename patches to follow the 3-digit classification from the OpenWrt Developer Guide. https://openwrt.org/docs/guide-developer/build-system/use-patches-with-buildsystem#naming_patches Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: 5.10: delete upstreamed patchesIlya Lipnitskiy2021-03-0629-2440/+0
| | | | | | | | 0098-disable_cm.patch is not needed because upstream fixed CM handling. The rest are straightforward removals of upstreamed patches. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: 5.10: copy patches from 5.4Ilya Lipnitskiy2021-03-0667-0/+8783
| | | | | | Strict copy, no changes made. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: copy config-5.4 to config-5.10Ilya Lipnitskiy2021-03-066-0/+1202
| | | | | | Strict copy, no changes made. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* Revert "ramips: add support for kernel 5.10"Adrian Schmutzler2021-03-0651-7679/+2
| | | | | | | | | This reverts commit b4aad29a1d7ad77d67073c1c54b28c429c64ed9b. This was accidentally folded into a single commit. Remove it and apply it properly again. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* apm821xx, mt7621, oxnas, rockchip, zynq: remove PLUGIN_HOSTCCIlya Lipnitskiy2021-03-061-1/+0
| | | | | | This config symbol should not be defined in target configs. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: add support for kernel 5.10Ilya Lipnitskiy2021-03-0551-2/+7679
| | | | | | | | | | | | | | | | | | | | | | | | | Enable testing kernel. Delete upstreamed patches: 0098-disable_cm.patch can be dropped, upstream fixed CM handling. Fix compile errors by using new kernel APIs. Fix fuzz by manually editing patches to ensure the code goes in the right place. For 721-NET-no-auto-carrier-off-support.patch, revert upstream commit a307593a6 to keep the OpenWrt ralink driver operational. Add mt7621-pci-phy patch to select REGMAP_MMIO as discussed in PR #3693 and #3952. Rename patches to follow the 3-digit classification from the OpenWrt Developer Guide. Run automatic quilt refresh. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: 5.4: refresh configsIlya Lipnitskiy2021-03-056-274/+17
| | | | | | Automatic refresh by running make kernel_oldconfig on each target. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ramips: rename mtk-hsdma to hsdma-mt7621Ilya Lipnitskiy2021-03-041-2/+2
| | | | | | | | | | | | Follows upstream rename: https://lore.kernel.org/driverdev-devel/20210130034507.2115280-1-ilya.lipnitskiy@gmail.com/ Fixes ramips builds on 5.4.102 Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* kernel-5.4: bump to 5.4.102 and refresh patchesJason A. Donenfeld2021-03-041-1/+1
| | | | | | | | | | | | | | 5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ramips: fix partition layout of hiwifi hc5x61Shiji Yang2021-03-011-5/+5
| | | | | | | | | | | | | | | | | | | | Changes: * Increase "oem" partition size from 0x10000 to 0x20000 * Correct partition lables, synchronize with official firmware Evidence: It should be the same as hiwifi hc5x61a and the fact indeed the case. Here is part of dmesg boot log read from official firmware: [ 1.470000] Creating 7 MTD partitions on "raspi": [ 1.470000] 0x000000000000-0x000000030000 : "u-boot" [ 1.480000] 0x000000030000-0x000000040000 : "hw_panic" [ 1.490000] 0x000000040000-0x000000050000 : "Factory" [ 1.490000] 0x000000fc0000-0x000000fe0000 : "oem" [ 1.500000] 0x000000fe0000-0x000000ff0000 : "bdinfo" [ 1.510000] 0x000000ff0000-0x000001000000 : "backup" [ 1.510000] 0x000000050000-0x000000fc0000 : "firmware" Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: add support for ZTE MF283+Lech Perczak2021-02-264-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF283+ is a dual-antenna LTE category 4 router, based on Ralink RT3352 SoC, and built-in ZTE P685M PCIe MiniCard LTE modem. Hardware highlighs: - CPU: MIPS24KEc at 400MHz, - RAM: 64MB DDR2, - Flash: 16MB SPI, - Ethernet: 4 10/100M port switch with VLAN support, - Wireless: Dual-stream 802.11n (RT2860), with two internal antennas, - WWAN: Built-in ZTE P685M modem, with two internal antennas and two switching SMA connectors for external antennas, - FXS: Single ATA, with two connectors marked PHONE1 and PHONE2, internally wired in parallel by 0-Ohm resistors, handled entirely by internal WWAN modem. - USB: internal miniPCIe slot for modem, unpopulated USB A connector on PCB. - SIM slot for the WWAN modem. - UART connector for the console (unpopulated) at 3.3V, pinout: 1: VCC, 2: TXD, 3: RXD, 4: GND, settings: 57600-8-N-1. - LEDs: Power (fixed), WLAN, WWAN (RGB), phone (bicolor, controlled by modem), Signal, 4 link/act LEDs for LAN1-4. - Buttons: WPS, reset. Installation: As the modem is, for most of the time, provided by carriers, there is no possibility to flash through web interface, only built-in FOTA update and TFTP recovery are supported. There are two installation methods: (1) Using serial console and initramfs-kernel - recommended, as it allows you to back up original firmware, or (2) Using TFTP recovery - does not require disassembly. (1) Using serial console: To install OpenWrt, one needs to disassemble the router and flash it via TFTP by using serial console: - Locate unpopulated 4-pin header on the top of the board, near buttons. - Connect UART adapter to the connector. Use 3.3V voltage level only, omit VCC connection. Pin 1 (VCC) is marked by square pad. - Put your initramfs-kernel image in TFTP server directory. - Power-up the device. - Press "1" to load initramfs image to RAM. - Enter IP address chosen for the device (defaults to 192.168.0.1). - Enter TFTP server IP address (defaults to 192.168.0.22). - Enter image filename as put inside TFTP server - something short, like firmware.bin is recommended. - Hit enter to load the image. U-boot will store above values in persistent environment for next installation. - If you ever might want to return to vendor firmware, BACK UP CONTENTS OF YOUR FLASH NOW. For this router, commonly used by mobile networks, plain vendor images are not officially available. To do so, copy contents of each /dev/mtd[0-3], "firmware" - mtd3 being the most important, and copy them over network to your PC. But in case anything goes wrong, PLEASE do back up ALL OF THEM. - From under OpenWrt just booted, load the sysupgrade image to tmpfs, and execute sysupgrade. (2) Using TFTP recovery - Set your host IP to 192.168.0.22 - for example using: sudo ip addr add 192.168.0.22/24 dev <interface> - Set up a TFTP server on your machine - Put the sysupgrade image in TFTP server root named as 'root_uImage' (no quotes), for example using tftpd: cp openwrt-ramips-rt305x-zte_mf283plus-squashfs-sysupgrade.bin /srv/tftp/root_uImage - Power on the router holding BOTH Reset and WPS buttons held for around 5 seconds, until after WWAN and Signal LEDs blink. - Wait for OpenWrt to start booting up, this should take around a minute. Return to original firmware: Here, again there are two possibilities are possible, just like for installation: (1) Using initramfs-kernel image and serial console (2) Using TFTP recovery (1) Using initramfs-kernel image and serial console - Boot OpenWrt initramfs-kernel image via TFTP the same as for installation. - Copy over the backed up "firmware.bin" image of "mtd3" to /tmp/ - Use "mtd write /tmp/firmware.bin /dev/mtd3", where firmware.bin is your backup taken before OpenWrt installation, and /dev/mtd3 is the "firmware" partition. (2) Using TFTP recovery - Follow the same steps as for installation, but replacing 'root_uImage' with firmware backup you took during installation, or by vendor firmware obtained elsewhere. A few quirks of the device, noted from my instance: - Wired and wireless MAC addresses written in flash are the same, despite being in separate locations. - Power LED is hardwired to 3.3V, so there is no status LED per se, and WLAN LED is controlled by WLAN driver, so I had to hijack 3G/4G LED for status - original firmware also does this in bootup. - FXS subsystem and its LED is controlled by the modem, so it work independently of OpenWrt. Tested to work even before OpenWrt booted. I managed to open up modem's shell via ADB, and found from its kernel logs, that FXS and its LED is indeed controlled by modem. - While finding LEDs, I had no GPL source drop from ZTE, so I had to probe for each and every one of them manually, so this might not be complete - it looks like bicolor LED is used for FXS, possibly to support dual-ported variant in other device sharing the PCB. - Flash performance is very low, despite enabling 50MHz clock and fast read command, due to using 4k sectors throughout the target. I decided to keep it at the moment, to avoid breaking existing devices - I identified one potentially affected, should this be limited to under 4MB of Flash. The difference between sysupgrade durations is whopping 3min vs 8min, so this is worth pursuing. In vendor firmware, WWAN LED behaviour is as follows, citing the manual: - red - no registration, - green - 3G, - blue - 4G. Blinking indicates activity, so netdev trigger mapped from wwan0 to blue:wwan looks reasonable at the moment, for full replacement, a script similar to "rssileds" would need to be developed. Behaviour of "Signal LED" in vendor firmware is as follows: - Off - no signal, - Blinking - poor coverage - Solid - good coverage. A few more details on the built-in LTE modem: Modem is not fully supported upstream in Linux - only two CDC ports (DIAG and one for QMI) probe. I sent patches upstream to add required device IDs for full support. The mapping of USB functions is as follows: - CDC (QCDM) - dedicated to comunicating with proprietary Qualcomm tools. - CDC (PCUI) - not supported by upstream 'option' driver yet. Patch submitted upstream. - CDC (Modem) - Exactly the same as above - QMI - A patch is sent upstream to add device ID, with that in place, uqmi did connect successfully, once I selected correct PDP context type for my SIM (IPv4-only, not default IPv4v6). - ADB - self-explanatory, one can access the ADB shell with a device ID added to 51-android.rules like so: SUBSYSTEM!="usb", GOTO="android_usb_rules_end" LABEL="android_usb_rules_begin" SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1275", ENV{adb_user}="yes" ENV{adb_user}=="yes", MODE="0660", GROUP="plugdev", TAG+="uaccess" LABEL="android_usb_rules_end" While not really needed in OpenWrt, it might come useful if one decides to move the modem to their PC to hack it further, insides seem to be pretty interesting. ADB also works well from within OpenWrt without that. O course it isn't needed for normal operation, so I left it out of DEVICE_PACKAGES. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [remove kmod-usb-ledtrig-usbport, take merged upstream patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove obsolete mx25l25635f compatible hackDENG Qingfang2021-02-244-4/+4
| | | | | | | The kernel bump to 5.4 has removed the mx25l25635f hack, and the mx25l25635f compatible is no longer required. Signed-off-by: DENG Qingfang <dqfext@gmail.com>
* ramips: overwrite reset gpio properties in DIR-860L DTSStijn Segers2021-02-231-0/+3
| | | | | | | | | | | | | | As suggested by Sergio, this adds GPIOs 19 and 8 explicitly into the DIR-860L DTS, so the PCI-E ports get reset and the N radio (radio1) on PCI-E port 1 comes up reliably. Fixes the following error that popped up in dmesg: [ 1.638942] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK) Suggested-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Signed-off-by: Stijn Segers <foss@volatilesystems.org> Reviewed-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
* ramips: mt7621: enable SX150x driverSander Vanheule2021-02-231-0/+1
| | | | | | | | | | | | | | | | The Netgear R6800 and R6700v2 devices have a Semtech SX1503 GPIO expander controlling the device LEDs. This expander was initially supported on 4.14, but support was lost in the transition to 5.4. Since this driver cannot be built as a kernel module, enable it in the kernel config for all mt7621 devices. Run-tested on a Netgear R6800. Cc: Stijn Segers <foss@volatilesystems.org> Cc: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org>
* ramips: improve gpio control for Phicomm PSG1218Shiji Yang2021-02-233-20/+7
| | | | | | | | | | | Description: 1. From key and led config setting, we can find only "uartf" and "i2c" are used as gpio by check mt7620 datasheet. It's time to remove unused pin group. 2. PSG1218 only have three led, so we can remove ethernet led pinctrl. refer to Phicomm K2G. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: fix Phicomm PSG1218A switch port labelsShiji Yang2021-02-221-1/+1
| | | | | | | | The lan port sequence was reversed compared to the labels. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [improve commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: move aliases to the top in SoC DTSI filesAdrian Schmutzler2021-02-229-47/+47
| | | | | | | The aliases node is expected as one of the first entries, and having it there matches alphabetic sorting as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: drop redundant definitions of serial0 in aliasesAdrian Schmutzler2021-02-224-4/+0
| | | | | | | | These were redefines of the same value already set in the SoC dtsi files. Reported-by: Shiji Yang <yangshiji66@qq.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: correct/add Phicomm K2x WAN/label MAC addressShiji Yang2021-02-221-4/+4
| | | | | | | | | | | | | | Phicomm K2G: add missing label_mac Phicomm PSG1218A & PSG1218B: The previous wan mac was set as factory@0x28 +1 (originally based on the default case for the ramips target), but the correct wan mac is factory@0x28 -1, being equal to factory@0x2e. Signed-off-by: Shiji Yang <yangshiji66@qq.com> [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: overwrite reset gpio properties in EX6150 DTSStijn Segers2021-02-201-0/+3
| | | | | | | | | | | | | | | The Netgear EX6150 can, just like the D-Link DIR-860L rev B1, fail to initialise both radios in some cases. Add the reset GPIOs explicitly so the PCI-E devices get re-initialised properly. See also FS #3632. Error shows up in dmesg as follows: [ 1.560764] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK) Tested-by: Kurt Roeckx <kurt@roeckx.be> Signed-off-by: Stijn Segers <foss@volatilesystems.org> [removed period from commit title] Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: use lzma-loader for Wevo devicesSeo Suchan2021-02-191-0/+2
| | | | | | | | | | As kernel size increased it start to fail to load squishfs image, using lzma-loader fixed it. wevo_11acnas is almost same device as w2914ns-v2 except ram size, so I expect same thing would've happen in that device too. Signed-off-by: Seo Suchan <abnoeh@mail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* ramips: mt7621: add TP-Link EAP235-Wall supportSander Vanheule2021-02-193-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TP-Link EAP235-Wall is a wall-mounted, PoE-powered AC1200 access point with four gigabit ethernet ports. When connecting to the device's serial port, it is strongly advised to use an isolated UART adapter. This prevents linking different power domains created by the PoE power supply, which may damage your devices. The device's U-Boot supports saving modified environments with `saveenv`. However, there is no u-boot-env partition, and saving modifications will cause the partition table to be overwritten. This is not an issue for running OpenWrt, but will prevent the vendor FW from functioning properly. Device specifications: * SoC: MT7621DAT * RAM: 128MiB * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (MT7603EN): b/g/n, 2x2 * Wireless 5GHz (MT7613BEN): a/n/ac, 2x2 * Ethernet: 4× GbE * Back side: ETH0, PoE PD port * Bottom side: ETH1, ETH2, ETH3 * Single white device LED * LED button, reset button (available for failsafe) * PoE pass-through on port ETH3 (enabled with GPIO) Datasheet of the flash chip specifies a maximum frequency of 33MHz, but that didn't work. 20MHz gives no errors with reading (flash dump) or writing (sysupgrade). Device mac addresses: Stock firmware uses the same MAC address for ethernet (on device label) and 2.4GHz wireless. The 5GHz wireless address is incremented by one. This address is stored in the 'info' ('default-mac') partition at an offset of 8 bytes. From OEM ifconfig: eth a4:2b:b0:...:88 ra0 a4:2b:b0:...:88 rai0 a4:2b:b0:...:89 Flashing instructions: * Enable SSH in the web interface, and SSH into the target device * run `cliclientd stopcs`, this should return "success" * upload the factory image via the web interface Debricking: U-boot can be interrupted during boot, serial console is 57600 baud, 8n1 This allows installing a sysupgrade image, or fixing the device in another way. * Access serial header from the side of the board, close to ETH3, pin-out is (1:TX, 2:RX, 3:GND, 4:3.3V), with pin 1 closest to ETH3. * Interrupt bootloader by holding '4' during boot, which drops the bootloader into its shell * Change default 'serverip' and 'ipaddr' variables (optional) * Download initramfs with `tftpboot`, and boot image with `bootm` # tftpboot 84000000 openwrt-initramfs.bin # bootm Revert to stock: Using the tplink-safeloader utility from the firmware-utils package, TP-Link's firmware image can be converted to an OpenWrt-compatible sysupgrade image: $ ./staging_dir/host/bin/tplink-safeloader -B EAP235-WALL-V1 \ -z EAP235-WALLv1_XXX_up_signed.bin -o eap235-sysupgrade.bin This can then be flashed using the OpenWrt sysupgrade interface. The image will appear to be incompatible and must be force flashed, without keeping the current configuration. Known issues: - DFS support is incomplete (known issue with MT7613) - MT7613 radio may stop responding when idling, reboot required. This was an issue with the ddc75ff704 version of mt76, but appears to have improved/disappeared with bc3963764d. Error notice example: [ 7099.554067] mt7615e 0000:02:00.0: Message 73 (seq 1) timeout Hardware was kindly provided for porting by Stijn Segers. Tested-by: Stijn Segers <foss@volatilesystems.org> Signed-off-by: Sander Vanheule <sander@svanheule.net>