aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mediatek
Commit message (Collapse)AuthorAge
...
* mediatek: BananaPi BPi-R3 bootloader updateDaniel Golle2024-02-15
| | | | | | | | | | | | | | | * Switch to all-UBI layout on SPI-NAND * use fitblk driver instead of uImage.FIT partition parser * adapt sysupgrade * bump COMPAT_VERSION Remove BROKEN mark now that all needed changes are done. Boards running images generated before this commit will require full reflash of the bootloader, re-install from SD card is the easiest way to achieve that. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: prepare BananaPi BPi-R3 for upcoming modernizationDaniel Golle2024-02-15
| | | | | | Mark board as broken until the complete boot stack has been updated. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-envtools: filogic: add support for BananaPi R4Daniel Golle2024-02-15
| | | | | | | | Add environment settings for the BananaPi BPI-R4 router board which can boot from (and store its bootloader environment on) micro SD card, SPI-NAND and eMMC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: add support for BananaPi BPI-R4 boardDaniel Golle2024-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7988A (4x Cortex-A73) RAM: 4 GiB DDR4 Flash: 128 MiB Winbond SPI-NAND MMC: 8 GiB eMMC *or* microSD (cannot be used both) ETH: 4x 1GE (1x WAN, 3x LAN) 2x SFP+ (10G, 5G, 2.5G, 1G) USB: on-board USB 3.2 4-port hub 1x USB 3.2 port (type A connector) 1x M.2 for 4G/5G modem 2x mPCIe for additional modems WiFi: optional MediaTek MT7996 Wi-Fi 7 module (using 2x PCIe gen3 x2 on the mPCIe slots and 12V power) Installation ------------ 1. Decompress and write the sdcard image to a micro SD card and use that to boot the R4 (both dip switches in upper position). 2. Use the bootloader menu accessible via the serial console to install to SPI-NAND. 3. Switch to boot from SPI-NAND and install to eMMC. Known issues ------------ - The RST button is hard-wired to the SoC reset and can't be read from software. This can be changed by modifying the board (ie. moving a 0-ohm resistor). However, in order to maintain compatibility with the board as it comes from factory the button isn't used by OpenWrt and the WPS button is used as factory/reset button instead. - various small things still need to be fixed in DT Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: add patch for xsphy driver to support pcie2 on MT7988Daniel Golle2024-02-15
| | | | | | | Import patch from MediaTek SDK which allows using the third PCIe host controller of the MT7988 SoC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: dts: mt7988: add uart1 and uart2Daniel Golle2024-02-15
| | | | | | Add device tree nodes for uart1 and uart2 of the MT7988 SoC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: pinctrl-mt7988: add additional uart1_2_lite groupDaniel Golle2024-02-15
| | | | | | | | Add UART pinctrl group for using only pins 80 and 81 for uart1. This is needed on the BPi-R4 as RTS/CTS signals are used for other on-board functions. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: pinctrl-mt7988: add pinconf mapDaniel Golle2024-02-15
| | | | | | Add pull-up/pull-down configuration for pins of MT7988. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: switch to pending XFI 10G Ethernet driversDaniel Golle2024-02-15
| | | | | | | | | Replace previous patch adding paths and SerDes modes with patch series pending upstream adding dedicated drivers for XFI T-PHY and USXGMII PCS, extends LynxI PCS to be a standalone platform driver and as a consequence makes much less changes to the actual Ethernet driver mtk_eth_soc. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: backport a hell of thermal commitsDaniel Golle2024-02-15
| | | | | | | Backport almost 50 commits from upstream Linux to improve thermal drivers for MediaTek SoCs and add new LVTS driver for MT7988. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: replace mt7988 clk files with accepted patchesDaniel Golle2024-02-15
| | | | | | Replace clock drivers for MT7988 with backported upstream commits. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: backport phylink changes from mainline LinuxDaniel Golle2024-02-15
| | | | | | | Let's pick a bunch of useful phylink changes which allow us to keep drivers in sync with mainline Linux. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: switch to Linux version 6.1Daniel Golle2024-02-15
| | | | | | Drop support for Linux 5.15 and switch to Linux 6.1. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: import pending patches adding support for NVMEM on UBI and MMCDaniel Golle2024-02-15
| | | | | | | Similar to supporting nvmem-layouts on MTD devices, also allow referencing UBI and MMC devices in DT. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: allow skipping deprecated uImage.FIT partition parserDaniel Golle2024-02-15
| | | | | | | | | | | | In order to allow gradually migrating the boards currently using the uImage.FIT partition (deprecated/rejected) parser to the new fitblk driver, skip the partition parser code in case the new fitblk driver (which serves the same purpose) is used. As an indicator for the use of the new fitblk driver, check if the /chosen/rootdisk property is present in the Device Tree. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: move uImage.FIT partition parser to mediatek targetDaniel Golle2024-02-15
| | | | | | | | | | The partition parser approach has been rejected upstream, it will be replaced by a small block driver which is the solution suggestion by upstream maintainers. As the partition parser has only been used by the mediatek target, as a first step, move it there. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: fixup mt7988a DTS coding styleRafał Miłecki2024-02-13
| | | | | | Use coding style as described as preferred in upstream DTS Coding Style. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mediatek: filogic: reorder mt7988a DTS propertiesRafał Miłecki2024-02-13
| | | | | | | Use order described as preferred in DTS Coding Style. Mostly just move "compatible", "reg", "ranges" and "status" properties. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mediatek: fix failsafe ethernet for NWA50AX ProDavid Bauer2024-02-11
| | | | | | | | | The NWA50AX Pro only has a eth0 interface for its only ethernet port. Use this port for preinit. Fixes non-working network in failsafe mode. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 6.1 to 6.1.76John Audia2024-02-08
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.76 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me>
* mediatek: convert to new LED color/function format where possibleChristian Marangi2024-02-07
| | | | | | | | Initial conversion to new LED color/function format and drop label format where possible. The same label is composed at runtime. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mediatek: drop redundant label with new LED color/function formatChristian Marangi2024-02-07
| | | | | | | | | Drop redundant label with new LED color/function format declared. This was needed previously when the new format wasn't supported by leds.sh functions script. Now that is supported this property can be removed in favor of the new format. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 6.1: backport patch to enable PHYLIB_LEDS kconfig dynamicallyChristian Marangi2024-02-05
| | | | | | | | | | Backport patch to enable PHYLIB_LEDS kconfig dynamically instead of having to select this config for every target that makes use of PHY LEDs API. All affected patch are automatically refreshed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mediatek: add Comfast CF-E393AX supportDavid Bentham2024-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comfast CF-E393AX is a dual-band Wi-Fi 6 POE ceiling mount access point. Oem firmware is a custom openwrt 21.02 snapshot version. We can gain access via ssh once we remove the root password. Hardware specification: SoC: MediaTek MT7981A 2x A53 Flash: 128 MB SPI-NAND RAM: 256MB DDR3 Ethernet: 1x 10/100/1000 Mbps built-in PHY (WAN) 1x 10/100/1000/2500 Mbps MaxLinear GPY211C (LAN) Switch: MediaTek MT7531AE WiFi: MediaTek MT7976D LEDS: 1x (Red, Blue and Green) Button: Reset UART: 3.3v, 115200n8 -------------------------- | Layout | | ----------------- | | 4 | VCC GND TX RX | <= | | ----------------- | -------------------------- Gain SSH access: 1. Login into web interface (http://apipaddress/computer/login.html), and download the configuration(http://apipaddress/computer/config.html). 2. Rename downloaded backup config - 'backup.file to backup.tar.gz', Enter 'fakeroot' command then decompress the configuration: tar -zxf backup.tar.gz 3. Edit 'etc/shadow', update (remove) root password: With password = 'root:$1$xf7D0Hfg$5gkjmvgQe4qJbe1fi/VLy1:19362:0:99999:7:::' 'root:$1$xf7D0Hfg$5gkjmvgQe4qJbe1fi/VLy1:19362:0:99999:7:::' to Without password = 'root::0:99999:7:::' 'root::0:99999:7:::' 4. Repack 'etc' directory back to a new backup file: tar -zcf backup-ssh.tar.gz etc/ 5. Rename new config tar.gz file to 'backup-ssh.file' Exit fakeroot - 'exit' 6. Upload new configuration via web interface, now you can SSH with the following: 'ssh -vv -o HostKeyAlgorithms=+ssh-rsa \ -o PubkeyAcceptedAlgorithms=+ssh-rsa root@192.168.10.1'. Backup the mtd partitions - https://openwrt.org/docs/guide-user/installation/generic.backup 7. Copy openwrt factory firmware to the tmp folder to install via ssh: 'scp -o HostKeyAlgorithms=+ssh-rsa \ -o PubkeyAcceptedAlgorithms=+ssh-rsa \ *-mediatek-filogic-comfast_cf-e393ax-squashfs-factory.bin \ root@192.168.10.1:/tmp/' 'sysupgrade -n -F \ /tmp/*--mediatek-filogic-comfast_cf-e393ax-squashfs-factory.bin' 8. Once led has stopped flashing - Connect via ssh with the default openwrt ip address - 'ssh root@192.168.1.1' 9. SSH copy the openwrt sysupgrade firmware and upgrade as per the default instructions. Signed-off-by: David Bentham <db260179@gmail.com>
* kernel: bump 5.15 to 5.15.148John Audia2024-02-01
| | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.148 Removed upstreamed: generic/hack-5.15/321-powerpc_crtsavres_prereq.patch[1] Manually rebased: target/linux/octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.148&id=0b11a145eb00d51f7ef18cfcae587b93f9adb1e9 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v5.15.148&id=b67064bd372300a75293efbbc70624996dccffd4 Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 6.1 to 6.1.75John Audia2024-02-01
| | | | | | | | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.75 Removed upstreamed: generic/hack-6.1/321-powerpc_crtsavres_prereq.patch[1] generic/pending-6.1/540-ksmbd-only-v2-leases-handle-the-directory.patch[2] Rebased: bcm27xx/patches-6.1/950-0670-fbdev-Don-t-cancel-deferred-work-if-pagelist-empty.patch[3] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.75&id=16b88e68b85d5520c28498bb847358ff6300cb90 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/fs/smb?h=v6.1.75&id=c866866c795296d3637ab0d48a3d8a3ef5d6f4a3 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.75&id=81f444f22816a82ada2cc787a2845cffc8c584a6 Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me>
* generic: 6.1: backport at803x split patchesChristian Marangi2024-02-01
| | | | | | | | | | | | | | Backport at803x split patches merged upstream to tidy things up for the at803x PHY driver. New Kernel config are introduced hence any user needs to be updated. Downstream ipq40xx patch require rework to correctly move them to the qcom specific PHY directory. All affected patch automatically refreshed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mediatek: fixes for Ethernet on MT7988 SoCDaniel Golle2024-02-01
| | | | | | | | * fix switch ports with modes other than 1000M/Full * set 32-bit dma_coherent_mask to get PPE to work with 4 GiB of RAM * sync driver for built-in 1GE PHY with MediaTek SDK sources Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* generic: 5.15: backport upstream Aquantia PHY firmware loader patchesChristian Marangi2024-01-26
| | | | | | | | | | | | | | Backport merged upstream patch that adds support for firmware loader from NVMEM or attached filesystem for Aquantia PHYs. Refresh all kernel patches affected by this change. Also update the path for aquantia .ko that got moved to dedicated directory upstream. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> [rmilecki: port to 5.15] Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mediatek: drop NMBM layout for Xiaomi WR30UChuanhong Guo2024-01-23
| | | | | | | | | This reverts commit dcdcfc15115a1038e90f21f5aa41726d9c7e2fe5. This is a firmware for third-party u-boot mod, which should not be carried here by us. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* mediatek: add support for JDCloud RE-CP-03Tianling Shen2024-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7986A 4x A53 Flash: 128GB eMMC RAM: 1GB DDR4 Ethernet: 4x 1GbE, 1x 2.5GbE (RTL8221B) Switch: MediaTek MT7531AE WiFi: MediaTek MT7976C Button: Reset, Joylink Power: DC 12V 2A Flash instructions: 1. Download and flash the vendor migration firmware via webUI: https://firmware.download.immortalwrt.eu.org/cnsztl/mediatek/filogic/openwrt-mediatek-mt7986-jdcloud_re-cp-03-vendor-migration.bin (Default address is 192.168.68.1, user root, no password) 2. After device has booted up, write new GPT table: dd if=openwrt-mediatek-filogic-jdcloud_re-cp-03-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync 3. Erase and write new BL2: echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync dd if=openwrt-mediatek-filogic-jdcloud_re-cp-03-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync 4. Erase and write new FIP: dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync dd if=openwrt-mediatek-filogic-jdcloud_re-cp-03-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync 5. Set static IP on your PC: IP 192.168.1.254/24, GW 192.168.1.1 6. Serve OpenWrt initramfs image using TFTP server. 7. Cut off the power and re-engage, wait for TFTP recovery to complete. 8. After OpenWrt has booted, perform sysupgrade. 9. Additionally, if you want to have eMMC recovery boot feature: (Don't worry! You will always have TFTP recovery boot feature.) dd if=openwrt-mediatek-filogic-jdcloud_re-cp-03-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* kernel: bump 6.1 to 6.1.72John Audia2024-01-19
| | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.72 Manually rebased: generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch All other patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me>
* mediatek: fix WED + wifi resetFelix Fietkau2024-01-19
| | | | | | | | | | The WLAN + WED reset sequence relies on being able to receive interrupts from the card, in order to synchronize individual steps with the firmware. When WED is stopped, leave interrupts running and rely on the driver turning off unwanted ones. WED DMA also needs to be disabled before resetting. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: refresh patches-6.1Daniel Golle2024-01-17
| | | | | | | | Refresh patches for Linux 6.1 which no longer apply cleanly after adding patches to fix ethernet rx hang issue on MT7981/MT7986. Fixes: ede34465de ("mediatek: fix ethernet rx hang issue on MT7981/MT7986") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: fix ethernet rx hang issue on MT7981/MT7986Felix Fietkau2024-01-16
| | | | | | Add patches by Lorenzo/Daniel to use QDMA instead of ADMAv2 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: GL-MT6000: Change LED colorsThomas Schröder2024-01-15
| | | | | | | | | | | | | | | | | | Fine tuning PR: openwrt/openwrt#14355 Ref: 5a82bb909bf1 ("mediatek: GL-MT6000: Add missing LED state definitions") As the only LED is using white in the stock firmware when the device is running and blue for the bootloader I suggest following changes: - Using blue for the BL and preinit+failsafe - White for normal operation (like the original FW) and sysupgrade With this changes it's clear by looking to the LED in which operation mode the device is and a possible BL stuck can be seen easily. Tested with [GL-MT6000](https://openwrt.org/toh/gl.inet/gl-mt6000). Signed-off-by: Thomas Schröder <tschroeder_github@outlook.com> Tested-by: Hannu Nyman <hannu.nyman@iki.fi>
* mediatek: TOTOLINK A8000RU: add missing usb3 packageChukun Pan2024-01-14
| | | | | | This device has a usb 3.0 port, so add it. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: fixes typo for spi propertiesChukun Pan2024-01-14
| | | | | | Same as commit 3674689, correct 'buswidth' to 'bus-width'. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: YunCore AX835: convert to nvmem-layoutChukun Pan2024-01-14
| | | | | | | The nvmem-cells is deprecated. Also simplify mac address settings. Fixes: b4086f4 ("mediatek: add support for YunCore AX835") Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: Cudy WR3000: simplify mac address setupChukun Pan2024-01-14
| | | | | | | | The mac address of the network port under the switch is the same as the corresponding gmac by default, so there is no need to repeat the setting. Compile test only. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: Cetron CT3003: move mac address setup to dtsChukun Pan2024-01-14
| | | | | | | It looks like we can put the mac address setting into the device tree. Compile test only. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: filogic: refresh kernel configChukun Pan2024-01-14
| | | | | | | Refresh kernel config with 'make kernel_oldconfig'. Also disable the useless rtl8367s gsw driver. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: mt7622: refresh kernel configChukun Pan2024-01-14
| | | | | | Refresh kernel config with 'make kernel_oldconfig'. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: fix BPI-R3 wifi mac addressFelix Fietkau2024-01-09
| | | | | | | | Setting/clearing bits on the first byte of the mac address causes collisions when using multiple SSIDs on both PHYs. Change the allocation to alter the last byte instead. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: disable btif for mt7622 devicesFelix Fietkau2024-01-09
| | | | | | It breaks built-in SoC WLAN. Can be re-enabled after we've figured out the cause Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: add support for YunCore AX835Leon M. Busch-George2024-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7981B 2x A53 Flash: 16MB NOR RAM: 256MB Ethernet: 2x 10/100/1000 Mbps Switch: MediaTek MT7531AE WiFi: MediaTek MT7976C Button: Reset Power: DC 12V 1A, PoE 802.3af 48V Flash instructions: Option #1 - SSH I was able to SSH into the stock firmware of my device. 1. Attach the router to the network 2. Use scp (-O) to copy the sysupgrade image 3. Connect using SSH and run `sysupgrade -n` Option #2 - U-Boot One way to use the bootloader for flashing is using TFTP: 1. Connect to the router using an ethernet cable 2 Spin up a TFTP server serving the sysupgrade file 3. Open the case and attach a UART 4. Attach power to the router and interrupt the countdown by pressing any key 5. Select option #2 (Upgrade firmware) 6. Enter IP address information and image name 7. Wait patiently Co-Authored-By: Enrique Rodríguez Valencia <enrique.rodriguez@galgus.net> Co-Authored-By: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* mediatek: GL-MT6000: Add missing LED state definitionsHannu Nyman2024-01-09
| | | | | | | | | | | | | | | | | | | | Adjust LED names and provide the OpenWrt status indicator aliases to actually use LEDs by the OpenWrt boot & sysupgrade processes. * Name both LEDs clearly by the color * Add the missing OpenWrt LED status indicator aliases and remove the now unnecessary default status from blue LED After this commit, the LEDs are used as: * bootloader, really early Linux boot: blue LED is on * preinit/failsafe: white LED blinks rapidly * late boot: white LED blinks slowly * boot completed, running normally: blue LED is on * sysupgrade: white LED blinks Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* mediatek: filogic: add support for Xiaomi AX3000TDim Fish2024-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **SoC**: MediaTek MT7981B 2x A53 **Flash**: ESMT F50L1G41LB 128MB **RAM**: NT52B128M16JR-FL 256MB **Ethernet**: 4x 10/100/1000 Mbps **Switch**: MediaTek MT7531AE **WiFi**: MediaTek MT7976C **Buttons**: Reset, Mesh **Power**: DC 12V 1A 1. Get ssh access. Supported stock firmware **1.0.47** ``` curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=*******/api/misystem/arn_switch" -d "open=1&model=1&level=%0Anvram%20set%20ssh_en%3D1%0A" curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=*******/api/misystem/arn_switch" -d "open=1&model=1&level=%0Anvram%20commit%0A" curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=*******/api/misystem/arn_switch" -d "open=1&model=1&level=%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%0A" curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=*******/api/misystem/arn_switch" -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A" curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=********/api/misystem/arn_switch" -d "open=1&model=1&level=%0Apasswd%20-d%20root%0A ``` 2. Backup stock partitions ``` nanddump -f /tmp/BL2.bin /dev/mtd1 nanddump -f /tmp/Nvram.bin /dev/mtd2 nanddump -f /tmp/Bdata.bin /dev/mtd3 nanddump -f /tmp/Factory.bin /dev/mtd4 nanddump -f /tmp/FIP.bin /dev/mtd5 nanddump -f /tmp/ubi.bin /dev/mtd8 nanddump -f /tmp/KF.bin /dev/mtd12 ``` Then transfer them to your computer in a safe place. 3. Get firmware information `cat /proc/cmdline` 4. Copy openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-factory.ubi to **/tmp** and flash If **firmware=0** ``` ubiformat /dev/mtd9 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-factory.ubi nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=1 nvram set flag_last_success=1 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit reboot ``` If **firmware=1** ``` ubiformat /dev/mtd8 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-factory.ubi nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=0 nvram set flag_last_success=0 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit reboot ``` Then reboot your router, it should boot to the OpenWrt initramfs system now. 5. Flash openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin `sysupgrade -n /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin` 1. Flash openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb `ubiformat /dev/mtd8 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb` `reboot` 2. Install kmod-mtd-rw `opkg update && opkg install kmod-mtd-rw` `insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1` 3. Format ubi and create new ubootenv volume ``` ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8 ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB ``` 4. *(Optional **-10Mb** free space) Add recovery boot feature.* ``` ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB ubiupdatevol /dev/ubi0_2 /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb ``` 5. Flash Openwrt U-Boot ``` mtd write /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-preloader.bin BL2 mtd write /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-bl31-uboot.fip FIP ``` 6. Flash openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade.itb `sysupgrade -n /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade.itb` 1. Force flash openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb `sysupgrade -F -n /tmp/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb` 2. Format ubi and Nvram ``` ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8 mtd erase Nvram ``` 3. Install kmod-mtd-rw `opkg update && opkg install kmod-mtd-rw` `insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1` 4. Flash stock images from backup ``` mtd write /tmp/BL2.bin BL2 mtd write /tmp/FIP.bin FIP mtd write /tmp/ubi.bin ubi ``` Then reboot your router, waiting it finished rollback in minutes. `ubiformat /dev/mtd7 -y -f /tmp/ubi.bin` Then reboot your router, waiting it finished rollback in minutes. Signed-off-by: Dim Fish <dimfish@gmail.com>
* kernel: bump 6.1 to 6.1.71John Audia2024-01-06
| | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.71 Manually rebased: gemini/patches-6.1/0002-usb-fotg210-Collect-pieces-of-dual-mode-controller.patch All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.146John Audia2024-01-06
| | | | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.146 Removed upstreamed: generic/hack-5.15/940-ksmbd-have-a-dependency-on-cifs-arc4.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.146&id=ac385518598f50dd1b9b41bd05f50ce9795481d5 Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>