Skip to content

Commit

Permalink
ramips: add new flash layout support to Phicomm K2
Browse files Browse the repository at this point in the history
Descriptions:
Phicomm K2 (PSG1218) got a new "permanent_config" partition after
update firmware to v22.5. This partition located in front of the
firmware partition, same as The Phicomm K2P and K2G. Due to this
change the new bootloader can't load previous firmware any more.
This commit is aimed at add support for Phicomm K2 which official
firmware version is 22.5.x or newer. For which runs old firmware
version, just update OpenWrt that has a prefix of "k2-v22.4".
For uniform naming, this commit also changed the model name
PSG1218 to a more recognizable name K2, refer to Phicomm K2G,
K2P K2T.

OpenWrt selection table:
official firmware version           OpenWrt
v22.4.x.x or older              phicomm_k2-v22.4
v22.5.x.x or newer              phicomm_k2-v22.5

Installation:
Same as Phicomm K2G, K2P, PSG1208.
a. TFTP + U-Boot
b. Open telnet by some web page vulnerability (Search Baidu by key
   words "K2 telnet"), and then we can upload firmware image to
   /tmp and write it to firmware partition with mtd instruction.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[rebase, add/harmonize version in model variables, fix version typo
 in commit message, wrap commit message properly]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
  • Loading branch information
DragonBluep authored and adschm committed Aug 24, 2021
1 parent c414350 commit 80e70be
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 15 deletions.
@@ -1,8 +1,8 @@
#include "mt7620a_phicomm_k2x.dtsi"

/ {
compatible = "phicomm,psg1218a", "phicomm,psg1218", "ralink,mt7620a-soc";
model = "Phicomm PSG1218 rev.A";
compatible = "phicomm,k2-v22.4", "ralink,mt7620a-soc";
model = "Phicomm K2 v22.4 or older";
};

&partitions {
Expand Down
29 changes: 29 additions & 0 deletions target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts
@@ -0,0 +1,29 @@
#include "mt7620a_phicomm_k2x.dtsi"

/ {
compatible = "phicomm,k2-v22.5", "ralink,mt7620a-soc";
model = "Phicomm K2 v22.5 or newer";
};

&partitions {
partition@50000 {
label = "permanent_config";
reg = <0x50000 0x50000>;
read-only;
};

partition@a0000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0xa0000 0x760000>;
};
};

&ethernet {
mediatek,portmap = "llllw";
};

&wmac {
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
};
32 changes: 21 additions & 11 deletions target/linux/ramips/image/mt7620.mk
Expand Up @@ -807,6 +807,27 @@ define Device/ohyeah_oy-0001
endef
TARGET_DEVICES += ohyeah_oy-0001

define Device/phicomm_k2-v22.4
SOC := mt7620a
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Phicomm
DEVICE_MODEL := K2
DEVICE_VARIANT:= v22.4 or older
DEVICE_PACKAGES := kmod-mt76x2
SUPPORTED_DEVICES += psg1218 psg1218a phicomm,psg1218a
endef
TARGET_DEVICES += phicomm_k2-v22.4

define Device/phicomm_k2-v22.5
SOC := mt7620a
IMAGE_SIZE := 7552k
DEVICE_VENDOR := Phicomm
DEVICE_MODEL := K2
DEVICE_VARIANT:= v22.5 or newer
DEVICE_PACKAGES := kmod-mt76x2
endef
TARGET_DEVICES += phicomm_k2-v22.5

define Device/phicomm_k2g
SOC := mt7620a
IMAGE_SIZE := 7552k
Expand All @@ -826,17 +847,6 @@ define Device/phicomm_psg1208
endef
TARGET_DEVICES += phicomm_psg1208

define Device/phicomm_psg1218a
SOC := mt7620a
IMAGE_SIZE := 7872k
DEVICE_VENDOR := Phicomm
DEVICE_MODEL := PSG1218
DEVICE_VARIANT:= Ax
DEVICE_PACKAGES := kmod-mt76x2
SUPPORTED_DEVICES += psg1218 psg1218a
endef
TARGET_DEVICES += phicomm_psg1218a

define Device/phicomm_psg1218b
SOC := mt7620a
IMAGE_SIZE := 7872k
Expand Down
6 changes: 4 additions & 2 deletions target/linux/ramips/mt7620/base-files/etc/board.d/02_network
Expand Up @@ -107,7 +107,8 @@ ramips_setup_interfaces()
;;
dlink,dir-810l|\
netgear,jwnr2010-v5|\
phicomm,psg1218a|\
phicomm,k2-v22.4|\
phicomm,k2-v22.5|\
trendnet,tew-810dr|\
zbtlink,zbt-we2026)
ucidef_add_switch "switch0" \
Expand Down Expand Up @@ -339,8 +340,9 @@ ramips_setup_macs()
wan_mac=$(macaddr_add "$(mtd_get_mac_binary u-boot 0x1fc20)" 2)
;;
lb-link,bl-w1200|\
phicomm,k2-v22.4|\
phicomm,k2-v22.5|\
phicomm,k2g|\
phicomm,psg1218a|\
phicomm,psg1218b)
wan_mac=$(mtd_get_mac_binary factory 0x2e)
label_mac=$wan_mac
Expand Down

0 comments on commit 80e70be

Please sign in to comment.