 4c9cae1906
			
		
	
	4c9cae1906
	
	
	
		
			
			Hardware specification: ======== SoC: Qualcomm IPQ8174 Flash: 1GB (Micron MT29F8G08ABBCAH4 or AMD/Spansion S34MS08G2) RAM: 2GB (2x Kingston B5116ECMDXGJD or ESMT M15T2G16128A DDR3L) Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 5GHz ax 2x2 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 (low band) WiFi2: 2.4GHz ax 2x2 (Qualcomm QCN5024 + Skyworks SKY85340-11) WiFi3: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 100-177 (high band) LED: 1x RGB status (NXP PCA9633) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions: ======== 1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin image. More details can be found here: https://support.linksys.com/kb/article/6564-en/ After first boot check actual partition: - fw_printenv -n boot_part and install firmware on second partition using command in case of 2: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 2. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd21 0 0 - nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 - nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX Stop u-boot and run: - usb start && usbboot $loadaddr 0 && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX4300_1.0.4.215382_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX4300_1.0.4.215382_prod.img alt_kernel 5. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX Set u-boot env: - fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr' - fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' Co-authored-by: Qiyuan Zhang <zhang.github@outlook.com> Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16070 (cherry picked from commit 4d310b176be9eea162159f2501e650ebbd6605e9) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [ -e /etc/config/ubootenv ] && exit 0
 | |
| 
 | |
| touch /etc/config/ubootenv
 | |
| 
 | |
| . /lib/uboot-envtools.sh
 | |
| . /lib/functions.sh
 | |
| 
 | |
| board=$(board_name)
 | |
| 
 | |
| case "$board" in
 | |
| dynalink,dl-wrx36|\
 | |
| netgear,rax120v2|\
 | |
| netgear,wax218|\
 | |
| netgear,wax620|\
 | |
| netgear,wax630)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
 | |
| 	;;
 | |
| compex,wpq873|\
 | |
| edgecore,eap102|\
 | |
| zyxel,nbg7815)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
 | |
| 	;;
 | |
| edimax,cax1800)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
 | |
| 	;;
 | |
| linksys,mx4200v1|\
 | |
| linksys,mx4200v2|\
 | |
| linksys,mx5300|\
 | |
| linksys,mx8500)
 | |
| 	idx="$(find_mtd_index u_env)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
 | |
| 	;;
 | |
| linksys,mx4300)
 | |
| 	idx="$(find_mtd_index u_env)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x40000" "1"
 | |
| 	;;
 | |
| netgear,sxr80|\
 | |
| netgear,sxs80|\
 | |
| tplink,eap660hd-v1)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000"
 | |
| 	;;
 | |
| redmi,ax6|\
 | |
| xiaomi,ax3600|\
 | |
| xiaomi,ax9000)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
 | |
| 	idx2="$(find_mtd_index bdata)"
 | |
| 	[ -n "$idx2" ] && \
 | |
| 		ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x10000" "0x20000"
 | |
| 	;;
 | |
| prpl,haze)
 | |
| 	mmcpart="$(find_mmc_part 0:APPSBLENV)"
 | |
| 	[ -n "$mmcpart" ] && \
 | |
| 		ubootenv_add_uci_config "$mmcpart" "0x0" "0x40000" "0x400" "0x100"
 | |
| 	;;
 | |
| asus,rt-ax89x|\
 | |
| qnap,301w)
 | |
| 	idx="$(find_mtd_index 0:appsblenv)"
 | |
| 	[ -n "$idx" ] && \
 | |
| 		ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x20000" "0x20000" "1"
 | |
| 	;;
 | |
| spectrum,sax1v1k)
 | |
| 	mmcpart="$(find_mmc_part 0:APPSBLENV)"
 | |
| 	[ -n "$mmcpart" ] && \
 | |
| 		ubootenv_add_uci_config "$mmcpart" "0x0" "0x40000" "0x40000" "1"
 | |
| 	;;
 | |
| esac
 | |
| 
 | |
| config_load ubootenv
 | |
| config_foreach ubootenv_add_app_config
 | |
| 
 | |
| exit 0
 |