mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-14 02:19:06 +04:00
This commit adds support for Askey SBE1V1K. Device specification -------------------- SoC: Qualcomm IPQ9570 RAM: Micron (2GB) Flash: 8GB eMMC Ethernet: 1x 10G RTL8261BE 1x 2.5G QCA8081 2x 1G QCA8075 Wi-Fi: QCN6214 2.4GHz 4x4 QCN6274 5GHz 4x4 QCN6274 6GHz 4x4 LEDs: 1 LED, power/status Buttons: 1 reset USB ports: none Bootloader: U-Boot 1.0.9 [spf12.2_CSU2] (Jun 28 2024 - 17:47:10 +0000) Installation (serial required): **NOTE** This procedure requires glitching the eMMC. It is very possible that you may damage or corrupt your bootloader in doing so. Proceed with caution, and always make a full eMMC backup! **NOTE** If the bootloader has trouble accessing eMMC due to glitching it, any U-Boot env updates are written directly to the start of flash, overwriting the bootloader. For this reason, it is strongly NOT recommended to make any persistent U-Boot env changes from U-Boot itself; do this in Linux. - Open the chasis and connect to the serial port. - While booting, short eMMC CLK to UART VCC during FIT image load to enter U-Boot. - setenv ipaddr 192.168.1.1 - setenv serverip 192.168.1.2 **NOTE** DO NOT SAVE THE ENV - Set your PC IP address to 192.168.1.2 and host the initramfs on a tftp server. - tftpboot 0x44000000 initramfs.itb - bootm 0x44000000 If you get an error and it reboots, try loading to 0x80000000. In the initramfs: - fw_setenv bootargs 'console=ttyMSM0,115200n8 rootwait root=/dev/mmcblk0p27' - fw_setenv bootcmd 'echo "Hit ctrl+c for shell..."; if sleep 3; then run do_boot; else do_nothing; fi;' - fw_setenv do_boot 'mmc read 0x44000000 0x00014022 0x3800; bootm 0x44000000' - Install a sysupgrade U-Boot hardcodes the bootargs to reset on each boot, which is why it is necessary for the bootcmd to override them. Thankfully, the vendor did not bother to secure U-Boot any further. As long as the vendor software does not boot, the U-Boot env will stay. If a vendor image boots, the U-Boot env will revert to default. The vendor U-Boot also ignores bootdelay, which is why we add a dummy sleep to allow the user time to drop into a shell without needing to glitch any more. Co-authored-by: Kenneth Kasilag <kenneth@kasilag.me> Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com> Link: https://github.com/openwrt/openwrt/pull/21586 Signed-off-by: Robert Marko <robimarko@gmail.com>