Skip to content

Commit a1bf306

Browse files
PIPIPIG233666robimarko
authored andcommitted
qualcommax: ipq60xx: add Linksys MR7500 support
Codename: Divo Hardware specification: ======== SoC: Qualcomm IPQ6018 RAM: 512MB (2x ESMT 256MB DDR3L M15T2G16128A–DEBG2R) NAND Flash: 512MB (Macronix MX30UF4G18AC or SK Hynix H27S4G8F2EDA-BC) Ethernet: 1x 10/100/1000/2500/5000Mbps (Marvell AQR114C-B0) Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 6GHz ax 4x4@20/40/160 MHz (Qualcomm QCN9024 + Skyworks SKY85784-11) - channels 33-229 WiFi2: 5GHz ax 2x2@20/40/80 MHz (Qualcomm QCN5052 + Skyworks SKY85755-11) - channels 36-177 WiFi3: 2.4GHz ax 2x2@20/40 MHz (Qualcomm QCN5022 + Skyworks SKY8340-11) IoT: Bluetooth 5 (CSR8811) - not implemented LED: 1x RGB status + USB Blue (PWM) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions (Without Serial): ======== Open Linksys Web UI - http://192.168.1.1/ca or http://linksysxxxxx.lan/ca depending on your setup. xxxxx is the last 5 digits from the SN found on a sticker under the device. Click on the Linksys Logo to by-pass smart app registration. Login with your admin password. The default password can be found on the same sticker. To enter into the support mode, click on the “CA” link and the bottom of the page. Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button. Click start. Ignore all the prompts and warnings by click “yes” in all the popups. Flash instructions (With Serial): ======== 1. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd13 0 0 - nandwrite -p /dev/mtd13 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd15 0 0 - nandwrite -p /dev/mtd15 openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel 2. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda 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-ipq60xx-linksys_mr7500-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq60xx-linksys_mr7500-squashfs-factory.bin alt_kernel 3. Back to the OEM firmware: - mtd -e kernel -n write FW_MR7500_1.1.12.211919_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MR7500_1.1.12.211919_prod.img alt_kernel 4. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq60xx-linksys_mr7500-initramfs-uImage.itb of=/dev/sda 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' AQR firmware: ======== 0. Firmware extracting: To extract the firmware, use unblob (unblob.org) 1. Firmware loading: To properly load the firmware and initialize AQR PHY, we must use the u-boot aq_load_fw function. To do this, you need to modify u-boot env: With USB recovery: - fw_setenv bootcmd 'aq_load_fw; run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' and without: - fw_setenv bootcmd 'aq_load_fw; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' 2. Firmware updating: Newer firmware (AQR114C.cld) is available in the latest OEM firmware (https://downloads.linksys.com/support/assets/firmware/FW_MR7500_1.1.12.211919_prod.img). Copy AQR114C.cld to /lib/firmware/marvell Link: openwrt#17428 Signed-off-by: Weikai Kong <[email protected]> Link: openwrt/openwrt#18185 Signed-off-by: Robert Marko <[email protected]>
1 parent 2adc629 commit a1bf306

File tree

9 files changed

+589
-6
lines changed

9 files changed

+589
-6
lines changed

package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq60xx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ cambiumnetworks,xe3-4)
2121
;;
2222
glinet,gl-ax1800|\
2323
glinet,gl-axt1800|\
24+
linksys,mr7350|\
25+
linksys,mr7500)
26+
ubootenv_add_mtd "u_env" "0x0" "0x40000" "0x20000"
27+
;;
2428
netgear,wax214|\
2529
tplink,eap610-outdoor)
2630
ubootenv_add_mtd "0:appsblenv" "0x0" "0x40000" "0x20000"
2731
;;
28-
linksys,mr7350)
29-
ubootenv_add_mtd "u_env" "0x0" "0x40000" "0x20000"
30-
;;
3132
yuncore,fap650)
3233
ubootenv_add_mtd "0:appsblenv" "0x0" "0x10000" "0x10000"
3334
;;

package/firmware/ipq-wifi/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ ALLWIFIBOARDS:= \
4343
linksys_homewrk \
4444
linksys_mr5500 \
4545
linksys_mr7350 \
46+
linksys_mr7500 \
4647
linksys_mx2000 \
4748
linksys_mx4200 \
4849
linksys_mx5300 \
@@ -188,6 +189,7 @@ $(eval $(call generate-ipq-wifi-package,glinet_gl-axt1800,GL.iNet GL-AXT1800))
188189
$(eval $(call generate-ipq-wifi-package,linksys_homewrk,Linksys HomeWRK))
189190
$(eval $(call generate-ipq-wifi-package,linksys_mr5500,Linksys MR5500))
190191
$(eval $(call generate-ipq-wifi-package,linksys_mr7350,Linksys MR7350))
192+
$(eval $(call generate-ipq-wifi-package,linksys_mr7500,Linksys MR7500))
191193
$(eval $(call generate-ipq-wifi-package,linksys_mx2000,Linksys MX2000))
192194
$(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200))
193195
$(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300))

0 commit comments

Comments
 (0)