mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
fix
This commit is contained in:
parent
fb563c1599
commit
e811025871
10 changed files with 446 additions and 96 deletions
|
@ -48,9 +48,9 @@ ipq40xx_setup_interfaces()
|
||||||
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
||||||
;;
|
;;
|
||||||
asus,rt-ac58u|\
|
asus,rt-ac58u|\
|
||||||
zyxel,nbg6617|\
|
p2w,r619ac-64m|\
|
||||||
p2w,r619ac-128m|\
|
p2w,r619ac-128m|\
|
||||||
p2w,r619ac)
|
zyxel,nbg6617)
|
||||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
"0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
"0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
||||||
|
@ -135,8 +135,6 @@ ipq40xx_setup_macs()
|
||||||
8dev,habanero-dvk)
|
8dev,habanero-dvk)
|
||||||
label_mac=$(mtd_get_mac_binary "ART" 0x1006)
|
label_mac=$(mtd_get_mac_binary "ART" 0x1006)
|
||||||
;;
|
;;
|
||||||
p2w,r619ac-128m|\
|
|
||||||
p2w,r619ac|\
|
|
||||||
asus,rt-ac58u)
|
asus,rt-ac58u)
|
||||||
CI_UBIPART=UBI_DEV
|
CI_UBIPART=UBI_DEV
|
||||||
wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
||||||
|
|
|
@ -46,10 +46,6 @@ case "$FIRMWARE" in
|
||||||
# OEM assigns 4 sequential MACs
|
# OEM assigns 4 sequential MACs
|
||||||
ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4))
|
ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4))
|
||||||
;;
|
;;
|
||||||
pangu,l1000)
|
|
||||||
caldata_extract "ART" 0x5000 0x2f20
|
|
||||||
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"ath10k/pre-cal-ahb-a000000.wifi.bin")
|
"ath10k/pre-cal-ahb-a000000.wifi.bin")
|
||||||
|
@ -64,8 +60,8 @@ case "$FIRMWARE" in
|
||||||
glinet,gl-s1300 |\
|
glinet,gl-s1300 |\
|
||||||
linksys,ea6350v3 |\
|
linksys,ea6350v3 |\
|
||||||
mobipromo,cm520-79f |\
|
mobipromo,cm520-79f |\
|
||||||
|
p2w,r619ac-64m |\
|
||||||
p2w,r619ac-128m |\
|
p2w,r619ac-128m |\
|
||||||
p2w,r619ac |\
|
|
||||||
qcom,ap-dk01.1-c1)
|
qcom,ap-dk01.1-c1)
|
||||||
caldata_extract "ART" 0x1000 0x2f20
|
caldata_extract "ART" 0x1000 0x2f20
|
||||||
;;
|
;;
|
||||||
|
@ -141,7 +137,7 @@ case "$FIRMWARE" in
|
||||||
caldata_extract "ART" 0x1000 0x2f20
|
caldata_extract "ART" 0x1000 0x2f20
|
||||||
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
|
||||||
;;
|
;;
|
||||||
pangu,l1000)
|
pangu,l1000)
|
||||||
caldata_extract "ART" 0x1000 0x2f20
|
caldata_extract "ART" 0x1000 0x2f20
|
||||||
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
|
||||||
;;
|
;;
|
||||||
|
@ -174,8 +170,8 @@ case "$FIRMWARE" in
|
||||||
glinet,gl-s1300 |\
|
glinet,gl-s1300 |\
|
||||||
linksys,ea6350v3 |\
|
linksys,ea6350v3 |\
|
||||||
mobipromo,cm520-79f |\
|
mobipromo,cm520-79f |\
|
||||||
|
p2w,r619ac-64m |\
|
||||||
p2w,r619ac-128m |\
|
p2w,r619ac-128m |\
|
||||||
p2w,r619ac |\
|
|
||||||
qcom,ap-dk01.1-c1)
|
qcom,ap-dk01.1-c1)
|
||||||
caldata_extract "ART" 0x5000 0x2f20
|
caldata_extract "ART" 0x5000 0x2f20
|
||||||
;;
|
;;
|
||||||
|
@ -251,6 +247,10 @@ case "$FIRMWARE" in
|
||||||
caldata_extract "ART" 0x5000 0x2f20
|
caldata_extract "ART" 0x5000 0x2f20
|
||||||
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
|
||||||
;;
|
;;
|
||||||
|
pangu,l1000)
|
||||||
|
caldata_extract "ART" 0x5000 0x2f20
|
||||||
|
ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
|
||||||
|
;;
|
||||||
meraki,mr33)
|
meraki,mr33)
|
||||||
caldata_extract_ubi "ART" 0x5000 0x2f20
|
caldata_extract_ubi "ART" 0x5000 0x2f20
|
||||||
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
|
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
|
||||||
|
|
122
root/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh
Executable file
122
root/target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh
Executable file
|
@ -0,0 +1,122 @@
|
||||||
|
linksys_get_target_firmware() {
|
||||||
|
local cur_boot_part mtd_ubi0
|
||||||
|
|
||||||
|
cur_boot_part="$(/usr/sbin/fw_printenv -n boot_part)"
|
||||||
|
if [ -z "${cur_boot_part}" ]; then
|
||||||
|
mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num)
|
||||||
|
case "$(grep -E "^mtd${mtd_ubi0}:" /proc/mtd | cut -d '"' -f 2)" in
|
||||||
|
kernel|rootfs)
|
||||||
|
cur_boot_part=1
|
||||||
|
;;
|
||||||
|
alt_kernel|alt_rootfs)
|
||||||
|
cur_boot_part=2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
>&2 printf "Current boot_part='%s' selected from ubi0/mtd_num='%s'" \
|
||||||
|
"${cur_boot_part}" "${mtd_ubi0}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OEM U-Boot for EA6350v3, EA8300 and MR8300; bootcmd=
|
||||||
|
# if test $auto_recovery = no;
|
||||||
|
# then bootipq;
|
||||||
|
# elif test $boot_part = 1;
|
||||||
|
# then run bootpart1;
|
||||||
|
# else run bootpart2;
|
||||||
|
# fi
|
||||||
|
|
||||||
|
case "$cur_boot_part" in
|
||||||
|
1)
|
||||||
|
fw_setenv -s - <<-EOF
|
||||||
|
boot_part 2
|
||||||
|
auto_recovery yes
|
||||||
|
EOF
|
||||||
|
printf "alt_kernel"
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
fw_setenv -s - <<-EOF
|
||||||
|
boot_part 1
|
||||||
|
auto_recovery yes
|
||||||
|
EOF
|
||||||
|
printf "kernel"
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
linksys_get_root_magic() {
|
||||||
|
(get_image "$@" | dd skip=786432 bs=4 count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
platform_do_upgrade_linksys() {
|
||||||
|
local magic_long="$(get_magic_long "$1")"
|
||||||
|
|
||||||
|
local rm_oem_fw_vols="squashfs ubifs" # from OEM [alt_]rootfs UBI
|
||||||
|
local vol
|
||||||
|
|
||||||
|
mkdir -p /var/lock
|
||||||
|
local part_label="$(linksys_get_target_firmware)"
|
||||||
|
touch /var/lock/fw_printenv.lock
|
||||||
|
|
||||||
|
if [ -z "$part_label" ]; then
|
||||||
|
echo "cannot find target partition"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local target_mtd=$(find_mtd_part "$part_label")
|
||||||
|
|
||||||
|
[ "$magic_long" = "73797375" ] && {
|
||||||
|
CI_KERNPART="$part_label"
|
||||||
|
if [ "$part_label" = "kernel" ]; then
|
||||||
|
CI_UBIPART="rootfs"
|
||||||
|
else
|
||||||
|
CI_UBIPART="alt_rootfs"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local mtdnum="$(find_mtd_index "$CI_UBIPART")"
|
||||||
|
if [ ! "$mtdnum" ]; then
|
||||||
|
echo "cannot find ubi mtd partition $CI_UBIPART"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local ubidev="$(nand_find_ubi "$CI_UBIPART")"
|
||||||
|
if [ ! "$ubidev" ]; then
|
||||||
|
ubiattach -m "$mtdnum"
|
||||||
|
sync
|
||||||
|
ubidev="$(nand_find_ubi "$CI_UBIPART")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ubidev" ]; then
|
||||||
|
for vol in $rm_oem_fw_vols; do
|
||||||
|
ubirmvol "/dev/$ubidev" -N "$vol" 2>/dev/null
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# complete std upgrade
|
||||||
|
nand_upgrade_tar "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$magic_long" = "27051956" ] && {
|
||||||
|
# This magic is for a uImage (which is a sysupgrade image)
|
||||||
|
# check firmwares' rootfs types
|
||||||
|
local oldroot="$(linksys_get_root_magic "$target_mtd")"
|
||||||
|
local newroot="$(linksys_get_root_magic "$1")"
|
||||||
|
|
||||||
|
if [ "$newroot" = "55424923" ] && [ "$oldroot" = "55424923" ]; then
|
||||||
|
# we're upgrading from a firmware with UBI to one with UBI
|
||||||
|
# erase everything to be safe
|
||||||
|
# - Is that really needed? Won't remove (or comment) the if,
|
||||||
|
# because it may be needed in a future device.
|
||||||
|
#mtd erase $part_label
|
||||||
|
#get_image "$1" | mtd -n write - $part_label
|
||||||
|
echo "writing \"$1\" UBI image to \"$part_label\" (UBI)..."
|
||||||
|
get_image "$1" | mtd write - "$part_label"
|
||||||
|
else
|
||||||
|
echo "writing \"$1\" image to \"$part_label\""
|
||||||
|
get_image "$1" | mtd write - "$part_label"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
106
root/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
Normal file
106
root/target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
# The U-Boot loader of the OpenMesh devices requires image sizes and
|
||||||
|
# checksums to be provided in the U-Boot environment.
|
||||||
|
# The OpenMesh devices come with 2 main partitions - while one is active
|
||||||
|
# sysupgrade will flash the other. The boot order is changed to boot the
|
||||||
|
# newly flashed partition. If the new partition can't be booted due to
|
||||||
|
# upgrade failures the previously used partition is loaded.
|
||||||
|
|
||||||
|
platform_do_upgrade_openmesh() {
|
||||||
|
local tar_file="$1"
|
||||||
|
local restore_backup
|
||||||
|
local primary_kernel_mtd
|
||||||
|
|
||||||
|
local setenv_script="/tmp/fw_env_upgrade"
|
||||||
|
|
||||||
|
local kernel_mtd="$(find_mtd_index $PART_NAME)"
|
||||||
|
local kernel_offset="$(cat /sys/class/mtd/mtd${kernel_mtd}/offset)"
|
||||||
|
local total_size="$(cat /sys/class/mtd/mtd${kernel_mtd}/size)"
|
||||||
|
|
||||||
|
# detect to which flash region the new image is written to.
|
||||||
|
#
|
||||||
|
# 1. check what is the mtd index for the first flash region on this
|
||||||
|
# device
|
||||||
|
# 2. check if the target partition ("inactive") has the mtd index of
|
||||||
|
# the first flash region
|
||||||
|
#
|
||||||
|
# - when it is: the new bootseq will be 1,2 and the first region is
|
||||||
|
# modified
|
||||||
|
# - when it isnt: bootseq will be 2,1 and the second region is
|
||||||
|
# modified
|
||||||
|
#
|
||||||
|
# The detection has to be done via the hardcoded mtd partition because
|
||||||
|
# the current boot might be done with the fallback region. Let us
|
||||||
|
# assume that the current bootseq is 1,2. The bootloader detected that
|
||||||
|
# the image in flash region 1 is corrupt and thus switches to flash
|
||||||
|
# region 2. The bootseq in the u-boot-env is now still the same and
|
||||||
|
# the sysupgrade code can now only rely on the actual mtd indexes and
|
||||||
|
# not the bootseq variable to detect the currently booted flash
|
||||||
|
# region/image.
|
||||||
|
#
|
||||||
|
# In the above example, an implementation which uses bootseq ("1,2") to
|
||||||
|
# detect the currently booted image would assume that region 1 is booted
|
||||||
|
# and then overwrite the variables for the wrong flash region (aka the
|
||||||
|
# one which isn't modified). This could result in a device which doesn't
|
||||||
|
# boot anymore to Linux until it was reflashed with ap51-flash.
|
||||||
|
local next_boot_part="1"
|
||||||
|
case "$(board_name)" in
|
||||||
|
openmesh,a42)
|
||||||
|
primary_kernel_mtd=8
|
||||||
|
;;
|
||||||
|
openmesh,a62)
|
||||||
|
primary_kernel_mtd=10
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "failed to detect primary kernel mtd partition for board"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
[ "$kernel_mtd" = "$primary_kernel_mtd" ] || next_boot_part="2"
|
||||||
|
|
||||||
|
local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
|
||||||
|
board_dir=${board_dir%/}
|
||||||
|
|
||||||
|
local kernel_length=$(tar xf $tar_file ${board_dir}/kernel -O | wc -c)
|
||||||
|
local rootfs_length=$(tar xf $tar_file ${board_dir}/root -O | wc -c)
|
||||||
|
# rootfs without EOF marker
|
||||||
|
rootfs_length=$((rootfs_length-4))
|
||||||
|
|
||||||
|
local kernel_md5=$(tar xf $tar_file ${board_dir}/kernel -O | md5sum); kernel_md5="${kernel_md5%% *}"
|
||||||
|
# md5 checksum of rootfs with EOF marker
|
||||||
|
local rootfs_md5=$(tar xf $tar_file ${board_dir}/root -O | dd bs=1 count=$rootfs_length | md5sum); rootfs_md5="${rootfs_md5%% *}"
|
||||||
|
|
||||||
|
#
|
||||||
|
# add tar support to get_image() to use default_do_upgrade() instead?
|
||||||
|
#
|
||||||
|
|
||||||
|
# take care of restoring a saved config
|
||||||
|
[ -n "$UPGRADE_BACKUP" ] && restore_backup="${MTD_CONFIG_ARGS} -j ${UPGRADE_BACKUP}"
|
||||||
|
|
||||||
|
mtd -q erase inactive
|
||||||
|
tar xf $tar_file ${board_dir}/root -O | mtd -n -p $kernel_length $restore_backup write - $PART_NAME
|
||||||
|
tar xf $tar_file ${board_dir}/kernel -O | mtd -n write - $PART_NAME
|
||||||
|
|
||||||
|
# prepare new u-boot env
|
||||||
|
if [ "$next_boot_part" = "1" ]; then
|
||||||
|
echo "bootseq 1,2" > $setenv_script
|
||||||
|
else
|
||||||
|
echo "bootseq 2,1" > $setenv_script
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "kernel_size_%i 0x%08x\n" $next_boot_part $kernel_length >> $setenv_script
|
||||||
|
printf "vmlinux_start_addr 0x%08x\n" ${kernel_offset} >> $setenv_script
|
||||||
|
printf "vmlinux_size 0x%08x\n" ${kernel_length} >> $setenv_script
|
||||||
|
printf "vmlinux_checksum %s\n" ${kernel_md5} >> $setenv_script
|
||||||
|
|
||||||
|
printf "rootfs_size_%i 0x%08x\n" $next_boot_part $((total_size-kernel_length)) >> $setenv_script
|
||||||
|
printf "rootfs_start_addr 0x%08x\n" $((kernel_offset+kernel_length)) >> $setenv_script
|
||||||
|
printf "rootfs_size 0x%08x\n" ${rootfs_length} >> $setenv_script
|
||||||
|
printf "rootfs_checksum %s\n" ${rootfs_md5} >> $setenv_script
|
||||||
|
|
||||||
|
# store u-boot env changes
|
||||||
|
mkdir -p /var/lock
|
||||||
|
fw_setenv -s $setenv_script || {
|
||||||
|
echo "failed to update U-Boot environment"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
131
root/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
Normal file
131
root/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
PART_NAME=firmware
|
||||||
|
REQUIRE_IMAGE_METADATA=1
|
||||||
|
|
||||||
|
RAMFS_COPY_BIN='fw_printenv fw_setenv'
|
||||||
|
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
||||||
|
|
||||||
|
platform_check_image() {
|
||||||
|
case "$(board_name)" in
|
||||||
|
asus,rt-ac58u)
|
||||||
|
CI_UBIPART="UBI_DEV"
|
||||||
|
local ubidev=$(nand_find_ubi $CI_UBIPART)
|
||||||
|
local asus_root=$(nand_find_volume $ubidev jffs2)
|
||||||
|
|
||||||
|
[ -n "$asus_root" ] || return 0
|
||||||
|
|
||||||
|
cat << EOF
|
||||||
|
jffs2 partition is still present.
|
||||||
|
There's probably no space left
|
||||||
|
to install the filesystem.
|
||||||
|
|
||||||
|
You need to delete the jffs2 partition first:
|
||||||
|
# ubirmvol /dev/ubi0 --name=jffs2
|
||||||
|
|
||||||
|
Once this is done. Retry.
|
||||||
|
EOF
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
askey_do_upgrade() {
|
||||||
|
local tar_file="$1"
|
||||||
|
|
||||||
|
local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
|
||||||
|
board_dir=${board_dir%/}
|
||||||
|
|
||||||
|
tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
|
||||||
|
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
zyxel_do_upgrade() {
|
||||||
|
local tar_file="$1"
|
||||||
|
|
||||||
|
local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
|
||||||
|
board_dir=${board_dir%/}
|
||||||
|
|
||||||
|
tar Oxf $tar_file ${board_dir}/kernel | mtd write - kernel
|
||||||
|
|
||||||
|
if [ -n "$UPGRADE_BACKUP" ]; then
|
||||||
|
tar Oxf $tar_file ${board_dir}/root | mtd -j "$UPGRADE_BACKUP" write - rootfs
|
||||||
|
else
|
||||||
|
tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
platform_do_upgrade() {
|
||||||
|
case "$(board_name)" in
|
||||||
|
pangu,l1000 |\
|
||||||
|
p2w,r619ac-64m |\
|
||||||
|
p2w,r619ac-128m |\
|
||||||
|
8dev,jalapeno |\
|
||||||
|
aruba,ap-303 |\
|
||||||
|
aruba,ap-303h |\
|
||||||
|
aruba,ap-365 |\
|
||||||
|
avm,fritzbox-7530 |\
|
||||||
|
avm,fritzrepeater-1200 |\
|
||||||
|
avm,fritzrepeater-3000 |\
|
||||||
|
buffalo,wtr-m2133hp |\
|
||||||
|
cilab,meshpoint-one |\
|
||||||
|
edgecore,ecw5211 |\
|
||||||
|
edgecore,oap100 |\
|
||||||
|
engenius,eap2200 |\
|
||||||
|
glinet,gl-ap1300 |\
|
||||||
|
luma,wrtq-329acn |\
|
||||||
|
mobipromo,cm520-79f |\
|
||||||
|
qxwlan,e2600ac-c2)
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
alfa-network,ap120c-ac)
|
||||||
|
part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
|
||||||
|
if [ "$part" = "rootfs1" ]; then
|
||||||
|
fw_setenv active 2 || exit 1
|
||||||
|
CI_UBIPART="rootfs2"
|
||||||
|
else
|
||||||
|
fw_setenv active 1 || exit 1
|
||||||
|
CI_UBIPART="rootfs1"
|
||||||
|
fi
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
asus,map-ac2200)
|
||||||
|
CI_KERNPART="linux"
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
asus,rt-ac58u)
|
||||||
|
CI_UBIPART="UBI_DEV"
|
||||||
|
CI_KERNPART="linux"
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
cellc,rtl30vw)
|
||||||
|
CI_UBIPART="ubifs"
|
||||||
|
askey_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
compex,wpj419)
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
linksys,ea6350v3 |\
|
||||||
|
linksys,ea8300 |\
|
||||||
|
linksys,mr8300)
|
||||||
|
platform_do_upgrade_linksys "$1"
|
||||||
|
;;
|
||||||
|
meraki,mr33)
|
||||||
|
CI_KERNPART="part.safe"
|
||||||
|
nand_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
openmesh,a42 |\
|
||||||
|
openmesh,a62 |\
|
||||||
|
plasmacloud,pa1200 |\
|
||||||
|
plasmacloud,pa2200)
|
||||||
|
PART_NAME="inactive"
|
||||||
|
platform_do_upgrade_dualboot_datachk "$1"
|
||||||
|
;;
|
||||||
|
zyxel,nbg6617)
|
||||||
|
zyxel_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
default_do_upgrade "$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
|
@ -11,8 +11,19 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&rootfs_part1 {
|
&nand {
|
||||||
reg = <0x0 0x8000000>;
|
status = "okay";
|
||||||
};
|
|
||||||
|
|
||||||
/delete-node/ &rootfs_part2;
|
nand@0 {
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x0 0x8000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,29 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qcom-ipq4019-r619ac.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "P&W R619AC 64M";
|
||||||
|
compatible = "p2w,r619ac-64m";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs-append = " root=/dev/ubiblock0_1 rootfstype=squashfs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&nand {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
nand@0 {
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x0 0x4000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,12 +0,0 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
||||||
|
|
||||||
#include "qcom-ipq4019-r619ac.dtsi"
|
|
||||||
|
|
||||||
/ {
|
|
||||||
model = "P&W R619AC";
|
|
||||||
compatible = "p2w,r619ac";
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
bootargs-append = " root=/dev/ubiblock0_1 rootfstype=squashfs";
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -80,8 +80,6 @@
|
||||||
|
|
||||||
leds {
|
leds {
|
||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
pinctrl-0 = <&led_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
led_sys: sys {
|
led_sys: sys {
|
||||||
label = "blue:sys";
|
label = "blue:sys";
|
||||||
|
@ -171,22 +169,11 @@
|
||||||
read-only;
|
read-only;
|
||||||
};
|
};
|
||||||
|
|
||||||
partition@1 {
|
|
||||||
label = "Bootloader";
|
|
||||||
reg = <0x0 0x170000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@170000 {
|
partition@170000 {
|
||||||
label = "ART";
|
label = "ART";
|
||||||
reg = <0x170000 0x10000>;
|
reg = <0x170000 0x10000>;
|
||||||
read-only;
|
read-only;
|
||||||
};
|
};
|
||||||
|
|
||||||
partition@180000 {
|
|
||||||
label = "unused";
|
|
||||||
reg = <0x180000 0xe80000>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -201,25 +188,19 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&nand {
|
&pcie0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pcie_pins>;
|
||||||
|
perst-gpio = <&tlmm 4 GPIO_ACTIVE_LOW>;
|
||||||
|
wake-gpio = <&tlmm 40 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
nand@0 {
|
/* Free slot for use */
|
||||||
partitions {
|
bridge@0,0 {
|
||||||
compatible = "fixed-partitions";
|
reg = <0x00000000 0 0 0 0>;
|
||||||
#address-cells = <1>;
|
#address-cells = <3>;
|
||||||
#size-cells = <1>;
|
#size-cells = <2>;
|
||||||
|
ranges;
|
||||||
rootfs_part1: partition@0 {
|
|
||||||
label = "rootfs";
|
|
||||||
reg = <0x0 0x4000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
rootfs_part2: partition@4000000 {
|
|
||||||
label = "unused1";
|
|
||||||
reg = <0x4000000 0x4000000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -235,6 +216,15 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&tlmm {
|
&tlmm {
|
||||||
|
pcie_pins: pcie_pinmux {
|
||||||
|
mux {
|
||||||
|
pins = "gpio2";
|
||||||
|
function = "gpio";
|
||||||
|
output-low;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
mdio_pins: mdio_pinmux {
|
mdio_pins: mdio_pinmux {
|
||||||
mux_1 {
|
mux_1 {
|
||||||
pins = "gpio6";
|
pins = "gpio6";
|
||||||
|
@ -270,29 +260,6 @@
|
||||||
bias-disable;
|
bias-disable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
led_pins: led_pinmux {
|
|
||||||
mux {
|
|
||||||
pins = "gpio32", "gpio39", "gpio50";
|
|
||||||
function = "gpio";
|
|
||||||
bias-pull-up;
|
|
||||||
output-low;
|
|
||||||
};
|
|
||||||
|
|
||||||
mux_1 {
|
|
||||||
pins = "gpio52";
|
|
||||||
function = "gpio";
|
|
||||||
bias-pull-up;
|
|
||||||
output-high;
|
|
||||||
};
|
|
||||||
|
|
||||||
mux_2 {
|
|
||||||
pins = "gpio61";
|
|
||||||
function = "gpio";
|
|
||||||
bias-pull-down;
|
|
||||||
output-high;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb3_ss_phy {
|
&usb3_ss_phy {
|
||||||
|
@ -313,10 +280,10 @@
|
||||||
|
|
||||||
&wifi0 {
|
&wifi0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
qcom,ath10k-calibration-variant = "R619AC";
|
qcom,ath10k-calibration-variant = "P&W R619AC";
|
||||||
};
|
};
|
||||||
|
|
||||||
&wifi1 {
|
&wifi1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
qcom,ath10k-calibration-variant = "R619AC";
|
qcom,ath10k-calibration-variant = "P&W R619AC";
|
||||||
};
|
};
|
|
@ -754,23 +754,20 @@ define Device/p2w_r619ac
|
||||||
DEVICE_DTS_CONFIG := config@10
|
DEVICE_DTS_CONFIG := config@10
|
||||||
BLOCKSIZE := 128k
|
BLOCKSIZE := 128k
|
||||||
PAGESIZE := 2048
|
PAGESIZE := 2048
|
||||||
IMAGES += nand-factory.bin
|
|
||||||
IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
|
|
||||||
DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
|
DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += p2w_r619ac
|
|
||||||
|
define Device/p2w_r619ac-64m
|
||||||
|
$(call Device/p2w_r619ac)
|
||||||
|
DEVICE_VARIANT := 64M NAND
|
||||||
|
IMAGES += nand-factory.bin
|
||||||
|
IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += p2w_r619ac-64m
|
||||||
|
|
||||||
define Device/p2w_r619ac-128m
|
define Device/p2w_r619ac-128m
|
||||||
$(call Device/FitzImage)
|
$(call Device/p2w_r619ac)
|
||||||
$(call Device/UbiFit)
|
DEVICE_VARIANT := 128M NAND
|
||||||
DEVICE_VENDOR := P&W
|
|
||||||
DEVICE_MODEL := R619AC
|
|
||||||
DEVICE_VARIANT := 128M
|
|
||||||
SOC := qcom-ipq4019
|
|
||||||
DEVICE_DTS_CONFIG := config@10
|
|
||||||
BLOCKSIZE := 128k
|
|
||||||
PAGESIZE := 2048
|
|
||||||
DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
|
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += p2w_r619ac-128m
|
TARGET_DEVICES += p2w_r619ac-128m
|
||||||
|
|
||||||
|
@ -789,6 +786,7 @@ define Device/pangu_l1000
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += pangu_l1000
|
TARGET_DEVICES += pangu_l1000
|
||||||
|
|
||||||
|
|
||||||
define Device/qxwlan_e2600ac-c1
|
define Device/qxwlan_e2600ac-c1
|
||||||
$(call Device/FitImage)
|
$(call Device/FitImage)
|
||||||
DEVICE_VENDOR := Qxwlan
|
DEVICE_VENDOR := Qxwlan
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue