mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-09 06:22:54 +00:00
300b7fe85a
Hardware -------- SoC: Qualcomm IPQ4029 RAM: 512M DDR3 FLASH: - 128MB NAND (Macronix MX30LF1G18AC) - 4MB SPI-NOR (Macronix MX25R3235F) TPM: Atmel AT97SC3203 BLE: Texas Instruments CC2540T attached to ttyMSM0 ETH: Atheros AR8035 LED: System (red / green / amber) BTN: Reset The USB port on the device is (in contrast to other Aruba boards) real USB. The AP uses a CP2101 USB TTY converter on the board. Console baudrate is 9600 8n1. To enable a full list of commands in the U-Boot "help" command, execute the literal "diag" command. Installation ------------ 1. Get the OpenWrt initramfs image. Rename it to ipq40xx.ari and put it into the TFTP server root directory. Configure the TFTP server to be reachable at 192.168.1.75/24. Connect the machine running the TFTP server to the ethernet port of the access point. 2. Connect to the serial console. Interrupt autobooting by pressing Enter when prompted. 3. Configure the bootargs and bootcmd for OpenWrt. $ setenv bootargs_openwrt "setenv bootargs console=ttyMSM1,9600n8" $ setenv nandboot_openwrt "run bootargs_openwrt; ubi part aos1; ubi read 0x85000000 kernel; bootm 0x85000000" $ setenv ramboot_openwrt "run bootargs_openwrt; setenv ipaddr 192.168.1.105; setenv serverip 192.168.1.75; netget; set fdt_high 0x87000000; bootm" $ setenv bootcmd "run nandboot_openwrt" $ saveenv 4. Load OpenWrt into RAM: $ run ramboot_openwrt 5. After OpenWrt booted, transfer the OpenWrt sysupgrade image to the /tmp folder on the device. 6. Flash OpenWrt: Make sure you use the mtd partition with the label "ubi" here! $ ubidetach -p /dev/mtd1 $ ubiformat /dev/mtd1 $ sysupgrade -n /tmp/openwrt-sysupgrade.bin To go back to the stock firmware, simply reset the bootcmd in the bootloader to the original value: $ setenv bootcmd "boot" $ saveenv Signed-off-by: David Bauer <mail@david-bauer.net>
217 lines
7.3 KiB
Bash
217 lines
7.3 KiB
Bash
#!/bin/sh
|
|
|
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
|
|
|
. /lib/functions/caldata.sh
|
|
|
|
board=$(board_name)
|
|
|
|
case "$FIRMWARE" in
|
|
"ath10k/cal-pci-0000:01:00.0.bin")
|
|
case "$board" in
|
|
meraki,mr33)
|
|
caldata_extract_ubi "ART" 0x9000 0x844
|
|
caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844
|
|
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) +1)
|
|
;;
|
|
esac
|
|
;;
|
|
"ath10k/pre-cal-pci-0000:01:00.0.bin")
|
|
case "$board" in
|
|
asus,map-ac2200)
|
|
caldata_extract_ubi "Factory" 0x9000 0x2f20
|
|
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
|
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
|
;;
|
|
avm,fritzrepeater-3000)
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
|
|
;;
|
|
engenius,eap2200 |\
|
|
openmesh,a62)
|
|
caldata_extract "0:ART" 0x9000 0x2f20
|
|
;;
|
|
linksys,ea8300)
|
|
caldata_extract "ART" 0x9000 0x2f20
|
|
# OEM assigns 4 sequential MACs
|
|
ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4))
|
|
;;
|
|
esac
|
|
;;
|
|
"ath10k/pre-cal-ahb-a000000.wifi.bin")
|
|
case "$board" in
|
|
8dev,habanero-dvk |\
|
|
8dev,jalapeno |\
|
|
alfa-network,ap120c-ac |\
|
|
cilab,meshpoint-one |\
|
|
ezviz,cs-w3-wd1200g-eup |\
|
|
glinet,gl-b1300 |\
|
|
linksys,ea6350v3 |\
|
|
mobipromo,cm520-79f |\
|
|
qcom,ap-dk01.1-c1)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
;;
|
|
aruba,ap-303 |\
|
|
aruba,ap-303h |\
|
|
aruba,ap-365)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_binary mfginfo 0x1D)
|
|
;;
|
|
asus,map-ac2200)
|
|
caldata_extract_ubi "Factory" 0x1000 0x2f20
|
|
;;
|
|
asus,rt-ac58u)
|
|
CI_UBIPART=UBI_DEV
|
|
caldata_extract_ubi "Factory" 0x1000 0x2f20
|
|
;;
|
|
avm,fritzbox-4040)
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
|
|
;;
|
|
avm,fritzbox-7530 |\
|
|
avm,fritzrepeater-1200 |\
|
|
avm,fritzrepeater-3000)
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
|
|
;;
|
|
cellc,rtl30vw |\
|
|
compex,wpj419 |\
|
|
compex,wpj428 |\
|
|
engenius,eap1300 |\
|
|
engenius,eap2200 |\
|
|
openmesh,a42 |\
|
|
openmesh,a62 |\
|
|
qxwlan,e2600ac-c1 |\
|
|
qxwlan,e2600ac-c2 |\
|
|
unielec,u4019-32m)
|
|
caldata_extract "0:ART" 0x1000 0x2f20
|
|
;;
|
|
dlink,dap-2610)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac)
|
|
;;
|
|
engenius,emd1)
|
|
caldata_extract "0:ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr)
|
|
;;
|
|
engenius,ens620ext)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +2)
|
|
;;
|
|
linksys,ea8300)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
|
|
;;
|
|
meraki,mr33)
|
|
caldata_extract_ubi "ART" 0x1000 0x2f20
|
|
caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) +2)
|
|
;;
|
|
netgear,ex6100v2 |\
|
|
netgear,ex6150v2)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_binary dnidata 0x0)
|
|
;;
|
|
zyxel,nbg6617 |\
|
|
zyxel,wre6606)
|
|
caldata_extract "ART" 0x1000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
|
|
;;
|
|
esac
|
|
;;
|
|
"ath10k/pre-cal-ahb-a800000.wifi.bin")
|
|
case "$board" in
|
|
8dev,habanero-dvk |\
|
|
8dev,jalapeno |\
|
|
alfa-network,ap120c-ac |\
|
|
cilab,meshpoint-one |\
|
|
ezviz,cs-w3-wd1200g-eup |\
|
|
glinet,gl-b1300 |\
|
|
linksys,ea6350v3 |\
|
|
mobipromo,cm520-79f |\
|
|
qcom,ap-dk01.1-c1)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
;;
|
|
aruba,ap-303 |\
|
|
aruba,ap-303h |\
|
|
aruba,ap-365)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mfginfo 0x1D) +1)
|
|
;;
|
|
asus,map-ac2200)
|
|
caldata_extract_ubi "Factory" 0x5000 0x2f20
|
|
;;
|
|
asus,rt-ac58u)
|
|
CI_UBIPART=UBI_DEV
|
|
caldata_extract_ubi "Factory" 0x5000 0x2f20
|
|
;;
|
|
avm,fritzbox-4040)
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
|
|
;;
|
|
avm,fritzbox-7530 |\
|
|
avm,fritzrepeater-1200 |\
|
|
avm,fritzrepeater-3000)
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
|
|
/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
|
|
;;
|
|
cellc,rtl30vw |\
|
|
compex,wpj419 |\
|
|
compex,wpj428 |\
|
|
engenius,eap1300 |\
|
|
engenius,eap2200 |\
|
|
openmesh,a42 |\
|
|
openmesh,a62 |\
|
|
qxwlan,e2600ac-c1 |\
|
|
qxwlan,e2600ac-c2 |\
|
|
unielec,u4019-32m)
|
|
caldata_extract "0:ART" 0x5000 0x2f20
|
|
;;
|
|
dlink,dap-2610)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a)
|
|
;;
|
|
engenius,emd1)
|
|
caldata_extract "0:ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) +1)
|
|
;;
|
|
engenius,ens620ext)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +3)
|
|
;;
|
|
linksys,ea8300)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
|
|
;;
|
|
meraki,mr33)
|
|
caldata_extract_ubi "ART" 0x5000 0x2f20
|
|
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) +3)
|
|
;;
|
|
netgear,ex6100v2 |\
|
|
netgear,ex6150v2)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(mtd_get_mac_binary dnidata 0xc)
|
|
;;
|
|
zyxel,nbg6617 |\
|
|
zyxel,wre6606)
|
|
caldata_extract "ART" 0x5000 0x2f20
|
|
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -1)
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
exit 1
|
|
;;
|
|
esac
|