mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-10-23 21:24:26 +00:00
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. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_homewrk-initramfs-uImage.itb of=/dev/sdX Connect serial console (JST PH 6-pin connector): - 1 - GND, 2 - TX, 4 - RX (115200, 8N1, 3.3V) Stop u-boot and run: - usb start && usbboot 44000000 0 && bootm 44000000 Write firmware to the flash from initramfs: - sysupgrade -n openwrt-qualcommax-ipq807x-linksys_homewrk-squashfs-sysupgrade.bin or - ubiformat /dev/mtd22 -y -f openwrt-qualcommax-ipq807x-linksys_homewrk-squashfs-factory.ubi 2. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_homewrk-initramfs-uImage.itb of=/dev/sdX Set u-boot env: - fw_setenv bootusb 'usb start && usbboot 44000000 0 && bootm 44000000' - fw_setenv bootcmd 'run bootusb; bootipq' Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17463 Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17985 Signed-off-by: Robert Marko <robimarko@gmail.com>
135 lines
3.5 KiB
Bash
135 lines
3.5 KiB
Bash
#!/bin/sh
|
|
|
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
|
|
|
. /lib/functions/caldata.sh
|
|
|
|
board=$(board_name)
|
|
|
|
case "$FIRMWARE" in
|
|
"ath11k/IPQ8074/hw2.0/cal-ahb-c000000.wifi.bin")
|
|
case "$board" in
|
|
asus,rt-ax89x)
|
|
CI_UBIPART="UBI_DEV"
|
|
caldata_extract_ubi "Factory" 0x1000 0x20000
|
|
;;
|
|
arcadyan,aw1000|\
|
|
buffalo,wxr-5950ax12|\
|
|
cmcc,rm2-6|\
|
|
compex,wpq873|\
|
|
dynalink,dl-wrx36|\
|
|
edgecore,eap102|\
|
|
edimax,cax1800|\
|
|
linksys,mx5300|\
|
|
netgear,wax218|\
|
|
qnap,301w|\
|
|
redmi,ax6|\
|
|
xiaomi,ax3600|\
|
|
xiaomi,ax9000|\
|
|
yuncore,ax880|\
|
|
zte,mf269)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
;;
|
|
linksys,homewrk|\
|
|
linksys,mx4200v1|\
|
|
linksys,mx8500)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
ath11k_remove_regdomain
|
|
;;
|
|
linksys,mx4200v2)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
ath11k_patch_mac $(macaddr_add $label_mac 2) 0
|
|
ath11k_patch_mac $(macaddr_add $label_mac 1) 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 3) 2
|
|
ath11k_remove_regdomain
|
|
ath11k_set_macflag
|
|
;;
|
|
linksys,mx4300)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
ath11k_patch_mac $(macaddr_add $label_mac 2) 0
|
|
ath11k_patch_mac $(macaddr_add $label_mac 1) 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 3) 2
|
|
ath11k_remove_regdomain
|
|
;;
|
|
netgear,rax120v2)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
ath11k_patch_mac $(mtd_get_mac_binary boarddata1 0xc) 0
|
|
ath11k_patch_mac $(mtd_get_mac_binary boarddata1 0x0) 1
|
|
ath11k_patch_mac $(mtd_get_mac_binary boarddata1 0x6) 2
|
|
ath11k_set_macflag
|
|
;;
|
|
netgear,sxr80|\
|
|
netgear,sxs80)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(get_mac_label)
|
|
ath11k_patch_mac $(mtd_get_mac_binary boarddata1 0x0c) 0
|
|
#boarddata1 doesn't have a MAC for the 2G interface
|
|
ath11k_patch_mac $(macaddr_setbit_la $label_mac) 1
|
|
ath11k_patch_mac $(mtd_get_mac_binary boarddata1 0x12) 2
|
|
ath11k_set_macflag
|
|
;;
|
|
netgear,wax620)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(get_mac_label)
|
|
ath11k_patch_mac $(macaddr_add $label_mac -31) 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 1) 0
|
|
ath11k_set_macflag
|
|
;;
|
|
netgear,wax630)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(get_mac_label)
|
|
ath11k_patch_mac $(macaddr_add $label_mac -31) 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 1) 0
|
|
ath11k_patch_mac $(macaddr_add $label_mac 33) 2
|
|
ath11k_set_macflag
|
|
;;
|
|
prpl,haze|\
|
|
spectrum,sax1v1k)
|
|
caldata_extract_mmc "0:ART" 0x1000 0x20000
|
|
;;
|
|
tplink,eap660hd-v1)
|
|
caldata_from_file "/tmp/factory_data/radio" 0 0x20000
|
|
label_mac=$(get_mac_binary /tmp/factory_data/default-mac 0)
|
|
ath11k_patch_mac $label_mac 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 1) 0
|
|
ath11k_set_macflag
|
|
;;
|
|
zbtlink,zbt-z800ax)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(get_mac_label)
|
|
ath11k_patch_mac $(macaddr_add $label_mac -1) 0
|
|
ath11k_patch_mac $(macaddr_add $label_mac -2) 1
|
|
ath11k_set_macflag
|
|
;;
|
|
zyxel,nbg7815)
|
|
caldata_extract "0:art" 0x1000 0x20000
|
|
label_mac=$(get_mac_label)
|
|
ath11k_patch_mac $(macaddr_add $label_mac 3) 0
|
|
ath11k_patch_mac $(macaddr_add $label_mac 2) 1
|
|
ath11k_patch_mac $(macaddr_add $label_mac 4) 2
|
|
ath11k_set_macflag
|
|
;;
|
|
esac
|
|
;;
|
|
"ath11k/QCN9074/hw1.0/cal-pci-0000:01:00.0.bin"|\
|
|
"ath11k/QCN9074/hw1.0/cal-pci-0001:01:00.0.bin")
|
|
case "$board" in
|
|
linksys,mx8500)
|
|
caldata_extract "0:art" 0x26800 0x20000
|
|
ath11k_remove_regdomain
|
|
;;
|
|
prpl,haze)
|
|
caldata_extract_mmc "0:ART" 0x26800 0x20000
|
|
;;
|
|
xiaomi,ax9000)
|
|
caldata_extract "0:art" 0x26800 0x20000
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
exit 1
|
|
;;
|
|
esac
|